01/26/2015 05:32pm Blog Entry
So it's not a very closely guarded secret that I'm working on getting Looking Glass and Irreconcilable Differences back in print. (Soon. Soon.) My modern toolchain for these old books (for those keeping score) is: Nisus Writer -> RTF -> Scrivener -> Epub -> Jutoh -> Epub, Mobi, and Epub for ibooks. For the hardcopy, it's Nisus Writer -> RTF -> Scrivener -> RTF -> XeLaTex -> PDF. This sounds like more work than it really is. I have the RTF manuscripts, the same ones the Flying Pen Press typeset was done from. I imported them both into Jutoh years ago when I stopped making ebooks by hand. I imported them into Scrivener for all the modern maintenance, mostly cleaning up weird typos that seemed to crop up.
Fast forward to a few days ago. While finishing up the ebook version of Looking Glass, I decided to go through it one more time with the Jutoh spell checker. (Jutoh's spell checker is awful. Slow, primitive, based on ispell or aspell (I forget which), and Jutoh likes to hide the cursor permanently when you've been spell checking a while. It also crashes occasionally.) And I turned up dozens of errors. Looking closely at them, some of them I /knew/ I changed back in the early days of 2007, when we were editing the book. Something was horribly wrong. When I reimported the original manuscript, I got the same results, plus a lot of "typos" I'd chased through the ebook version over the years.
My first thought was "Oh crap. Is the file corrupted? Is the import process broken? Is this somehow in the original manuscript?" So I went back to the original manuscript, last edited when I cleaned it up prior to hand-making the first ebook version. Some time in '08, I think, and opened it up in Nisus Writer, just like the old days. When I searched on one of the errors, up it popped - in tracked changes. Every one of those glitches was a change Scott or I had made with Word tracked changes. Every stinking one. About 400 of them in all. Those changes were invisible on the body of the text in Nisus, and in Word too. Somehow, during the import to Scrivener, they were being re-exposed. The book was, essentially, being un-edited.
I sat down to file a bug report. On a whim, because I know that Scrivener leans heavily on OS X's RTF libraries, I tried importing the file into textedit, Apple's default text and RTF editor in OS X. Same result. Same stinking result.
The upshot? OS X's RTF libraries do not do anything sane or intelligent when presented with tracked changes. They concatenate both the original and the changed text, and send it on up the pipeline. I do not now recall how I did the original port to Jutoh, but I very much suspect, given the number of people who've complained about the typos in the ebooks over the years, that it used the same RTF library somewhere along the line.
The solution? Fairly straightforward. Open the original RTF up in Word, make a copy, and tell word to Accept All Changes, and save it to an RTF. When I reimported that RTF, it was clean. Nisus Writer doesn't seem to have that capability (or I couldn't find it.) It was fairly well hidden in Word.
So, moving forward, I remade both the ebook versions and the LaTeX typeset version yesterday and today. It gave me an opportunity to clean up some LaTeX code and some of the sloppiness in the way I'd set it up in Jutoh. And I finally solved the mystery of why my later ebooks were such a mess. If you're reading this, and you have one of those messed up ebooks, email me and I'll hook you up with the new version. Meantime... watch this space. I hope to have the thing for sale fairly soon.
01/22/2015 12:36pm Blog Entry
Render unto proprietary formats (Kindle) that which is proprietary (a novel) and with proprietary tools (Kindlegen.) Calibre, with their obsession with reverse-engineering the kindle formats, can't produce output that KDP will accept without mangling, but they continue to shriek that plugins to use kindlegen aren't needed. Pedantic behavior like that, I can live without. Just have to redo the book in Jutoh. What book, you ask? Well, a little bird tells me that Looking Glass may be back on the market in the foreseeable future.
12/03/2014 07:22pm Blog Entry
I've been tinkering with some projects for a technical book proposal (oh, don't get me started, I'll foam at the mouth) and I've discovered something the old-school geeks all knew: interfacing DRAM is hard. Precision timing isn't quite in my grasp yet. Looks like I'll be saving that project for another book, or something.
Anyway, all is well. I've not abandoned my fiction career, just put it on hold for a while. In doing so, I've had the chance to sit back and really think about my work and what bugs me about the recent stuff. Dialog, in particular, has been a problem. People just *whoosh* spill their guts. So what's left to talk about? While indirect communication frequently annoys me in real life, it's fundamental to fiction, as Connie Willis pointed out in her recent panel at Mile High Con. I need to revisit Brass and Steel and see if I can't tighten the dialog (especially the narration) with that in mind. Season's greetings to all three of you. :)
12/02/2014 07:24pm Blog Entry
The last time I edited the index file of my personal webpage, it was 2006. Seriously. Eight freakin' years ago. But it still has a doll section, and as I just got a Lammily doll (my bit toward helping girls grow up with healthier body images), so I figured I'd put the update there. It's all hand-spun manual HTML4 strict. No problem, I figured. I wrote the damn thing, I figured, how hard could it be?
Hard, as it turns out. First, the page was done by hand, with absolutely no validation. So the section I copied to add my new entry? Broke the entire page. The good news is I now remember how to do tables, and I kind of miss the simplicity of them, now that I remember. But good grief. I added 4 photos and a paragraph and it took me all evening.
It validates now. Still in 4.01 strict, still HTML, no style sheet. But this is the last time. Next time I have the time and inclination to do some web code, all that stuff is getting replaced.
In case you wondered, it's at http://www.netfossil.com/jim/dolls.
11/17/2014 01:46pm Blog Entry
Final tweet: Leaving Twitter permanently. Too much hate, no substance.
11/15/2014 03:44pm Blog Entry
I'm slowly switching my computing universe over from MacOS X to Linux. I'll still be using the Mac for work, where I need more professional software than Linux has. (meaning Scrivener, basically. Yes I know all about the hacked windows version that kinda sorta works in Linux. I've screwed up files quite badly with it and won't use it again.) For most of my mainstream computing needs, though, Linux is more than adequate. It irritates me at least as much as OS-X does, but at least I didn't pay through the nose for the privilege in overpriced, disposable computers.
11/06/2014 02:16pm Book Review
Assembly Language Step-By-Step: Programming with Linux - Five stars.
Where the Cool Kids Program
A long time ago, in a basement far far away, I was sitting in front of a long-suffering television set, banging away on a Commodore 64, trying to dive beyond BASIC programming to where the cool kids played, down below the user interface, down in the guts of the machine itself. Stripped of the training wheels, you could write programs on that ancient machine that would fly. The cool kids wrote programs in assembly language. I tried. But I never got there. By the time I hit college, they didn't teach it anymore, and gradually, I moved past it to other programming, and ultimately to more satisfying careers doing other things.
But I never forgot.
Given that background, I didn't have high hopes for Assembly Language Step by Step. I know Jeff. I've read and enjoyed his science fiction, and he's blurbed mine, and to disclaim a moment, I know him well enough that he wouldn't let me pay for my copy of this new, near total rewrite of his classic text on the matter. I knew if anyone could explain assembly to me, it would be him, but I still expected to hit the point where my eyes glazed over and I didn't care anymore.
Instead, by five chapters into the book, I had refreshed my knowledge of binary and hexadecimal math. I'd looked into computer architecture to a depth I never reached before, and begun to understand, really understand the true center of assembly programming, the addressing of memory. And it's not like it was in the days when I tried to learn assembly before. Modern operating systems treat memory differently, and it's this new, more complex memory mapping that I understand now. Even after 30 years in and around the computing industry, this book taught me things I didn't know about what computing is, when all the familiar abstractions are stripped away and the bare code is exposed.
I can't wait to go further.
Thirty years later, that geeky kid in the basement who didn't get it, finally gets it.
If you want to get it, if you want to program where the cool kids program, if you want to understand how that machine on your desk really works, you want, you need, you must have this book. Buy this book. You won't regret it.
09/04/2014 07:46pm Blog Entry
I finally (finally) finished the new version of Firearms: a Quick and Dirty Guide for the Non-Shooting Writer, and this seemed like a good time to overhaul the sadly empty downloads section. So there's a download again, hopefully one of many to come, free as in beer. Click Downloads, as always. Enjoy!
09/01/2014 11:38pm Blog Entry
I've had to argue the difference between a scientific theory and a normal everyday theory more than once. I got it ... mostly right. Above, the host of the Bite Sci-zed youtube channel, a PHD student studying genetics and thus, a professional scientist, explains. The part I got wrong is at the end, where she says there are, in fact, no scientific facts, and that science doesn't /prove/ anything, only disproves it.