Total Pageviews



The fun thing about being a SOP (Seat Of your Pants) writer is the times when the story takes off on a different track than I anticipated. This usually happens when my characters are engaged in a conversation. While writing one such conversation this morning in Collision Course, the characters made some comments that have added a new layer of interest to the story. I was simply writing down what the characters would naturally say and the result is a new twist to the story. I love it!

If you ever want to learn a difficult subject and you learn best by reading a book, you've got to check out the Missing Manual series. I am nearing the end of Creating a Website the Missing Manual. I've learned plenty from this well-written book. It is now filled with little stickies poking out from the edges of the pages so I can find the good stuff inside when I need it. Even though the chapter on JavaScript is tiny compared to the monster Missing Manual I have on the entire language, I believe I've learned enough to begin to design my science fiction calculator on my website. I can't wait to see how it turns out.

I am on vacation as of today and I will have every morning for the next week to write and work more on my website. There are days when I wish I had a jack built into the back of my skull so I could just upload the knowledge I crave. Often, I need to keep myself from reading too fast because I know that doing so will not help me learn. Until our technology gives us the ability to upload information directly into our brains, I will just have to remind myself that learning takes time.



Just a quick update: I've been reading up on website development and wanted to set up a forum on my new author website. Before trying that, I think I'll figure out how to link this blog with the site and also include all the little tips and tricks I've learned over the years about self-publishing. The website is still in its infancy but more things will be added as time permits so keep checking back.

Some time ago, I switched from doing weekly posts to less than weekly. That will most likely change as I've decided to try to blog more and to blog about what's been going on in my writing and working life. Linking this to my website should also help make the site a place to visit more often.

Finally, the long-term goal of the new website is to build my science-fiction calculator into the site. That's going to take some time but please have a little patience as I do have a full-time job and a book to write.


New Website

My new author website is up and running. Right now, it does pretty much the minimum required for it to be considered a halfway decent website. I'm still working my way through several books on Web-site design (currently reading Creating a Website: The Missing Manual, and CSS: The Missing Manual at the same time). I will most likely be making some minor changes to the new site as I learn more about website design. Once those two books are done, my next major project will be to learn JavaScript.

Learning JavaScript is going to take some time but is a necessary requirement for me to move on to the next phase of my website project--putting my science fiction calculator on the web. Ever since I started writing science fiction, I've relied on an Excel spreadsheet to perform calculations so I can keep the known science real. Some of these calculations can become quite complex and doing them by hand over and over again was simply not an option. I share this spreadsheet with anyone (author or not) who is interested in using it. Once it's on my website, anyone can use it.

When not reading up on website construction or web-based languages, I have been working on my current book. Right now, the word count sits at 35,698 and it's moving along well. I still have no idea how this one is going to end but I do have several possibilities. The story itself will usually point towards a satisfactory ending as I continue to add to it.

If you've been reading my blog or know me personally, you know that I'm a Microsoft Access developer. For the past couple of years, I've had a very stable system of programs that perform my automatic updates. This system needed some changes to make it easier to maintain as well as to improve the response time for changes made in the monitored data sources. Adding new automatic reports was especially difficult. I created a new set of programs using most of the original code and rolled them out last week. Unfortunately, I failed to perform the multi-day testing I said I would.

The code tested fine in development and seemed to run okay in production. I never put a new program into production on a Friday and I'm very lucky I did not. There was a tiny little bug in a single line of code that caused a bit of an embarrassing flurry of emails to upper management. One of my reports is scheduled to run at 0445 in the morning. The report generator used to check for reports to run every 3 minutes. Immediately after midnight, the code noted that the 0445 report had not run for the day. The check to see if it was actually scheduled to run was not correct and the report began sending itself out once every 3 minutes until 0445.

I saw it when I came into work at 0530 and I also stopped another report that would have run until 0600. The bug is one that is known to many programmers and is called a day-crossing error. I failed to test it properly. The corrected version has been running without error for more than a week now and I've also set the timers to check for a new report every 10 minutes instead of every three. The timer logic was copied from the database updater which continues to run every 3 minutes.

Luckily, nobody seemed to be too upset and I sent out an apology later in the day after I gave people enough time to clear out the email storm I caused. I also got a call from corporate IT and had to explain to them what had happened. When you write complex programs like these, errors are bound to happen. The key is to respond to them quickly. The entire system is built to alert me to errors when they happen. I also now ensure I get every single email that is sent out and I get it sent to my home address so I'm always in the loop.

Time to get back to preparing for a family picnic we are hosting.