|
Writing With No End in Sight |
Seacoast History Blog # 89
July 15, 2010
I harbor no dreams of becoming the next Dan Brown or Stephen King. I couldn’t take the pressure. The knowledge that a few million readers are camped outside my gate anxiously awaiting this paragraph would turn me to stone. But I would like to inch my way up a notch or two on Amazon.com sales list before I shuffle off this mortal coil -- which could be pretty soon at the rate I’m going. Tomorrow I expect to turn in the manuscript for my 9th book and begin my tenth. Two more are “in development.” Ten more are pulsing like raptor eggs in plastic file boxes all around me. (Continued below)
To psych myself up to the next level I’ve been listening to an audio CD of Janet Evanovich’s “How I Write.” I had no idea who Janet Evanovich was until Amazon sent me a robot email suggesting I purchase her latest Stephanie Plum thriller for summer reading. No chance.
My summer reading is a stack of 20 books on pirates and privateers, background for a kids’ book I start next week that is due at the publisher in September. This will be my fourth juvenile history title and I love these little things. But I can’t start that one until I get the current one off my plate. If this computer stops crashing, that will happen tomorrow. Oh please Lord, let it be tomorrow.
That book, the one on the tall ship Lynx, is in the final rewrite stage. I “finished” it in May, but then I sent a draft out to half a dozen experts. They very kindly read my manuscript and their feedback arrived in June. For the last two weeks I have been ticking down their corrections, a total of almost 200 suggested changes. I’ve made almost as many tweaks myself in the process.
This last editing phase helps me sound much smarter than I am in the final draft. But it is a tough job. Imagine patching 200 bullet holes in your car with Bondo™, then sanding and repainting the whole damn car. I’ve been at it for two weeks, unpaid, and it is almost like work. And I didn’t get into writing to go to work.
I can’t really focus on Book B until Book A is done. I find it impossible to write nonfiction while deep into an edit job. So to keep myself sane, I think about another book altogether. This is my “secret project”, the book that feeds my imagination and fills my dreams. As a reward for editing the errors in Book A, I fiddle with Book C. I’m now on Chapter 10 on that one. It will likely never see the light of day.
Then, of course, there is Book D. The hardest part of writing nonfiction is lining up the projects so that, as one ends, another begins. As a full time writer at my income level, one can starve to death in the space between jobs. So the writer has to be years ahead in developing the next book, and then the next. When the writer stops moving, like a shark, he dies.
Book D is in the proposal stage, which next to the final editing stage, is the suckiest step in the book writing process. It took me 18-months to massage this idea into a 40-page proposal that includes a complete summary of all the chapters I intend to write – if some publisher wants to hire me. Before writing the proposal, the writer has to know the topic cold, which means months, maybe years of research. Then there are months, maybe a year of waiting to see if anyone takes the bait.
Which is why God invented Book C, I suppose. Not to mention books E through Z. I grow them like seeds in a hothouse. They begin as 3x5 cards, then grow into manila folders, and mature into 3-ring binders. When a book idea begins to sprout, it is transplanted into its own plastic bin. There are stacks of those fetal books here in my office, steaming up from the inside, rattling their cages and begging to be let out into the planet.
What I do, so far, is not bestseller stuff. My topics are too local. My scope is too narrow. But I’m working on it. The fear is that just one of these ideas will grow like Frankenstein. The last thing I want to do with my sunset years is write the same book over and over. That’s the trap of the super successful author.
Janet Evanovich has written 15 (or is it 16) books in the Stephanie Plum bounty hunter series. I read one and enjoyed it. I didn’t read another. Plum is a hardcore New Jersey character, but it appears Evanovich has recently moved her franchise to New Hampshire.
I’m reading her first nonfiction book now on how to write a bestseller. It’s largely stuff cobbled off her web site mixed in with lengthy passages recycled from her Plum books. Very clever, but not very good. It’s the same old stuff Writer’s Digest has been throwing at us authors for decades.
Based on the backlash to her latest Plum novel (from reader feedback on Amazon.com, she seems to be hitting a wall). Not financially, but creatively. Evanovich’s best idea is eating her for breakfast.
Not much chance of that happening here. But then there is always Book C. Any one of my pulsing plastic boxes could enclose a baby Frankenbook. I hope not. But then again, I could use the cash.
Copyright © 2010 by J. Dennis Robinson. All rights reserved.
Joomla! Debug Console
session.client.forwarded ⇒ 10.1.7.109
session.client.browser ⇒ Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
password_clear ⇒
groups ⇒
com_rsfirewall.geoip ⇒
6.18 MB (6,482,104 Bytes)
61 Queries Logged
SELECT `data`
FROM `rabbul_session`
WHERE `session_id` = '3acc6e1baf101fd5df012c82d7b81e79'SELECT `session_id`
FROM `rabbul_session`
WHERE `session_id` = '3acc6e1baf101fd5df012c82d7b81e79'
LIMIT 0, 1INSERT INTO `rabbul_session`
(`session_id`, `client_id`, `time`)
VALUES
('3acc6e1baf101fd5df012c82d7b81e79', 0, '1793752312')SELECT extension_id AS id, element AS "option", params, enabled
FROM rabbul_extensions
WHERE `type` = 'component'
AND `element` = 'com_users'SELECT b.id
FROM rabbul_usergroups AS a
LEFT JOIN rabbul_usergroups AS b
ON b.lft <= a.lft
AND b.rgt >= a.rgt
WHERE a.id = 1SELECT id, rules
FROM `rabbul_viewlevels`SELECT folder AS type, element AS name, params
FROM rabbul_extensions
WHERE enabled >= 1
AND type ='plugin'
AND state >= 0
AND access IN (1,1)
ORDER BY orderingSELECT extension_id AS id, element AS "option", params, enabled
FROM rabbul_extensions
WHERE `type` = 'component'
AND `element` = 'com_languages'SELECT `query`
FROM `rabbul_admintools_wafexceptions`
WHERE (`option` IS NULL OR `option` = '')
AND (`view` IS NULL OR `view` = '')
GROUP BY `query`
ORDER BY `query` ASCSELECT `value`
FROM `rabbul_admintools_storage`
WHERE `key` = 'cparams'SELECT `path`
FROM rabbul_rsfirewall_ignored
WHERE `type`='ignore_folder' OR `type`='ignore_file'SELECT `file`
FROM rabbul_rsfirewall_hashes
WHERE `type`='protect'SELECT *
FROM rabbul_rsfirewall_configurationSHOW FULL COLUMNS
FROM `rabbul_sef_config`SELECT *
FROM rabbul_sef_config
WHERE `id` = '1'SELECT non_sef_url,alias
FROM rabbul_sef_alias
WHERE published='1'
ORDER BY idSELECT m.id, m.menutype, m.title, m.alias, m.note, m.path AS route, m.link, m.type, m.level, m.language,m.browserNav, m.access, m.params, m.home, m.img, m.template_style_id, m.component_id, m.parent_id,e.element as component
FROM rabbul_menu AS m
LEFT JOIN rabbul_extensions AS e
ON m.component_id = e.extension_id
WHERE m.published = 1
AND m.parent_id > 0
AND m.client_id = 0
ORDER BY m.lftSELECT *
FROM rabbul_sef_redirect
WHERE CONVERT(source USING latin1) COLLATE latin1_general_cs = 'writing-with-no-end-in-sight/?print=1&tmpl=component'
AND published='1'
LIMIT 1SELECT id
FROM rabbul_menu
WHERE alias='writing-with-no-end-in-sight'
AND published=1SELECT id
FROM rabbul_categories
WHERE path='writing-with-no-end-in-sight'
AND extension='com_content'SELECT id,catid
FROM rabbul_content
WHERE alias='writing-with-no-end-in-sight'
AND state>0SELECT id,catid
FROM rabbul_content
WHERE alias='writing-with-no-end-in-sight'
AND state>0SELECT id
FROM rabbul_menu
WHERE type='component'
AND published='1'
AND link LIKE 'index.php?option=com_content&view=article%&id=2767'
ORDER BY idSELECT id
FROM rabbul_menu
WHERE type='component'
AND published='1'
AND link LIKE 'index.php?option=com_content&view=categor%&id=258'
ORDER BY idSELECT `id`
FROM `rabbul_usergroups`SELECT parent.id, parent.lft, parent.rgt
FROM rabbul_usergroups AS parent
ORDER BY parent.lftSHOW FULL COLUMNS
FROM `rabbul_assets`SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT b.rules
FROM rabbul_assets AS a
LEFT JOIN rabbul_assets AS b
ON b.lft <= a.lft
AND b.rgt >= a.rgt
WHERE (a.name = '')
GROUP BY b.id, b.rules, b.lft
ORDER BY b.lftSELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT rules
FROM rabbul_assets
WHERE id = '1'SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT u.*
FROM rabbul_user_usergroup_map m
RIGHT JOIN rabbul_users u
ON (u.id=m.user_id)
WHERE m.group_id IN (6,7,8)
GROUP BY u.id
ORDER BY u.username ASCSHOW FULL COLUMNS
FROM `rabbul_rsfirewall_logs`SELECT *
FROM rabbul_rsfirewall_hashes
WHERE (`type`='2.5.28' OR `type`='protect')
AND `flag`!='C'SELECT *
FROM rabbul_rsfirewall_snapshots
WHERE `type`='protect'SELECT `ip`,`reason`
FROM rabbul_rsfirewall_lists
WHERE (`ip`='10.1.7.109' OR `ip` LIKE '%*%')
AND `type`='1'
AND `published`='1'SELECT `ip`,`reason`
FROM rabbul_rsfirewall_lists
WHERE (`ip`='10.1.7.109' OR `ip` LIKE '%*%')
AND `type`='0'
AND `published`='1'SELECT *
FROM rabbul_rsfirewall_exceptions
WHERE `published`='1'SELECT extension_id AS id, element AS "option", params, enabled
FROM rabbul_extensions
WHERE `type` = 'component'
AND `element` = 'com_content'SELECT *
FROM rabbul_languages
WHERE published=1
ORDER BY ordering ASCSELECT id, home, template, s.params
FROM rabbul_template_styles as s
LEFT JOIN rabbul_extensions as e
ON e.element=s.template
AND e.type='template'
AND e.client_id=s.client_id
WHERE s.client_id = 0
AND e.enabled = 1SELECT a.rules
FROM rabbul_assets AS a
WHERE (a.id = 1)
GROUP BY a.id, a.rules, a.lftSELECT b.rules
FROM rabbul_assets AS a
LEFT JOIN rabbul_assets AS b
ON b.lft <= a.lft
AND b.rgt >= a.rgt
WHERE (a.name = 'com_content')
GROUP BY b.id, b.rules, b.lft
ORDER BY b.lftSELECT a.id, a.asset_id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext,
CASE WHEN badcats.id is null THEN a.state ELSE 0 END AS state, a.mask, a.catid, a.created, a.created_by, a.created_by_alias,
CASE WHEN a.modified = 0 THEN a.created ELSE a.modified END as modified, a.modified_by, a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.images, a.urls, a.attribs, a.version, a.parentid, a.ordering, a.metakey, a.metadesc, a.access, a.hits, a.metadata, a.featured, a.language, a.xreference,c.title AS category_title, c.alias AS category_alias, c.access AS category_access,u.name AS author,(
SELECT MAX(contact.id) AS id
FROM rabbul_contact_details AS contact
WHERE contact.published = 1
AND contact.user_id = a.created_by) as contactid,parent.title as parent_title, parent.id as parent_id, parent.path as parent_route, parent.alias as parent_alias,ROUND(v.rating_sum / v.rating_count, 0) AS rating, v.rating_count as rating_count
FROM rabbul_content AS a
LEFT JOIN rabbul_categories AS c
on c.id = a.catid
LEFT JOIN rabbul_users AS u
on u.id = a.created_by
LEFT JOIN rabbul_categories as parent
ON parent.id = c.parent_id
LEFT JOIN rabbul_content_rating AS v
ON a.id = v.content_id
LEFT
OUTER JOIN (SELECT cat.id as id
FROM rabbul_categories AS cat JOIN rabbul_categories AS parent
ON cat.lft BETWEEN parent.lft
AND parent.rgt
WHERE parent.extension = 'com_content'
AND parent.published <= 0
GROUP BY cat.id) AS badcats
ON badcats.id = c.id
WHERE a.id = 2767
AND (a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2026-11-04 00:31:52')
AND (a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2026-11-04 00:31:52')
AND (a.state = 1 OR a.state =2)SELECT c.*,
CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(':', c.id, c.alias) ELSE c.id END as slug
FROM rabbul_categories as c
LEFT JOIN rabbul_categories AS s
ON (s.lft <= c.lft
AND s.rgt >= c.rgt) OR (s.lft > c.lft
AND s.rgt < c.rgt)
LEFT JOIN (SELECT cat.id as id
FROM rabbul_categories AS cat JOIN rabbul_categories AS parent
ON cat.lft BETWEEN parent.lft
AND parent.rgt
WHERE parent.extension = 'com_content'
AND parent.published != 1
GROUP BY cat.id) AS badcats
ON badcats.id = c.id
WHERE (c.extension='com_content' OR c.extension='system')
AND c.access IN (1,1)
AND c.published = 1
AND s.id=258
AND badcats.id is null
GROUP BY c.id, c.asset_id, c.access, c.alias, c.checked_out, c.checked_out_time,
c.created_time, c.created_user_id, c.description, c.extension, c.hits, c.language, c.level,
c.lft, c.metadata, c.metadesc, c.metakey, c.modified_time, c.note, c.params, c.parent_id,
c.path, c.published, c.rgt, c.title, c.modified_user_id
ORDER BY c.lftSELECT a.alias AS article
FROM rabbul_content AS a
WHERE a.id = 2767UPDATE rabbul_content
SET hits = hits + 1
WHERE id = 2767UPDATE `rabbul_session`
SET `data` = '__default|a:9:{s:15:\"session.counter\";i:1;s:19:\"session.timer.start\";i:1793752312;s:18:\"session.timer.last\";i:1793752312;s:17:\"session.timer.now\";i:1793752312;s:24:\"session.client.forwarded\";s:10:\"10.1.7.109\";s:22:\"session.client.browser\";s:103:\"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)\";s:8:\"registry\";O:9:\"JRegistry\":1:{s:7:\"\0*\0data\";O:8:\"stdClass\":0:{}}s:4:\"user\";O:5:\"JUser\":25:{s:9:\"\0*\0isRoot\";b:0;s:2:\"id\";i:0;s:4:\"name\";N;s:8:\"username\";N;s:5:\"email\";N;s:8:\"password\";N;s:14:\"password_clear\";s:0:\"\";s:8:\"usertype\";N;s:5:\"block\";N;s:9:\"sendEmail\";i:0;s:12:\"registerDate\";N;s:13:\"lastvisitDate\";N;s:10:\"activation\";N;s:6:\"params\";N;s:6:\"groups\";a:0:{}s:5:\"guest\";i:1;s:13:\"lastResetTime\";N;s:10:\"resetCount\";N;s:10:\"\0*\0_params\";O:9:\"JRegistry\":1:{s:7:\"\0*\0data\";O:8:\"stdClass\":0:{}}s:14:\"\0*\0_authGroups\";a:1:{i:0;i:1;}s:14:\"\0*\0_authLevels\";a:2:{i:0;i:1;i:1;i:1;}s:15:\"\0*\0_authActions\";N;s:12:\"\0*\0_errorMsg\";N;s:10:\"\0*\0_errors\";a:0:{}s:3:\"aid\";i:0;}s:20:\"com_rsfirewall.geoip\";s:0:\"\";}'
, `time` = '1793752312'
WHERE `session_id` = '3acc6e1baf101fd5df012c82d7b81e79'
40 Query Types Logged, Sorted by Occurrences.
SELECT Tables:
15 × SELECT id
FROM rabbul_assets3 × SELECT extension_id AS id, element AS "option", params, enabled
FROM rabbul_extensions3 × SELECT id
FROM rabbul_menu2 × SELECT id,catid
FROM rabbul_content2 × SELECT b.rules
FROM rabbul_assets AS a
LEFT JOIN rabbul_assets AS b
ON b.lft <= a.lft
AND b.rgt >= a.rgt2 × SELECT `ip`,`reason`
FROM rabbul_rsfirewall_lists1 × SELECT *
FROM rabbul_rsfirewall_hashes1 × SELECT rules
FROM rabbul_assets1 × SELECT *
FROM rabbul_rsfirewall_snapshots1 × SELECT u.*
FROM rabbul_user_usergroup_map m RIGHT JOIN rabbul_users u
ON (u.id=m.user_id)1 × SELECT *
FROM rabbul_rsfirewall_exceptions1 × SELECT c.*,
CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(':', c.id, c.alias) ELSE c.id END as slug
FROM rabbul_categories as c
LEFT JOIN rabbul_categories AS s
ON (s.lft <= c.lft
AND s.rgt >= c.rgt) OR (s.lft > c.lft
AND s.rgt < c.rgt)
LEFT JOIN (SELECT cat.id as id
FROM rabbul_categories AS cat JOIN rabbul_categories AS parent
ON cat.lft BETWEEN parent.lft
AND parent.rgt1 × SELECT a.alias AS article
FROM rabbul_content AS a1 × SELECT a.id, a.asset_id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext,
CASE WHEN badcats.id is null THEN a.state ELSE 0 END AS state, a.mask, a.catid, a.created, a.created_by, a.created_by_alias,
CASE WHEN a.modified = 0 THEN a.created ELSE a.modified END as modified, a.modified_by, a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.images, a.urls, a.attribs, a.version, a.parentid, a.ordering, a.metakey, a.metadesc, a.access, a.hits, a.metadata, a.featured, a.language, a.xreference,c.title AS category_title, c.alias AS category_alias, c.access AS category_access,u.name AS author,( SELECT MAX(contact.id) AS id
FROM rabbul_contact_details AS contact1 × SELECT a.rules
FROM rabbul_assets AS a1 × SELECT *
FROM rabbul_languages1 × SELECT id, home, template, s.params
FROM rabbul_template_styles as s
LEFT JOIN rabbul_extensions as e
ON e.element=s.template
AND e.type='template'
AND e.client_id=s.client_id1 × SELECT parent.id, parent.lft, parent.rgt
FROM rabbul_usergroups AS parent1 × SELECT id
FROM rabbul_categories1 × SELECT `query`
FROM `rabbul_admintools_wafexceptions`1 × SELECT `value`
FROM `rabbul_admintools_storage`1 × SELECT folder AS type, element AS name, params
FROM rabbul_extensions1 × SELECT id, rules
FROM `rabbul_viewlevels1 × SELECT `session_id`
FROM `rabbul_session`1 × SELECT b.id
FROM rabbul_usergroups AS a
LEFT JOIN rabbul_usergroups AS b
ON b.lft <= a.lft
AND b.rgt >= a.rgt1 × SELECT `path`
FROM rabbul_rsfirewall_ignored1 × SELECT `file`
FROM rabbul_rsfirewall_hashes1 × SELECT *
FROM rabbul_sef_redirect1 × SELECT `data`
FROM `rabbul_session`1 × SELECT m.id, m.menutype, m.title, m.alias, m.note, m.path AS route, m.link, m.type, m.level, m.language,m.browserNav, m.access, m.params, m.home, m.img, m.template_style_id, m.component_id, m.parent_id,e.element as component
FROM rabbul_menu AS m
LEFT JOIN rabbul_extensions AS e
ON m.component_id = e.extension_id1 × SELECT non_sef_url,alias
FROM rabbul_sef_alias1 × SELECT *
FROM rabbul_rsfirewall_configuratio1 × SELECT *
FROM rabbul_sef_config1 × SELECT `id`
FROM `rabbul_usergroups
OTHER Tables:
1 × UPDATE rabbul_content
SET hits = hits + 11 × UPDATE `rabbul_session`
SET `data` = '__default|a:9:{s:15:\"session.counter\";i:1;s:19:\"session.timer.start\";i:1793752312;s:18:\"session.timer.last\";i:1793752312;s:17:\"session.timer.now\";i:1793752312;s:24:\"session.client.forwarded\";s:10:\"10.1.7.109\";s:22:\"session.client.browser\";s:103:\"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)\";s:8:\"registry\";O:9:\"JRegistry\":1:{s:7:\"\0*\0data\";O:8:\"stdClass\":0:{}}s:4:\"user\";O:5:\"JUser\":25:{s:9:\"\0*\0isRoot\";b:0;s:2:\"id\";i:0;s:4:\"name\";N;s:8:\"username\";N;s:5:\"email\";N;s:8:\"password\";N;s:14:\"password_clear\";s:0:\"\";s:8:\"usertype\";N;s:5:\"block\";N;s:9:\"sendEmail\";i:0;s:12:\"registerDate\";N;s:13:\"lastvisitDate\";N;s:10:\"activation\";N;s:6:\"params\";N;s:6:\"groups\";a:0:{}s:5:\"guest\";i:1;s:13:\"lastResetTime\";N;s:10:\"resetCount\";N;s:10:\"\0*\0_params\";O:9:\"JRegistry\":1:{s:7:\"\0*\0data\";O:8:\"stdClass\":0:{}}s:14:\"\0*\0_authGroups\";a:1:{i:0;i:1;}s:14:\"\0*\0_authLevels\";a:2:{i:0;i:1;i:1;i:1;}s:15:\"\0*\0_authActions\";N;s:12:\"\0*\0_errorMsg\";N;s:10:\"\0*\0_errors\";a:0:{}s:3:\"aid\";i:0;}s:20:\"com_rsfirewall.geoip\";s:0:\"\";}' , `time` = '1793752312'1 × SHOW FULL COLUMNS
FROM `rabbul_rsfirewall_logs1 × SHOW FULL COLUMNS
FROM `rabbul_assets1 × SHOW FULL COLUMNS
FROM `rabbul_sef_config1 × INSERT INTO `rabbul_session` (`session_id`, `client_id`, `time`)
VALUES ('3acc6e1baf101fd5df012c82d7b81e79', 0, '1793752312'