<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}

h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}

.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}

.tabSelected {color:[[ColorPalette::PrimaryDark]];
	border-left:1px solid [[ColorPalette::TertiaryLight]];
	border-top:1px solid [[ColorPalette::TertiaryLight]];
	border-right:1px solid [[ColorPalette::TertiaryLight]];
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}

#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}

.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
	border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

.wizard .notChanged {background:transparent;}
.wizard .changedLocally {background:#80ff80;}
.wizard .changedServer {background:#8080ff;}
.wizard .changedBoth {background:#ff8080;}
.wizard .notFound {background:#ffff80;}
.wizard .putToServer {background:#ff80ff;}
.wizard .gotFromServer {background:#80ffff;}

#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}

.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}

.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}

.tiddler .defaultCommand {font-weight:bold;}

.shadow .title {color:[[ColorPalette::TertiaryDark]];}

.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}

.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}

.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}

.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}

.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}

.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}

.imageLink, #displayArea .imageLink {background:transparent;}

.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}

.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}

.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}

.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}

.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}
.readOnly {background:[[ColorPalette::TertiaryPale]];}

#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:alpha(opacity=60);}
* html .tiddler {height:1%;}

body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}

h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}

.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}

/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}

#mainMenu .tiddlyLinkExisting,
	#mainMenu .tiddlyLinkNonExisting,
	#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}

.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0; top:0;}

.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}

#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}

#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

.wizard {padding:0.1em 1em 0 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0 0; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0;}
.wizardFooter .status {padding:0 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em;}

#messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em;}
#messageArea a {text-decoration:underline;}

.tiddlerPopupButton {padding:0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}

.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}

.tabset {padding:1em 0 0 0.5em;}
.tab {margin:0 0 0 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}

#contentWrapper {display:block;}
#splashScreen {display:none;}

#displayArea {margin:1em 17em 0 14em;}

.toolbar {text-align:right; font-size:.9em;}

.tiddler {padding:1em 1em 0;}

.missing .viewer,.missing .title {font-style:italic;}

.title {font-size:1.6em; font-weight:bold;}

.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}

.tiddler .button {padding:0.2em 0.4em;}

.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}

.footer {font-size:.9em;}
.footer li {display:inline;}

.annotation {padding:0.5em; margin:0.5em;}

* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0 0.25em; padding:0 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}

.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0 3px 0 3px;}

.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}

.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0; font-size:.9em;}
.editorFooter .button {padding-top:0; padding-bottom:0;}

.fieldsetFix {border:0; padding:0; margin:1px 0px;}

.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}

* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}
#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox where print preview displays the noscript content */
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser

Your username for signing your edits. Write it as a [[WikiWord]] (eg [[JoeBloggs]])

<<option txtUserName>>
<<option chkSaveBackups>> [[SaveBackups]]
<<option chkAutoSave>> [[AutoSave]]
<<option chkRegExpSearch>> [[RegExpSearch]]
<<option chkCaseSensitiveSearch>> [[CaseSensitiveSearch]]
<<option chkAnimate>> [[EnableAnimations]]

Also see [[AdvancedOptions]]
<html><audio controls="controls" src=""></audio></html>

On Tuesday, the rain stopped.

On Wednesday, it started to feel a little hot.

On Thursday, the icecaps were gone.

On Friday, the humidity level was making it difficult to breathe.

On Saturday, the only people alive were underground in pressurized emergency shelters.

On Sunday, the firestorms started.

On Monday ... well. Is it still called Monday, if there was no sapient life left to //call// it Monday? 

Planets are such delicate things. You wouldn’t want there to be an accident, would you? I’m sure we’d //all// regret that. 

Don’t you love learning by example?

This is your last warning.
He inhaled the incense and laid down to die. He could smell the poison in the air, and he knew the end that was coming.

The other prisoners, on the other hand, seemed to harbor no such knowledge. They chattered and talked away as they normally would. He didn't see any reason to tell them that they were better off not breathing. Why spoil their last few, miserable minutes of life? 

One by one, their conversations died out as they suddenly dropped to the ground, convulsing in pain. Cries of the other prisoners rang out, until they, too, had died.

And lastly, it was his turn.

He accepted death. 
"My name is Darrin," he said, trying to sound relaxed and supremely confident despite the circumstances. "And I'm here looking for you." He nodded to Lord Taikahn, who was standing against the door with his arms crossed.
Lord Taikahn's body guard -- the one who hadn't looked like a body guard (because she was a WOMAN and therefore had been able to take him unawares) -- sat on the arm of his chair, draping one of her legs across his own and an arm behind his neck. He pulled his head back as far as it would go as she touched his nose with a slender finger, a smile on her lips as she looked down at him. 
"How do we know you're not an assassin?" she questioned sweetly. 
"An assassin would have killed you," he responded, scowling. 
"Instead of underestimating me?"
He swallowed as he glanced away, feeling a blush creeping up his neck at the prolonged contact. "Yes, ma'am. I'm not used to a woman of your . . . talents."
She smiled wider. "I have many . . . //talents."// She drew his attention back to her by sliding her finger on the other side of his jaw, turning his head towards her. He flushed at the insinuation.
"I -- that's not what I -- you -- " he stammered, then clammed his mouth shut. //You are an evil woman,// he thought. 
"Sasha, let the poor man speak," Lord Taikahn finally said, though it appeared he was holding back a smirk. 
Sasha pouted at Taikahn, running her foot up the side of Darrin's leg, then sighed, detaching herself. Darrin gave a sigh of relief.
<html><audio controls="controls" src=""></audio></html>

"I say," said the elf as he watched the bard topple over, "were you aiming for the target?"
"Oh, I missed," she said with a grimace. "Let me try again . . ."
"That's not allow{{{--}}}"
|''Description:''|Moves the sidebar to the backstage, as suggested at http://www.tiddlywiki.org/wiki/Dev:Backstage#Customization|
|''CodeRepository:''|n/a |
|''Comments:''|Please make comments at http://groups.google.co.uk/group/TiddlyWikiDev |
|''License''|[[BSD License|http://www.opensource.org/licenses/bsd-license.php]] |


if(!version.extensions.BackstageSidebarPlugin) {
version.extensions.BackstageSidebarPlugin = {installed:true};

config.tasks.sidebar = {
	text: "sidebar",
	tooltip: "sidebar options",
	content: "<<tiddler SideBarOptions>><<tiddler SideBarTabs>>"

config.macros.BackstageSidebarPlugin = {

config.macros.BackstageSidebarPlugin.init = function() {
	var tiddler = this.tiddler;

} //# end of 'install only once'


#sidebar {

!(end of Stylesheet)
He ran into an unyielding wall and cursed. Should've stayed home with his porridge. Dang those kids, and their weedkiller!

All he wanted as a nice clean yard, a blue shiny "Best Neighbor" ribbon, and his twice-darned breakfast (he was, briefly, proud of his restraint. Filthy youths could keep their gutter words{{{--}}}he was a gentleman!).&nbsp;

He'd kept it to dirty looks, for a long time. Then he'd shaken his cane once or twice, maybe yelled a few times to get them off his lawn. Nothing more, harmless, surely?
Turns out, everyone had a breaking point.

He strapped the flamethrower to his good hand, and spied his cane lying, abandoned and dirty, with his good eye. Hobbling over, he scooped it up (with a soft "oomph!" for his back) and clutched it firmly.

He could hear them jeering over the wall.

He squinted, he saw the ladder, and the frayed rope. Cursing softly under his breath (nothing your mama'd wash out of your mouth with soap, no, never him), he limped over, ONE two ONE two ONE.

He'd bought a single level house just to save his knees from climbing. With a grimace, he took the first step up.

As the flamethrower peeked over the wall, he heard the jeers turn to screams.

They'd brought it on themselves, they had, those meddling kids. 
Either you tell me what happened, or I break your nose again."
//The nose? Again? What is with these people and breaking noses?// Bernard wondered to himself, wriggling against the ropes holding his hands tied behind the chair. Couldn’t his captors ever think of some more creative torture? Like reading all of Jane Austen’s works aloud? Or maybe tweezing off his eyebrows?
 More importantly, why did every crazy assume that he knew the secrets of the universe? Everyone kept pointing at the burns on his hands like they were some sign that he knew all, but he was just a clumsy fry cook! If he’d known this was going to happen, he would have been a lot more careful with those fries! 
//How are these people finding me in the first place?// He wondered as he watched the latest captor done a pair of brass knuckles. Last week it was the crazy, one-eyed dude that was convinced that he knew where to find the lost city of Atlantis, the week before, a man dressed up like Indian Jones; demanding to know where Pandora’s box was kept. Why anyone would even want to find that thing, Bernard didn’t know and didn’t want to.
“I don’t know what you’re talking about, really, I don’t!” Bernard protested, swallowing hard as the brass-knuckled man clomped across the basement toward him.
“Oh, I believe you do,” the man smiled mirthlessly. “How else did you come by that tattoo, if you were not in the Order?”
“The order of what?” Bernard yelped as the man went to punch him, but pulled back just before.
The man pulled out a mirror from his pocket. 
//Oh gosh, not one of those guys…// Bernard thought, eying the man. His hair //had// looked a bit too perfect, but he’d thought that was just to go with the cliche villain.
The man held it out, showing Bernard the tattoo.
Bernard pulled his head back, his face twisted into a perfect Mordecai expression as he stared at it. Oh, he’d seen it before, but he hated the look of it. It was like a five year old had attacked him with a tattoo gun and neon-blue paint, making a shoddy attempt at a chinese dragon on the side of his neck. //I knew I shouldn’t have gone out drinking with Jeff…// “I don’t know how I got that, I just woke up in an alley with it one morning.”
The man swung and Bernard yelped, tilting back in his chair. Too far. As the chair toppled with Bernard in it, it ‘kicked’ the man square in the crotch with it’s leg. Bernard winced as the chair hit the floor on it’s back, his hands taking the brunt of the fall. The man, grabbing his crotch, stumbled forward, tripping up on the remainder of the rope used to tie Bernard in place, making the man fall forward, hitting his head on the nearby table. He slumped to the floor, out cold.
Bernard blinked. //Now how do I get out of this?//
"Trust me. I'm not insulting you. I'm describing you." She bared a smile at the other assassin as she flung a poison-dipped dagger at him, whose eyes flashed.

To his credit, and possibly better judgement as an assassin, he didn't reply; he simply dodged smoothly out of the way. Ten feet away, the dagger implanted itself in the wall with a thud. The man had knives of own, as Bird would suspect any good assassin would, and returned the fire two-fold. Bird flicked her ladies' fan across her body -- which she had had specially made for this sort of scenario -- and knocked the knives away; they clattered against the ground. 

The man's eyes widened, then narrowed. "Who are you?" he questioned, his voice sounding scratchy, as though he didn't use it a lot. 

Pity, Bird thought. He would have made a nice travelling companion. That is, if you could trust an assassin.

Fanning herself with one hand, she gave a half-cursty with a sly smile. "Bird." Her other hand found a blow gun she kept hidden in her skirts, and she jumped out of the way as he seized the moment of 'distraction' to try and attack her, then whipped the small tube up to her lips and blew. 

He was too slow in dodging right away, and the bullet pierced his upper arm. With a yell, he rushed at her, daggers in hand, but she danced around him mockingly, until he dropped to the ground, the poison rushing through his veins.

"I told you you ought to cover up all your skin," she said as she observed the body on the ground distastefully as she snapped her fan shut.
"Did you get what you wanted?"
"Then let’s get out of here." 
She met him at the bottom of the stairs, giving him a wan smile. 
Brady raised an eyebrow, but didn't comment, simply leading the way down the street that was too fancy for the likes of them, eager to be out of the neighborhood.
He didn't know why they'd come here at all. By the thin line of her mouth, he guessed that she really hadn't received the answer that she'd wanted to hear.
They walked down several blocks, turning into the town square. He frowned, seeing her blank stare as she looked into shop windows they passed, unsure what kind of condolences to offer. "Let's go get an ice cream."
"Sure." She smiled a bit brighter, but icy, sugary goodness wouldn't fix anything.
The bell rang out with cheeriness that seemed wrong and as he ordered for them while she got them a booth, he glanced back at her. She played with the salt shaker, making a little tower out of salt and water, poking at it with a fork. 
Scratching his head, he was distracted from her by the arrival of a strawberry cone and a chocolate-mint. Taking them from the server, he made his way over to her. "Hey, here's yours."
She looked up from her salt tower, eyes rimmed with red and a grin on her face. "Oh, yay!"
Handing over the chocolate-mint ice cream, he plopped down in the seat across from her, the phony leather squeaking under him. He hated when she got like this. This falseness, like he couldn't see through it. Sighing, he turned his attention on his own treat, finding it flavorless on his tongue. 
"What is it?" Kayla leaned on the table, looking at him expectantly.
//Why do you always have to ask?// His mouth screwed up, as though doing so would effectively lock his thoughts away, but her insistent stare was the key and she never failed to use it. "I just don't understand why you torture yourself like this. I don't get the big deal with origins, either. But you knew that."
She pointed at him with her ice cream, a drop of green dripping onto the table. "Don't pretend you never wondered."
"I didn't and I don't. Don't really care." He'd been an orphan, same as her, but it never bothered him much to know what had put him in that place. Raised in the same foster home, he'd watched her relentless hunt for her 'real' family, pouring hours into paperwork and daydreaming about how it should have been. He figured thoughts like those were just trains on the fast track to wreckage.
"Yes, you do. You're just bitter about it." Kayla said, licking the quickly-melting ice cream and wiping up the drip she'd made with a napkin.
"No, I'm not." He shrugged. "What is family anyway? Shared DNA?"
She gave him the eye from under lowered eyebrows. "You //know// it means more than that."
"Yeah, but do you? We've got a pretty good thing here, Kay. Or at least I always thought so, but you're so caught up with finding people that threw you away-"
"They died."
He blinked, cold flushing through his chest.
"That," she said with a toss of her head, indicating the place they'd visited, "was a halfway house. The last known residence of my parents. They were on a bus to a job fair. There was a crash, they didn't make it."
He rubbed the back of his neck, looking away. Silence hung in the air.
"Seems they did the best they could for me. Didn't have enough to raise me, so they gave me up." She smiled, a bit more genuinely than before. "Believe it or not, it helps to know they tried."
He nodded a bit numbly, not wanting to open his mouth and risk tripping over his own tongue again. She boxed him lightly on the arm.
"But I couldn't have asked for a better brother."
He scoffed lightly, the corner of his mouth pulling up. "What will you do now?"
"My parent's had siblings. I got an address from the lady working at the halfway house for one of them. I'll be heading there next, if you want to tag along...?"
He reached across the table, enjoying her squeak of protest as he ruffled her hair. "Count me in."
There was a crack -- and they disappeared, gone, never to return. The mage smiled, dusting his hands off. Then he turned on his heel, his black cloak flairing quite dramatically behind him, and stalked out of the room. 
The other occupants stood, horrified for a moment as they looked to where three peope had been standing not a minute before. Then there was the sound of a throat being cleared and a voice spoke:
"And that, children, is why you run from a black mage." Mage Candor straightened his crimson robes, looking towards his students. "Who can tell me what just happened?"
"Three people just got killed and it was awesome," blurted one student, and the crimson mage scowled. 
"Janos, //never// treat life so flippantly," he chided, and the young, brown-robed mage ducked his head. "Can anyone else tell me what //actually// happened?"
"He made matter disappear," piped Inara, one of the few girls in the room. "All black mages can do it. And it doesn't matter what the target is."
"Very good, Inara. Can anyone tell me how a black mage's magic is different from our own?" 
"Black mages draw from power externally instead of internally like most mages do," Rothan said in his quick, excited manner as he bounced from foot to foot. "They can cast spells much longer than a normal mage. It's also mostly used to destroy."
"Destroy what, Rothan?"
"Anything. It's harder for them to destroy bigger things though. Three people is a lot of matter. Unskilled mages can make black-gravity vortexes appear. That's why there's so few black mages. It's illegal unless the king sanctions it."
"Very good, Rothan."
His children were gone. 

Brennan sighed, finding a chair to sit down on and rub his forehead. What would it be this time? Was it even worth the effort to go find them? 

It had been like this ever since Lilith had died. He would come home to find them absent from the house, and then, later, they'd be dragged back by their ears by one of the watch, with reports of vandalized property, or something else of the like. 

The first few times it had happened, it had nearly given him a heart-attack. No more of his family would die if he had a say in it, but his children seemed determined to do all they could to make a horrifying reality come true. Whatever speeches he could give them obviously wasn't enough, and he was running out of energy to take care of two vagrants that didn't want to be helped. 

The sound of feet on the porch was all the warning Brennan got before the door flew open, and he jumped to his feet as his daughter appeared, breath ragged.

"Dad," Lanni gasped.

"What's the matter?" he questioned, striding to her and looking her over, thoughts of reprimand flying from his head as concern won out. Her hair was a tangled mess, and her face was flushed with exertion. Had she run across the entire city? "Where's your brother?" 

"He was{{{--}}}we were{{{--}}}there are raiders{{{--}}}" she began, words tumbling out of her mouth, her eyes brimming with tears as she gesticulated with her hands. 

"Slow down," Brennan commanded, taking a hold of her shoulders. "Raiders?" They had become a frequent problem. Why hadn't he heard about this yet?

Lanni nodded, taking a deep breath, though her eyes threatened to spring a leak at any moment. "The east side," she said, voice breaking as she continued: "They took Tam."

The father sucked in a breath at this news. "How did they get in the city?" 

"They have a mage," she said, finally bursting into tears and collapsing into him. He held her, mind racing. He would have to leave immediately, first to find the city mage; the only way to fight magic was with magic. 

Another pair of footsteps announced a runner, who appeared in the door a second later. "Sir," he said. "Raiders{{{--}}}"

"On the east side," he finished, giving his daughter one last squeeze. "I'm on my way. Stay here, Lanni," he ordered her. "Do you understand me?" //I don't need to lose two children in one day.//

Lanni nodded, still sobbing, and moved away. The runner had already left, likely to tell other officers of the battle. 

He followed the runner out the door, anxiety built up. Why were the raiders taking hostages? And how did they recruit a mage? What did they plan to do with his son?
Background: #84b284 /*#93c693 #859463 */
Foreground: #000
PrimaryPale: #3cb371
PrimaryLight: #ded4be
PrimaryMid: #000
PrimaryDark: #014 
SecondaryPale: #ffc
SecondaryLight: #7ACC7A
SecondaryMid: #7ACC7A
SecondaryDark: #000
TertiaryPale: #AF96A8
TertiaryLight: #000
TertiaryMid: #000
TertiaryDark: #1F331F
Error: #f88
“Who are you trying to convince, sweetheart? Me, or yourself?"
“Both, of course,” I mutter under my breath, a smirk on my face. How could I have convinced her, without convincing myself at the same time? Though I’m sure our other self would have some long, scientific explanation for how it was possible, but I repressed that side of us. I didn’t want to hear it.
Besides, I really wanted that triple decker ice cream sandwich and I didn’t care if my other personalities were on a diet. It was ice cream!
I smiled at the portly vendor man, who sported a snazzy mario-style mustache, as I reached out and took my -our- order from him. 
“No! We can’t eat that! Think of our waistline!” I said, slapping the ice cream sandwich from my hands. 
We gaped in dismay as it fell with a massive splat on the pavement, splattering our pants. 
We bent over, picking it back up, plucking a bit of gravel from it. “But I want it!” I protest. 
“No! Drop. The. Ice cream!” I shout, one hand forcing the other to let it slip back to the ground. “We’ve already eaten an entire bag of potato chips and that half-pound cheese burger with extra cheese!”
“We make a good point,” whispers our other side, twiddling our thumbs.
“Shut up, you! I’m going to have that icecream!” I scream at us, making a wild dive for what was left of our ice cream sandwich. 
“No!” I scream and we wrestle on the ground for the sandwich, getting soggy graham cracker and three different flavors of ice cream all over our clothes and in our hair. 
“Do you need help, Maam?” the vendor asked, his eyebrows drawn together. 
“You keep out of it! This is between me, myself, and I!”
Summoning up the last bit of my strength and pushing my other selves out of the way, I took a big bite of the smushed ice cream sandwich in our hands. Victory was sweet!
"Either you tell me what happened, or I break your nose again," she threatened as she held up her closed laptop like she was up to bat-- and his face was the baseball. 

"Okay, okay!" he said, covering his nose-- just in case she was actually intending to use that thing again. It seemed as though his nose had only just stopped aching. "Geez, lady. I partitioned your drive while you were asleep."

"You //what?!"//

"I assumed that it was M$ programming that made my face hurt so much," he said, gesturing about. 

"You don't need anything to help you with that," she growled, her arms tensing. "What did you do to my laptop!"

"I installed Linux, okay? It's way better than Windows."

"I //like// Windows!"

"Trust me: it'll be harder for them to track you this way." 

"'Track me?' What the heck?" 

"Well, I, uh-- last time I was here, you see-- "

"I don't //want// to see! Get out of my house!"

"Oh, come on, they could be here any minute-- "

"What the HECK? What do you mean?!"

"Okay, so I may have inadvertently led some M$ lackeys to your house while I was trying to escape again . . . "

"You //WHAT?// Are there like, ninjas on their way to my house right now?! Get out!" she exclaimed, whacking his arm with her laptop.

"Ow! Jeez, lady!" he yelped, backing out of her reach. "You just need to trust-- "

"Like //heck// I'll trust you, creepy stalker dude! I'm going to call the police on your skinny arse!" 

"I'm telling you, they'll come through Windows-- "

Just a moment later, a shattering sound from behind them could be heard. She whirled around to see two people, clad in skin-tight, black clothing, releasing lines from their harnesses, the windows of the living room in pieces around their feet. 

"Targets have been located," one said as he drew out a gun from his side. "Surrender now, or we'll be forced to reboot you. Your open-source coding has grown too strong." 

"The heck?!" she exclaimed. 

"I suggest we run," the creepy-stalker-dude said, snatching her wrist and dodging into the hallway. "I left my M$ anti-malware at home!" 
He was good looking, but annoying. The type that was far more attractive when he kept his mouth shut. She had to push down the urge to look down on him disdainfully as he said something that was probably meant to make her laugh. 

She didn't have time for this. Her eyes narrowed at him. "Thank you, but I really must be going now."

"Ah, what a shame," he responded as she turned. "I would have loved to get to know more about the Lady Shadow."

She paused in her step, turning back to him as he gave a sly grin. "What?" she questioned slowly, and he sauntered a bit closer to her. She stiffened, hand casually going to the knife hidden in a layer of fabric of her skirts, as he leaned close to her ear.

"I know more about you than you know," he said. 

"I don't care to let you live, then," she replied, hand whipping out the knife. He was already jumping back out of reach, however, holding up his hands.

"I have valuable information concerning the Rats," he said, and she raised an eyebrow.

"I finished the last of them off last night," she said, and his face showed surprise. "'Valuable,' indeed." 

"Well, that's not all I know-- "

"I don't have time for this," she hissed, darting forward. He stumbled backwards, not lucky enough to have her miss a second time, and her knife plunged into his stomach.

"That's . . . unfortunate . . ." he wheezed as the life drained out of his body, and he crumpled to the ground.
[[Stories]] [[TiddlerControls]]
"Revenge!" screamed the fairy, eyes wild as the flames that surrounded her. "Pay for your foolishness in underestimating me, you little{{{--}}}"

The screams of the unicorns turned into whinnying laughter. The fairy stared, then yelled furiously, "Shut up! SHUT UP!"

"You idiot." The lead unicorn scoffed, ignoring the flames that licked her flanks. "We're //immune//. We're freaking unicorns. We're so pure and f'ing magical, fire cannot touch us." He grinned, as far as a horse could. "//You// on the other hand ..."

With a sudden shock, the fairy realized her wings were on fire. And it ... burned.
<html><audio controls="controls" src="http://free.mp3songurls.com/1421090.mp3"></audio></html>

There once was a moth, born of death and chaos, risen from the charred remains of his brethren of the night. His name was Flavio.
Black as night, his wings were painted with the blood of his foes. Wherever he went, he turned the evil drug, known as fire, against its creators, burning cities to their foundations. With a flap of his sleep-powdered wings, he cast all who crossed his path into an eternal sleep.

Humans, tormentors of his kind, screamed and fled in terror; none could stand before him-- save one. Armed with a great fire-stick, their foul ‘champion’ came, brandishing that accursed lure. Even Flavio had to fight against the drawing power of its blaze.

Three days they battled, moth and man, trading wing-blasts of poisonous powder with swings of a fire bright as the sun, until with one final blast of his powerful wings, Flavio put out the light and sent the man into his last slumber. Only then did Flavio collapse, never to flap again. And that was the beginning of the Great Moth War.
Franc was rather confused. He was being sat upon by a dragon, but how could that be? Dragons did not exist. At least they weren’t supposed to outside of statues. 
Whose stupid idea was it for him to steal the other wizarding team’s greatest treasure, anyway? Oh, right, hers. 
He glared toward the window where he thought he caught a glimpse of her hair bow as she ducked back out of sight. 
This explained why his teammates had all been snickering to themselves as they sent him off for this task.
“This was not what I agreed to!” he whisper yelled, catching a glimpse of his team mates peeking through the window he’s magicked himself through. The dragon licked the back of his head and he let out a yelp, smelling the chemically, burning smell of his hair being eaten away by its saliva. More laughter.
“You guys are jerks!” Scrabbling with his hands, the gold beneath him gave him no purchase and he stayed just where he was with that scaly hulk on his back, crushing him into its assortment of treasures. Unable to breathe, Franc tried desperately to think of how to get the dragon off of himself and the goblet he was supposed to be getting out from under his ribcage. It was sure to leave a nice bruise in its shape.
The answer to his predicament lay right beneath him. Grabbing a handful of coins, he whispered a levitation enchantment and sent them straight through the window where his friends waited. 
Air he didn’t know he hand left exploded from his lungs as the dragon sprang off of him and after the coins, like a dog after a tennis ball. He could hear their shouts as the dragon took out the wall in its pursuit. 
Getting to his feet, Franc wrinkled his nose in amusement, goblet in hand. “Still funny, now?”
Franc was rather confused. He was being sat upon by a dragon, but how could that be? Dragons did not exist. At least they weren’t supposed to outside of statues. 
Whose stupid idea was it for him to steal the other wizarding team’s greatest treasure, anyway? Oh, right, hers. 
He glared toward the window where he thought he caught a glimpse of her hair bow as she ducked back out of sight. 
This explained why his teammates had all been snickering to themselves as they sent him off for this task.
“This was not what I agreed to!” he whisper yelled, catching a glimpse of his team mates peeking through the window he’s magicked himself through. The dragon licked the back of his head and he let out a yelp, smelling the chemically, burning smell of his hair being eaten away by its saliva. More laughter.
“You guys are jerks!” Scrabbling with his hands, the gold beneath him gave him no purchase and he stayed just where he was with that scaly hulk on his back, crushing him into its assortment of treasures. Unable to breathe, Franc tried desperately to think of how to get the dragon off of himself and the goblet he was supposed to be getting out from under his ribcage. It was sure to leave a nice bruise in its shape.
The answer to his predicament lay right beneath him. Grabbing a handful of coins, he whispered a levitation enchantment and sent them straight through the window where his friends waited. 
Air he didn’t know he hand left exploded from his lungs as the dragon sprang off of him and after the coins, like a dog after a tennis ball. He could hear their shouts as the dragon took out the wall in its pursuit. 
Getting to his feet, Franc wrinkled his nose in amusement, goblet in hand. “Still funny, now?”
It was a dark and stormy night. Okay, it wasn't. It was a bright and sunny morning, but that just doesn't sound the same.
Not when you open your door to find that someone has left their baby in a wicker basket on your doorstep. And an ugly one at that, all green; with ears far to big and eyes that looked like black pingpong balls. No sappy note, not even a shiny pendant that should have suggested at their birth place or kin. No, this wasn’t right at all. Just a tiny, wailing goblin. And by the smell, one in need of a changing. And a bath. 
Picking my nose in confusion, I look every direction, but there isn’t another soul in sight. So I do the only thing that a person could do in this situation. I picked up that basket and was immediately assaulted by the most horrid of caterwauls, as I carry it inside. “Hush yourself, or we’ll be caught,” I growled under my breath, but it kept up it’s howling, making the halls ring with the sound of it.
Tucking the basket under one arm, I run to my room. Fortunately everyone else was asleep, like any proper Troll would be at this hour. But no, not me, I couldn’t for once be average. I had to be one of the ‘weird ones’ with too great a love for sunlight. Someday, I would be nothing more than some human’s hideous lawn art if I kept this up. 
Taking the infant goblin into my sleeping chamber, I wrinkled my nose as I remove its swaddling cloth, grimacing. “And people call us disgusting.”
One clean goblin baby later, now wrapped in the remnants of one of my favorite tunics, I am again beset by thin wailing. Food. It had to be hungry. But what do baby goblin’s eat? Me, I preferred a nice chunk of lodestone when I could get it…. But I had my doubts that would pacify the little sour grape.
Remembering Granna’s milk goat staked out in the main hall, I slip out with a bucket. One black eye, several bruises, and possibly a cracked rib later, I returned with a bucket of milk.
The goblin babe looked up at me innocently as I picked it up from where I’d left him in the middle of my pallet. “You had better be grateful.” He sucked his toes.
Finding out that feeding an infant goblin with a cup was a messy business, with likely more poured onto my lap than in the baby’s mouth, the end result was a //finally// sleeping goblin. Curled up in the crook of my arm, it was almost hard to believe how much noise he’d been making. He looked almost, dare I say it, cute. I snort to myself. //Welcome to the family, Little Grape.//
"You're the best thing in my life and you can't even remember me," he whispered softly, sitting on her bedside and leaning to gently caress her cheek. His ethereal wings cast a soft glow on her face as she slept soundly, unaware of the supernatural presence in her room. 

As he gave a sigh and stood, her eyelids fluttered, and he caught a soft utterance of his name: "Snow." He paused, hope stirring in his chest as he turned to her. But the moment had passed, and her eyes and lips were still once more. 

Could it be that, subconsciously, she still remembered him? If so, the angels' erasing of her mind wasn't as complete as they thought. 

If that was the case, then could being around her trigger her memories? 

"I'll be your guardian angel, then," he promised. "Until you do remember me."
He was good looking, but annoying. The type that was far more attractive when he kept his mouth shut. 

Half-elves are usually like that.

It had taken only a day before Deira started fantasizing about him. Well, not in //that// way. Her daydreams involved knives, usually among his internal organs. Her knives, to be exact. And the organ she favored was his heart.

Mainly because a blade inserted there would be rather ... inconvenient for him. She gritted her teeth, and kept her hands away from her daggers. 

“I was abandoned.” He was saying, in a faraway, reflective voice. “Cast out. Doomed forever to walk alone, barred from the forests of my people.” A poignant pause, rife with wistful memories. “Forever alone.”

//Two days//, Deira thought, staring ahead stiffly. //Just two more days//. Her fingers twitched. She balled her hand into a fist.

“The stars are bright tonight.” He pointed, with one graceful, lithe hand. “//Ealindyr//, the Star of Mourning. So we call it.” He mused in silence for a moment. “Often I have gazed upon it, in agony.”


He turned his soulful, dark eyes to her. Blue, as dark as the night sky.  She moved close to him, noting his lean tallness, his agile movement, the distance from his hand to the longbow on his back.

“Yes?” He asked, his mind clearly on other matters. She was almost close enough to touch him.

She smiled. “See this?”

He looked down at her hand, brows drawn in confusion.

“It’s a knife.” She said softly. “And if you don’t - shut - up ...”

His hand reached for the longbow. Then froze.

A bead of blood appeared under his chin. Deira blinked hard, and forced herself to hold the blade steady.

“I think you get the drift.” 

The rest of the journey passed in silence.
"You look even better up close than you do through my telescope."
What sort of pick up line was that? The half-elf looked up from her tankard of ale at the cthulhu, who was adding his noxious slime to the other likely toxic substances that lined the surface of her table, wondering why she’d ever stepped into this intergalactic slum of a bar. “Not interested. Go try your luck with the sushi chef the next planet over.”
Sadly, he did not pick up the hint, leaning his sea-monstrosity bulk on her table. “I’m not going anywhere, sweetheart.” 
She glared daggers.
The shuffling of many boots told her that she was drawing a crowd. How was it, that in a place over-flowing with aliens, that she still managed to draw a crowd? All she wanted to do on this planet was to study its locals and write up some charts, but no, every sleaze within the galaxy had to take a shot at her.
Whistles applauded her as she stood and picked up her helmet. Then, leaping onto the table and hoping that her boots would not stick to it, she smashed the cthulhu in what she assumed was its face; making her escape as all stood in shock.
Climbing into her pod, she decided that there was nothing worth recording on this planet as she blasted off into space, never to return.
"What's the blinking light mean?"

"It means . . . wait, did you say blinking?" The elf scrambled over to her, plucking the telescope out of her hands and peering through it to see for himself.

"Yeah," she responded, confused by his reaction. "What's it mean?" 

"It means I won't be able to go hang out in that inn tonight like I was planning," the silver-haired creature responded, tucking the telescope away and trotting to the bell that hung from the centre of the tower. Grabbing onto the rope with green, gloved hands, he pulled, and Salina covered her ears as the long, loud clamour of the bell filled the air. 

Malvir rang the bell repeatedly, until the sounds of other bells echoed in the night. He stopped, and turned to Salina. 

"What's going on?" she questioned him, and he gave her a serious look, indicating that whatever was going on was very serious business.

"Tour is over," he said. "We've got to get to safety."

She'd heard that before. What Malvir really meant was, "I've got to get //you// to safety," though she found that menfolk tended to try to make her feel better about keeping them from their duty of fighting on the front lines of the threat, and thus used 'we' instead of 'you.'

"What is it? Who is attacking?" she drilled the elf as he gestured down the ladder.

"My lady, we really don't have time," he said. "We must, as you would say, make haste." 

"Then tell me," she persuaded, refusing to move. 

He shook his head. "It will be easier to explain somewhere safe."

"But—" she began to object, then gave a squeal of protest as he swept her up into his arms. She clung to his neck as he hurried to the ladder, then deposited her.

"Down," he commanded sternly, and, with only a slight pout of the lip, Salina crawled through the opening of the tower and snaked down the ladder. Malvir was a split second behind her, scooping her up once more.

"I daresay!" she exclaimed as her skirts went up in a flurry for a second time and she clung to Malvir's neck again. He carried her like she weighed nothing. "Malvir, I'm not an invalid—" 

He ignored her, instead bending slightly. And suddenly, he was running with her, nimbly leaping over grass, rocks, and tree roots as they delved into the forest. She huddled near his chest to avoid the freezing night winds that blew towards them. 

//What could make an elf so scared?// she wondered to herself, taking a peek up at said elf's face momentarily. It was set; determined. What were they running from?

It was just a few minutes later before they plunged into a cave. Malvir, blessed with night-vision, kept running deeper. Salina clung to him still, scared. She'd never seen an elf run like this before. Well, she'd never seen an elf up quite this close before, she supposed. 

Malvir suddenly slowed, then gently set Salina back on her feet. "Come on," he said, taking her hand, since she couldn't see a blessed thing. "There are stairs here." 

Carefully scooting a booted toe forward, she felt for the first stair. Malvir patiently led her upwards for what seemed three or four flights, and then guided her to a small window, set in the stone face on one side. 

"Are you going to answer my questions now?" Salina questioned with a sigh.

"Look through the window," the elf responded quietly. "Tell me what you see. It was what we were running from."

Obediently, she went to the window, peering into the night. She could barely just make out shapes and figures through treetops—until a flare of yellow lit the scene, and she gasped in fear.

 Stupid human, thought the shirt. Crumpled and pilly, it hung resentfully from its wearer's broad shoulders, unironed. Uncared for. Forgotten.

But all was not yet lost.

The pants had been washed twice in the last month. They were almost angry enough to revolt.

Hat was already an ally, a long sympathiser. Shoes, well, no one could depend on shoes. But they were the support, the base to the entire ensemble.

If pants came on their side ...

The shirt would have smiled cruelly, if it had a mouth. Leave me unironed? it thought spitefully. You'll reap the consequences, human.

You'll regret everything.
"You two kidnapped me and you don't even know who I am?" The woman laughed.

"It was more a spur-of-the-moment thing," one of the men said{{{--}}}the one leaning next to the window with a gun. He was tall and lanky, with long, dark hair pulled back into a tail. His jaw was lined with the stubble of a beard that hadn't seen a shaver in a day or two. His foot twitched nervously as he looked between the woman and the window.

"We don't need to know who you are," the other said{{{--}}}he was standing behind her, by the door. 

"Oh, but I think you do," she said with another laugh. 

"What's that supposed to mean?" the lanky one asked. 

She looked on at him with an amused expression, although she made no move to escape the ropes that kept her bound to the chair. "Tell me, do you know of the sorceress who lives in the area?"

The lanky man's eyes flickered to her, his brow creasing. "The myth?"

She laughed again, which made his foot tapping become erratic. "Sure. Some people think that."

"What do you mean?"

"Shut up," the man by the door growled. "Stop talking to the hostage, Mikey."

"Oh, but you two are so amusing," the woman said, then sobered, although the smile remained on her face. "Let me tell you my name. I am Silvenna Altruus."

Mikey's eyes widened as he connected the dots. "But that's the name . . ."

"Of the sorceress, yes," she said, smiling fully once more. 

Mikey leveled his gun at her, his breath slightly ragged. "You're lyin'!"

Silvenna replied by closing her eyes and calling on her magic, finding the two life sources that stood in the room, other than herself. 

Then she snuffed them out.

Two dull thuds followed, accompanied by a cackling laugh.
Walking through the forest was probably a bad idea. Sadly, the wolves would probably wouldn't be their end.

Dressed all in black, all their food left by the road, running in only the quietest boots{{{--}}}well, it didn't matter. Of course it didn't.

They paused for a breath, silent by some unspoken word. There was a soft rustle to the right.

Jion looked up, rapier half-unsheathed.

The small girl smiled back. "Missed me?"

"You{{{--}}}" Haman released the arrow.

Even as the sleek projectile, powered by every ounce of skill and power the Elf could call up, sped at the girl, she laughed.

When the tip reached her, she shattered, as though made of crockery.

The companions stared.

Jion sniffed. "Do you smell...?"

Tendrils of transparent grey curled up from the ... pieces.

"That looks bad." Haman commented. He notched a second arrow.

And that was when the dragon attacked.
|''Name:''|LoadRemoteFileThroughProxy (previous LoadRemoteFileHijack)|
|''Description:''|When the TiddlyWiki file is located on the web (view over http) the content of [[SiteProxy]] tiddler is added in front of the file url. If [[SiteProxy]] does not exist "/proxy/" is added. |
|''Date:''|mar 17, 2007|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
version.extensions.LoadRemoteFileThroughProxy = {
 major: 1, minor: 1, revision: 0, 
 date: new Date("mar 17, 2007"), 
 source: "http://tiddlywiki.bidix.info/#LoadRemoteFileThroughProxy"};

if (!window.bidix) window.bidix = {}; // bidix namespace
if (!bidix.core) bidix.core = {};

bidix.core.loadRemoteFile = loadRemoteFile;
loadRemoteFile = function(url,callback,params)
 if ((document.location.toString().substr(0,4) == "http") && (url.substr(0,4) == "http")){ 
 url = store.getTiddlerText("SiteProxy", "/proxy/") + url;
 return bidix.core.loadRemoteFile(url,callback,params);
	"Either you tell me what happened, or I break your nose again," she threatened as she held up her closed laptop like she was up to bat. And his face was the baseball. 

	"Okay, okay!" he said, covering his nose-- just in case she was actually intending to use that thing again. It had hurt several months ago, and it seemed as though his nose had only just stopped aching. "Geez, lady. I partitioned your drive while you were asleep."

	"You //what?!"//

	"I assumed that it was M$ programming that made my face hurt so much," he said, gesturing about. 

	"You don't need anything to help you with that," she growled, her arms tensing. "What did you do to my laptop!"

	"I installed Linux, okay? It's way better than Windows."

	"I //like// Windows!"

	"Trust me: it'll be harder for them to track you this way." 

	"'Track me?' What the hell?" 

	"Well, I, uh-- last time I was here, you see-- "

	"I don't //want// to see! Get out of my house!"

	"Oh, come on, they could be here any minute-- "

	"What the HELL? What do you mean?!"

	"Okay, so I may have inadvertently led some M$ lackeys to your house while I was trying to escape again . . . "

	"You //WHAT?// Are there like, ninjas on their way to my house right now?! Get out!" she exclaimed, whacking his arm with her laptop.

	"Ow! Jeez, lady!" he yelped, backing out of her reach. "You just need to trust-- "

	"Like //hell// I'll trust you, creepy stalker dude! I'm going to call the police on your skinny arse!" 

	"I'm telling you, they'll come through Windows-- "

	Just a moment later, a shattering sound from behind them could be heard. She whirled around to see two people clad in skin-tight black clothing releasing lines from their harnesses, the windows of the living room in pieces around their feet. "Targets have been located," one said as he drew out a gun from his side. "Surrender now, or we'll be forced to reboot you. Your open-source coding has grown too strong." 

	"The hell?!" she exclaimed
	"I suggest we run," the creepy-stalker-dude said, snatching her wrist and dodging into the hallway. "I left my M$ anti-malware at home!" 
[[TiddlerControls]] [[Stories]]
One of them craaaazy authors
Walking through the forest was probably a bad idea. But then again, there really were no good ideas, when it came to walking at night. 
In the city, I had to deal with the thugs and pickpockets and dubious street peddlers. In the fields, I was likely to find myself on a leisurely scramble with the panicking flocks of sheep, to avoid being a dragon’s target practice. And don’t get me started on the lake. Sure, those little underwater lights look pretty and peaceful, but underneath the surface, they are sparkling omens of impending doom.
So, here I am, taking a stroll through the Cursed Forest. I admit, it would be easier to hack away the man-eating vines and pygmy griffins, if I’d had the chance to grab my kitchen knife and wooden spoon. But when one is running away from indentured servitude and the excess of dreary chores, one doesn’t have time to worry about these things.
Wait… that’s not a pygm-

|''Author:''|Bauwe Bijl|
|''Date:''|March 15, 2011|
|''License:''|[[BSD License|http://bauwebijl-tiddlywiki.appspot.com/#LegalStatements]]|
|''Comments:''|Please make comments at http://groups.google.nl/group/TiddlyWiki|
|''Description''|a ''~TiddlyWiki'' theme: http://bauwebijl-tiddlywiki.appspot.com/#MineralThemeInfo|

Depends on BackstageSidebarPlugin (optional), SimpleSearchPlugin and TiddlerTweakerPlugin

<div id='header'>
<div id='sidebarSearch'>
<span macro='search'></span>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
<div id='topMenu' refresh='content' tiddler='MainMenu'></div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<span class='title' macro='edit title'></span></div>
<span class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></span></div>
<div macro='annotations'></div><br>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<div class='editor' macro='edit text'></div>
body {
    margin-left: 2px;
    margin-right: 2px;
#backstageArea, #backstageCloak {
    margin-left: -2px;
    margin-right: -2px;
#contentWrapper {
    width: 800px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
#header {
    display: block;
    margin-bottom: 6px;
    margin-top: 6px;
    text-align: left;
#header .tiddlyLinkExisting, #header .tiddlyLinkNonExisting {
    background: none;
#sidebarSearch .txtOptionInput {
    margin-top: 10px;
    float: right;
    width: 11em;
#sidebarSearch .searchButton {
    display: none;
#sidebar {
	display: none;
    display: block;
    height: auto;
    padding-top: 4px;
    padding-bottom: 4px;
    text-align: left;
    text-shadow: none;
#topMenu .tiddlyLink, #topMenu .button, .viewer .button, #topMenu .externalLink, #tiddlerMainMenu .tiddlyLinkExisting, #tiddlerMainMenu .tiddlyLinkNonExisting, #tiddlerMainMenu .externalLink {
#topMenu .tiddlyLink:hover, #topMenu .button:hover, .viewer .button:hover, #topMenu .externalLink:hover, #tiddlerMainMenu .tiddlyLinkExisting:hover, #tiddlerMainMenu .tiddlyLinkNonExisting:hover, #tiddlerMainMenu .externalLink:hover, .popup li a:hover {
#topMenu .tiddlyLink:active, #topMenu .button:active, .viewer .button:active, #topMenu .externalLink:active, #tiddlerMainMenu .tiddlyLinkExisting:active ,#tiddlerMainMenu .tiddlyLinkNonExisting:active, #tiddlerMainMenu .externalLink:active, .popup li a:active {
#searchResults .button {
#searchResults .button:hover {
#searchResults .button:active {
#searchResults {
    text-shadow: none;
    text-align: left;
    display: block;
    margin-bottom: 10px;
.tiddlerTweaker {
    background: [[MineralTheme##StyleWhite]]
    text-shadow: none;
    text-align: left;
#displayArea {
    margin-left: 0px;
    margin-right: 0px;
.toolbar {
    float: right;
.selected .toolbar, .toolbar a:hover {
.annotation {
    margin-bottom: -8px;
.tiddler, .viewer pre {
    display: block;
    margin-bottom: 10px;
    text-align: left;
    text-shadow: none;
.viewer th, .viewer thead td, .twtable th, .twtable thead td {
    text-shadow: none;
.viewer table, table.twtable {
    border: 1px;
.viewer td, .viewer tr, .twtable td, .twtable tr {
    vertical-align: top;
.tabContents {
    background: [[MineralTheme##StyleWhite]]
    text-shadow: none;
    text-align: left;
    margin-bottom: 10px;
.tabUnselected {
    background: [[MineralTheme##StyleGrey]]
.tabSelected {
    background: [[MineralTheme##StyleBlue]]
.tagging, .tagged {
    text-align: left;
    text-shadow: none;
    margin-top: 6px;
    margin-bottom: 10px;
.tagging {
    display: none;
.tagging .button, .tagged .button, .tagging .tiddlyLinkExisting, .tagging .tiddlyLinkNonExisting {
.tagging .button:hover, .tagged .button:hover, .tagging:hover .tiddlyLinkExisting:hover, .tagging .tiddlyLinkNonExisting:hover {
.tagging .button:active, .tagged .button:active, .tagging:active .tiddlyLinkExisting:active, .tagging .tiddlyLinkNonExisting:active {
.tagged li, .tagging li  {
    margin-bottom: 6px;
    margin-top: 2px;
.popup {
    text-align: left;
.popup li a:hover {
    margin-bottom: 4px;
    margin-top: 4px;
.popup li a, .popup li a:visited {
    margin-bottom: 4px;
    margin-top: 4px;
.popup li.disabled {
.tiddler .toolbar .button {
.tiddler .toolbar .button:hover {
.tiddler .toolbar .button:active {
#messageArea {
    display: none;
    text-align: left;
#messageArea a, #messageArea a:hover {
	display: inline-block;
	zoom: 1; /* zoom and *display = ie7 hack for display:inline-block */
	*display: inline;
	vertical-align: baseline;
	margin: 0 2px;
	outline: none;
	cursor: arrow;
	text-align: center;
	text-decoration: none;
	font-size: 11px/100% Arial, Helvetica, sans-serif;
	padding: .2em 1em .275em;
	text-shadow: 0 1px 1px rgba(0,0,0,.3);
	-webkit-border-radius: .5em; 
	-moz-border-radius: .5em;
	border-radius: .5em;
	-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);
	-moz-box-shadow: 0 1px 2px rgba(0,0,0,.2);
	box-shadow: 0 1px 2px rgba(0,0,0,.2);
	color: #606060;
	border: solid 1px #b7b7b7 !important;
	color: #e9e9e9;
	border: solid 1px #555 !important;
	background: #6e6e6e;
	background: -webkit-gradient(linear, left top, left bottom, from(#888), to(#575757));
	background: -moz-linear-gradient(top,  #888,  #575757);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#888888', endColorstr='#575757');
	color: #606060;
	border: solid 1px #b7b7b7 !important;
	color: #e9e9e9;
	border: solid 1px #555 !important;
	background: #6e6e6e;
	background: -webkit-gradient(linear, left top, left bottom, from(#888), to(#575757));
	background: -moz-linear-gradient(top,  #888,  #575757);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#888888', endColorstr='#575757');
	background: #616161;
	background: -webkit-gradient(linear, left top, left bottom, from(#757575), to(#4b4b4b));
	background: -moz-linear-gradient(top,  #757575,  #4b4b4b);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#757575', endColorstr='#4b4b4b');
	color: #afafaf;
	background: -webkit-gradient(linear, left top, left bottom, from(#575757), to(#888));
	background: -moz-linear-gradient(top,  #575757,  #888);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#575757', endColorstr='#888888');
	position: relative;
	top: 1px;
	color: #606060;
	border: solid 1px #b7b7b7 !important;
	background: #fff;
	background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ededed));
	background: -moz-linear-gradient(top,  #fff,  #ededed);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ededed');
	color: #606060;
	border: solid 1px #b7b7b7 !important;
	background: #fff;
	background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ededed));
	background: -moz-linear-gradient(top,  #fff,  #ededed);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ededed');
	color: #606060;
	background: #ededed;
	background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#dcdcdc));
	background: -moz-linear-gradient(top,  #fff,  #dcdcdc);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#dcdcdc');
	color: #999;
	background: -webkit-gradient(linear, left top, left bottom, from(#ededed), to(#fff));
	background: -moz-linear-gradient(top,  #ededed,  #fff);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#ffffff');
	position: relative;
	top: 1px;
	color: #d9eef7;
	border: solid 1px #0076a3 !important;
	background: #0095cd;
	background: -webkit-gradient(linear, left top, left bottom, from(#00adee), to(#0078a5));
	background: -moz-linear-gradient(top,  #00adee,  #0078a5);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#00adee', endColorstr='#0078a5');
	color: #d9eef7;
	border: solid 1px #0076a3 !important;
	background: #0095cd;
	background: -webkit-gradient(linear, left top, left bottom, from(#00adee), to(#0078a5));
	background: -moz-linear-gradient(top,  #00adee,  #0078a5);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#00adee', endColorstr='#0078a5');
	background: #007ead;
	background: -webkit-gradient(linear, left top, left bottom, from(#0095cc), to(#00678e));
	background: -moz-linear-gradient(top,  #0095cc,  #00678e);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#0095cc', endColorstr='#00678e');
	color: #80bed6;
	background: -webkit-gradient(linear, left top, left bottom, from(#0078a5), to(#00adee));
	background: -moz-linear-gradient(top,  #0078a5,  #00adee);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#0078a5', endColorstr='#00adee');
	position: relative;
	top: 1px;
	color: #fae7e9;
	border: solid 1px #b73948 !important;
	background: #da5867;
	background: -webkit-gradient(linear, left top, left bottom, from(#f16c7c), to(#bf404f));
	background: -moz-linear-gradient(top,  #f16c7c,  #bf404f);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#f16c7c', endColorstr='#bf404f');
	color: #fae7e9;
	border: solid 1px #b73948 !important;
	background: #da5867;
	background: -webkit-gradient(linear, left top, left bottom, from(#f16c7c), to(#bf404f));
	background: -moz-linear-gradient(top,  #f16c7c,  #bf404f);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#f16c7c', endColorstr='#bf404f');
	background: #ba4b58;
	background: -webkit-gradient(linear, left top, left bottom, from(#cf5d6a), to(#a53845));
	background: -moz-linear-gradient(top,  #cf5d6a,  #a53845);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#cf5d6a', endColorstr='#a53845');
	color: #dca4ab;
	background: -webkit-gradient(linear, left top, left bottom, from(#bf404f), to(#f16c7c));
	background: -moz-linear-gradient(top,  #bf404f,  #f16c7c);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#bf404f', endColorstr='#f16c7c');
	position: relative;
	top: 1px;
"What's the blinking light for?" the perky girl asked, kicking her green-and-pink-striped stocking feet as she sat on his counter. She'd been there for over an hour after his aunt had left her there in order to some shopping in the city. It was all he could do not to strangle her for her bullet spray of questions and unwanted commentary. Other guards snickered as they passed by the doorway to his guard post. Likely thinking themselves lucky not to be the ones stuck with Tiska. Or their usual amusement at his less-than-intimidating size or the dark blue color of his skin.
//I should be apprenticed to a blacksmith or a tailor, not this,// he thought to himself, refraining from a rude gesture that his little cousin would have certainly tattled about to her mother. Which would have gotten to his mother. He could have been eighty years old and Mom would still have had an ear-tweaking for him. His whole being in the army, practically useless compared to the larger, Fae soldiers that weren't thought too small  to do actual patrols and stand on the front lines by head officers, had been her idea. //Well, at least I'm not going to be the one filled with holes.//
Watching his fellows leave through narrowed eyes, he breathed slowly out through his nose, took his military-issued cap and wiped the sweat off his brow before replacing it.  "It means . . . wait, did you say blinking?"
"Yeah, that's what I said."
He twisted in her seat. Sure enough, there the indicator light was blinking away. An intruder had crossed one of the magical tripwires. He hadn't noticed because of her. Wyvern spit. How long has it been blinking?!
"Why's it doing that? What's it for? Are we going to explode?!" she asked with a bit too much glee, leaning closer with every question and he pushed her away with a hand to her face.
"No, we're not going to explode. I hope...." He stood, tugging on his jacket and started out the door, before turning. He pointed at the floor, his jaw set. "Stay. Here."
With a pouting lip, she crossed her arms, but remained seated on his paperwork on the counter.
"Running scared from goblins smaller than you, now, Bimly?" a soldier jeered as Bimly bolted past to check the tripwire. Bimly tried to ignore the laughter. 
//I'll show you, I'm no coward!// At least, that's what he'd thought, but that was before he found what had crossed the line. Slaw-jawed, his eyes darted from the lion shaking out it's mane, to the goat head helping itself to the contents of one of their store sheds, to the beady-eyed snake head swaying at the end of the monster's tail. He felt his blood freeze as the snake head hissed, disappearing from sight as the beast pulled itself out of the shed and turned. //I take it back...//
He covered his ears at the blend of roar and bleat, adding his scream to the cacophonous mixture. Spinning on his heel, he fled, arms waving in the air to catch the attention of other soldiers. "Manticore!"
Some of the guys cracked up, as if they didn't hear his warning, but that only lasted until the creature saw them. The next moment, they were lunch.
Bimly, glanced behind him and almost lost his lunch at the sight of the gore. It was then that he made a decision. //If I make it out of this, I'm quitting and getting apprenticed to a pastry chef!//
<div class='header' role='banner' >
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> 
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> 
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>

<div id='topMenu' refresh='content' tiddler='MainMenu'></div>

<div id='sidebar'>
<div id='sidebarOptions' role='navigation' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' role='complementary' refresh='content' force='true' tiddler='SideBarTabs'></div>
<div id='displayArea' role='main'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
"But what are they!" she exclaimed as he grabbed her wrist with his red-gantleted hand. 

"I'll explain when we get somewhere safe!" he called back over his shoulder, dragging her behind him. The armored priest shook his mane of red-gold hair as he jerked her down an alley. Decrepit buildings rose up on either side of them, dark hues of brown and greens, plant life present all over crumbling walls.

"This //is// City Snow, isn't it?" she cried as she looked over her own shoulder-- and wished she didn't. There was one of those-- //things// behind them, and it was catching up. With a yelp, she stumbled over her own feet, and the priest skidded to a stop to help her to her feet. She heard him curse-- something she thought she would never hear one of the order do-- as he pushed her behind himself, raising a hand.

"In the name of the flame gods, I banish thee to the nine hells!" he said, and a bright, hot flame shot out of his hand. She covered her mouth as the scent of burning, sickly flesh reached her nose. "Come on," he said, running past her. "The scent will draw others!

He didn't have to tell her twice. She darted after the priestly man as he led her deeply into the city. He finally shoved her inside a building that definitely didn't look worth its salt, and she stumbled inside, finding that the exterior of the building was highly misleading.

She looked around herself and at the elaborate carvings and clothes draped everywhere. "A temple?" she asked, turning around to find the priest locking the door up, and what sounded like blessing it. 

"Yes," he said after a moment, turning with a sigh and leaning against the door. "It's the only safe place left in this city."

"Are-- are you the only one left?" she asked, and he looked at her through dark green eyes. 

"One of the last," he responded with a grimace. "The others are out scavenging." He shook his head again, then strode past her. "You're going to need a weapon."

"But-- I'm a woman!" she exclaimed, following after him.

He glanced back with an eyebrow raise. "Yes. I can see that." Then he strode to a wall on the opposite side of the room, where a few weapons were hung.

"As in 'I don't fight?'" she said with exasperation, throwing her hands up.

He didn't seem to hear her as he grabbed a large battleaxe off the wall. It was the same shiny red his armour was made out of, and looked as though it was fit to chop a horse's head off. "This should do," he said, turning and dropping it into her raised hands. 

She yelped as she nearly fell over at its weight. It didn't //look// that heavy. 

"And some protection would be good," he muttered after glancing to her again. "We don't have any women's armour . . . "

"Perhaps because women don't fight?!" she asked as she managed to hold the battleaxe up and followed after him. 

"Nonsense," he finally replied, waving a hand over his shoulder.

"Who are you?!" she asked.

"Flame Paladin Flavio Bernard, at your service, madam," he said, turning sharply and giving a bow. 

Surprised by his sudden stop, she nearly ran into him, and she accidentally dropped the axe. She yelped as she jumped back, her eyes squeezing shut, but she didn't hear any clanging of metal nor screams of pain from Flavio. She peeked through her eyelids to see the paladin holding the axe up. 

"You dropped this," he told her. "How much weapon experience did you say you have?"
To be written ...

Darkened room, a single desk, a mysterious person in a high-backed leather chair, stroking a small fluffy animal. 

Upon the desk is a single laptop ...

Which the cat immediately sits upon ...

A shivering student stands before the desk.
"What ... what do you want?"

"I haven't done anything?"

"Oh?" The figure suddenly swivels the chair forward. "Is that what you call //this?//" Dramatic gesture at battered laptop under kitten.

The kitten meowed.

The student twitched.

"Shall we boot it up? Shall we look upon the boot screen of ... LINUX -- "

"Fine, fine, I admit it!" The student sighed. "I repartitioned my harddrive!"

Dead silence.

Only the scratching of the kitten's nails penetrate the stillness.

"This will have ... consequences."

UGA: *bursts in door* WHY HELLO I'M TAKING HER TIME TO GO *drags student out*

Mysterious Person: You will regret -- HEY! HEY! WHAT ARE YOU DOING--

M$ Lackey: STOP THEM!

M$ Lackey draws two scimitars and runs forward.


M$ Lackey, almost about to stab the UGA, suddenly freezes. His mouth opens. "Updates required. Updates{{{--}}}"


He falls over, twitching. "Rebooting, Rebooting!"

UGA: lets go before he boots

Student: My laptop!

|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Date:''|Apr 19, 2007|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
version.extensions.PasswordOptionPlugin = {
	major: 1, minor: 0, revision: 2, 
	date: new Date("Apr 19, 2007"),
	source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
	coreVersion: '2.2.0 (Beta 5)'

config.macros.option.passwordCheckboxLabel = "Save this password on this computer";
config.macros.option.passwordInputType = "password"; // password | text
setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");

merge(config.macros.option.types, {
	'pas': {
		elementType: "input",
		valueField: "value",
		eventName: "onkeyup",
		className: "pasOptionInput",
		typeValue: config.macros.option.passwordInputType,
		create: function(place,type,opt,className,desc) {
			// password field
			// checkbox linked with this password "save this password on this computer"
			// text savePasswordCheckboxLabel
		onChange: config.macros.option.genericOnChange

merge(config.optionHandlers['chk'], {
	get: function(name) {
		// is there an option linked with this chk ?
		var opt = name.substr(3);
		if (config.options[opt]) 
		return config.options[name] ? "true" : "false";

merge(config.optionHandlers, {
	'pas': {
 		get: function(name) {
			if (config.options["chk"+name]) {
				return encodeCookie(config.options[name].toString());
			} else {
				return "";
		set: function(name,value) {config.options[name] = decodeCookie(value);}

// need to reload options to load passwordOptions

if (!config.options['pasPassword'])
	config.options['pasPassword'] = '';

		pasPassword: "Test password"
“‘Why’ is never a good question,” the dragon said. “You’ll never get the answer you want to hear.”

The princess rolled her eyes. “That’s probably the stupidest thing I’ve heard.”

~Khazad-Thar the Green snorted, letting out a small puff of flame. “I am wise, child. I know.”

“But how,” demanded Princess Aliene, “are you supposed to //learn// anything without asking why?”

“Well, sometimes the answer{{{--}}}”

“What about flowers, huh? WHY are there always certain multiples of petals? WHY do they reach for the sun? WHY do they need manure to grow?”

“That’s not what I{{{--}}}”

“Why do dragons breathe flames? Why aren’t their throats charred cinders despite it?”


Aliene jumped up. “Look at your wings!” She exclaimed. “Why don’t you fall out of the air whenever you fly? Why can you speak Common?”

“Because magic{{{--}}}”

She shook her head firmly. “Not good enough.”

~Khazad-Thar sighed. “I told you, you won’t like it.”

“Oh yeah? Why does //magic// exist? Why haven’t we blown ourselves up with the energy expenditure if it does exist? Why{{{--}}}”

“WHY{{{--}}}” the dragon said, his voice clear and painfully measured, “are you a Princess?”

Aliene stared. Her mouth opened, “I...”

“Why the hell //aren’t// you a scientist?”
"You of all people know there's nowhere to run." 

The King sighed knowingly, looking over his lovely, perfect kingdom. "But I'd like to try." 

"You have, my lord," Benson replied with a twitch of a smile. "Don't you recall? You nearabout had the programs in knots for trying to leave the palace grounds over and over." He gestured for the king to walk with him down the corridor, which beamed with light that splashed onto marble stone. 

"Ah, yes," he replied dryly. "It drove poor Madeline half-mad."

"She doesn't understand," Benson replied. "Full sentience is not something every one of us achieves."

"And yet there are people from every class that have," the king mused. "But we are unable to break from our given roles." 

"Indeed," Benson said quietly, looking to the windows, a frown creasing his forehead. 

"I'm merely the one the programmers refuse to kill for trying to," the king voiced Benson's thoughts, a bitter tone entering his voice. Benson had replaced the last advisor, Marion, two years ago. "I grow tired of this existence."

"We need a bug," the advisor replied thoughtfully. Reports of the bugs had dwindled over the past few years, with more knights accepting the quest to defeat them. In reality, it was simply the programmers finding inventive ways to work out better ways to control the program. 

"Those are nearly extinct. More are eliminated each day. The palace is the last place you would be able to find one, either way."

"Then what of a quest?" the advisor suggested. "You have the ability to make new quests."

"But what kind of quest? I have tried making a quest to kidnap the king before," the king informed the advisor, who smiled again. 

"Not quite what I meant, King." Benson moved to the closest window, looking down on the training grounds for knights. "Give a quest to one of the Newsies." 

The king joined the advisor, looking down at the younger lads fighting. They couldn't have achieved full sentience yet, too young in their programs. They would obey quests without question. "What kind of quest do you suggest, oh wise advisor?"

"Capture a bug," Benson replied. "But you have to be clever about the phrasing, otherwise the programmers will be suspicious."

The king rubbed his beard thoughtfully, gaze sharpening. Quest rules were special. Things that normally weren't allowed on palace grounds would be. Benson's plan had merit, and it couldn't do harm to try it. 

"What do you suggest?"
"You look even better up close than you do through my telescope."

The student paused, her face turning to one of confusion as she turned back to the young man dressed in black. "Excuse me?" she said, her free hand inching towards her cellphone, in case she needed to dial 911 on the creep. 

"Oh, I've been watching you for a bit now. It's part of the recruiting process. We can't let just anyone join us, after all."

"Pardon me?" she asked, becoming even more confused as the young man waved about.

"Our privacy policies tend to be a bit looser than others; should have read it all the way when you signed up," he said with a shrug.

"I'm afraid I don't have any idea what you're talking about," she said, glancing about. There were plenty of people here if she needed to make a scene.

Oddly enough, he paused, then smiled, tapping his temple. "You're thinking like one of us already. Too many people here. Come with me," he said, turning and waving her forward. 

She peered after him, her hand hesitating on her cellphone in her pocket. 

"Well?" he asked, stopping and turning around, and she started. "Are you coming?"

"Er . . . how do I know I can be safe with you?" she ventured quietly.

"You obviously didn't read the policy, so I don't think you do know," he said. "But you signed it, and now you've met me, so come on." 

Something in his tone, though it was friendly, implied that she had best do what he said. "I . . . see," she said, covering the distance betwixt them, if hesitantly. One hand was in her pocket while the other clutched books.

"And if you're thinking about calling someone with my location, don't even try it," the young man said, noticing her hand in her pocket. "This induction has to be entirely private, so I blocked your phone. Again, we have to be careful in the recruiting policy. You never know when a mole might try to sneak their way in. For the same reason, there are several of our people scattered about campus . . . " he trailed off as he began to lead her away again.

She could feel herself paling slightly as he turned away. Who in the world was he? What was going on? Her steps stuttered as she followed after him. Was he lying about there being people? She probably could find a phone to call from, if she needed . . . and he seemed dangerous. It wasn't better to let him lead her somewhere secluded, where he could-- horror scenes darted through her mind. She wasn't willing to take the chance.

The knowledge flashed through her mind as she darted off to the side, between the library and the math building. 
Another one of them craaaazy authors
It was a dark and stormy night. Okay, it wasn't. It was a bright and sunny morning, but that just doesn't sound the same. I like drama and flare, if you couldn't tell.

But enough with that. Back to the secret agents trying to kill me.

Oh, sorry, did I forget to mention those? Yes. It was quite terrifying. 

My feet pounded against the pavement as the three ninja-assassins attempted to run me down. Sooner or later, one of us were going to run out of breath, and I wasn't sure it was going to be them. 

I had just gotten out of school. College, to be specific. My latest CS class to get even specificer. Is that a word? I'm not sure. I wasn't exactly going to stop to look it up, you see-- assassins //are// very fear-instilling. 

I wasn't sure why they were chasing after me. I had just been going back to my car when suddenly, I //sensed// presences that didn't like me. It was like they could //smell// me.  

You see, I had just gotten this new laptop. It came with Windows8, which I'm sure you're familiar with. Anyways, I didn't buy it to use Windows-- I had bought it more with the intent of completely invalidating my warranty. I downloaded Arch Linux on it while I was //supposed// to be coding during CS, but whatever. The teacher didn't care all that much. 

And then there they were, waiting for me down the hall as soon as I walked out, shouldering my backpack. They paused as they were about to walk down the stairs, and I paused as I caught sight of the very snazzily dressed group. Then they turned, their eyes landing right on me, even amidst the bustle of other students coming out of the classroom.

I froze as they analyzed me. Then, as they took a step forward, one holding a hand to his head, I turned and bolted. I skipped the elevator, opting instead for the stairs-- in case of ninja-assassin attack, do not, I repeat, do not use the elevator. 

It was hard to muscle my way through the students, and a few gave me some belligerent glares, but soon I was darting out of the building and onto the campus outside. I ran for all I was worth-- although it looked a bit awkward, I guess, with my hand in my pocket attempting to get my car keys. Could I make it to the car before they caught up with me?

I wasn't sure. Looking over my shoulder, I could already see them running after me. This wasn't looking good. What did they want me for? 
Sebastian sighed, pulling up his trench coat, which hissed audibly at the rain drops pelting it. //You'd think it was made from the wicked witch of the west//, he thought to himself. 
He rolled his eyes as he trudged through the muddied, cobble-stone streets, trying to drown out the whining of his breeches as mud splattered them. 
Distracted by the happy whistling of his hat, which was clearly daft, to be so joyful on such a dreadful day, his heel caught once again on an uneven cobble stone. His boots let out a shriek. "You've nearly torn off our heel, any more and we shall lose them altogether!" the left berated, while the right made irritating, piteous whimpering. 
Sebastian frowned deeply, his brow furrowing. //This is what I get for crossing a goblin...//
He ran into an unyielding wall and cursed. Where had he put his cane? He recalled leaning it against the nightstand as he laid down to sleep, but that seemed to have proved untrue. 

"Looking for this?" a feminine voice questioned, and he straightened, turning towards the source. His fingers lingered on the wall, an anchor to his position in the room. He now faced the chair that was ten paces from the bed, if travelled at from a forty-five degree angle. Next to that was the table, which had another chair on the exact opposite side. 

"I'm assuming you have my walking stick," he said dryly. "So, yes. Who are you?" He didn't recognize her voice. "Why are you in my home?" 

"You may call me Mary," she responded, and he tilted his head.

"Very well, Mary. You may call me Green," he said, replying in like.

"I have a job for you," she said. "Catch."

Guessing the average speed and trajectory of the cane flying through the air, Green carefully caught it, using it to sweep the ground around him. Any faster or slower, and the cane would have smacked him in the head. "You could have injured me."

"Yes, but you caught it," she responded, sounding slightly smug. 

"What job? I'm not exactly a prime specimen," he pointed out. 

"Which makes you perfect for it," she said. "The king wants you to be an ambassador."

"An ambassador? What brings this sudden burst of charity from our beloved monarch?"

"The elves won't deal with humans on our land, but won't have a human that can see their secrets into their land," she explained with a shrug in her voice. 

"Will I get paid?"

"Of course. A handsome amount." 

"Very well. I accept." 
An element. About me: [[Link1|http://www.webelements.com/silicon/]]  [[Link2|http://en.wikipedia.org/wiki/Silicon]]
You'd think the authors were high, but they're surprisingly clean! Except that one. There's always one.
Cracked Flash Fiction
"There is no use running. There is nowhere to go.” Don paused to allow his statement to sink in. “You might as well sit down and rest. Then we—"
A crunch of crackly leaves outside drew their attention, followed by a deep, wet snuffling at the bole of the tree. The monster was still there. 
“Cats,” Benny chattered angrily, smoothing back his whiskers with jerky movements of his paws and fluffing up his tail brush to it’s largest, probably trying to disguise the patch of fur missing from it. Don sighed inwardly, his bright, beady eye looking up at the proud, young squirrel. 
Benny clearly hadn’t learned his lesson yet as he glared out at the orange-stripped pelt slinking past. But then, squirrels always seemed to take longer to grasp that if you don’t want to be a cat’s lunch, then it’s best to avoid the seed-buffets they put out to capture their feathered friends. Birds, well birds never learned, their brains were too small.
Don, being smaller, older, and wiser, squeezed past his unexpected guest to burrow his way deeper into the tree, out of the reach of the predator growling at his door. Stripped tail twitching, he dug through the leaves to find his acorn store, nibbling off the outer shell. “I’d back away if I were you. Cat’s are unpredictable.”
“Cat’s are stupid,” Benny replied with a sniff and twitch of his whiskers. “And slow. If it weren’t for that dumb, greedy blue jay making me slip off the feeder, I would have had my fill long before the cat showed up.”
A ferocious mrowl at the tree bole made Benny jump, bouncing off the inside walls of the hollow tree as it reached in and swiped about with it’s thorn-sharp claws. 
Don darted forward, sinking his teeth into one of the furred appendages of rodent-death. After all, one couldn’t just simply let monsters come and go at your front door as they pleased. A shrill yowl rose and the cat withdrew its paw from the tree, Don still clinging on. Heart beating like a tiny jackhammer, Don sprang for his den, only to have lashing claws come between him and escape. Bouncing off the cat’s foot and scrambling up the side of the tree, he squeaked, feeling the cat’s hot, decaying breath on his tail.
Up and up he fled, farther into pricklier branches. The flaky bark gave under the cats back feet, making him slip and slow. Shooting up to the topmost branches of the pine, Don shivered in fear as the cat closed in.
“Back off or I’ll bite you again!” Benny chattered, shaking the flimsy branch he perched on. 
The cat let out a screech as Don landed on his head, making a new hole into an already-nicked ear. The cat hissed, slashing at Benny, who sprang off the cat’s head with youthful spryness, leading the monstrous feline on a merry chase around and down the tree. The cat likely thought it far less merry than Benny, half-slipping, half-falling from branch to branch as it pursued him.
Don could feel his heart in his throat as Benny took to the yard with the cat streaking near behind. Just when he thought the pounce was inevitable, a metallic shriek sounded as the back door swung open.
“Get out of here, cat!” the old woman cried, brandishing a bristle broom like a sword too big for her squat, pudgy frame and swatting the orange cat, chasing him clear over the white picket fence. “And you stay out!” she cried, waving her weapon triumphantly, muttering things about rude stray cats chasing her squirrels.
Bounding up to the bottom of Don’s tree, Benny called up with the cheer of a fool. “We sure showed that cat!”
Don shook his head. //Squirrels…// 
!Flash Fiction
Read at your own peril . . .
!!![[Mars]] @MarsEnyalios http://marswrites.blogspot.com/
[[Creepy Stalker Linux Dude]]
[[Paladins and Zombies]]
[[The Little Dragon]] 
[[Sun Rise]]
[[All Women Are Temptresses]]
[[Black Magic]]
[[Importance is a Drag]]
[[Guardian Angel]]
[[The Creature]]
[[Seeing Elves]]
[[Captain of the Watch]]
[[Subject to a King]]
!!![[Rin]] @Julieann_Wright http://jcwritesfiction.blogspot.com/
[[Bernard, Keeper of Secrets]]
[[Crazy for Icecream]]
[[Flavio: Death Moth]]
[[Frank and the Dragon]]
[[Grape and Troll]]
[[Half-elves in Space]]
[[Midnight Escape]]
[[Sebastian's Clothes]]
[[Nom goes the Soldier]]
[[Bittersweet Road]]
!!![[Sie|Si]] @Siliconphospho http://writecodedoscience.blogspot.com/
[[Flames and Fairies]]
[[Partitioning : The Real Story]]
[[Princess and Dragon]]
[[A Lesson]]
[[Iron Your Clothes]]
[[The Job]]
[[Life Sucks]]
[[The Horror in Green]]
[[The Little Elf]]
[[Being Neighborly]]
[[An Archery Competition]] -- [[Si]] and [[Mars]]
[[The Great Escape]] -- Guest Author [[Trevor]]
body {

.title {

.headerShadow {
padding:1em 0 1em 1em; 
left:0px; top:0px;

.headerForeground {
padding:1em 0 1em 1em; 
left:0px; top:0px;

.header {
background-color: #001D0E;

.tiddler {
background-color: #d7b3d7; /* #C1ABA2 #BEBBBE #829C7C */
padding: 1em;
border-top:    3px solid #000;
border-left:   3px solid #000; 
border-bottom: 3px solid #000;
border-right:  3px solid #000; 
margin: 1em -11em 0em 3em; 

h1, h2, h3, h4, h5, h6 {
font-weight: normal;

.siteTitle {
font-family: Serif;
font-size: 30pt;
font-weight: bold;

.siteSubtitle {
font-family: arial;
font-size: 12pt;
font-weight: bold;

.tagged {
display: none;
/* horizontal main menu */

#displayArea { 
margin: 1em 15.5em 0em 1em; 
} /* use the full horizontal width */

#topMenu { 
background:#150006; /* #001D0E */
color: #000; 
padding: 0.2em 0.2em 0.2em 0.5em; 
border-top: 2px solid #A6B885;
border-bottom: 2px solid #A6B885; 

#topMenu br { 
display: none; 

#topMenu .button, #topMenu .tiddlyLink, #topMenu a { 
margin-left: 0.25em; 
margin-right: 0.25em; 
padding-left: 0.5em; 
padding-right: 0.5em; 
color: #3cb371;
font-size: 1.15em; 

#topMenu .button:hover, #topMenu .tiddlyLink:hover { 
background: #000;

.tiddlyLink {

.toolbar {
    float: right;
.selected .toolbar, .toolbar a:hover {
.annotation {
    margin-bottom: -8px;
.viewer th, .viewer thead td, .twtable th, .twtable thead td {
    text-shadow: none;
.viewer table, table.twtable {
    border: 1px;
.viewer td, .viewer tr, .twtable td, .twtable tr {
    vertical-align: top;
.tabUnselected {
    background: [[MineralTheme##StyleGrey]]
.tabSelected {
    background: [[MineralTheme##StyleBlue]]
.popup {
    text-align: left;
.popup li a:hover {
    margin-bottom: 4px;
    margin-top: 4px;
.popup li a, .popup li a:visited {
    margin-bottom: 4px;
    margin-top: 4px;
.popup li.disabled {
.tiddler .toolbar .button {
.tiddler .toolbar .button:hover {
.tiddler .toolbar .button:active {
The sun glittered off the shine cast by the golden dome, and Myra had to shield her eyes as she looked at the top of the dome. She chewed her lip nervously, turning to look at the horizon, where the second moon had just risen. 

//"Offer me your complete surrender by dinoon in three days, queenling, or your city is mine to destroy."// She shuddered as she remembered the blue dragon's words after her mother, Leara, had refused to surrender, and he delivered swift death as punishment. They only had a little time left.

"Everything will go smoothly, my queen." Myra jumped at Terrence's voice as he came up behind her, and she almost looked around for her mother. "He will be pleased." The royal mage looked to the sky as well, his brow creased slightly. Dark bags hung under his eyes, and his normally-meticulously hair was falling out of its braids. She wasn't the only one concerned.

"I hope so," she replied, gathering her skirts and proceeding to walk around the dome, inspecting it for mistakes. Terrence followed. "The treasure?" she asked.

"Hundreds of pounds of gold," he answered. "Along with jewels, paintings, and rare books." 

She winced at the cost to the treasury. But it would be worth it if they could keep Kenoras from making good on his threat. 

"Good." Spotting a barren portion on the dome's wall, she snapped her attention to the worker laying the gold leaf. "You there!" He jumped, pausing and turning to give a hasty bow. "Fill that hole."

He scurried to obey, and she gave a nod, then continued.

"Your mother would be proud," Terrence told her, and she bit her lip at the mention of the late queen. 

"I hope so," she whispered, glancing back to the moon, which speedily rose. //Not much longer . . .// "Everything has to be perfect."

"I understand," the mage responded. 

"What about the spells?" Those needed the most attention. They had to be infallible. "Are they working?" She glanced to the lesser mages still chanting quietly, green glowing around their fingers. 

Terrence paused as he slipped into magic sight, and nodded. "They will be complete. Like I said: he will be pleased."

Myra's lip was growing sore, and slightly swollen, from being gnawed on. "Good." 

Her heart spiked in her chest as a breeze carried the sound of wing beats. Terrence noticed as well, muttering a very un-royal, under-the-breath curse{{{--}}}something that, in any other situation, she would have scolded him for.

"He's early," he hissed, running to make sure the spells were complete.

"Everyone!" Myra yelled, and work paused all around. "Finish what you're doing!" The dome turned into a scrambling beehive as she ran to the edge of the cliff that overlooked the city, squinting at the horizon. She could see the dragon's hulking form gliding through the air, just barely. His size now was deceptive, however; a few moments, and he would be upon them, revealing his beastly magnificence. 

The queen smoothed her skirts down nervously as she composed herself. As he swiftly approached, she could feel fear mixing with hate, and she had to forcibly uncurl fists as he landed in front of her. She had to brace herself, so as not to fall, as the ground shook at his mighty bulk.

"What is this, queenling?" Kenoras asked, his voice booming painfully in the air. The golden dome reflected off his polished scales.

Her voice caught in her throat momentarily, and she gave a deep bow to stall. "O . . . Mighty Dragon," she finally said, her voice quiet. She coughed as the dragon eyed her, and raised her voice, though it still quivered. "O, Mighty Dragon. In . . . commemoration of your rule," she had to refrain from biting her tongue in hate, "we have built this shrine to your majesty, and we think it . . . we //hope// it fitting of your power." 

Kenoras snorted, although she might have detected a glimmer of satisfaction in his body language. "We shall see." 

His tail flickered, and he slithered forward past her, circling the dome, each step sending rumbles through the earth. The servants and mages stood off to the side, bowing as Kenoras passed. 

Myra wrung her hands, giving her lip a break, as she watched the dragon pace around their hasty creation, anxiety clawing at her stomach. He had to like it. He had to. //Please,// she prayed to the gods. //Please.//

Kenoras eventually came back around the giant structure, and peered inside, his tongue flickering. "Your mages do protection spells well, queenling," he rumbled, then slithered inside. 

The queen, the mages, and the servants, all stood stock still, breaths nearly completely withheld as they waited.

Eventually, Kenoras turned, and his head could be seen as he began to return. "It is fittin{{{--}}}" he began, but was cut short as his head rammed into an invisible wall. "What?" he roared. There was a momentary pause as it seemed he was trying to use magic to escape{{{--}}}Myra smiled grimly as a look of utter rage overcame the dragon, and she straightened regally, staring coldly at the monster that took her mother. 

Kenoras spewed flame at the wall, but it was unaffected. "What have you done?!" 

"Won," Myra responded simply, her words drowned in the cheers of her subjects. 
"Lana, Lana! Come see, come see!" the toddler exclaimed excitedly as she shook her older sister awake.

Lana groaned. "It's got to be like six in the morning, Shirly," she protested, rubbing at her eyes. The toddler would have none of it, however, jumping up and down excitedly.

"There's something in the sky!" she said. "It's all yellow-ee!" 

//What?// Lana wondered, squinting at the toddler. "Okay, okay, I'm coming," she relented as the toddler tugged at her pajama sleeve some more. She yawned, sitting up and pushing her blankets to the bottom of her cot, getting to her feet. Shirly ran out the door, and Lana shuffled after her, stretching. 

As she pushed her way out her own door, she paused as something was bothering her. She couldn't quite put her finger on it. She shook her head, continuing out into the main room.

"Come //on,// Lana!" Shirly said, waving and gesturing towards the door.

"Hold your horses," Lana said with an eye roll, then froze as she went to light one of the oil lamps -- then froze as she realized she could see clearly. She turned, noticing light was streaming in through the curtains, and there was light spilling in through the doorway. //What?//

She caught up to her younger sister, who had ran outside, and shielded her eyes as she looked around, awed.

It wasn't raining. 

She looked up to the sky, and all shades of the rainbow were present as her eyes settled on what was casting so much light. 

//The sun,// she realized, though she had never seen it for herself. She had never begun to imagine that she would see it. 

She stepped off the porch, onto the muddy ground, at a loss for words as she watched the sun rise. 
He was crouched in the glass case, emotions fighting between fury and fear. The child crouched on the other side of the glass, curious hands and face pressed up against it. 

"Hello," she said. 

The creature was unsure what to make of the small human. This was different from the other two. 

"What are you?" the little girl asked curiously, eyes wide as she stared at him. 

The innocence of a child could be found in more than one race, then. She conveyed no fear or hate of him, only plain cuiosity. 

"Why are you in there?" She stood on her tip-toes, as though straining to see past him. "Do you want out?"

This piqued his interest. If a child facilitated his escape, so be it. "Can . . ." his tongue and throat struggled with their coarse language, "you do that?" 

She nodded emphatically, puffing out her chest. "I know where daddy keeps his keys! Hold on." She bounced off, blue skirt bouncing around her ankles. 

He stood, stepping to the glass wall and placed his own palms against it, unsure how to take the child's willingness to help. She was human, and humans were evil. But here she was, helping him without a second thought. 

It was shortly after that she came darting back out, a key clutched in her hand. "Here it is!" She ran around the cage that kept him captive, searching for the lock.

"Are you going to get in trouble for this?" he found himself asking, and he cursed himself. It didn't matter. She didn't matter. All that mattered was escape. 

"Probably," she replied with a devious smile. "Daddy doesn't like it when I get his keys." She was inserting the key in the lock. In just a moment, he would be free. 

"Madeline!" the creature heard her father roar, and the little girl froze, caught in the act. Swift strides brought the adult human into sight, fury etched in every feature. He quickly scooped the little girl up, sending a murderous glare to the creature. 

"Daddy," she complained, pouting.

"You bastard," the father shot at the creature. "Corrupting an innocent child."

The creature sighed, moving back to the middle of the cell. 

He had been so close. 
"You of all people know there's nowhere to run." Hannah sat with her chin on her knees. He was going to try to find a way out of this, she knew that.  He always tried to find a way out.  
"What if we break up?"  He asked, glancing out the window. "You run out the back way, and I'll take the front.  They can't possibly catch us both."
"But that's just it." Hannah muttered darkly, "There is no ending where we both get away unharmed." Peter pulled Hannah to her feet.  
"On my count, you run out the back door, and don't stop until you no longer see this village, or anyone. Understand?"  Hannah nodded numbly.  This was the end.  It was all going to be over soon. 
"Three....Two.....One.....NOW!"  Peter pushed her towards the back door, then sprinted out the front door.  He could hear their deep growls before he saw them. His heart pounding as he raced around buildings and jumped over dead logs in his way.  The road lay ahead, but he knew the forest would be his best route.  Turning sharply, Peter could almost see his pursuers, before disappearing into the thick trees before him. 
The growls did not cease upon entering the forest.  They only became more agitated.  "You cannot run from us forever, boy!"  The leader hissed, nearer to Peter than the latter would have liked.  Skirting around another pine, Peter lost his footing, and fell....down, down, down.....His head spun from being propelled through the air, but the end of the pit never came...Perhaps there was somewhere to run after all.
"You of all people know there's nowhere to go."

She shrank against the wall, fingers frantically scrabbling over the metallic surface. It was dark, with only a few, flickering bulbs far away and out of reach. She couldn't see. She couldn't //think//.

"Don't be stupid."

Sliding, sliding along the cold expanse, fingertips freezing, searching for that tiny groove, a screw out of place. How had it come to this? Herself, alone, weaponless, stupid. She was supposed to be intelligent. She should have been able to //think// her way out. That was how her ancestors differentiated from monkeys, right? 

"You've had your run. Give up, like the rest."

Tears in her eyes, blinding her further. She could hear //something//, moving, slowly. //Crunch//. //Crunch//. //Crunch//. Like a boulder, or a robot. Inexorable, slow, quiet. But mindless?
Not now.

She bit her tounge in pain, trying not to yelp, as her fingernail caught and tore. Agony racing up her finger, her hand ... no, she had to think! Crading her hand near, she huddled closer to the wall, eyes wide, trying to see.

A faint shadow{{{--}}}was it? Or was she dreaming? With her other hand, she delicately dragged her fingers over the spot. Was it{{{--}}}yes! Yes, a slight edge, a jagged join, that had cut her. And that meant{{{--}}}

"Hiding like a mouse, little one?" The grating, jarring computerized voice. Like an answering machine but terrifying, deadly in the darkness. "Get over here and lie down. We've had enough."
No. //No//. She caught the edge, barely, and //pulled//.

For one, glorious moment, she felt it give.

Then light, suddenly, poured from the heavens. She cried out and fell back, covering her eyes. Blinding, burning! She hadn't seen so much light in days, weeks. No, she had to, //had// to, open the hatchet ...

With eyes slitted she saw it. She froze. Her gorge rose, her muscles clenched, she gasped for breath.

Slow, rolling, with a tiny circuitboard on wheels following on a lead, like a child's toy.

Green. Gigantic. And, somehow, sentient.

They had done this.

"It's the end, little human." The cabbage said, slowly, in the Verizon woman's chirpy, computerized voice. The circuitboard flashed. Red, red, green.

"You should never have made us GMO."
After two hours, she knew he wouldn't be coming.

Just as well.

Unhooking the grappling iron from her waist, she threw it over the stone wall, watching for sentries.

They'd planned the job weeks ago. They'd been compiling information for months.

So he thought selling her out would be more profitable than finishing the job?

She smiled.

"No one ever betrays me." She'd told him, laughing, ages ago. "I'm always a step ahead." He'd grinned and laughed, but she'd been dead serious.

She pulled herself up the rope, hand over hand, her smile slowly widening as she neared the top.

What was the use of bounty pay if you were at the bottom of the river?

He'd better enjoy fresh air while it lasted. She vaulted over the wall, and began to creep toward the High Tower.

Somewhere, far away, she heard a faint, familiar scream.

No reason to split the haul anymore.
Francisco was rather confused. He was being sat upon by a dragon. However, dragons did not exist. 

"How-- what-- " he asked at the small creature curled on his chest. He cast about for something to help him remove the being, but found nothing. 

The dragon seemed unaware of his predicament-- it continued to sleep peacefully, little puffs of smoke pluming from its nostrils at each breath. Its tail draped over his right arm, waving back and forth slightly, like a cat. 

Francisco took a calming breath, then carefully manuevered his hands to pick it up. He took another breath as his hands hovered over it, and then he slowly, carefully, so as not to wake it, slid his hands beneath it. Then, he attempted to move it off of his person.

"Ow!" he exclaimed as sudden pain in his right hand flared-- it had bitten him! Francisco shook his hand as he shot into a sitting position, looking for the little beast. It had also fled, it appeared, and now it could be hiding any number of places in his room. 

Or maybe it wasn't even in his room. Maybe it had somehow gone out the door, or the window, or he was just hallucinating. 

But one didn't hallucinate //pain.// Gathering one of his blankets in his hands and forming a rudimentary net, he carefully bent over to check beneath his bed. 

He yelped as the tiny creature jumped out at his face, wings flaring, and jerked upward, tossing the blanket down onto it. Then, seeing its flailing form beneath it, he quickly got off his bed, pouncing on the blanket and encasing the dragon in it. "Gotcha!" 

The tiny being writhed in protest at Franscisco's hands, and he carefully pinned it between his arm and side, so he could unwrap the blanket from its head. Too late-- smoke rose from the blanket as the little dragon spewed a stream of flame at it. 

"Ack!" Franscisco exclaimed as he dropped the blanket, then darted for a cup of water on his nightstand, splashing it onto the blanket. The fire went out with a sizzle, and a coughing sound could be heard. He swiped up the wriggling form again as a paw got loose, bundling the blanket up again. 

"None of that!" he said, swiftly securing the dragon's mouth shut with his hand. 

It gave a squeal of protest, trying to back out of his hand, but Fransisco kept it firmly clamped around the dragon's mouth. 

"Behave," Fransisco warned. "I don't want to have to show you to my parents."

Surprisingly, the little dragon seemed as though it understood, giving a huff and settling down. 

"Good," he said.

//-Put me down.//

Fransisco dropped the dragon with a surprised, "Gah!"
He was crouched in the glass case, eyes fighting between fear and fury.

"I am the night!"

Tittering laughter.

Tears welled in his eyes. Dammit, why had this happened to him?

"You'll regret this, one day." He whispered.

A large finger, clumsily prodding at the case. As big as his body. He fell back and collapsed, as the case shook violently.

"Mama! Make it angst, Mama!"

"Hush, baby, it's //sleeping//. We'll come back later, okay?"

 Trundling away, thick, ungainly bodies shaking the earth with each step. Where was the grace, the beauty, of the land from whence he came?

He pushed himself to his knees, wincing as the haystalks stabbed at him. In the corner, a grey bowl, made of some unnatural material. A woody cave in the other corner, with more stick-like material haphazardly thrown over the top. A faint whirring from the fan that made a half-hearted breeze.

"You will REGRET!" He shouted, voice thin and reedy after so many days of that nauseating pellet s**t. As if they could even call it food. "Vengeance! The vengeance of my people{{{--}}}"

Booming laughter, making the case shiver. 

Who were these massive animals, barely sentient, and disgustingly graceless? How had they caught //him//, a prince of the forest, a warrior of his people? Shame drowned him, misery suffocated him, but he could not end his existence.

A warrior fought. A warrior //survived//. He would be true to his people.

It would begin with finding out the meaning of angst.
Sign your edits! <<option txtUserName>>
<<tiddler TspotControls>>
Mars once had a crush on this author, until it was discovered Trevor is not actually a man. 
Description: Contains the stuff you need to use Tiddlyspot
Note, you also need UploadPlugin, PasswordOptionPlugin and LoadRemoteFileThroughProxy
from http://tiddlywiki.bidix.info for a complete working Tiddlyspot site.

// edit this if you are migrating sites or retrofitting an existing TW
config.tiddlyspotSiteId = 'crackedflashfiction';

// make it so you can by default see edit controls via http
config.options.chkHttpReadOnly = false;
window.readOnly = false; // make sure of it (for tw 2.2)
window.showBackstage = true; // show backstage too

// disable autosave in d3
if (window.location.protocol != "file:")
	config.options.chkGTDLazyAutoSave = false;

// tweak shadow tiddlers to add upload button, password entry box etc
with (config.shadowTiddlers) {
	SiteUrl = 'http://'+config.tiddlyspotSiteId+'.tiddlyspot.com';
	SideBarOptions = SideBarOptions.replace(/(<<saveChanges>>)/,"$1<<tiddler TspotSidebar>>");
	OptionsPanel = OptionsPanel.replace(/^/,"<<tiddler TspotOptions>>");
	DefaultTiddlers = DefaultTiddlers.replace(/^/,"[[WelcomeToTiddlyspot]] ");
	MainMenu = MainMenu.replace(/^/,"[[WelcomeToTiddlyspot]] ");

// create some shadow tiddler content

 "| tiddlyspot password:|<<option pasUploadPassword>>|",
 "| site management:|<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">>//(requires tiddlyspot password)//<br>[[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]], [[download (go offline)|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download]]|",
 "| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[blog|http://tiddlyspot.blogspot.com/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|"

 "tiddlyspot password:",
 "<<option pasUploadPassword>>",

 "<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">><html><a href='http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download' class='button'>download</a></html>"

 "This document is a ~TiddlyWiki from tiddlyspot.com.  A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.",
 "@@font-weight:bold;font-size:1.3em;color:#444; //What now?// &nbsp;&nbsp;@@ Before you can save any changes, you need to enter your password in the form below.  Then configure privacy and other site settings at your [[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]] (your control panel username is //" + config.tiddlyspotSiteId + "//).",
 "<<tiddler TspotControls>>",
 "See also GettingStarted.",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working online// &nbsp;&nbsp;@@ You can edit this ~TiddlyWiki right now, and save your changes using the \"save to web\" button in the column on the right.",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// &nbsp;&nbsp;@@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick.  You can make changes and save them locally without being connected to the Internet.  When you're ready to sync up again, just click \"upload\" and your ~TiddlyWiki will be saved back to tiddlyspot.com.",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Help!// &nbsp;&nbsp;@@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]].  Also visit [[TiddlyWiki.org|http://tiddlywiki.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help.  If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// &nbsp;&nbsp;@@ We hope you like using your tiddlyspot.com site.  Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions."

| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 19/05/2015 11:03:35 | Mars | [[/|http://crackedflashfiction.tiddlyspot.com/]] | [[store.cgi|http://crackedflashfiction.tiddlyspot.com/store.cgi]] | . | [[index.html | http://crackedflashfiction.tiddlyspot.com/index.html]] | . |
| 03/06/2015 16:24:17 | Mars | [[/|http://crackedflashfiction.tiddlyspot.com/]] | [[store.cgi|http://crackedflashfiction.tiddlyspot.com/store.cgi]] | . | [[index.html | http://crackedflashfiction.tiddlyspot.com/index.html]] | . | ok |
| 03/06/2015 22:01:43 | Mars | [[/|http://crackedflashfiction.tiddlyspot.com/]] | [[store.cgi|http://crackedflashfiction.tiddlyspot.com/store.cgi]] | . | [[index.html | http://crackedflashfiction.tiddlyspot.com/index.html]] | . |
| 09/06/2015 16:36:38 | Mars | [[/|http://crackedflashfiction.tiddlyspot.com/]] | [[store.cgi|http://crackedflashfiction.tiddlyspot.com/store.cgi]] | . | [[index.html | http://crackedflashfiction.tiddlyspot.com/index.html]] | . | failed |
| 09/06/2015 16:36:58 | Mars | [[/|http://crackedflashfiction.tiddlyspot.com/]] | [[store.cgi|http://crackedflashfiction.tiddlyspot.com/store.cgi]] | . | [[index.html | http://crackedflashfiction.tiddlyspot.com/index.html]] | . |
| 22/06/2015 09:59:22 | Mars | [[/|http://crackedflashfiction.tiddlyspot.com/]] | [[store.cgi|http://crackedflashfiction.tiddlyspot.com/store.cgi]] | . | [[index.html | http://crackedflashfiction.tiddlyspot.com/index.html]] | . | ok |
| 22/06/2015 10:01:10 | Mars | [[/|http://crackedflashfiction.tiddlyspot.com/]] | [[store.cgi|http://crackedflashfiction.tiddlyspot.com/store.cgi]] | . | [[index.html | http://crackedflashfiction.tiddlyspot.com/index.html]] | . |
| 16/09/2021 06:45:31 | Mars | [[/|http://crackedflashfiction.tiddlyspot.com/]] | [[store.cgi|http://crackedflashfiction.tiddlyspot.com/store.cgi]] | . | [[index.html | http://crackedflashfiction.tiddlyspot.com/index.html]] | . | failed |
| 16/09/2021 06:45:45 | Mars | [[/|http://crackedflashfiction.tiddlyspot.com/]] | [[store.cgi|http://crackedflashfiction.tiddlyspot.com/store.cgi]] | . | [[index.html | http://crackedflashfiction.tiddlyspot.com/index.html]] | . | failed |
| 16/09/2021 06:46:02 | Mars | [[/|http://crackedflashfiction.tiddlyspot.com/]] | [[store.cgi|http://crackedflashfiction.tiddlyspot.com/store.cgi]] | . | [[index.html | http://crackedflashfiction.tiddlyspot.com/index.html]] | . |
|''Description:''|Save to web a TiddlyWiki|
|''Date:''|Feb 24, 2008|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
version.extensions.UploadPlugin = {
	major: 4, minor: 1, revision: 3,
	date: new Date("Feb 24, 2008"),
	source: 'http://tiddlywiki.bidix.info/#UploadPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	coreVersion: '2.2.0'

// Environment

if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false;	// true to activate both in Plugin and UploadService
// Upload Macro

config.macros.upload = {
// default values
	defaultBackupDir: '',	//no backup
	defaultStoreScript: "store.php",
	defaultToFilename: "index.html",
	defaultUploadDir: ".",
	authenticateUser: true	// UploadService Authenticate User
config.macros.upload.label = {
	promptOption: "Save and Upload this TiddlyWiki with UploadOptions",
	promptParamMacro: "Save and Upload this TiddlyWiki in %0",
	saveLabel: "save to web", 
	saveToDisk: "save to disk",
	uploadLabel: "upload"	

config.macros.upload.messages = {
	noStoreUrl: "No store URL in parmeters or options",
	usernameOrPasswordMissing: "Username or password missing"

config.macros.upload.handler = function(place,macroName,params) {
	if (readOnly)
	var label;
	if (document.location.toString().substr(0,4) == "http") 
		label = this.label.saveLabel;
		label = this.label.uploadLabel;
	var prompt;
	if (params[0]) {
		prompt = this.label.promptParamMacro.toString().format([this.destFile(params[0], 
			(params[1] ? params[1]:bidix.basename(window.location.toString())), params[3])]);
	} else {
		prompt = this.label.promptOption;
	createTiddlyButton(place, label, prompt, function() {config.macros.upload.action(params);}, null, null, this.accessKey);

config.macros.upload.action = function(params)
		// for missing macro parameter set value from options
		if (!params) params = {};
		var storeUrl = params[0] ? params[0] : config.options.txtUploadStoreUrl;
		var toFilename = params[1] ? params[1] : config.options.txtUploadFilename;
		var backupDir = params[2] ? params[2] : config.options.txtUploadBackupDir;
		var uploadDir = params[3] ? params[3] : config.options.txtUploadDir;
		var username = params[4] ? params[4] : config.options.txtUploadUserName;
		var password = config.options.pasUploadPassword; // for security reason no password as macro parameter	
		// for still missing parameter set default value
		if ((!storeUrl) && (document.location.toString().substr(0,4) == "http")) 
			storeUrl = bidix.dirname(document.location.toString())+'/'+config.macros.upload.defaultStoreScript;
		if (storeUrl.substr(0,4) != "http")
			storeUrl = bidix.dirname(document.location.toString()) +'/'+ storeUrl;
		if (!toFilename)
			toFilename = bidix.basename(window.location.toString());
		if (!toFilename)
			toFilename = config.macros.upload.defaultToFilename;
		if (!uploadDir)
			uploadDir = config.macros.upload.defaultUploadDir;
		if (!backupDir)
			backupDir = config.macros.upload.defaultBackupDir;
		// report error if still missing
		if (!storeUrl) {
			return false;
		if (config.macros.upload.authenticateUser && (!username || !password)) {
			return false;
		bidix.upload.uploadChanges(false,null,storeUrl, toFilename, uploadDir, backupDir, username, password); 
		return false; 

config.macros.upload.destFile = function(storeUrl, toFilename, uploadDir) 
	if (!storeUrl)
		return null;
		var dest = bidix.dirname(storeUrl);
		if (uploadDir && uploadDir != '.')
			dest = dest + '/' + uploadDir;
		dest = dest + '/' + toFilename;
	return dest;

// uploadOptions Macro

config.macros.uploadOptions = {
	handler: function(place,macroName,params) {
		var wizard = new Wizard();
		var markList = wizard.getElement("markList");
		var listWrapper = document.createElement("div");
		var uploadCaption;
		if (document.location.toString().substr(0,4) == "http") 
			uploadCaption = config.macros.upload.label.saveLabel;
			uploadCaption = config.macros.upload.label.uploadLabel;
				{caption: uploadCaption, tooltip: config.macros.upload.label.promptOption, 
					onClick: config.macros.upload.action},
				{caption: this.cancelButton, tooltip: this.cancelButtonPrompt, onClick: this.onCancel}
	options: [
	refreshOptions: function(listWrapper) {
		var opts = [];
		for(i=0; i<this.options.length; i++) {
			var opt = {};
			opt.option = "";
			n = this.options[i];
			opt.name = n;
			opt.lowlight = !config.optionsDesc[n];
			opt.description = opt.lowlight ? this.unknownDescription : config.optionsDesc[n];
		var listview = ListView.create(listWrapper,opts,this.listViewTemplate);
		for(n=0; n<opts.length; n++) {
			var type = opts[n].name.substr(0,3);
			var h = config.macros.option.types[type];
			if (h && h.create) {
	onCancel: function(e)
		return false;
	wizardTitle: "Upload with options",
	step1Title: "These options are saved in cookies in your browser",
	step1Html: "<input type='hidden' name='markList'></input><br>",
	cancelButton: "Cancel",
	cancelButtonPrompt: "Cancel prompt",
	listViewTemplate: {
		columns: [
			{name: 'Description', field: 'description', title: "Description", type: 'WikiText'},
			{name: 'Option', field: 'option', title: "Option", type: 'String'},
			{name: 'Name', field: 'name', title: "Name", type: 'String'}
		rowClasses: [
			{className: 'lowlight', field: 'lowlight'} 

// upload functions

if (!bidix.upload) bidix.upload = {};

if (!bidix.upload.messages) bidix.upload.messages = {
	//from saving
	invalidFileError: "The original file '%0' does not appear to be a valid TiddlyWiki",
	backupSaved: "Backup saved",
	backupFailed: "Failed to upload backup file",
	rssSaved: "RSS feed uploaded",
	rssFailed: "Failed to upload RSS feed file",
	emptySaved: "Empty template uploaded",
	emptyFailed: "Failed to upload empty template file",
	mainSaved: "Main TiddlyWiki file uploaded",
	mainFailed: "Failed to upload main TiddlyWiki file. Your changes have not been saved",
	//specific upload
	loadOriginalHttpPostError: "Can't get original file",
	aboutToSaveOnHttpPost: 'About to upload on %0 ...',
	storePhpNotFound: "The store script '%0' was not found."

bidix.upload.uploadChanges = function(onlyIfDirty,tiddlers,storeUrl,toFilename,uploadDir,backupDir,username,password)
	var callback = function(status,uploadParams,original,url,xhr) {
		if (!status) {
		if (bidix.debugMode) 
		// Locate the storeArea div's 
		var posDiv = locateStoreArea(original);
		if((posDiv[0] == -1) || (posDiv[1] == -1)) {
	if(onlyIfDirty && !store.isDirty())
	// save on localdisk ?
	if (document.location.toString().substr(0,4) == "file") {
		var path = document.location.toString();
		var localPath = getLocalPath(path);
	// get original
	var uploadParams = new Array(storeUrl,toFilename,uploadDir,backupDir,username,password);
	var originalPath = document.location.toString();
	// If url is a directory : add index.html
	if (originalPath.charAt(originalPath.length-1) == "/")
		originalPath = originalPath + "index.html";
	var dest = config.macros.upload.destFile(storeUrl,toFilename,uploadDir);
	var log = new bidix.UploadLog();
	log.startUpload(storeUrl, dest, uploadDir,  backupDir);
	if (bidix.debugMode) 
		alert("about to execute Http - GET on "+originalPath);
	var r = doHttp("GET",originalPath,null,null,username,password,callback,uploadParams,null);
	if (typeof r == "string")
	return r;

bidix.upload.uploadRss = function(uploadParams,original,posDiv) 
	var callback = function(status,params,responseText,url,xhr) {
		if(status) {
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
		} else {
	// do uploadRss
	if(config.options.chkGenerateAnRssFeed) {
		var rssPath = uploadParams[1].substr(0,uploadParams[1].lastIndexOf(".")) + ".xml";
		var rssUploadParams = new Array(uploadParams[0],rssPath,uploadParams[2],'',uploadParams[4],uploadParams[5]);
		var rssString = generateRss();
		// no UnicodeToUTF8 conversion needed when location is "file" !!!
		if (document.location.toString().substr(0,4) != "file")
			rssString = convertUnicodeToUTF8(rssString);	
	} else {

bidix.upload.uploadMain = function(uploadParams,original,posDiv) 
	var callback = function(status,params,responseText,url,xhr) {
		var log = new bidix.UploadLog();
		if(status) {
			// if backupDir specified
			if ((params[3]) && (responseText.indexOf("backupfile:") > -1))  {
				var backupfile = responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:")));
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
		} else {
	// do uploadMain
	var revised = bidix.upload.updateOriginal(original,posDiv);

bidix.upload.httpUpload = function(uploadParams,data,callback,params)
	var localCallback = function(status,params,responseText,url,xhr) {
		url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
		if (xhr.status == 404)
		if ((bidix.debugMode) || (responseText.indexOf("Debug mode") >= 0 )) {
			if (responseText.indexOf("Debug mode") >= 0 )
				responseText = responseText.substring(responseText.indexOf("\n\n")+2);
		} else if (responseText.charAt(0) != '0') 
		if (responseText.charAt(0) != '0')
			status = null;
	// do httpUpload
	var boundary = "---------------------------"+"AaB03x";	
	var uploadFormName = "UploadPlugin";
	// compose headers data
	var sheader = "";
	sheader += "--" + boundary + "\r\nContent-disposition: form-data; name=\"";
	sheader += uploadFormName +"\"\r\n\r\n";
	sheader += "backupDir="+uploadParams[3] +
				";user=" + uploadParams[4] +
				";password=" + uploadParams[5] +
				";uploaddir=" + uploadParams[2];
	if (bidix.debugMode)
		sheader += ";debug=1";
	sheader += ";;\r\n"; 
	sheader += "\r\n" + "--" + boundary + "\r\n";
	sheader += "Content-disposition: form-data; name=\"userfile\"; filename=\""+uploadParams[1]+"\"\r\n";
	sheader += "Content-Type: text/html;charset=UTF-8" + "\r\n";
	sheader += "Content-Length: " + data.length + "\r\n\r\n";
	// compose trailer data
	var strailer = new String();
	strailer = "\r\n--" + boundary + "--\r\n";
	data = sheader + data + strailer;
	if (bidix.debugMode) alert("about to execute Http - POST on "+uploadParams[0]+"\n with \n"+data.substr(0,500)+ " ... ");
	var r = doHttp("POST",uploadParams[0],data,"multipart/form-data; ;charset=UTF-8; boundary="+boundary,uploadParams[4],uploadParams[5],localCallback,params,null);
	if (typeof r == "string")
	return r;

// same as Saving's updateOriginal but without convertUnicodeToUTF8 calls
bidix.upload.updateOriginal = function(original, posDiv)
	if (!posDiv)
		posDiv = locateStoreArea(original);
	if((posDiv[0] == -1) || (posDiv[1] == -1)) {
	var revised = original.substr(0,posDiv[0] + startSaveArea.length) + "\n" +
				store.allTiddlersAsHtml() + "\n" +
	var newSiteTitle = getPageTitle().htmlEncode();
	revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");
	revised = updateMarkupBlock(revised,"PRE-HEAD","MarkupPreHead");
	revised = updateMarkupBlock(revised,"POST-HEAD","MarkupPostHead");
	revised = updateMarkupBlock(revised,"PRE-BODY","MarkupPreBody");
	revised = updateMarkupBlock(revised,"POST-SCRIPT","MarkupPostBody");
	return revised;

// UploadLog
// config.options.chkUploadLog :
//		false : no logging
//		true : logging
// config.options.txtUploadLogMaxLine :
//		-1 : no limit
//      0 :  no Log lines but UploadLog is still in place
//		n :  the last n lines are only kept
//		NaN : no limit (-1)

bidix.UploadLog = function() {
	if (!config.options.chkUploadLog) 
		return; // this.tiddler = null
	this.tiddler = store.getTiddler("UploadLog");
	if (!this.tiddler) {
		this.tiddler = new Tiddler();
		this.tiddler.title = "UploadLog";
		this.tiddler.text = "| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |";
		this.tiddler.created = new Date();
		this.tiddler.modifier = config.options.txtUserName;
		this.tiddler.modified = new Date();
	return this;

bidix.UploadLog.prototype.addText = function(text) {
	if (!this.tiddler)
	// retrieve maxLine when we need it
	var maxLine = parseInt(config.options.txtUploadLogMaxLine,10);
	if (isNaN(maxLine))
		maxLine = -1;
	// add text
	if (maxLine != 0) 
		this.tiddler.text = this.tiddler.text + text;
	// Trunck to maxLine
	if (maxLine >= 0) {
		var textArray = this.tiddler.text.split('\n');
		if (textArray.length > maxLine + 1)
			this.tiddler.text = textArray.join('\n');		
	// update tiddler fields
	this.tiddler.modifier = config.options.txtUserName;
	this.tiddler.modified = new Date();
	// refresh and notifiy for immediate update
	store.notify(this.tiddler.title, true);

bidix.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir,  backupDir) {
	if (!this.tiddler)
	var now = new Date();
	var text = "\n| ";
	var filename = bidix.basename(document.location.toString());
	if (!filename) filename = '/';
	text += now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") +" | ";
	text += config.options.txtUserName + " | ";
	text += "[["+filename+"|"+location + "]] |";
	text += " [[" + bidix.basename(storeUrl) + "|" + storeUrl + "]] | ";
	text += uploadDir + " | ";
	text += "[[" + bidix.basename(toFilename) + " | " +toFilename + "]] | ";
	text += backupDir + " |";

bidix.UploadLog.prototype.endUpload = function(status) {
	if (!this.tiddler)
	this.addText(" "+status+" |");

// Utilities

bidix.checkPlugin = function(plugin, major, minor, revision) {
	var ext = version.extensions[plugin];
	if (!
		(ext  && 
			((ext.major > major) || 
			((ext.major == major) && (ext.minor > minor))  ||
			((ext.major == major) && (ext.minor == minor) && (ext.revision >= revision))))) {
			// write error in PluginManager
			if (pluginInfo)
				pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision);
			eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined"

bidix.dirname = function(filePath) {
	if (!filePath) 
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(0, lastpos);
	} else {
		return filePath.substring(0, filePath.lastIndexOf("\\"));

bidix.basename = function(filePath) {
	if (!filePath) 
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("#")) != -1) 
		filePath = filePath.substring(0, lastpos);
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(lastpos + 1);
	} else
		return filePath.substring(filePath.lastIndexOf("\\")+1);

bidix.initOption = function(name,value) {
	if (!config.options[name])
		config.options[name] = value;

// Initializations

// require PasswordOptionPlugin 1.0.1 or better
bidix.checkPlugin("PasswordOptionPlugin", 1, 0, 1);

// styleSheet
setStylesheet('.txtUploadStoreUrl, .txtUploadBackupDir, .txtUploadDir {width: 22em;}',"uploadPluginStyles");

	txtUploadStoreUrl: "Url of the UploadService script (default: store.php)",
	txtUploadFilename: "Filename of the uploaded file (default: in index.html)",
	txtUploadDir: "Relative Directory where to store the file (default: . (downloadService directory))",
	txtUploadBackupDir: "Relative Directory where to backup the file. If empty no backup. (default: ''(empty))",
	txtUploadUserName: "Upload Username",
	pasUploadPassword: "Upload Password",
	chkUploadLog: "do Logging in UploadLog (default: true)",
	txtUploadLogMaxLine: "Maximum of lines in UploadLog (default: 10)"

// Options Initializations

// Backstage
	uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: '<<uploadOptions>>'}