Inhuman Swill : Software

Main

December 7, 2011

The stations of the crossposter

First, let me say that most of you aren't going to care about this.

To the few of you who do, let me say that my long LiveJournal nightmare is over.

Not that I have as bad an opinion of LiveJournal as some, but the fact that it had been my primary blogging platform for so long was holding me back from bringing all my blogs together under one roof. As I posted on Saturday, I'd written scripts a long time ago to let me crosspost my LiveJournal entries to my Movable Type blog, but now I wanted to switch that around and go the other direction. I wanted to be able to use Movable Type's superior content management system to work on more than one entry at a time, and to schedule them for automatic posting at future dates. It was only once I began looking into my options that I realized finding a solution would mean I could crosspost to LiveJournal from all my blogs. Bonus.

Interestingly, it was people I know who led me to the answer. My very first Google search led me to this 2008 post from Ben Rosenbaum, who was looking for a similar solution, and Tempest Bradford served it up in the very first comment. She pointed me toward a Movable Type plugin by Chip Marshall called ljcrosspost that sounded perfect. Several other sites praised it highly. The only problem was, site where the source code was archived no longer existed.

I tried a couple of other plugins I ran across, but when I tested them they were kind of iffy. I kept coming back to ljcrosspost in my Google searches, but was frustrated by the elusiveness of the source archive. If only I'd embarked on this project in 2008!

But then I realized I could probably get the code from the Wayback Machine. Bingo! There it was.

So finally I made some time today to familiarize myself with the code and to write a few test scripts. The ljcrosspost plugin works by communicating with LiveJournal.com via XML-RPC, and that makes it startlingly easy to post LiveJournal entries from a Perl script. (In fact, I probably annoyed the hell out of my LJ friends with all the placeholder entries I posted then deleted this afternoon.) Once I had the basic concepts down, I made some tweaks of my own to Mr. Marshall's code, and I was off to the races.

The cool thing about ljcrosspost (and forgive me if I get too geeky) is that it not only lets you crosspost but also crossedit. When you first publish a blog entry on the Movable Type end, the plugin opens an RPC channel to LiveJournal, posts the entry there, and gets back a couple of unique identifiers which it then stores with the Movable Type entry's metadata. If you should ever go back and edit that entry, Movable Type sees from the metadata that a copy already exists at LiveJournal, so it posts an RPC request to update the LiveJournal entry with the altered text. Very slick.

Another consequence of ljcrosspost's design is that, once you've installed it, if you republish your entire Movable Type blog, all the existing entries will get posted to LiveJournal. I actually did that with my Proper Manuscript Format and Signs of Yesteryear blogs, which you can now see neatly mirrored here and here.

Of course, as you might guess, I made some of my own little tweaks to ljcrosspost. First, I enabled the list of categories associated with a Movable Type entry to be translated into LiveJournal tags and passed to the remote server.

I also extended the <MTLJCrosspost> tag so I can pass it an explicit list of categories to be added to all entries mirrored from a given blog. (This is how, for instance, I can give all the entries from my formatting blog the LiveJournal tag "manuscript format," even though that's not a category associated with any of the original Movable Type entries.)

And finally I inserted a little message at the end of each mirrored entry which incorporates the name of the originating blog and links back to the original version of the post.

You might think that's a lot of trouble to go to just to be able to send content to a site that doesn't entirely suit me anymore, and you'd be right. But the fact is, I still have a lot of great friends at LiveJournal, and I like interacting with them there even if the other aspects of the site aren't what they used to be. We've got a lot of history, and I'm glad I'll finally be able to put some of my other content in front of them without a lot of annoying crosslinking.

So anyway, I've tested my new setup pretty thoroughly, but this will be the first real new entry that I post with it. I'm going to schedule it to go live just before midnight. Then I'm going to cross my fingers and hope it gets to you LiveJournal folks.

blogs | internet | programming | software

October 5, 2008

Version control

A technical question for you techie writer types out there. Do you use version-control software to keep a repository of your work? If so, what? What platform do you run it on? What do you like? What don't you? I know CVS pretty well from my programmer days, but I'm not sure that's what I want to use for my writing. Maybe Subversion? SVK? I've just started looking into this, and there are a whole lot of options.

I used to just use the Windows Briefcase to keep my writing in sync between machines, but my new laptop with Vista doesn't seem to implement Briefcase in a way that's entirely compatible with older versions, and anyway it doesn't do squat to keep copies of older drafts around. I'd like to start doing something a little more sophisticated than that.

computers | software | writing

December 22, 2005

South by southeast

Sorting through piles and piles and piles of old stuff as we packed, I found a poignantly evocative photocopy I thought had been lost to the mists of time. It went back to 1992 or so, when, as you may know, I was developer on the WordPerfect 6.0 for DOS team. You may not realize this, children, but the word-processor market used to be rather more hotly contended than it is today, and the leading product out there was WordPerfect. The rivalry between us WordPerfect developers and our opposite numbers at Microsoft was fierce, and as we sat in our comfy offices that looked out on the Wasatch mountain range and pounded out code, or even as we sat enjoying a subsidized lunch at our campus eatery, the Hard Disk Cafe, we could feel the hot breath of those Word developers on the backs of our necks.

We were right to feel the pressure. Not only was Microsoft poised to soon crush us in the marketplace—aided and abetted by our own failure to get a decent Windows product out in timely fashion—but those Redmondites were nasty pieces of work. It was with delighted horror one day that out of our fax machine scrolled a fourth-or-more generation photocopy, transmitted from an anonymous source. Soon a copy of the WordPerfect Fanatic Point-and-Shoot Program ad, with its chiaroscuroed Cary Grant still, was tacked up in every office in our building.

So, this memento of a time when Microsoft might actually have been a little frightened of a wretch like me. Sometimes it does a body proud to be a marked man.

feuds | microsoft | software | word processors | wordperfect

November 17, 2005

AOL Intrusive Messenger

Raise your hand if AOL automatically added an "AIM Bots" groups to your IM client, with MovieFone and ShoppingBuddy as members.

Fucking AOL. I switched to Trillian to get away from this shit. I guess the only way to escape is to stop using the AIM network altogether.

aol | pet peeves | software

Featured Book

William Shunn

About This Archive

This page is an archive of recent entries in the software category.

socialism is the previous category.

sonnets is the next category.

Find recent content on the main index or look in the archives to find all content.

Archives