Jeff Duntemann's Contrapositive Diary Rotating Header Image


Is Substack Special?

Sometime very early this year, probably January, a reader asked me in an email what I thought of Substack, and if Contra would be better off there. She likes my work, and told me she “binged” on my old entries. At the time, I’d heard of Substack but never looked at it. Over the last couple of days I googled on the site, went there, and learned a great deal about it.

The answer is no. I’ll be 70 in three weeks, and I don’t have the stamina to try to blog for money. Ten or fifteen years ago, I would have been sorely tempted. No more. I have my loyal readers, and I don’t need the money that badly. But…but…if I were on Substack, I’d be famous!

No. Anybody can be on Substack. If I were already famous, I might try it. But I’m not. (I do have a certain fame. It’s five miles deep and three inches wide.)

Basically, Substack is Kindle for newsletters. And newsletters in this context are long-form blog entries. You can charge readers a subscription fee, minimum $5/month, or any dollar amount greater than that. (Newsletters can also be free if you prefer.) Readers can then read your entries on the Web, or on the iPhone app. (They’ve been a thing since 2017, and they don’t yet have an Android app? That’s just, well, stupid. They say they’re working on one. Sheesh, I hope so!)

Substack has thousands of newsletters, and as of the end of 2021, over a million paid subscribers. The top 10 writers in aggregate make $20M per year. That’s better money than I’ve ever made doing anything. But if you look at who the top ten writers are, it becomes painfully obvious: All of them were famous working in other venues long before Substack ever existed.

I’ve read Andrew Sullivan sporadically for a lot of years. I read him on the late back in the ’90s and lots of other places since. He’s the #5 writer on Substack. He’s interesting, funny, and doesn’t bend the knee to partisan bitchlords demanding unquestioning allegiance. I haven’t subscribed yet, but I may. He’s damned good.

Other writers I’ve heard of and read elsewhere include Bari Weiss, Matthew Iglesias, Matt Taibbi, and Glenn Greenwald. (Greenwald is #1 on Substack.) A chap I know, Tom Knighton, has three different Substack newsletters. (You’re not limited to one.) I’m sure other people out on the edges of my circles have Substack newsletters. (Have one? Let me know!) However, I’m guessing that there’s an 80/20 rule on Substack (or maybe a 90/10 rule) stating that 20% of the writers make 80% of the money. That’s the rule in a lot of business models, Kindle included.

That may just be the way the universe works. You have to build a platform, as the agents put it. In other words, you have to promote yourself, especially if you don’t already have a pre-existing reputation and thousands of cheering fans. As some of my self-published author friends on Kindle have learned, you sometimes have to do so much promoting that you don’t have the time (or the energy) to write new material.

So I won’t be there. I’m having too much fun on 20M and writing new SF. What, then, do I think? No question: It’s worth it, if you’re young and energetic and can write interesting text on a definable topic on a regular basis that at least a few people might pay $5 a month for. I have one concern about Substack’s viability: They do not currently discriminate against conservative writers, or centrist writers who don’t care for progressive dudgeon. Apparently a number of progressive writers have ditched Substack because–the horror!–Substack doesn’t censor conservative viewpoints.

Not yet. If they ever start, it’ll be the end of them. In the meantime, you have your choice of a very broad spectrum of very good writers. A lot of the posts are free, and you can sample any author you want. I’m budgeting myself four paid subscriptions, not because it’s expensive, but because there are only so many hours in a day.

Go take a look. I was moderately impressed.

Blogging Vs. Social Media

Wow. I think I broke another record for not posting on Contra. My last entry was July 7, which brings us to five weeks now. People aren’t asking me if I’m dead (like they used to) because most of them see me on Facebook and Twitter. So yeah: I’m not dead. I’ve just been elsewhere.

And that’s an interesting issue, especially now, at 66, when I have a far more limited supply of personal energy than I did ten or even five years ago. This being summer doesn’t help: My office is the warmest room in the house, and I simply don’t function as well with an ambient temp in the 80s. Mornings are my best times largely because they’re the coolest. Mornings are also when I work on my commercial writing projects, like Dreamhealer and FreePascal From Square One. Fiction is hard. Dreamhealer in particular has been rough, and there are times when I regret having started it at all. But 55,000 words is too much to just toss in the trunk. It will be finished. I only wish I had finished it a year ago, which was my original if excessively ambitious plan.

The key question is this: To what extent is Contra a bad use of my time?

Or, more to the point, my (limited) energy?

I don’t look at my logs much anymore, because I know what they’ll show: Script kiddies endlessly trying to brute-force their way into my instance of WordPress, plus fifteen or twenty visitors a day, and a few odd bits that I’ve never entirely understood. I suspect posting less often than I once did cuts the numbers down, but I don’t think I’ve ever seen more than a few hundred visitors a day, even when I was posting almost daily, unless I posted something that went viral, like my Sad Puppies summary or my analysis of EasyBits Go.

So why have I stopped posting here on Contra? This: I get more attention when I post on Facebook or Twitter. And attention is what it takes to sell indie books. Posting a promo tweet about one of my books almost always generates a sale or two. Posting something about one of my books on Contra rarely does. I’m guessing that Contra is a saturated market: My diehard fans have probably already bought everything I’m offering. It would help if I could crank out three novels a year, but if that were possible it would have happened a long time ago.

Blogs have lost a lot of the magic they had fifteen years ago. The magic went straight to Facebook, in large part because Facebook has machinery to help people find you if you want to be found. (Or even if you don’t want to be found.) If you’re a writer, especially an indie writer like me, being found is the hardest single part of the game. The blogs that continue to thrive fall into two categories: Political blogs, which satisfy our insatiable need for tribal reassurance, and single-topic blogs with fairly narrow and reasonably popular topics. The sort of general-interest blog that was my 20-year vision for Contra still exists, but is written largely by people who are already well-known for other reasons.

Another issue is that politics has infected virtually every topic you could name, including many that interest me, like nutrition, climate, genetics, education, and health insurance. It’s almost impossible to write about those topics without attracting comment harpies, or more general tribal hatred than I care to deal with. I was astonished at the anger I evoked by cautioning people to calm down after the 2016 election, lest their rampaging hatred ruin their health or literally kill them. This remains an issue: Once you’ve given yourself permission to hate, hatred is delicious, and few people can overcome that deepest of all primal hungers.

My overall goal is to write articles that won’t piss off potential readers of my fiction, and the range of appropriate topics for that kind of writing grows narrower over time as the filth that is politics seeps into damned near everything.

All that said, I’ll try and post here a little more often. I’m considering redesigning Contra (or paying someone to redesign it) so that it becomes a more general directory to everything I have online. I’ll post shorter blog entries more often, and long-form essays not as blog entries but as standalone articles listed in a sidebar. I may have to cross-post short entries on Facebook for those who don’t read Contra. Given its limitations, Twitter will remain a sort of Odd Lots repository, along with links to longer works. (I will collect my Twitter Odd Lots and post them on Contra from time to time.)

I’ve done tolerably well as an indie author since I posted the ebook edition of The Cunning Blood in July 2015. I intend to write indie fiction for the rest of my life, and solving the problem of discovery is a huge part of the challenge. I dislike Facebook and Twitter, for the sake of their ideological bias and privacy failures, but actual experiments have shown that they work. The experiments will continue. If I learn something useful, you’ll find it here–and other places too. A usable author platform requires more than one leg to be stable.

Odd Lots

  • Hats off to T. C. Chua, who figured out how to make Zoundry Raven work with IE9+. Raven uses IE’s WYSIWYG editor, and changes made to the editor with IE9 breaks the program completely. Zoundry is open-source and hasn’t been updated since 2008. Mr. Chua traced through the Python code, found the problem, fixed it, and built an .EXE out of the Python code. He’s made it available here. I’ve used Raven to edit and post Contra entries since 2008, and didn’t feel like chasing down some new blog editor now that I’ve moved to Win7. Bravo!
  • Vegetarian diets are not as healthy as we’ve been led to believe. Make sure you scroll down to Table 3 and get a look at the figures for cancer. Now, some thrive on vegetarian diets and many don’t. What the research doesn’t appear to take into account is “lifestyle panic,” which is severe anxiety that some (usually minor) aspect of your life will kill you. If worry about your diet turns your life into a cortisol thrill ride, your diet won’t help you, and it certainly won’t be what killed you.
  • Mars reaches opposition on April 8, and the best day for observing it is April 14. Actually, any time within a week or two of those dates will provide a pretty good show, especially if you have even a smallish telescope. Such opportunities happen roughly every two years, so catch it now or wait until 2016!
  • Wearable computing has never really set the world on fire, and here’s a reasonably honest assessment as to why. I already have one computer in my pocket, and that’s plenty.
  • A GoPro-packing RC flying wing. Makes kites look kind of lame, but lame is what I have on hand, and lame is how I’m going to fly my GoPro this spring. If we ever get a spring. (6″ of sloppy stuff this morning; would have been 15″ had it been ten degrees colder.)
  • Cores (the other kind of cores) like dust.
  • My instance of the Gallery photo server is pretty much dead, and I’ve begun migrating photos to Flickr. Here’s my photostream link, and my three sets so far. I’m not yet an ace at the system by any means, but with some practice I’ll get everything interesting up there.
  • Ok. Precision marshmallow toasting is cool. Just don’t get nuts and melt the mallow into the machinery.
  • I study climate, in general to support a fiction concept I’m working on, but I don’t talk about it here because I don’t like to trigger the sort of slobbering tribal hatred that any such discussion invariably involves. This is an interesting (if depressing) psychological phenomenon all by itself. (Thanks to Trevor Thompkins for the link.)
  • This turned up on April 1, but like all the best hoaxes, it is nowhere clear that it’s actually a hoax. So is it? (Thanks to Esther Schindler for the link.)
  • The world’s smallest volcano was maybe just a little easier to suss out…

Rant: The Bumperstickerization of Facebook

Maybe I just hit a statistically inevitable bad stretch. I don’t know. But last night, it seemed like every other entry on my Facebook friends feed was a photo that was nothing more than an image of words. I won’t embarrass anyone by citing a particular example; I’m pretty sure that anybody who’s on Facebook knows what I mean.

I do not mean visual puns like Imperial Walker, which at times border on brilliant. Nor even the genre I guess we call “demotivational” posters, which bring a painful grin now and then. I’ll gen up an example of my own:


Why is this better than:

“They build too low, who build beneath the stars.” –Edward Young 1681-1765.

I have to grin: Here’s Jeff Duntemann, the Visual Developer guy, arguing for plain text against graphics. But hey, it’s text, and nothing more than text. If quotes had OK buttons (or, better yet, Cancel buttons) I might feel otherwise. They don’t. Text is sufficient.

There’s another problem: In no case was the text in the image the words of the person who posted it. They’re all well-worn platitudes or slogans or political nanorants, just as you’d see on a bumper sticker. That, in fact, is what they remind me of the most. Last night I realized that I was seeing the bumperstickerization of Facebook.

I did not sign up for Facebook to drown in a sea of virtual bumper stickers. They call it a “friends list” because, theoretically, the people there are friends. I like to hear what my friends are thinking, feeling, reading, writing, coding, making, or otherwise doing. I don’t mind pictures of your cats, your dogs, your kids, your vacations, or the stuff you’re building in the basement. That’s what Facebook is for.

Are your daily travails more important than quotes from Abraham Lincoln, FDR, or Oscar Wilde? Damitall, yes. I already have Bartlett’s Familiar Quotations. I used to read it like a novel. (I’m nutty that way.) If you must quote someone, quote yourself. And do it in text. Pixels Are For Pictures.

Now, weren’t you making cannoli last night? Or calling CQ on six meters? You’re my friend. If I didn’t hear about it, well, it’s not for lack of wanting.

Covington on Time Management

I’m short on time today (and will be for probably the next week or two) so it’s appropriate to point you to Dr. Michael Covington’s post on how he teaches time management to graduate students. Much gold to be dug here, and most of what he says applies to writing a book as well as writing a doctorial thesis. Never let a day go by without progress is one of the toughest goals to meet, but also one of the most important. Life intrudes, especially for freelance writers who have houses, spouses, kids, dogs, and day jobs. Still, you should try. Take too many “days off” and you will waste time recovering context when you return to the task. This happened to me several times while I was writing Assembly Language Step By Step, Third Edition, and the deeper the subject, the more subtle the context, and therefore the easier it is to lose. (We had several family crises in Chicago while the writing was underway, and such things are impossible to avoid. I got better at context recovery through practice, but it’s still time lost that you’ll never have again.)

Another thing that Michael alludes to is that you can’t split up a difficult writing task into widely-scattered one-hour bursts. One hour is not like every other hour, except for well-defined rotework. More to the point, there is something I call “flow,” which means that I’ve goosed my subconscious into a state of high activity, and it’s spitting words up from the depths almost exactly as quickly as I can write them down. This is more common in fiction than nonfiction, but I did find that there were moments when I was blasting away at 100 wpm+ on things like passing parameters to libc functions, because I knew the material well and had had a good night’s sleep. But once you’re in flow, it’s best to keep going until it stops, or until you run out of evening, energy, or both. If you think recovering context is hard, just try to get back into flow after any interruption more involving than a bathroom break.

And finally, the Big One, which Michael does not place in bold but which in fact should be in dayglow colors: Productive people know what not to spend time on. In other words, half the trick of time management is interruption management. When I know that a flow attack is imminent and I have a free afternoon, I turn off Skype and my cell phone, clear all the toys out of my taskbar (including email) and do absolutely nothing but make tracks on the project. Without that discipline, I would not have finished ALSBS3E; in fact, without that discipline, I’m not sure I would ever finish anything.You don’t see me post as often on Contra these days as I used to because I’m feeling better and getting more done in other areas. But that’s also the reason I gather short items into Odd Lots entries: It’s less disruptive to bookmark something and gather bookmarks into a list later on than to be constantly formatting and posting one-liners.

Assuming that you have at least basic literacy in the topic at hand, success consists of focus plus debris. Really. And so on that note, back to work.

Mission of Gravatar

One thing I didn’t quite figure out with WordPress before New Year’s Day was how to upload a userpic for myself. It’s not a critical issue, and I kept bumping it to the back of the “look into this” list–until this morning, when I realized that a commenter had a userpic. This is not LiveJournal, where thousands of people have their accounts all on one server and userpics are stored centrally. This is my own private instance of WordPress, installed on my own hosting service, with no blogs on it but mine. So wherethehell did that userpic come from? Shortly thereafter, Julian Bucknall showed up in a comment, with his own userpic. At this point, I quit gnashing my teeth at Ubuntu for being atavistic (why isn’t there a dialog in the admin menu tree somewhere for setting a search path? Huh? Huh? Why?) and did some digging.

Of course, something interesting is going on here. There’s a Web service called Gravatar, which maintains small images (either photos or drawn art) intended to be used as personal avatars on blog comments and discussion forums. Each image is keyed by an MD5 hash of the image owner’s email address. Blog or forum software (anything, actually) simply makes a request to with the hash, and it gets back an 80X80 image.

This works great–when it works, which is most but not all of the time.

I’m still scratching my head here. I can see my gravatar image on Contra from every browser in the house except the instance of Firefox 2 here on my main machine. IE6 on this box shows it. FF2 and all IEs V6 and after show it. But FF2 on this box won’t–except in the “Recent Comments” pane of the dashboard. Then, sure. Gotta make it complicated.

This does not compute. It’s the same damned version of FF I have running everywhere in the house. ( I’m not big on plug-ins, and there’s nothing peculiar about this install of XP. I do not see why viewing WordPress on this instance of FireFox would be any different from viewing WordPress with any other instance of Firefox–and it does see other people’s gravatars over their comments. Just not mine.

Still stumped, and I’m posting this to see if any of you do not see my picture in the avatar block of any of my comments here on WordPress. Suggestions, of course, are welcome. I won’t croak if I can’t see my own gravatar as long as everybody else can, but things like this give cloud computing a bad name.

One final note, which boggles this old mind: Gravatar has a rating system. You can have G, PG, R, and X-rated gravatars. You heard me: X-rated gravatars. In an 80-pixel by 80-pixel block. Damn. I can’t have a GUI dialog to set the Linux search path, and you can have an X-rated gravatar. Somebody’s getting ripped here. Deciding who I leave as an exercise for the reader.

Running Out of 2008

ravenlogo.jpgCarol and I got back to Colorado Springs a few hours ago, and the suitcases haven’t been emptied yet–in fact, they’re in a pile in the corner of the bedroom and may not even be unlocked until tomorrow morning. But on the way home from the airport we picked up the puppies, who seem no worse for the wear, except for their tear-staining. We give them occasional doses of Tylan to treat the staining, but we don’t expect the kennel people to keep up with that. So they’re going to be redeyed for a couple of weeks yet.

The priority today and tomorrow is to get ready for the big switchover from hand-edited Contra entries (something I’ve been doing for over ten years!) to WordPress. I did some testing of a free blog editor called Zoundry Raven while I was in Chicago, and it worked well enough for me to want to give it a shot in “production mode.” This post is being edited in Raven, and if everything works correctly, it will post the same text and associated images to both LiveJournal and WordPress with one click and without a lot of screwing around. The images were an issue on my test post for December 23, and they may still be, but I’m running out of time to troubleshoot them this year, and I may have to fix’n’figger along the way if Glitch Happens. (And doesn’t it always?)

The new URL for the WordPress-based Contra will be, in case you haven’t seen that yet. Come Friday, there will be no new posts on, though links to all ten years’ worth of archives will still be there, at least until I get them moved to the new domain. How far back I move the hand-edited archives into WordPress depends heavily on how much work it ends up being, and that remains an open issue.

Testing Zoundry Raven

I just installed Zoundry’s Raven blogging client in portable mode–I don’t see any reason for it to be installed in any other way–and this is a test post. Bloggar was a little disappointing; for example, I still don’t see how to add tags to an entry locally. So the search for a client goes on, and this post will include an image to see how well image uploading works. A WYSIWYG editor is good, and should allow images to be flowed within text in various ways. I don’t know about borders–will have to try them, since Raven supports them. The issue of how well Raven posts to multiple blogs is yest untested, but if it passes the image-upload test, that’s the next thing to look at. So far it’s pretty impressive.

WordPress Tags and Categories

Contra is moving to its own domain January 1, and will become a WordPress install as of that date. (Posts there now are all test posts and will be deleted before it goes live.) I’ve been studying WordPress and configuring the install to do what I need it to do, and although it’s taken some time and some fooling-with, long-term it will save me a huge amount of effort, compared to the hand-editing I have done now for over ten years.

One of the interesting features of WordPress is that it supports both tags and categories. A lot of people scratch their heads over that, but when I saw it I understood it immediately. Tags and categories both apply a text string to a post. The differences from a content management perspective are minor: Categories are predefined and applied via a drop-down list, but you create tags “on the fly” at post-time. You can use tags and categories interchangeably if you want, but using them together allows an interesting sort of two-axis classification of posts. One axis (best handled by tags) describes what a post is about: politics, religion, publishing, Linux, Wi-Fi, and so on. The other axis (best handled by categories) describes the shape of a post, in the sense of a literary form: idea pieces, reviews, rants, travelogs, memoir, and so on. The increase in precision is delicious: Not all posts about wine are reviews—I’ve done at least one wine rant and will probably do more, and wine travelogs are possible—but if you’re more interested in reviews than in rants, selecting the “reviews” category and looking for the “wine” tag will get you exactly what you want.

Both categories and tags work best when used sparingly. Five hundred tags each used once or twice are not only not as useful as keyword search (which is available in WordPress) but less useful, because after awhile we forget what tags we’ve created and create new tags that are so similar as existing tags as to spawn serious search entropy. (I had this problem on LiveJournal more than once.)

Categories in particular should be few and distinct. I brainstormed with myself a few days ago, jotted down as many category identifiers as occurred to me, and then ruthlessly winnowed the list down to a predetermined limit of ten or fewer. The eight categories I settled on are these:

Daybook: Everyday activities; “Dear Diary:”
Ideas & Analysis: Commentary on news plus ideas and speculation
Memoir: My personal history
Odd Lots: Short items presented without much discussion
Rants: Complaints and other over-the-top material
Reviews: Evaluations of products or services
Travelogs: Where I went and what I saw/suffered/learned in going
Tutorials: How things work and how to do them

I also have a tags list that runs to a little over fifty right now, and includes all the expected keywords describing my many interests, like religion, publishing, ebooks, dogs, hardware, ham radio, psychology, and so on. I spent a sobering half an hour meditating on my accumulated tags list in LiveJournal and threw most of them out. I’m going to try to keep myself to fifty tags or fewer and don’t expect a great deal of difficulty creating the list. (I’ll post it once I consider it reliable.) This sort of thing is called a “controlled vocabulary” in information science circles, and the trick, of course, is to keep it controlled.

LiveJournal will continue to be a mirror. One unanswered question is whether I will attempt to import LiveJournal posts to WordPress. This apparently can be done, though I haven’t tried it and understand that it could seriously mess up my newfound tag discipline—and require me to categorize several hundred posts. I may import but only selectively. Research continues.

The Future of Contra

Earlier this afternoon, I finally did something I’d been meaning to do for literally years: Configure a dedicated domain for ContraPositive Diary. It’s done, and I’ve pointed to the WordPress instance I created back in September on Fused Network. I’m still learning it, testing it and interviewing widgets and plug-ins, so although the domain and the blog are now live, there’s still not much to see.

That will change on January 1. On that day I will stop editing Contra entries by hand (as I’ve done since 1998) and begin using WordPress. Entries from 1998-2008 will remain pure HTML and be accessible as such. I’m going to copy them from over to, but the copies on will remain there until I kill the Sectorlink hosting account and move the domain over to Fused Network. I intend to keep my LiveJournal account, and use the LJXP crossposter plug-in to automatically cross-post anything I post on WordPress to LJ.

There’s a lot of other stuff on that has to go somewhere. The domain is begging for a new index page anyway, and I’m working on how to organize it. I do know that my Maker material on electronics, telescopes, and kites will all be rewritten using CSS and placed under my index. I intend to install a new instance of the Gallery photo manager there, and move the Tech Projects portion of over to Beyond that, well, I won’t know until next year.

Some conceptual issues remain undecided; e.g., should I continue to group short link citations into larger Odd Lots entries, or just post them as I find them as individual entries? The way I do it now is an artifact of how I create Contra entries generally: I keep a text file in a window and add short items to it until I decide it’s time to format them and post them as a group. That becomes unnecessary with WordPress, and I can streamline the whole process by just popping up Semagic (or something like it) and posting them Right Now instead of storing them locally until I have time to format them for uploading.

WordPress itself is an amazing thing. I’m still trying to figure out what all it can do, either by itself or with the jungle of plug-ins you can find for it. What I know it can do is save me time, which seems to be in shorter supply every year, and that, ultimately, is what the whole exercise is about.