Categories
Apple Fun iOS Retro Computing

iPadOS on a CRT

I have lots to post about related to my recent vintage / retro computing adventures, but in the meantime here’s iPadOS on a CRT.

It’s actually kind of nice! The biggest downside, however, is that the CRT only ran at 1280×1024@60Hz. The resolution is fine, but the refresh rate is quite low for a CRT – my eyes wouldn’t be able to handle it very long. I’ve always been sensitive to rates lower than 85Hz on CRTs.

The hardware to make it work:

  1. A CRT.
  2. An iPad.
  3. An Apple Digital AV adapter which has HDMI output, such as this USB-C one.
  4. An active HDMI -> VGA adapter such as this one (it has to have external power).
  5. A USB hub is nice for wired peripherals, but optional. I have a wired Microsoft Optical mouse with a Keychron C1 (reds) connected in this video.
Categories
Retro Computing Thoughts

Voodoo Economics

I have two GPUs on my desk right now. On the left is my Voodoo3 3000 that I’ve had for ~20 years. On the right is my GTX 1060 6GB from 2017.

Due to the retro computing market, the Voodoo3 sells for more. 😳

Left: Voodoo3 3000 Right: GTX 1060 6GB

Categories
Thoughts

An old, bad purchase

If bad investments have got you down, let me share with you the time I paid ~$200 for a 40GB SSD with a write speed of 40MB/s and a read of 185MB/s. 😬

Oh, and I bought two.

Categories
Apple Scripts

A dog timer Shortcut

Shortcuts User Guide - Apple Support

I’ve played with the Shortcuts app a few times and although their power is impressive, I haven’t found a need for any in my day-to-day workflow. This Shortcut may finally change that.

Here’s the problem

Our dog literally can’t handle the heat. She’s a Miniature Schnauzer born with a microtrachea so she struggles to regulate her body temperature. If she gets overheated it’s bad news.

I typically let her out multiple times a day while working from home. All I have to do is open up our back door, let her out into her fenced doggie area, and let her back in when it’s time.

That last item is trickier than it sounds – if I don’t set a timer I risk getting into the zone at work and losing track of the world. That could be disastrous, so up until now I’ve set a timer and altered the duration depending on the temperature outside. I wondered if I could improve that with a Shortcut.

Categories
Apple Thoughts

The Mac Studio

I’ve had a Mac Studio for a month now, so I have thoughts to share.

tl;dr – It’s great and is what I’ve wanted from Apple for a long time.

The product line gap

There’s been a gap in Apple’s Mac product line for years, though most consumers wouldn’t have noticed, and that’s the reason it existed.

Here’s a user who fits the profile:

  • Wants a desktop
  • Wants complete control over their displays
  • Wants modularity
  • Wants a bunch of ports
  • Wants high(er) performance
  • Needs macOS

The user is me.

Categories
Arduino Fun Projects Raspberry Pi

Domo Arigato

If the objective was to make the robot less creepy, I’ve failed miserably.

Categories
Fun Projects

Hello, computer-1

Much like the first time I laid eyes on flip dots, when I learned of the computer-1 Mini-ITX case by Teenage Engineering I knew I had to get my hands on it. Maybe I have a thing for bright orange objects.

It’s been a few years since I built my previous PC and the Mini-ITX form factor has always been appealing to me for a workstation, so the hankering to do a new build was strong.

Though I’m a long time nerd it may be surprising that I’ve really only built one custom PC until now. This is mostly due to living in Mac-land and not being a hardcore gamer. My Linux servers have either been in the cloud or a leftover prebuilt that was “good enough” because Linux will pretty much run on anything (and that’s part of the fun).

Specs

The parts I went with are modest and didn’t need to be the latest and greatest. The goal for this build was a dependable workbench machine that won’t be my daily driver (iOS development pays the bills), nor replacing my gaming PC.

Categories
Projects

Augmented Airality

https://twitter.com/tannerstokes/status/1504915241376829443?s=21
Categories
Arduino Fun Projects

A not-quite-Retina external screen

https://twitter.com/tannerstokes/status/1491995289510727683?s=21

Categories
iOS Nerd Sniped Swift

UITextView, autocorrect, and custom attributes

For this week’s “Nerd Snipe”, I spent way too much time at work trying to track down a pesky bug related to our editor. Long story short, we send some custom NSAttributedString.Keys to signify differences in rich text. For instance, a heading attribute with an integer value may tell a parser to wrap text in an <h2> when converting the string to HTML.

Oddly, sometimes that special attribute wouldn’t be included when text was autocorrected, so the generated HTML wasn’t always what we expected. After a lot of digging I believe this could be a bug in UITextView (or maybe NSTextStorage).

Inspecting the value of attrString in the NSTextStorage function func replaceCharacters(in range: NSRange, with attrString: NSAttributedString) after autocorrecting some text shows that it only seems to include attributes that were defined in Foundation (e.g. NSFont, etc.), but not our custom ones.

Regular typing works fine – you see all the expected attributes set in textView.typingAttributes.

In scenarios like these I like to make the simplest example to help confirm I understand it, so I’ve made a repo demonstrating the issue in case it’s helpful for anyone.