I’ll be at RavenCon April 24-26

As I am about to head off on the road for the better part of the week, I think now is a good time to remind folks that I will be attending RavenCon in Richmond, Virginia next weekend, April 24-26.

At present, this is the only science fiction convention I’ll be attending in 2015.

My friend Allen Steele will be there, as will Jack McDevitt. RavenCon is the first convention I ever attended after selling my first story back in 2007 so it holds a special place in my heart.

On Sunday, April 26, Bud Sparhawk and I will be giving a talk on “Plotters vs. Pantsers,” Bud being the “plotter” and yours truly being the “pantser.” We’ve done a version of this with respect to online writing tools at Capclave, but this talk is focused on the two methods and their respective advantages and disadvantages. It should be a fun talk if you can make it.

I’ll be arriving in Richmond around lunchtime on Friday, and staying through the convention, so if you think you’ll be there, and you see, say hello.

 

Stagnation and Transition to Medium

After years of grown, activity here on the blog appeared to have peaked right around the beginning of 2015. At that time, the blog was receiving 6,000 or more visits per day, on average. Since then, there has been a steady decline in visits. These days, I’m seeing under 3,000 visits per day for the first time in a long time. Perhaps, the single biggest reason for this is a lack of content. Or interesting content, anyway.

I suppose this is understandable. With the limited time I have to write each day, my focus has been on getting my fiction-writing done first. If there’s time, I’ll might write on the blog. Might. Because lately, I’ve felt stagnant when it comes to the blog. I used to write whatever came to mind, but I’ve shied away from that lately. In part it’s time, and in part I’ve worried about a lack of interest, and that I might come across as trying too hard.

Then, too, I have felt for a while now the need to move beyond WordPress as the primary tool for my blog writing. I’ve considered changing things up, using a new theme, but really what I need is something entirely different. This feeling of stagnation and the need to break out into something different lead naturally into transition.

Going forward, I will be doing the bulk of my blog-type writing over on Medium. I’ve been impressed with Medium for a while, but I wasn’t sure why I was impressed until recently. I think it comes down to a few important factors:

1. Simplicity. Medium is easy to use, and far easier to maintain than a self-managed WordPress installation. The time I gain back in maintenance can be used to write the kind of things I’m interested in writing more frequently than I have been.

2. Aesthetics. Medium is beautiful. I love reading things there. There is a simple elegance to the design, that makes reading a pleasure. Then, too, those same aesthetics apply to the writing experience. It is easy to write and format stories on Medium. It had interface that makes me want to write more.

3. The right metrics. Monitoring WordPress metrics became a kind of part-time job for me. How many views? How many clicks? From where? Drilling down into Google Analytics data, when I could be writing. And I’ve come to believe that most of those metrics don’t really mean that much. After all, someone can visit a post but not read it. Which is why I like Medium’s approach: They track one key measurement: “read ratio.” It’s a measure of reads to views, and it tells you how many people are actually reading what you wrote.

4. Discussions. Nothing beats Medium’s commenting and discussion system. You can comment on any part of a story. You can highlight pieces, and recommend the story. Like everything else about Medium, it is simple and elegant.

I want to assure folks that this blog here is not going away. However, it’s function is changing. Over on Medium I’ll be writing about writing, and technology, and paperless lifestyle, and productivity, and baseball, and lots of other things. But I won’t be making announcements over there. That’s what this blog will be used for.

I suppose you can think of it as this blog becoming my author “platform” (I dislike the term, but I can’t argue with its appropriateness in this case.) New publications, new stories, articles, appearances, and things like that will be announced here for those interested.

I have built up a wonderful audience over the years, and I can only hope that some of you will be willing to follow me over to Medium and keep up with what I am writing over there. You can even add my Medium posts to your RSS feed, using this link. I understand not everyone will want to make that transition with me, and that this might be a good time to pursue other blogs, or cut back on blog reading. But I do hope that moving to Medium will help rekindle the fires that kept me blogging for nearly a decade, and that the lessons I’ve learned over the years will make me a better writer because of it.

As an example of one kind of thing I am trying to do over on Medium, take a look at the post I wrote there  earlier today called, “Excavating Old-School Self-Tracking.” And if you are interesting in following along with me on Medium, you can find my profile at: https://medium.com/@jamietr.

W. C. Heinz and the M*A*S*H Connection

I have mentioned before how my favorite long-form nonfiction is the baseball essay. Reading those essays leads to all kinds of places. I was discussing these types of pieces with a friend of mine, and he recommended a recent book put out through The Library of America called The Top of His Game: The Best Sportswriting of W. C. Heinz edited by Bill Littlefield. I’d never read any of Heinz’s pieces before, but I am having a delightful time going through this book. His pieces tend to be short: 800 words, compared the the baseball essays that I most enjoy. But Heinz’s voice carries the day in these pieces, which cover all manner of sports, from baseball, to boxing, or horse-racing, and beyond.

But the most remarkable thing I’ve learned in this book is something about Heinz himself. I am also a big fan of M*A*S*H. The book, upon which both the movie and the series was based, was written by Richard Hooker. Well, it turns out that Richard Hooker is a pseudonym for pair of writers. One is H. Richard Hornberger, a doctor who served in Korea. The other writer was–you guessed it–W. C. Heinz.

I thought that was a pretty cool connection, when I learned of it in the intro to the book.

To my friends and fellow fans who might not be able to afford a Worldcon membership

Earlier today, Mary Robinette Kowal offered 10 (now 20) supporting (voting) memberships to the World Science Fiction Convention in 2015 to fans who might not otherwise be able to afford a supporting membership. The membership allows fans to vote for the Hugo Award, which is often considered to be the most prestigious award in science fiction.

I know that I have friends and fellow fans out there who can’t afford a supporting membership, and so, taking a page from Mary’s book, I am offering 5 supporting memberships for Worldcon for people who can’t otherwise afford one.

Part of the fun of the World Science Fiction Convention is being able to vote on your favorite works from the previous year, and that $40 supporting membership is difficult for some folks. If you can afford, it, I encourage you to get a supporting membership. If you can’t afford one, shoot me an email at feedback [at] jamietoddrubin [dot] com with your contact information. Also, because of the controversy surrounding the Hugo Awards this year, I want to be clear that for folks who get these supporting membership: please don’t feel constrained in your vote. Participation in the fan process is all that I am hoping for.

Next week, I’ll pick the 5 names randomly from the requests that I get, and buy the memberships through the Sasquan website on their behalf.

ETA (4/15): All 5 supporting memberships have been given out to folks making requests. As it turned out, I had exactly 5 requests for a membership through today, so that made things easy.

George R. R. Martin on Guilt by Association

From George R. R. Martin’s Not A Blog:

I do not believe in Guilt by Association, and that’s what we’d be doing if we vote against every name on the Puppy slates simply because they are on the slate. That was a classic weapon of the McCarthy Era: first you blacklist the communists, then you blacklist the people who defend the communists and the companies that hire them, then you blacklist the people who defend the people on the blacklist, and on and on, in ever widening circles. No. I won’t be part of that.

I completely agree.

Brain Drain

I came home from work tonight feeling the way I used to feel 36 hours into an all-nighter back in college. Except that I slept for 8 hours or so last night. My brain is completely drained. I am not normally a project manager, my title at the day job being a senior application developer. But I find myself managing two projects right now, a small one about which I have been excited for a while. And a large one, which I inherited last week from a far more capable project manager who left to pursue other opportunities. In addition, I am developer on a third project, a lead technical consultant on a fourth, a team member of a fifth. My days, recently, have been all about churn. Fifteen minutes of this, twenty minutes of that, ten minutes of this other thing.

Today, I spent six hours in meetings, and the remaining time preparing for them. It’s been like this for a week or so now. My days have been long, and when you add in the writing in the evenings, they have been even longer. I think I set a personal record earlier this week. RescueTime told me that I’d spent 18 hours on the computer in a single day!

RescueTime record

Tonight, my writing was uninspired. I don’t feel much like reading, or even listening to an audiobook. My brain has reached its capacity. I need to disconnect and allow it to cool off a bit. So I am going to try to take the weekend off. I’ll still get in my writing–after 627 consecutive days it is unthinkable not to write. But I may take a break from fiction this weekend and write two nonfiction pieces that I’ve been meaning to write for some time now. It will give me a well-needed break from fiction. And nonfiction is easier on my brain than fiction, so that’s an added bonus.

I am also going to try to stay offline for the most part this weekend. I’m not going to read much. Instead, I’m going to something I don’t do often: sit in front of the TV and watch episodes of Magnum, P.I. and M*A*S*H. Hopefully, by Monday, I’ll feel more like my 2015-self, and less like the 1992-sleep-deprived college version of myself.

Have a great weekend!

Thoughts on Interstellar: Worthy Grandchild to Tau Zero and The Forever War

If memory serves, I first encountered time dilation in a visceral way in November 1997. That is when I read Joe Haldeman’s The Forever War. The effects of relativity play a significant role in that novel. I next encountered it in Poul Anderson’s Tau Zero, which I read in January 1999. I read the books in the wrong order. Anderson’s novel, which was based on his short story “To Outlive Eternity”, was first published in 1970. Haldeman’s novel was published a few years later.

The two novels took different approaches to time dilation: that effect that relatively has on time when one approaches the speed of light. Anderson’s book examined the extremes, reaching out for the end of time, the end of the universe, the end of all things–all within a single human lifespan. Haldeman’s novel took the personal approach, looking at the effect of time dilation on a few individuals, over a much small time scale.

I was more effected by The Forever War than by Tau Zero. The notion that time slows down as a person approaches the speed of light fascinated me. I remembered a commercial for Omni magazine which described the twins paradox. All of that stuck with me, and I remembering wondering if a parent traveled close enough to the speed of light, might not their children grow older than them while they were away?

The thought eventually led me to write a story called “Flipping the Switch” that deals with that very paradox. Although I first started writing the story in late 2008 or early 2009, it wasn’t published until 2013, when it appeared in the original anthology Beyond the Sun, edited by Bryan Thomas Schmidt.

And then, a week ago, I finally got around to seeing Interstellar. While I am not generally a fan of science fiction movies (something that people have a hard time believing, since I write science fiction), I really enjoyed Interstellar. I was the best science fiction movie I’ve seen since Contact. I watched the movie, and then, later that same evening, I watched it again. I know that some people complained that, despite the best efforts, some of the science was not accurate. Others complained that the dialog was poorly written. I enjoyed it all. Most of all, I enjoyed seeing the paradox that I envisioned in my story come to life in a well-executed conclusion. Indeed, the ending of Interstellar reminded me, in some ways, of the ending of Isaac Asimov’s “The Bicentennial Man.”

I also loved the vision of robots in Interstellar. The AIs of that world reminded me of the AIs that populate Jack McDevitt’s Alex Benedict novels. Their versatility was impressive, but I also enjoyed the personalization: you could define humor, honesty, and other elements to your taste.

Contact was a more cerebral movie than Interstellar, but Interstellar made me feel like I was traveling to alien worlds. It is a movie that I know I will enjoy watching again from time to time.

The Thrill of the Cracker Jacks

Nats Stadium

On Saturday, I took the Little Man to an exhibition game between the New York Yankees and the Washington Nationals. We took the Metro over to Nationals Park, and found our way to our seats, where my friend, and fellow writer Michael J. Sullivan was waiting for us. I think that Michael told me this was the third baseball game he’d ever attended. As it happens, it was the Little Man’s third game, too. He attended a Nationals game when he was a little baby. Then, when he’d just turned two years old, he attended a minor league game up in Troy, NY, between the Tri-City Valley Cats and the Vermont Lake Monsters. But the game on Saturday is likely to be the first that he remembers as he gets older, if for no other reason than he plays Little League baseball, and has more of a sense of the game than he did when he was two.

Perhaps the most exciting part of the game for the Little Man was the thought of getting Cracker Jacks. He knew about Cracker Jacks from the song, of course, and also because Caillou has them in an episode of that cartoon. But the Little Man had never had them before. So when we arrived at the stadium the very first thing that we did, even before going to our seats, was seek out Cracker Jacks. Eventually, we located a bag (they are no longer sold in boxes, at least not at Nationals Park) of Cracker Jacks. We added to this, two hot dogs, a small soda, and a beer. Then we sought out our seats. We were high up, but had a good view of the playing field, which is what I wanted so that I could explains things about the game to the Little Man. We both wore our Yankees hats, and while we sat among many Nationals fans, there were plenty of Yankees fans to be seen around the park.

The Little Man picked up the rhythm of the game quickly, and even learned to follow the scoreboard for balls, strikes, and outs. When the Nationals would make a good play on the Yankees, he’d say, “Aw, man!” When the Yankees made a good play, he became wildly excited. He saw his first home run that game, and that brought the score to 3-2 (the Yanks had been trailing.)

When A-Rod came to the plate, and the stadium booed, the Little Man wondered why. I explained that A-Rod had cheated, and had not been allowed to play baseball for a year, and that a lot of people (myself included) were upset that he cheated.

We stayed for five full innings before the Little Man got too restless and wanted to head home. We left with the Nationals leading 3-2, and that means that we missed the Yankees comeback home run in the 8th inning. But it was still fun. I mean a lot of fun. At one point, entirely on his own volition the Little Man turned to me and said, “Thanks for bringing me to the game, Daddy.” Really, it was perfect.

It made me wonder who really had more fun, him, for me, watching him. I thought about my Dad taking me to baseball games when I was very young, and had a sudden realization that it must have been fun for him in the same way that it was fun for me on Saturday. The Little Man got to see the game, and got to eat a bag of Cracker Jacks, and I got to sit there and watch him do it. I imagine we will be doing it again, before long.

More Updates to the Google Docs Writing Tracker

I recently pushed a new branch called “project-tracking” out to the Google Docs Writing Tracker on GitHub. This branch includes code for project-tracking that I wrote about a week ago. The changes have been working fine for me over the last 10 days or so. The one thing I haven’t done yet is update the template spreadsheet. The new code requires 2 new tabs in the spreadsheet, along with some additional settings. I’ll get to that eventually.

Meanwhile, I have been trying to figure out a way to simplify what happens each night the scripts do their processing. Right now, the scripts perform a comparison between the current working document, and a previous snapshot of the document in another folder. That snapshot mechanism takes up a lot of code, and is relatively inefficient. Over the last few weeks, I’ve been thinking about an alternative, and today, I tested that alternative out with positive results.

Every Google Document keeps a revision history of the changes to that document. Here is the revision history for a story that I worked on back in February:

Revision history

It turns out, that using the advanced Google Drive API, I can access the revisions through the API. Today I performed a test, which essentially compared the current document to the last revision of the previous day. That is essentially what the snapshot method that the script current uses does. But it does without needing to maintain two files. I can get all of the information I need from the previous revision. Ultimately, that simplifies the code for the scripts. It also simplifies setup.

There is a tradeoff, however.

You can only access the advanced Google Drive API via OAUTH2 authentication. That means configuring the scripts to be able to handle that authentication. It turned out to be a pretty straight-forward one-time setup for me, but I do this kind of thing for a living. For someone who isn’t technical, it may be a little tricker.

It will likely be a while before this major architectural change is available. There are several reasons for this:

  1. My priority each day is on getting my writing in. I do this scripting only if the writing is done, and I have time.
  2. If I were doing this just for me, it would be easy. The code I wrote today checks for the last revision from “yesterday” and compares that to the current document. Simple, right? But not everyone who uses these scripts writes every day. What happens if you skip some days. Then there is no revision from “yesterday” so the script has to know to look for the previous revision regardless of date. There are a few other uses cases that need to be considered as well.
  3. Once I have the code written, I like to test it for a few weeks before pushing it out, just so that I can work out any kinks.

That said, once this feature is in place, I think it will make for an enormous improvement. Since everything, including the revisions, is contained in the one document, there will no longer be a need to manage a snapshot folder at all, and all of that code can go away.

It also opens up the possibilities for analytics on the evolution of a document over time, which would be pretty cool, too.

Manifesto 43: Improving My Quantified Self

When it comes to quantified self, one question I frequently hear is “how can this data really help me”? It is a good question, especially since there are huge volumes of data about ourselves available, and it may not be obvious how to put it to use. I have used quantified self data to improve my writing, and help get more exercise, but it seems to me there is more I can be doing to use this data to improve.

I had been thinking about this a lot leading up to my birthday last week. As I approached my birthday, I began to think about the general areas of my life that I would like to improve, and see if there was a way that I could take advantage of data to help me make the improvements. So I put together a simple document in which I began to list the following:

  • The areas I wanted to improve
  • A simple statement or instruction to frame the improvement
  • An initial notion for how I might measure the improvement.

I called the document my “Manifesto:43.” I thought it might be interesting to others, so below are the major areas, along with the “instruction” I gave myself to keep in mind.

I have more detailed thoughts and actions in each of these areas, and I’ll tackle them in separate posts over the next few weeks, but for now, here are the major areas I’m looking to improve.

Play

Play with the kids whenever the opportunity presents itself.

Walk

Prefer walking over other modes of transportation where practical.

Write

Write every day, even if only for a few minutes.

Eat

Make healthy choices.

Disconnect

Make efficient use of online resources. Avoid unnecessary activity.

Simplify

Use the best tool for the job, but avoid overlapping tools.

Save

Look for opportunities to save more.

Relax

Don’t sweat the small stuff.

There are some overarching themes here. These things can be grouped in different ways to reflect overall priorities. For instance, grouping together “Play”, “Disconnect”, “Simplify” and “Relax”, you have what I think of as “family time.” Improving in those four areas helps improve family time. Grouping “Walk”, “Eat”, and “Relax” are all health-related.

For each of these areas, I produced simple examples of actions that I can take to make the improvements I am looking to make. I’ll drill down into those in a separate post. I have also attempted to identify quantifiable ways of measuring the improvements. In some instances (e.g. “play”) it is pretty hard. In others (“walk”, “write”, “save”) it is pretty easy. Some of the actions are one-time and others are ongoing. I’ve already taken some actions and although it is too early to say how well these changes are working, I am pretty happy with my overall framework for thinking about these things.

Stay-tuned for more.

The Architecture of Time Travel in a Role-Playing Video Game

One of the things I’ve enjoyed about following along with the progress of Richard Garriott’s Shroud of the Avatar: Forsaken Virtues is the peek I’ve gotten into the process behind the scenes of video game development. The Ultima games were my absolute favorites as a kid, and as a software developer (by profession), I’ve always been curious about how they are made. It’s not so much the three-dimensional environment that interests me, but the game on the macro scale. The interweaving stories, and the various games states, and how it is all managed.

My thoughts had drifted to this while eating dinner this evening, and I began to wonder if time travel had ever been an integral element to the architecture of a game universe. I wondered if it was possible to architect the game model to support time travel as an action in the universe. For instance, a player could cast a spell to go back in time to a certain point. Once at that point, they would see the events of the game unfold, as they actually occurred. But now, there would be two instances of the player in the world. The “past” instance would now be an NPC, with a predefined course of action based on what has already happened. The “current” instance would be played from the player’s perspective.

Beyond the plot aspects, I wonder what the architecture of such a game model would look like. It would grow more complex the longer the game is played. And how would you account for changes in the past. Would a new “game universe” be spawned. Could a player cross universes at that point?

I’m not really going anywhere with these thoughts. But I was mostly curious if anything like this had been implemented in a large-scale RPG before.

I’m on the Functional Nerds podcast today

Last week, I sat down with Patrick Hester and John Anealio, hosts of the Functional Nerds podcast. It was a blast. We talked books, baseball, writing, productivity, and music. If you are interested, have a listen over at the Functional Nerds.

And a big thank you to John and Patrick for having me on the show.