New MacOS tool: swiftbar-imap-counter

Several years ago, I moved my mail from Google to FastMail. I don’t regret a thing.

No, that’s not true. I miss Google Notifier in the menu bar of my Mac telling me I have new mail to review.

I looked, but was shocked to find that no similar menu bar tool existed for IMAP. I considered writing one, but it seemed like there would be a lot of learning and I just didn’t have the time.

Enter SwiftBar, a new tool descended from BitBar, which I hadn’t managed yet to try. SwiftBar and BitBar allow you to run plugins that show up in your menu bar. Surely there would be a BitBar/SwiftBar plugin for IMAP?


But this, ah! This was a programming project small enough for me to take on in a single day (okay, two). Welcome to the world, swiftbar-imap-counter!

For now, all it does is talk to your IMAP server and put an icon in your menu bar telling you how many unread messages are in your inbox. But that’s (almost) all I need it to do. It supports SSL/TLS (though only one of the two paths is tested), and seems generally to work for me. I make no promises, though I’m happy to help.

(Now to figure out how to add it to the BitBar plugin repository…)

Virtual Reading, April 22nd

My lovely local SFF open-mic night, Two Hour Transport, has two featured readers every month. This month, I’ll be one of them!

Of course, everything is virtual, so if you’re not asleep by 7 pm PDT, you can join from anywhere. There will be an hour of open-mic time (you, yes you, can sign up to read for five minutes), then my friend the redoubtable M. Huw Evans and I will each read for 25 minutes or so.

For my part, I’m planning to read a story that mashes up parts of my recent cancer post-surgery experience with a classic Twilight Zone episode.

Full Zoom meeting invitation details are in the blog post, and I’m told there’s a Facebook Invite as well.

The Joys of Retrocomputing; also, Announcing a MicroDrive/Turbo image tool

For a bit over two years, I’ve become increasingly obsessed with the Apple II. Some of this is rank nostalgia; some is the joy of retrocomputing: limited environments where even a less-than-expert programmer can reach their arms around the whole system. (All right, not the whole system, but a much greater percentage than when I’m working in Python or Go with a dependency chain nine levels deep.)

A few summers ago, I implemented John Conway’s Life in 6502 assembly language, a project I’ve had in mind since age twelve, when I implemented it in Basic. It’s not yet feature complete, nor is it performant, but I delivered for myself on this long-term goal.

As I was preparing to return to work this fall, I added a few more features–then I got the urge to convert it to a ProDOS application This led, eventually, to the purchase of an Apple IIGS, and a MicroDrive/Turbo, which enables use of a CF card as a set hard drives.

Much to my chagrin, I discovered that the only tool to manipulate the partition table was the one that ran on the Apple 2, and the only tool to move files onto or off of it was CiderPress, which is Windows-only and whose interface I didn’t love.

In turn, these discoveries led me to implement microdrive, a Go tool for manipulating compact flash (or HD) images on the Unix/Linux/Mac OS X command line.

It’s still under heavy development, but now you can add partitions to your disk and copy existing .hdv or .2mg images directly into those partitions.

Thanks to Henry Courbis of ReActive Micro, who has supported this project with the donation of an external CF drive–saving me from opening up my IIGS a dozen times a day, or leaving the darned thing open all the time!

Now all I have to do is get a desk in my office for my Apple //e, and a second MicroDrive/Turbo. (If you’ve got a spare DuoDisk lying around, that’d be handy too!)

New Story: Why Humans Can’t Write Fiction

My story Why Humans Can’t Write Fiction: A Review is available in issue 40 of Galaxy’s Edge.

Galaxy's Edge issue 40 cover

I’m especially proud of this story, which I’ve half-jokingly called my Clarion West “Week Seven” story. Once I’d turned in my last story of the workshop, I started immediately on this piece, which I finished before leaving. It’s the first of my Clarion West stories to see publication.

You can read it online, for now, by navigating to Galaxy’s Edge and selecting it from the table of contents in the lower-left corner of the screen. If you’d prefer a digital magazine or hard copy, their site also has links to where to buy the issue.


I’d hoped to use this space to report another sale, a forthcoming publication, and a reading appearance.

Instead, after a spring and summer of painful back issues, I’ve been diagnosed with cancer.

Most of the details, including specific diagnosis and prognosis, are still to be determined. If you’re interested in following along with that journey, or offering support, you can do so on my CaringBridge site.

A Year Without Twitter

Last year, I stopped using Twitter, quite by accident: I was too busy planning and preparing my house for a large party. By the time the cleanup was over, I’d been without Twitter a week–but I didn’t even notice for several more that I’d stopped.

When I did notice, I thought I should try to extend my break for a year. I think Twitter has been a terrible company with horrible politics and, as much as I liked connecting with my friends and making new ones, I thought the pace and tenor of the Twitter discourse was unhealthy, as was my own clandestine quest to entertain and amuse my followers. I wondered if I’d been letting the Magic Smoke out, taking energy away from what should have been going into my writing. I figured, after a year I could take stock and see if my break should continue.

Now, there have been automated posts in that time. (This post will generate an automated Tweet, unless that broke and I didn’t notice.) And I’ve used DMs to communicate with a few people where that’s their preference. I’ve even read posts or threads that someone has pointed out via IM or linked to from elsewhere. But I’ve stayed away from the scroll, stayed away from manual posting.

How has it been?

Pretty good, actually. I don’t miss the scroll as much as I thought I would. I do miss sharing pictures I think others will enjoy (I continue to take pictures of snails in my neighborhood), and I still sometimes find myself thinking in 140-character chunks. Less so recently, which is nice.

I haven’t written more. A lot less, actually, but I don’t feel it necessarily has a lot to do with my Twitter break. (It might, though!) My idea file continues to grow faster than my actually-written file. My compulsive phon-poking has merely moved away from Twitterific to other apps, but that’s not terribly disappointing, even if it should be.

It’s true that I’ve felt out of the loop more than one time, but I’m cultivating my JOMO and I’m still angry enough at the terrible politics that Twitter amplifies that I’m staying off for now. I miss it, but less than I thought I would.

Two Hour Transport Anthology, and a Party

Two Hour Transport anthology cover

The number one best thing about being a writer in Seattle, especially a speculative fiction author, is the writing community.

There’s Hugo House, which serves all writers with courses, workshops, talks, readings, and more. (Their new home is amazing, too. One of the most beautiful writing-specific places I’ve seen.) If Hugo House was the only place for writers to go in Seattle, this would be a great city for writers.

But of course there’s also Clarion West. Even if you don’t have the time to invest in the six-week workshop, or even one of the one-day workshops they run, Clarion West brings readings to Seattle, participates in Norwescon, and more. As an alum, this is without a doubt my “home base” writing community.

On top of that, however, there’s Two Hour Transport. For several years now, this combination of invited readers and speculative fiction open mic has been running monthly. I can’t always attend, but when I can’t, I inevitably feel as though I’m missing out on something great.

At long last, Two Hour Transport has put together an anthology of writing from its participants. Yes, I’m in there. (My story is “Real Selfies,” which previously appeared in Untethered: A Magic iPhone Anthology.) But so are many other wonderful writers I know and see regularly. I’d put more specifics here, but I haven’t seen the table of contents yet, though I think my friend Keyan Bowes and CW ’16 classmate Mitchell Shanklin are both included.

We’re also having a launch party for the book! It’ll be from 4 to 6 pm on June 15th at Cafe Racer. Come join us, hear some excerpts, and bring a book to get it signed! (The anthology is print-on-demand, so you should buy in advance and bring the book to the party.)

Good Things to Come: Norwescon and Story Sale

I’m pleased to announce that I will once be attending Norwescon 42 (April 18-21) as a pro. In addition to a reading, I’ll be on a number of panels, including “The Terror of the Haunted House,” “What’s Happening in Social Horror?” “Good Omens: Another Look at the Book,” and many more. Seriously: I’m on eleven panels plus my reading.

If you’re interested in my full schedule, you can check it out in the Norwescon Guidebook.

In addition to attending Norwescon, I’m now able to announce that I sold a piece of flash fiction to Galaxy’s Edge. It will be my second appearance there. I’ve no idea when the story will be published; watch this space for more details!

New Story at Toasted Cake

toasted-cake-logo-100My story “The Chex Gambit” is now up at Tina Connolly‘s most excellent Toasted Cake podcast. It takes a little over eleven minutes to listen.

This is my first publication via Podcast, and it was such a blast to hear someone else reading something I wrote. It’s not exactly the way I would’ve read it, but that’s the point, isn’t it? Tina does a great job, and then says things that make me sound smarter than I actually am.

Maxx Destruktinator, the story’s protagonist, is named after my friend Maxx, aka DJ Maxx Destrukt. I originally used her name as a placeholder for my supervillain, but grew attached to it, and asked permission to keep it. Thanks, Maxx!