Introducing ml1610-blaster – how you get a Samsung ML-1610 to work on macOS 10.13

The highly retro monochrome laser printer, Samsung ML-1610, continues to work just fine on macOS 10.13 High Sierra. However, getting driver support took me a long time to figure out a while ago. I got something worked out for macOS 10.12 (Sierra) and posted about it here.

To my great surprise, my old post on getting this going has become the most popular, heavily visited post on dawning.ca. So… I’ve revised things and spun this in to what I’m calling “ml1610-blaster”. There’s a github repo hosting it, here: ml1610-blaster.git

How to get ML-1610 working under macOS 10.13 High Sierra

Continue reading Introducing ml1610-blaster – how you get a Samsung ML-1610 to work on macOS 10.13

Using Apple Script to launch System Preferences in to highly specific location

I’m working on my next update for my goofy little macOS application Trash Talker. This app heavily leverages macOS’s built-in Speech Synthesis engine.

I wanted to add some user-support to help them edit the available voices. I could have just written-out instructions, but reading is for the literate. It took me a while to find a method that I guess will be a good starting point, which is to invoke an Apple Script to direct System Preferences to the right location.

After some hours (I’ve never looked at Apple Script before), I cobbled-together a working solution:

Continue reading Using Apple Script to launch System Preferences in to highly specific location

iOS App: To Free, or not to Free, that is the question

One of my iOS apps is Search Site, is a little functional thing I made mainly to help familiarize myself with the full workflow of iOS app development. (IE, it’s a glorified Hello, World! app). It’s been released for free for a few months and has had very few downloads.

In the last month, it has suddenly started getting a relatively large amount of attention, specifically from Asia. I decided to try making it non-free, so I set it to the minimum possible paid value, $1CAD. After a week I decided to make it free again, for now.

See if you can tell when it wasn’t free:

My plan with it is to leave it free, but perhaps release an improved version that also has banner ads that can be paid to go away. For now, I’ll just enjoy that there’s a user-base growing for this cute little application.

LVM Recovery Bedtime Story: The tale of the journey home for some long lost bytes


Above: To the right is my hovel at the cottage I setup during my holiday-time-well-spent playing with ddrescue


I had an awesome LVM for nearly 15 years. It saw me through high school, 8 years of post-secondary nerding and then some years after. The drives involved came and went, as I perpetually upgraded it. I loved it dearly. At its peak, it was comprised of 7 drives. Inevitably, the Seagate-reaper came to visit and the LVM was no more. It might have persisted, but I was younger and crazier and I took the striped path to ruin.

When it finally died, 2/3 drives were the Make & Model and both died pretty such in the same moment. They’d lived together in parallel their entire (upsettingly brief) lives. I used the opportunity to learn of ddrescue and I managed to recover about 99% of one of the drives. The other drive was a lost cause (and I tried some serious hardware stuff with it, as I have some skills in that arena). I know how I might recover THAT data, but it wasn’t worth the effort as I had backups of most of the good stuff and the whole thing was just an archive anyway.

After my efforts with ddrescue, 2.5years passed. I had other projects and pressures so the whole thing sat. Today I said it’s time to use the remaining good hardware. And so, I attempted to access what data I could. ddresuce had rendered me a file representing the one drive. I easily mounted it as a loopback device. I followed this guide to deal with the other fully missing drive. With that done, the LVM was alive again, but of course the filesystem was in ruin. It turns out, running FSCK against a large volume takes a lot of memory. There is a flag to getting fsck to store its data structures on disk, but it seemed with each run, it was gradually fixing different issues before running out of memory. So I threw-down yet another ugly little script (here). After a few runs of that, I could mount my LVM-backed file system again! And I was surprised to see a large amount of my data was accessible once again.

So if you too have lost one or more drives from you LVM. Take your time and give recovery a shot. Also, go use FreeNAS (or similar).

Now, to scale my freenas to accommodate a silly burst in data.

FreeNAS 11 Add a drive to create a mirrored ZFS volume

Back in 2013 I cobbled together a little guide within a post on the FreeNAS users forum on how to add drive to an existing ZFS volume and convert it in to a mirrored volume. I can’t at all remember even writing this little thing, but recent discussion in the old forum over it brought in to doubt whether or not the method would still work. So I spooled-up a VM with the latest FreeNAS (FreeNAS 11) and tried it out. Yup. Still works, see:

Continue reading FreeNAS 11 Add a drive to create a mirrored ZFS volume