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]];
	background:[[ColorPalette::TertiaryPale]];
	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]];}

#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]];}

.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}

.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]];}

#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 0em 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;}

.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:0em 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 .3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

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

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

.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 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 0em;}
.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 0em 0em 0.5em;}
.tab {margin:0em 0em 0em 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 0em 14em;}

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

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

.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:0em 0.25em; padding:0em 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:0px 3px 0px 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 0em; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}

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

.sparkline {line-height:1em;}
.sparktick {outline:0;}

.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 0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}
#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 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 use a logographic writing system and 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;}

.htmlarea .toolbarHA table {border:1px solid ButtonFace; margin:0em 0em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none ! important;}
#displayArea {margin: 1em 1em 0em 1em;}
/* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
noscript {display:none;}
}
/*}}}*/
<!--{{{-->
<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>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<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>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler > fields syncing permalink references jump'></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 +saveTiddler -cancelTiddler deleteTiddler'></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'></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>
<div>              <div>              <p><font size="4" color="#003366" face="Arial"><span style="font-size: 10pt; font-family: Arial;"><strong>Too true and               too funny!!!</strong></span></font></p></div>              <div>              <p><font face="Arrus BT"><span style="font-size: 10pt;"></span></font><font size="4"></font>&nbsp;</p></div>              <div>              <p><font size="2" face="Arrus BT"><span style="font-size: 10pt;"></span></font>&nbsp;</p></div>              <div>              <p><font size="2" face="Arrus BT"><span style="font-size: 10pt;"></span></font>&nbsp;</p></div>              <blockquote style="border-style: none none none solid; border-color: -moz-use-text-color; border-width: medium medium medium 1.5pt; padding: 0in 0in 0in 4pt; margin-bottom: 5pt; margin-left: 3.75pt;">                <blockquote style="border-style: none none none solid; border-color: -moz-use-text-color; border-width: medium medium medium 1.5pt; padding: 0in 0in 0in 4pt; margin-bottom: 5pt; margin-left: 3.75pt;">                  <div>                  <blockquote style="margin-bottom: 5pt;">                    <div>                    <div style="text-align: center;" align="center"><font size="3" face="Times New Roman"><span style="font-size: 12pt;">                    <hr size="2" width="100%" align="center">                    </span></font></div>                    <div>                    <p><font size="2" face="Tahoma"><span style="font-size: 10pt; font-family: Tahoma;"></span></font>&nbsp;</p></div>                    <div style="margin-bottom: 12pt;">                    <p><b><i><u><font size="5" color="#003366" face="Tahoma"><span style="font-weight: bold; font-size: 16pt; color: rgb(0, 51, 102); font-style: italic; font-family: Tahoma;">9                     WORDS WOMEN USE<br></span></font></u></i></b><font size="1" face="Verdana"><span style="font-size: 9pt; font-family: Verdana;"><br></span></font><font face="Tahoma"><span style="font-family: Tahoma;"><br><b><font color="#993300"><span style="font-weight: bold; color: rgb(153, 51, 0);">(1)                     </span></font><font color="#003366"><span style="color: rgb(0, 51, 102);">Fine:</span></font><font color="#993300"><span style="color: rgb(153, 51, 0);"> This is                     the word women use to end an argument when they are right                     and you need to shut                     up.<br></span></font></b></span></font><font size="1" face="Verdana"><span style="font-size: 9pt; font-family: Verdana;"><br></span></font><font face="Tahoma"><span style="font-family: Tahoma;"><br></span></font><font size="1" face="Verdana"><span style="font-size: 9pt; font-family: Verdana;"><br></span></font><b><font color="#993300" face="Tahoma"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Tahoma;">(2)                     </span></font></b><b><font color="#003366" face="Tahoma"><span style="font-weight: bold; color: rgb(0, 51, 102); font-family: Tahoma;">Five                     Minutes:</span></font></b><b><font color="#993300" face="Tahoma"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Tahoma;">                     If she is getting dressed, this means a half an hour. Five                     minutes is only five minutes if you have just been given                     five more minutes to watch the game before helping around                     the house.<br></span></font></b><font size="1" face="Verdana"><span style="font-size: 9pt; font-family: Verdana;"><br></span></font><font face="Tahoma"><span style="font-family: Tahoma;"><br></span></font><font size="1" face="Verdana"><span style="font-size: 9pt; font-family: Verdana;"><br></span></font><b><font color="#993300" face="Tahoma"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Tahoma;">(3)                     </span></font></b><b><font color="#003366" face="Tahoma"><span style="font-weight: bold; color: rgb(0, 51, 102); font-family: Tahoma;">Nothing:</span></font></b><b><font color="#993300" face="Tahoma"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Tahoma;">                     This is the calm before the storm.</span></font></b><b><font face="Tahoma"><span style="font-weight: bold; font-family: Tahoma;"> &nbsp;<font color="#993300"><span style="color: rgb(153, 51, 0);">This means                     something, and you should be on your toes. Arguments that                     begin with nothing usually end in fine.                     &nbsp;</span></font></span></font></b><b><font color="#993300" face="Arial"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Arial;">                     &nbsp;<br></span></font></b><font size="1" face="Verdana"><span style="font-size: 9pt; font-family: Verdana;"><br></span></font><font face="Tahoma"><span style="font-family: Tahoma;"><br></span></font><font size="1" face="Verdana"><span style="font-size: 9pt; font-family: Verdana;"><br></span></font><b><font color="#993300" face="Tahoma"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Tahoma;">(4)                     </span></font></b><b><font color="#003366" face="Tahoma"><span style="font-weight: bold; color: rgb(0, 51, 102); font-family: Tahoma;">Go                     Ahead:</span></font></b><b><font color="#993300" face="Tahoma"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Tahoma;">                     This is a dare, not permission. Don't Do It!                     </span></font></b><b><font color="#993300" face="Arial"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Arial;">&nbsp;&nbsp;&nbsp;<br></span></font></b><font size="1" face="Verdana"><span style="font-size: 9pt; font-family: Verdana;"><br></span></font><font face="Tahoma"><span style="font-family: Tahoma;"><br></span></font><font size="1" face="Verdana"><span style="font-size: 9pt; font-family: Verdana;"><br></span></font><b><font color="#993300" face="Tahoma"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Tahoma;">(5)                     </span></font></b><b><font color="#003366" face="Tahoma"><span style="font-weight: bold; color: rgb(0, 51, 102); font-family: Tahoma;">Loud                     Sigh:</span></font></b><b><font color="#993300" face="Tahoma"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Tahoma;">                     This is actually a word, but is a non-verbal statement often                     misunderstood by men. A loud sigh means she thinks you are                     an idiot and wonders why she is wasting her time standing                     here and arguing with you about nothing. &nbsp;&nbsp;(Refer                     back to # 3 for the meaning of nothing.)                     <br></span></font></b><font size="1" face="Verdana"><span style="font-size: 9pt; font-family: Verdana;"><br></span></font><font face="Tahoma"><span style="font-family: Tahoma;"><br></span></font><font size="1" face="Verdana"><span style="font-size: 9pt; font-family: Verdana;"><br></span></font><b><font color="#993300" face="Tahoma"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Tahoma;">(6)                     </span></font></b><b><font color="#003366" face="Tahoma"><span style="font-weight: bold; color: rgb(0, 51, 102); font-family: Tahoma;">That's                     Okay:</span></font></b><b><font color="#993300" face="Tahoma"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Tahoma;">                     This is one of the most dangerous statements a woman can                     make to a man. That's okay means she wants to think long and                     hard before deciding how and when you will pay for your                     mistake. &nbsp;<br></span></font></b><font size="1" face="Verdana"><span style="font-size: 9pt; font-family: Verdana;"><br></span></font><font face="Tahoma"><span style="font-family: Tahoma;"><br></span></font><font size="1" face="Verdana"><span style="font-size: 9pt; font-family: Verdana;"><br></span></font><b><font color="#993300" face="Tahoma"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Tahoma;">(7)                     </span></font></b><b><font color="#003366" face="Tahoma"><span style="font-weight: bold; color: rgb(0, 51, 102); font-family: Tahoma;">Thanks:</span></font></b><b><font color="#993300" face="Tahoma"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Tahoma;">                     A woman is thanking you, do not question, or Faint. Just say                     you're welcome. (I want to add in a clause here - This is                     true, unless she says 'Thanks a lot' - that is PURE sarcasm                     and she is not thanking you at all.                     &nbsp;</span></font></b><b><font color="#993300" face="Arial"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Arial;">                     </span></font></b><b><font color="#993300" face="Tahoma"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Tahoma;">DO                     NOT say 'you're welcome' . that will bring on a 'whatever').                     </span></font></b><font face="Tahoma"><span style="font-family: Tahoma;"><br></span></font><font size="1" face="Verdana"><span style="font-size: 9pt; font-family: Verdana;"><br></span></font><font face="Tahoma"><span style="font-family: Tahoma;"><br></span></font><font size="1" face="Verdana"><span style="font-size: 9pt; font-family: Verdana;"><br></span></font><strong><b><font color="#993300" face="Tahoma"><span style="color: rgb(153, 51, 0); font-family: Tahoma;">(8)                     </span></font></b></strong><strong><b><font color="#003366" face="Tahoma"><span style="color: rgb(0, 51, 102); font-family: Tahoma;">Whatever:</span></font></b></strong><strong><b><font color="#993300" face="Tahoma"><span style="color: rgb(153, 51, 0); font-family: Tahoma;"> Is a                     women's way of saying&nbsp;</span></font></b></strong><font color="blue" face="Arial"><span style="color: blue; font-family: Arial;">&nbsp;</span></font><strong><b><font color="#993300" face="Tahoma"><span style="color: rgb(153, 51, 0); font-family: Tahoma;">the really                     bad word</span></font></b></strong><font color="blue" face="Arial"><span style="color: blue; font-family: Arial;">&nbsp;</span></font><font face="Century Gothic"><span><br></span></font><font size="1" face="Verdana"><span style="font-size: 9pt; font-family: Verdana;"><br></span></font><b><font color="#993300" face="Tahoma"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Tahoma;">(9)                     </span></font></b><b><font color="#003366" face="Tahoma"><span style="font-weight: bold; color: rgb(0, 51, 102); font-family: Tahoma;">Don't                     worry about it, I got it:</span></font></b><b><font color="#993300" face="Tahoma"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Tahoma;">                     Another dangerous statement, meaning this is something that                     a woman has told a man to do several times, but is now doing                     it herself. This will later result in a man asking 'What's                     wrong?' For the woman's response refer to # 3.                     <br></span></font></b><font size="1" face="Verdana"><span style="font-size: 9pt; font-family: Verdana;"><br></span></font><b><font color="#993300" face="Tahoma"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Tahoma;"><br>&nbsp;<br>*                     Send this to the men you know, to warn them about arguments                     they can avoid if they remember the terminology.                     <br></span></font></b><font size="1" face="Verdana"><span style="font-size: 9pt; font-family: Verdana;"><br></span></font><font face="Tahoma"><span style="font-family: Tahoma;"><br></span></font><font size="1" face="Verdana"><span style="font-size: 9pt; font-family: Verdana;"><br></span></font><b><font color="#993300" face="Tahoma"><span style="font-weight: bold; color: rgb(153, 51, 0); font-family: Tahoma;">*                     Send this to all the women you know to give them a good                     laugh, cause they know it's true.                     </span></font></b></p></div>                    <blockquote style="margin-bottom: 5pt;">                      <div style="margin-bottom: 12pt;">                      <p><font size="2" face="Tahoma"><span style="font-size: 10pt; font-family: Tahoma;"></span></font>&nbsp;</p></div></blockquote>                    <div>                    <p><font size="2" face="Arrus BT"><span style="font-size: 10pt;"></span></font><strong><font color="#800000">In other words you're going to end up in a                     catch 22 regardless                     okay!&nbsp;&nbsp;</font></strong></p></div></div></blockquote></div></blockquote></blockquote>              <p><font size="2" face="Arrus BT"><span style="font-size: 10pt;"></span></font><strong><font color="#800000"></font></strong>&nbsp;</p>              <div style="text-align: center;" align="center"><font size="2" face="Arrus BT"><span style="font-size: 10pt;"></span></font></div>              <p>&nbsp;</p></div>
</html>
!CEDAR Chiropractic

[[Why CEDAR?]]

[[My Purpose, Mission, Vision]]

[[Dr. Parker Bio]]
This site is a TiddlyWiki. Can you [[improve|Improve Osmosoft.com]] Osmosoft.com?
Hey, [[what happened|What happened to Osmosoft?]] to the old Osmosoft.com?
An adjustment is the treatment that a chiropractor does to a ((joint (the place where two bones meet and move together ))) that involves physical pressure by the doctor's hands on the patient's back or neck, a brief moment of traction, and is often accompanied by a ((cracking sound (due to the release of carbon dioxide gas from the joint fluids)))
<<options>>
As a teenager, while his friends played with games consoles, Andrew got his kicks from a salvaged [[PDP-11 minicomputer|http://en.wikipedia.org/wiki/Programmed_Data_Processor]]. He has an unhealthy obsession with devices, operating systems and computer networks, and was introduced to open source via Linux back in 1995.

At BT, Andrew has been responsible for setting up Design's Open Source Focus Group, and he is a strong advocate of open computing platforms.

If you're popping in to the office, Andrew will have a cup of tea with milk and sugar and a chocolate brownie.

[[carrierdetect.com|http://carrierdetect.com]]
[[flickr.com/photos/carrierdetect|http://flickr.com/photos/carrierdetect/]]
/***
|''Name:''|AnnotationsPlugin|
|''Description:''|Inline annotations for tiddler text.|
|''Author:''|Saq Imtiaz ( lewcid@gmail.com )|
|''Source:''|http://tw.lewcid.org/#AnnotationsPlugin|
|''Code Repository:''|http://tw.lewcid.org/svn/plugins|
|''Version:''|2.0|
|''Date:''||
|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|''~CoreVersion:''|2.2.3|

!!Usage:
*{{{((text to annotate(annotation goes here)}}}
* To include the text being annotated, in the popup as a title, put {{{^}}} as the first letter of the annotation text.
** {{{((text to annotate(^annotation goes here)}}}

!!Examples:
Mouse over, the text below:
* ((banana(the best fruit in the world)))
* ((banana(^ the best fruit in the world)))

***/
// /%
config.formatters.unshift({name:"annotations",match:"\\(\\(",lookaheadRegExp:/\(\((.*?)\((\^?)((?:.|\n)*?)\)\)\)/g,handler:function(w){
this.lookaheadRegExp.lastIndex=w.matchStart;
var _2=this.lookaheadRegExp.exec(w.source);
if(_2&&_2.index==w.matchStart){
var _3=createTiddlyElement(w.output,"span",null,"annosub",_2[1]);
_3.anno=_2[3];
if(_2[2]){
_3.subject=_2[1];
}
_3.onmouseover=this.onmouseover;
_3.onmouseout=this.onmouseout;
_3.ondblclick=this.onmouseout;
w.nextMatch=_2.index+_2[0].length;
}
},onmouseover:function(e){
popup=createTiddlyElement(document.body,"div",null,"anno");
this.popup=popup;
if(this.subject){
wikify("!"+this.subject+"\n",popup);
}
wikify(this.anno,popup);
addClass(this,"annosubover");
Popup.place(this,popup,{x:25,y:7});
},onmouseout:function(e){
removeNode(this.popup);
this.popup=null;
removeClass(this,"annosubover");
}});
setStylesheet(".anno{position:absolute;border:2px solid #000;background-color:#DFDFFF; color:#000;padding:0.5em;max-width:40em;width:expression(document.body.clientWidth > (255/12) *parseInt(document.body.currentStyle.fontSize)?'15em':'auto' );}\n"+".anno h1, .anno h2{margin-top:0;color:#000;}\n"+".annosub{background:#ccc;}\n"+".annosubover{z-index:25; background-color:#DFDFFF;cursor:help;}\n","AnnotationStyles");


// %/
<html>
	
	<iframe src="Newsletter April 2007.htm"
		style="background:#fff;width:170%;height:400px">
	</iframe>
</html>
<html>
	
	<iframe src="newsletter april 2008.htm"
		style="background:#fff;width:170%;height:500px">
	</iframe>
</html>
Yes, we can adjust with either of these two instruments:

the Arthrositm instrument 
[img[images/arthrostim.JPG]]  or the Activator instrument
[img[images/activator.JPG]]

Although adjusting by hand often gives faster relief, both of these instruments can often be used in place of adjusting by hand for those who are nervous of the "crack" sound of a normal adjustment.
{{left{
<html><img src="images/cedar & sky.jpg" style="height: 150px; "/></html>}}}
<html>
	
	<iframe src="Newsletter August 2006.htm"
		style="background:#fff;width:170%;height:400px">
	</iframe>
</html>
<html>
	
	<iframe src="newsletter Aug 2007.htm"
		style="background:#fff;width:170%;height:400px">
	</iframe>
</html>
<html>
	
	<iframe src="Newsletter 2008 August.htm"
		style="background:#fff;width:170%;height:500px">
	</iframe>
</html>
<<tiddler MainMenu>>

AuthorMainMenu
MainMenu
DefaultTiddlers
PluginManager
PresentationIndex
<html><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/Dh-nkD5LSIg&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/Dh-nkD5LSIg&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></html>
This one day session at BT Center in London will exploring the benefits of an open source approach.
8th/9th September 2007

An [[unconference|http://en.wikipedia.org/wiki/Unconference]] intended to bring together tech professionals in Brighton and people in town for dConstruct to learn and cowork.

Osmosoft were delighted to be one of the sponsors of this event and we found it to be a rewarding experience.  More information available at the [[BarCampBrighton web site|http://barcamp.org/BarCampBrighton]]

As ever, more personal reflections on the event can be found on [[our blogs|http://philwhitehouse.blogspot.com/search/label/barcampbrighton07]].
<html><object width="464" height="388" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"><param name="movie" value="http://www.youtube.com/swf/l.swf?video_id=rHXXTCc-IVg&rel=1&eurl=&iurl=http%3A//i.ytimg.com/vi/rHXXTCc-IVg/default.jpg&t=OEgsToPDskICnKEVLnmyNxrUsNRJ4iPx&" /><param name="flashvars" value="key=26b0d09397" /><param name="allowfullscreen" value="true" /><embed width="464" height="388" flashvars="key=26b0d09397" allowfullscreen="true" quality="high" src="http://www.youtube.com/swf/l.swf?video_id=rHXXTCc-IVg&rel=1&eurl=&iurl=http%3A//i.ytimg.com/vi/rHXXTCc-IVg/default.jpg&t=OEgsToPDskICnKEVLnmyNxrUsNRJ4iPx&" type="application/x-shockwave-flash"></embed></object><noscript><a href="http://www.funnyordie.com/videos/26b0d09397">Uncle Jay Explains the News - July 2, 2007</a> on <a href="http://www.funnyordie.com/">FunnyOrDie.com</a></noscript></html>
{{left{
<html><img src="images/Pic_stretch_calf.JPG" style="height: 250px; "/></html>}}}
1) lean against a wall with your foot out behind you.  
2)Make sure your knee doesn't bend and 
3) keep your heel touching the ground at all time.

hold 30 to 60 seconds







.
Yes and No:

No, not in the sense that someone can get "addicted" to medications.  Chiropractic adjustments do not cause your spinal joints to "go out" more often.

Yes, in the sense that for those who have lived with chronic pain for years, and they suddenly become aware that there is a way to feel better, I guess you could be "dependent" on the treatments to relieve the pain (because they'd rather not feel the pain they've gotten used to for years), but its not like their pain would get worse than before if they are not able to follow through with care.

''this question has at its root another question:  Can chiropractic "fix" a problem, or does it just help for a little while?''
*the answer to that one is yes/maybe
**for some people, yes, chiropractic can fix a problem (as long as the patient doesn't repeat the event that triggered the condition in the first place)
**for others, its more of a "maybe", i.e. they'll get better or at least stabilize the problem as long as they do their homework (e.g. do their exercises)
{{left{
<html>
<img src="images/pic_ex_catback2.jpg" style="height: 130px; "/><img src="images/pic_ex_catback1.jpg" style="height: 110px; "/>
<img src="images/pic_ex_catback3.jpg" style="height: 105px; "/></html>}}}

Cat backs increase the flexibility of the lower back 

''Start in the neutral (middle) position, then stretch your back upwards like a scared cat.''  

//When you do this you should be using all your muscles like you would when you stretch while yawning//

''then go back to neutral, then arch your back the opposite way''
     
repeat 10-20 times, but stop if this causes increasing pain
{{left{
<html><img src="images/Pic_stretch_pects2.JPG" style="height: 250px; "/></html>}}}
!Chest Stretch
 
At a door jam, place elbows against the frame at shoulder height and lean forward with one foot forward (doesn't matter which one)

hold for 30-60 seconds








.
(sorry, there's a commercial you have to see first)
<<player id=4 http://abcnews.go.com/Video/playerIndex?id=4519444 750 530>>
!CEDAR Chiropractic

[[Clinic Location]]
[[Clinic Hours]]
[[Fees]]
|''day''| ''morning hours'' | ''afternoon hours'' |
| Monday| 9 am to noon | 1:30 pm to 5 pm |
| Tuesday| closed | 4 pm to 6 pm |
| Wednesday| 9 am to noon | 1:30 pm to 5 pm |
| Thursday| 9 am to noon | 1:30 pm to 6 pm |
| Friday| 9 am to noon | 1:30 pm to 6 pm |
| Saturday| 9 am to 11 am | closed |

Please note:  
*these hours are for appointment times - in order to avoid disappointment please always call ahead to ensure your appointment time.
*hours may change for specific reasons, e.g. we're often closed on long weekends
no. 6, 4428 50 ave 
Bonnyville AB
(780) 826-2800

(The little mall between Marks Work Warehouse and Home Hardware)

{{{

Background: #111
Foreground: #888
PrimaryPale: #222
PrimaryLight: #18f
PrimaryMid: #333
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #999
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88

Darkest: #000
Brightest: #fff

Darker: #111
Dark: #333
TextOnDark: #ccc
DullTextOnDark: #888
BrightOnDark: #eee
DullOnDark: #666
SubtleOnDark: #444
Magenta:#D71F85


}}}
We'd love to hear from you if you have any questions, comments or want to get involved with the work we are doing. Either email us all at [[hello@osmosoft.com|mailto:hello@osmosoft.com]] or contact one of us directly through the links posted on our [[profiles|Who are we?]]. Or come and visit us in our office!

Our address is:

Osmosoft
Room 5.02
MLS,
130 Shaftesbury Avenue,
London,
~W1D 5EU

Tel: 020 7031 1188

Directions by tube: 
Nearest station, Leicester Square. Once through the ticket barriers, turn right and leave through exit 2. At street level, turn left and walk 150 metres up Charing Cross Road. Turn left into Shaftesbury Avenue, we're on the left before the fire station.

<html>
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=l&amp;hl=en&amp;geocode=&amp;q=mls&amp;near=w1&amp;ie=UTF8&amp;cid=51512714,-129516,1509808743731668262&amp;om=1&amp;s=AARTsJpcvM8uUanc6ZjKsLsp6p1yrUWKqQ&amp;ll=51.519906,-0.125313&amp;spn=0.018693,0.036478&amp;z=14&amp;iwloc=A&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.uk/maps?f=l&amp;hl=en&amp;geocode=&amp;q=mls&amp;near=w1&amp;ie=UTF8&amp;cid=51512714,-129516,1509808743731668262&amp;om=1&amp;ll=51.519906,-0.125313&amp;spn=0.018693,0.036478&amp;z=14&amp;iwloc=A&amp;source=embed" >View Larger Map</a></small>
</html>
<html>
	
	<iframe src="Newsletter December 2007.htm"
		style="background:#fff;width:170%;height:500px">
	</iframe>
</html>
[[Welcome]]
[[Clinic Essentials]]

{{left{
<html>
<img src="images/big cedar trunk.jpg" style="height: 150px; "/></html>}}}
an adjustment doesn't normally hurt, just like cracking your knuckles doesn't normally hurt.

However, if the tissues over that part of your body are swollen or inflamed, it might hurt to push on them, like pushing on a bruise.  In other words, if you are pretty sore already, it might hurt a bit, but it becomes less so as you get better.
see info [[here|http://maps.google.ca/maps?hl=en&ie=UTF8&q=naturopath&near=Edmonton,+AB&fb=1&latlng=53548554,-113535918,4855856872321836415&ei=SYJWSKmwL4-KiwGb6bjQCw&sig2=v8z5vzLbd2VvaYvSq-no8Q&cd=1]]

details:  I have not seen her, but this is the only ND that any of my patients have mentioned that they have seen.  No negative feedback.
Dr. Parker was born in Burlington Ontario but grew up in Ponoka, Alberta. 

 In 1991 he graduated from CMCC, a chiropractic college in Toronto.  He practiced for approximately 10 years in Calgary where he got married and had two kids, then moved to Bonnyville in 2002.
<!--{{{-->
<div class='title' macro='view title'></div>
<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteTiddler'></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'></span></div>
<!--}}}-->
We love attending and hosting events. If you are interested in meeting us to talk about our open source projects, or have something you'd like to share with us, seeking us out at events is a good way to make contact.
!!Upcoming events 
Upcoming events where you can find an [[Osmosoftonian]]:

[[BT open source awareness day]] - 31st October 2007

!!Previous events
You can also still find demos and resources that we have presented at previous events here:

[[Future of Web Apps]] - 3rd-5th October 2007
[[TiddlyWiki anniversary interview]] - 21st September 2007
[[BarCampBrighton 2007]] - 8th/9th September 2007
[[dConstruct 2007]] - 7th September 2007
[[SpeedGeeking]] -  July 2007
[[Supernova 2007]] - June 2007
List of [[exercises]] that Dr. Parker may give you to do
{{left{
<html>
<img src="images/OldCedar.jpg" style="height: 200px; "/></html>}}}
[[Figure Four|FigureFour]]
[[Hamstring Stretch|HamsStretch]]
[[Front Thigh Stretch|Front Thigh Stretch]]
[[Calf Stretch]]
[[Cat Backs]]
[[Lunge Stretch]]
[[Lazy Pushup]]
/***
|Name|ExternalTiddlersPlugin|
|Source|http://www.TiddlyTools.com/#ExternalTiddlersPlugin|
|Version|1.2.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires|TemporaryTiddlersPlugin (optional, recommended)|
|Overrides|config.macros.tiddler.handler|
|Description|retrieve and wikify content from external files or remote URLs|
This plugin extends the {{{<<tiddler>>}}} macro syntax so you can retrieve and wikify content directly from external files or remote URLs.  You can also define alternative "fallback" sources to provide basic "import on demand" handling by automatically creating/importing tiddler content from external sources when the specified ~TiddlerName does not already exist in your document.
!!!!!Usage
<<<
The standard TiddlyWiki core syntax for the {{{<<tiddler>>}}} macro is:
>{{{<<tiddler TiddlerName with: param param param ...>>}}}
where the {{{with: param...}}} portion is optional, and is used in combination with "substitution markers" ($1 to $9) embedded in the referenced tiddler: when the contents of ~TiddlerName are retrieved, but before they are rendered, any substitution markers in that content are automatically replaced with values specified in the corresponding macro params (if any).  When a given TiddlerName does NOT exist in the current document, the standard macro handler produces no output.

This plugin allows the {{{<<tiddler>>}}} macro to use external file/URL references in place of the usual ~TiddlerName parameter, so that you can ''render wiki-formatted source content retrieved from an external file/URL reference'' (as determined by the core's isExternalLink() test function), ''//as if// it had come from a tiddler in the current document''.

The external file/URL can be either ''a relative or absolute reference'' and can contain ''"plain text" or a full TiddlyWiki document''.  When using a TiddlyWiki document, you must specify which tiddlers should be included in the output by appending a permaview-like suffix to the file or URL reference.  In either case, you can use the {{{<<tiddler>>}}} macro's optional {{{with:}}} syntax in combination with "$n" ''substitution markers embedded in the external content'' to insert dynamic values into the output, before passing it to the core's wikify() parser for rendering; e.g.:
>{{{<<tiddler "myfile.txt" with: param param param...>>}}}
>or
>{{{<<tiddler "myfile.html#TiddlerName TiddlerName..." with: param param param...>>}}}
>or
>{{{<<tiddler "http://www.TiddlyWiki.com/index.html#HelloThere" with: param param param...>>}}}
If the plugin is unable to retrieve the requested content -- because the file doesn't exist or doesn't contain the requested tiddler(s), or cross-domain security blocked file access, or the network/server "timed out", etc. -- then the macro will produce no rendered output (i.e., the same result as the standard core macro handler produces when a tiddler does not exist).  
!!!!!Using alternative "fallback" references with automatic import/cache for missing tiddlers
In addition to supporting external file/URL references in place of the usual ~TiddlerName, the plugin also permits you to specify a ''fallback list'' containing a combination of alternative sources: tiddlers, local files, and/or URL references, each separated by "|".

The first reference in a fallback list is the "primary source"; the remaining references are "fallback sources".  If the primary source specifies a ~TiddlerName that is not in the document (or a local path/file that does not exist), the plugin will attempt to retrieve content from the next fallback source, continuing until the content has been successfully retrieved or all alternatives have been tried.
>//Note: you can list any number of fallback sources, in any order you prefer; however, because retrieval from a remote URL is handled asynchronously via XMLHttpRequest() processing, there can be ''no more than one remote URL reference, and it must always be the last item in the list''.  Any alternatives following a remote URL reference will be ignored.//
For example, if you create a tiddler called [[HelloThere]], as well as a remotely-hosted TW document containing a published tiddler, also called [[HelloThere]], then you can write:
>{{{<<tiddler [[HelloThere|http://www.TiddlyWiki.com/#HelloThere]]>>}}}
When [[HelloThere]] is present in the local document, it is processed in the normal manner.  However, if you delete the  local [[HelloThere]] tiddler, the plugin will attempt to retrieve the [[HelloThere]] tiddler from the indicated remote URL.

When content is retrieved from an external fallback source, the plugin can automatically import/create tiddler(s) containing that content into your document, allowing you to display, modify, save and/or search for text in that tiddler from within your own document, without needing to retrieve it again from the external source.
>//Note: If no local ~TiddlerName(s) are specified in the fallback list (i.e., only direct file/URL references are present), then a cached tiddler will NOT be created, so that each time you render the tiddler display the external source will be re-read in order to render the most recently saved external file content.  For example://
>&nbsp;&nbsp;&nbsp;{{{<<tiddler [[HelloThere|http://www.TiddlyWiki.com/#HelloThere]]>>}}}
>//will automatically create a locally-stored [[HelloThere]] tiddler, so that the external source is only accessed the first time the content is rendered, while://
>&nbsp;&nbsp;&nbsp;{{{<<tiddler [[http://www.TiddlyWiki.com/#HelloThere]]>>}}}
>//will re-load the content from the external source each time the display is rendered.//
For easy identification, cached tiddlers can be automatically tagged with <<tag cache>> (or other custom-defined tag values).  Cached tiddlers can also be automatically tagged with <<tag temporary>> for use with [[TemporaryTiddlersPlugin]], which will skip over those tiddlers when saving changes to your document so that when you reload the document, the cached tiddlers will no longer be present and will be retrieved anew from the external source, on demand, when or if they are needed.
>//Note: If you modify a cached tiddler and want to retain it in your local document, be sure to remove the <<tag temporary>> tag from the tiddler before saving the document.//
<<<
!!!!!Cache configuration
<<<
<<option chkCacheExternalTiddlers>> automatically create/import tiddlers when using external fallback references
{{{usage: <<option chkCacheExternalTiddlers>>}}}
<<option chkCacheQuiet>> don't display messages when adding cached tiddlers ("quiet mode")
{{{usage: <<option chkCacheQuiet>>}}}
<<option chkCacheTemporary>> tag cached tiddlers as 'temporary'(requires [[TemporaryTiddlersPlugin]])
{{{usage: <<option chkCacheTemporary>>}}}
tag cached tiddlers with: <<option txtCacheTags>>
{{{usage: <<option txtCacheTags>>}}}
<<<
!!!!!~XMLHttpRequest: performance and security issues
<<<
This plugin uses asynchronous XMLHttpRequest() processing to access external content directly from URLs hosted on remote web servers.  Typically, this will introduce unavoidable delays ranging from mere moments to many minutes while waiting for the remote web server to transfer the requested file, before that content can be rendered in the browser.  This performance can vary greatly depending upon the size of the remote file, how the remote server responds to repeated requests for the same URL (e.g, with a //"304 - no change"// response code), as well as how your ''browser's cache mechanism'' has been configured (to avoid repeated downloads).

In addition to server-originated delays, ''cross-domain access from one remote domain to another using XMLHttpRequest() processing is generally restricted for security reasons''.  As a result, if you publish your document to a remote web server, then external file/URL references contained in that document will not work if they are not located on the same server as the hosted document.

Fortunately, this security restriction does NOT usually apply when accessing remote content rendered into a locally-viewed document, since blocking access to remote URLs in that case could interfere with some normal browser functions!  As a "rule of thumb", in order to ensure that external content included in server-hosted documents will be displayed as intended, you should ''always use either a relative path/file references or an http: reference located on the same domain as the published document.'' for any document you intend to publish.

Note: Some hosting providers, such as http://www.TiddlySpot.com/ offer ''"proxy" services that may allow you to bypass the security restrictions'' for certain designated remote web sites.  Consult your hosting service for information regarding their proxy arrangments (if any).
<<<
!!!!!Installation
<<<
import (or copy/paste) the following tiddlers into your document:
[[ExternalTiddlersPlugin]]
<<<
!!!!!Revision History
<<<
''2007.11.27 [1.2.0]'' added support for automatic caching of external tiddlers (imports/creates local copies)
''2007.11.26 [1.1.1]'' improved XMLHttpRequest() error reporting for cross-domain security issues
''2007.11.26 [1.1.0]'' added support for multiple alternative fallback references
''2007.11.25 [1.0.0]'' initial release - moved from CoreTweaks
<<<
!!!!!Credits
<<<
This feature was developed by Eric Shulman
<<<
!!!!!Code
***/
//{{{
version.extensions.ExternalTiddlers= {major: 1, minor: 2, revision: 0, date: new Date(2007,11,27)};

// optional automatic import/create for missing tiddlers
if (config.options.chkCacheExternalTiddlers==undefined) config.options.chkCacheExternalTiddlers=true;
if (config.options.chkCacheTemporary==undefined) config.options.chkCacheTemporary=true;
if (config.options.chkCacheQuiet==undefined) config.options.chkCacheQuiet=false;
if (config.options.txtCacheTags==undefined) config.options.txtCacheTags="cache";

config.macros.tiddler.externalTiddlers_handler = config.macros.tiddler.handler;
config.macros.tiddler.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
	params = paramString.parseParams("name",null,true,false,true);
	var names = params[0]["name"];
	var referenceList= names[0];
	var className = names[1] ? names[1] : null;
	var args = params[0]["with"];

	// UTILITY FUNCTIONS
	function extract(text,tids) { // get tiddler source content from plain text or TW doc
		if (!text || !tids || !tids.length) return text; // no text or no tiddler list... return text as-is
		var remoteStore=new TiddlyWiki();
		if (!remoteStore.importTiddlyWiki(text)) return text; // not a TW document... return text as-is
		var out=[]; for (var t=0;t<tids.length;t++)
			{ var txt=remoteStore.getTiddlerText(tids[t]); if (txt) out.push(txt); }
		return out.join("\n");
	}
	function substitute(text,args) { // replace "substitution markers" ($1-$9) with macro param values (if any)
		if (!text || !args || !args.length) return text;
		var n=args.length; if (n>9) n=9;
		for(var i=0; i<n; i++) { var re=new RegExp("\\$" + (i + 1),"mg"); text=text.replace(re,args[i]); }
		return text;
	}
	function addTiddler(src,text,tids) { // extract tiddler(s) from text and create local copy
		if (!config.options.chkCacheExternalTiddlers) return; // cache is not enabled... do nothing
		if (!text || !tids || !tids.length) return; // no text or no tiddler list... do nothing
		var remoteStore=new TiddlyWiki();
		if (!remoteStore.importTiddlyWiki(text)) // not a TW document... create a single tiddler from text
			makeTiddler(src,text,tids[0]);
		else // TW document with "permaview-like" suffix... copy tiddler(s) from remote store
			for (var t=0;t<tids.length;t++) insertTiddler(src,remoteStore.getTiddler(tids[t]));
		return;
	}
	function makeTiddler(src,text,title) { // create a tiddler from text
		var who=config.options.txtUserName; var when=new Date();
		var msg="/%\n\nThis tiddler was automatically created using ExternalTiddlersPlugin\n";
		msg+="by %0 on %1\nsource: %2\n\n%/";
		var tags=config.options.txtCacheTags.readBracketedList();
		if (config.options.chkCacheTemporary) tags.pushUnique(config.options.txtTemporaryTag); 
		store.saveTiddler(null,title,msg.format([who,when,src])+text,who,when,tags,{});
		if (!config.options.chkCacheQuiet) displayMessage("Created new tiddler '"+title+"' from text file "+src);
	}
	function insertTiddler(src,t) { // add a single tiddler into the current document store
		if (!t) return;
		var who=config.options.txtUserName; var when=new Date();
		var msg="/%\n\nThis tiddler was automatically imported using ExternalTiddlersPlugin\n";
		msg+="by %0 on %1\nsource: %2\n\n%/";
		var newtags=Array.concat(t.tags,config.options.txtCacheTags.readBracketedList());
		if (config.options.chkCacheTemporary) newtags.push(config.options.txtTemporaryTag);
		store.saveTiddler(null,t.title,msg.format([who,when,src])+t.text,t.modifier,t.modified,newtags,t.fields);
		if (!config.options.chkCacheQuiet) displayMessage("Imported tiddler '"+t.title+"' from "+src);
	}

	// loop through "|"-separated list of alternative tiddler/file/URL references until successful
	var alts=referenceList.split("|");
	var fallbackName="";
	for (var a=0; a<alts.length; a++) { var src=alts[a];

		// if tiddler (or shadow) exists, replace reference list with current source name and apply core handler
		if (store.getTiddlerText(src)) {
			arguments[2][0]=src; // params[] array
			var p=arguments[4].split(referenceList); arguments[4]=p[0]+src+p[1]; // paramString
			this.externalTiddlers_handler.apply(this,arguments);
			break; // stop processing alternatives
		}

		// if tiddler doesn't exist, but is not a valid external file/URL reference... skip it
		if (!config.formatterHelpers.isExternalLink(src)) {
			if (!fallbackName.length) fallbackName=src; // use this src as title for cached tiddler
			continue;
		}

		// separate 'permaview' list of tiddlers (if any) from file/URL (i.e., '#name name name..." suffix)
		var p=src.split("#"); src=p[0]; var tids=p[1]?p[1].readBracketedList(false):[];

		// if reference is to a remotely hosted document or the current document is remotely hosted...
		if (src.substr(0,4)=="http" || document.location.protocol.substr(0,4)=="http") {
			if (src.substr(0,4)!="http") // fixup URL for relative remote references
				{ var h=document.location.href; src=h.substr(0,h.lastIndexOf("/")+1)+src; }
			// create placeholder and assign GUID (globally unique ID) for async rendering
			var wrapper = createTiddlyElement(place,"span",null,className);
			wrapper.id=new Date().getTime()+Math.random().toString();
			var x=loadRemoteFile( src,function(success,params,text,src,xhr) { // ASYNC CALLBACK
				if (!success) { displayMessage(xhr.status); return; } // couldn't read remote file... report the error 
				if (params.fallbackName.length)
					addTiddler(params.url,text,params.tids.length?params.tids:[params.fallbackName]); // import tiddler
				var wrapper=document.getElementById(params.id); if (!wrapper) return; 
				wikify(substitute(extract(text,params.tids),params.args),wrapper); // ASYNC RENDER
			}, { url:src, id:wrapper.id, args:args, tids:tids, fallbackName:fallbackName } ); // ASYNC PARAMS
			if (typeof(x)=="string") // couldn't start XMLHttpRequest... report error
				{ displayMessage("error: cannot access "+src); displayMessage(x); }
			break; // can't tell if async read will succeed.... stop processing alternatives anyway.
		}
		else { // read file from local filesystem
			var text=loadFile(getLocalPath(src));
			if (!text) { // couldn't load file... fixup path for relative reference and retry...
				var h=document.location.href;
				var text=loadFile(getLocalPath(decodeURI(h.substr(0,h.lastIndexOf("/")+1)))+src);
			}
			if (text) { // test it again... if file was loaded OK, render it in a className wrapper
				if (fallbackName.length) // create new tiddler using primary source name (if any)
					addTiddler(src,text,tids.length?tids:[fallbackName]);
				var wrapper=createTiddlyElement(place,"span",null,className);
				wikify(substitute(extract(text,tids),args),wrapper); // render
				break; // stop processing alternatives
			}
		}
	}
};
//}}}
<html>
	
	<iframe src="Newsletter Feb 2007.htm"
		style="background:#fff;width:170%;height:400px">
	</iframe>
</html>
<html>
	
	<iframe src="Newsletter 2008 February.htm"
		style="background:#fff;width:170%;height:500px">
	</iframe>
</html>
!for people with Alberta Health and Wellness (government) coverage:
| ''item'' | ''price'' |
| first visit | $40.00 |
| normal visit | $20.00 |
| child's first visit | $30.00 |
| child's normal visit | $10.00 |

!for people ''//without//'' Alberta Health and Wellness (government) coverage:
| ''item'' | ''price'' |
| first visit | $55.00 |
| normal visit | $35.00 |
| child's first visit | $45.00 |
| child's normal visit | $25.00 |

!Orthotics (custom made arch supports)								
|	 	orthotic inserts	 	|	 	$325.00	 	|
|	 	orthotic shoes	 	|	 	$425.00	 	|
|	 	orthotic steel toed boots	 	|	 	$450.00	 	|
{{left{
<html><img src="images/Pic_stretch_fig-4.JPG" style="height: 250px; "/></html>}}}

''1) cross one ankle over the other knee, 
2) keep your back straight, and 
3) lean forward as far as you can''



''hold for 60 seconds 
don't bounce''


//make sure you do both sides//

.
[[How does an adjustment help you?]]
[[What makes the cracking sounds?]]
[[Does an adjustment hurt?]]
[[Are there other ways of getting treated besides the "crack" (Adjustment)]]
[[Can you become dependent on adjustments?]]
[[Will you develop arthritis if you crack your knuckles too much?]]
[[Will I have to get X-Rays?]]
[[Does an adjustment hurt?]]
[[When should I use heat vs ice?]]
{{left{
<html><img src="images/Pic_stretch_quads.JPG" style="height: 250px; "/></html>}}}
grab a chair back or something to make sure you don't lose your balance.  
to stretch the left thigh, 
1) grab that ankle behind you with your left hand.  
2) push your knee backwards away from your body.  
3) pull your heel as close to your bum as possible











.
#[[The best flu shot satire of all time, eh?]] by the Royal Canadian Air Farce
#[[Medieval Tech Support]]
#[[9 Words the Women Use]] (its funny because its true!)
#[[How the US Congress Works]]
#[[Bill Maher’s rant about Big Pharma]]
3rd-5th Ocober 2007

Several Osmosoftonians attended the Future of Web Apps (FOWA) event in London this October.  You can find information about the event at the [[FOWA website|http://www.futureofwebapps.com/]]
 There are lots of different things you can do if you want to get involved:
*Do you have a project you'd like to work with us on?
*Are you full of ideas?
Send us an email at [[hello@osmosoft.com|mailto:hello@osmosoft.com]] and show us something you've invented. You can also link to our blogs or our site (actually, we kind of prefer this).
{{left{
<html><img src="images/Pic_stretch_hams.JPG" style="height: 250px; "/></html>}}}
 keep lower back straight, bend forward, but just at the hips, ''  not at the back''
(keep your back straight like a pole)

allow gravity to slowly stretch you as far towards the ground as possible

no bouncing
''cheating'' by sliding your hands down your thigh ''//is okay!//''



.
#((What Color is Your Steak?(language warning! use of the term "Gooberhead"))) see it [[here|What Color is Your Steak?]]
#[[Chiropractic treatment of high blood pressure]]
#[[Autism-vaccine link admitted by CDC]]
#[[Why I left Mainstream Medicine - from a nurse]]
<html>
	<embed src="http://www.cbc.ca/airfarce/vidplayer/AF_single_player.html?/season13/051202m&playerType=wmp" width="480" height="270" bgcolor="#FFFFFF" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="mov=http://s3.amazonaws.com/hl_weekly_videos/ep001_show_v203_web480.swf&buttons=http://hightowerdownload.com/f/buttons.swf&playpause=http://hightowerdownload.com/f/playpause.swf&autoplay=stop&signup=http://hightowerdownload.com/signup&forward=http://hightowerdownload.com/forward/26&share=http://hightowerdownload.com/node/26#share" />
</html>
/***
|Name|HoverMenuPlugin|
|Created by|SaqImtiaz|
|Location|http://tw.lewcid.org/#HoverMenuPlugin|
|Version|1.11|
|Requires|~TW2.x|
!Description:
Provides a hovering menu on the edge of the screen for commonly used commands, that scrolls with the page.

!Demo:
Observe the hovering menu on the right edge of the screen.

!Installation:
Copy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW.
To customize your HoverMenu, edit the HoverMenu shadow tiddler.

To customize whether the menu sticks to the right or left edge of the screen, and its start position, edit the HoverMenu configuration settings part of the code below. It's well documented, so don't be scared!

The menu has an id of hoverMenu, in case you want to style the buttons in it using css.

!Notes:
Since the default HoverMenu contains buttons for toggling the side bar and jumping to the top of the screen and to open tiddlers, the ToggleSideBarMacro, JumpMacro and the JumpToTopMacro are included in this tiddler, so you dont need to install them separately. Having them installed separately as well could lead to complications.

If you dont intend to use these three macros at all, feel free to remove those sections of code in this tiddler.

!To Do:
* rework code to allow multiple hovering menus in different positions, horizontal etc.
* incorporate code for keyboard shortcuts that correspond to the buttons in the hovermenu

!History:
*03-08-06, ver 1.1.2: compatibility fix with SelectThemePlugin
*03-08-06,  ver 1.11: fixed error with button tooltips
*27-07-06, ver 1.1 : added JumpMacro to hoverMenu
*23-07-06

!Code
***/

/***
start HoverMenu plugin code
***/
//{{{
config.hoverMenu={};
//}}}

/***
HoverMenu configuration settings
***/
//{{{
config.hoverMenu.settings={
               align: 'right',    //align menu to right or left side of screen, possible values are 'right' and 'left'               
               x: 1,              // horizontal distance of menu from side of screen, increase to your liking.
               y: 158            //vertical distance of menu from top of screen at start, increase or decrease to your liking
               };
//}}}

//{{{
//continue HoverMenu plugin code
config.hoverMenu.handler=function()
{              
               if (!document.getElementById("hoverMenu"))
               {
               var theMenu = createTiddlyElement(document.getElementById("contentWrapper"), "div","hoverMenu");
               theMenu.setAttribute("refresh","content");
               theMenu.setAttribute("tiddler","HoverMenu");
               var menuContent = store.getTiddlerText("HoverMenu");
               wikify(menuContent,theMenu);
              }

	       var Xloc = this.settings.x;
	       Yloc =this.settings.y;
	       var ns = (navigator.appName.indexOf("Netscape") != -1);
	       function SetMenu(id)
                        {
		        var GetElements=document.getElementById?document.getElementById(id):document.all?document.all[id]:document.layers[id];
		        if(document.layers)GetElements.style=GetElements;
		        GetElements.sP=function(x,y){this.style[config.hoverMenu.settings.align]=x +"px";this.style.top=y +"px";};
		        GetElements.x = Xloc;
		        GetElements.y = findScrollY();
		        GetElements.y += Yloc;
		        return GetElements;
	                }
               window.LoCate_XY=function()
                        {
		        var pY =  findScrollY();
                        ftlObj.y += (pY + Yloc - ftlObj.y)/15;
		        ftlObj.sP(ftlObj.x, ftlObj.y);
		        setTimeout("LoCate_XY()", 10);
	                }
               ftlObj = SetMenu("hoverMenu");
	       LoCate_XY();
};

window.old_lewcid_hovermenu_restart = restart;
restart = function()
{
               window.old_lewcid_hovermenu_restart();
               config.hoverMenu.handler();
};

setStylesheet(
"#hoverMenu .imgLink, #hoverMenu .imgLink:hover {border:none; padding:0px; float:right; margin-bottom:2px; margin-top:0px;}\n"+
"#hoverMenu  .button, #hoverMenu  .tiddlyLink {border:none; font-weight:bold; background:#18f; color:#FFF; padding:0 5px; float:right; margin-bottom:4px;}\n"+
"#hoverMenu .button:hover, #hoverMenu .tiddlyLink:hover {font-weight:bold; border:none; color:#fff; background:#000; padding:0 5px; float:right; margin-bottom:4px;}\n"+
"#hoverMenu .button {width:100%; text-align:center}"+
"#hoverMenu { position:absolute; width:7px;}\n"+
"\n","hoverMenuStyles");


config.macros.renameButton={};
config.macros.renameButton.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{

               if (place.lastChild.tagName!="BR")
                     {
                      place.lastChild.firstChild.data = params[0];
                      if (params[1]) {place.lastChild.title = params[1];}
                     }
};

config.shadowTiddlers["HoverMenu"]="<<top>>\n<<toggleSideBar>><<renameButton '>' >>\n<<jump j '' top>>\n<<saveChanges>><<renameButton s 'Save TiddlyWiki'>>\n<<newTiddler>><<renameButton n>>\n";
//}}}
//end HoverMenu plugin code

//Start ToggleSideBarMacro code
//{{{
config.macros.toggleSideBar={};

config.macros.toggleSideBar.settings={
         styleHide :  "#sidebar { display: none;}\n"+"#contentWrapper #displayArea { margin-right: 1em;}\n"+"",
         styleShow : " ",
         arrow1: "«",
         arrow2: "»"
};

config.macros.toggleSideBar.handler=function (place,macroName,params,wikifier,paramString,tiddler)
{
          var tooltip= params[1]||'toggle sidebar';
          var mode = (params[2] && params[2]=="hide")? "hide":"show";
          var arrow = (mode == "hide")? this.settings.arrow1:this.settings.arrow2;
          var label= (params[0]&&params[0]!='.')?params[0]+" "+arrow:arrow;
          var theBtn = createTiddlyButton(place,label,tooltip,this.onToggleSideBar,"button HideSideBarButton");
          if (mode == "hide")
             { 
             (document.getElementById("sidebar")).setAttribute("toggle","hide");
              setStylesheet(this.settings.styleHide,"ToggleSideBarStyles");
             }
};

config.macros.toggleSideBar.onToggleSideBar = function(){
          var sidebar = document.getElementById("sidebar");
          var settings = config.macros.toggleSideBar.settings;
          if (sidebar.getAttribute("toggle")=='hide')
             {
              setStylesheet(settings.styleShow,"ToggleSideBarStyles");
              sidebar.setAttribute("toggle","show");
              this.firstChild.data= (this.firstChild.data).replace(settings.arrow1,settings.arrow2);
              }
          else
              {    
               setStylesheet(settings.styleHide,"ToggleSideBarStyles");
               sidebar.setAttribute("toggle","hide");
               this.firstChild.data= (this.firstChild.data).replace(settings.arrow2,settings.arrow1);
              }

     return false;
}

setStylesheet(".HideSideBarButton .button {font-weight:bold; padding: 0 5px;}\n","ToggleSideBarButtonStyles");
//}}}
//end ToggleSideBarMacro code

//start JumpToTopMacro code
//{{{
config.macros.top={};
config.macros.top.handler=function(place,macroName)
{
               createTiddlyButton(place,"^","jump to top",this.onclick);
}
config.macros.top.onclick=function()
{
               window.scrollTo(0,0);
};

config.commands.top =
{
               text:" ^ ",
               tooltip:"jump to top"
};

config.commands.top.handler = function(event,src,title)
{
               window.scrollTo(0,0);
}
//}}}
//end JumpToStartMacro code

//start JumpMacro code
//{{{
config.macros.jump= {};
config.macros.jump.handler = function (place,macroName,params,wikifier,paramString,tiddler)
{
        var label = (params[0] && params[0]!=".")? params[0]: 'jump';
        var tooltip = (params[1] && params[1]!=".")? params[1]: 'jump to an open tiddler';
        var top = (params[2] && params[2]=='top') ? true: false;        

        var btn =createTiddlyButton(place,label,tooltip,this.onclick);
        if (top==true)
              btn.setAttribute("top","true")
}

config.macros.jump.onclick = function(e)
{
        if (!e) var e = window.event;
        var theTarget = resolveTarget(e);
        var top = theTarget.getAttribute("top");
	var popup = Popup.create(this);
	if(popup)
		{
                 if(top=="true")
                                {createTiddlyButton(createTiddlyElement(popup,"li"),'Top ↑','Top of TW',config.macros.jump.top);
                                 createTiddlyElement(popup,"hr");}
		
		story.forEachTiddler(function(title,element) {
			createTiddlyLink(createTiddlyElement(popup,"li"),title,true);
			});
                }
	Popup.show(popup,false);
	e.cancelBubble = true;
	if (e.stopPropagation) e.stopPropagation();
	return false;
}

config.macros.jump.top = function()
{
       window.scrollTo(0,0);
}
//}}}
//end JumpMacro code

//utility functions
//{{{
Popup.show = function(unused,slowly)
{
	var curr = Popup.stack[Popup.stack.length-1];
	var rootLeft = findPosX(curr.root);
	var rootTop = findPosY(curr.root);
	var rootHeight = curr.root.offsetHeight;
	var popupLeft = rootLeft;
	var popupTop = rootTop + rootHeight;
	var popupWidth = curr.popup.offsetWidth;
	var winWidth = findWindowWidth();
        if (isChild(curr.root,'hoverMenu'))
              var x = config.hoverMenu.settings.x;
        else
              var x = 0;
	if(popupLeft + popupWidth+x > winWidth)
		popupLeft = winWidth - popupWidth -x;
        if (isChild(curr.root,'hoverMenu'))
  	        {curr.popup.style.right = x + "px";}
        else
                curr.popup.style.left = popupLeft + "px";
	curr.popup.style.top = popupTop + "px";
	curr.popup.style.display = "block";
	addClass(curr.root,"highlight");
	if(config.options.chkAnimate)
		anim.startAnimating(new Scroller(curr.popup,slowly));
	else
		window.scrollTo(0,ensureVisible(curr.popup));
}

window.isChild = function(e,parentId) {
        while (e != null) {
                var parent = document.getElementById(parentId);
                if (parent == e) return true;
                e = e.parentNode;
                }
        return false;
};
//}}}


1.  What is an adjustment? (click the arrow) +++
<<tiddler Adjustment>> ===


2.  To understand how an adjustment works, you need to understand about the muscles that support and move the spine:+++ 
<<<
 <<tiddler SpinalMuscles>> 
<<<
===


3.  An adjustment helps then by stimulating specialized nerve endings around the joint being adjusted.  A nerve signal is then sent to the deep segmental muscles that have tightened up, telling them to let go.
<html><object width="464" height="388" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"><param name="movie" value="http://www2.funnyordie.com/public/flash/fodplayer.swf?6924" /><param name="flashvars" value="key=26b0d09397" /><param name="allowfullscreen" value="true" /><embed width="464" height="388" flashvars="key=26b0d09397" allowfullscreen="true" quality="high" src="http://www2.funnyordie.com/public/flash/fodplayer.swf?6924" type="application/x-shockwave-flash"></embed></object><noscript><a href="http://www.funnyordie.com/videos/26b0d09397">Uncle Jay Explains the News - July 2, 2007</a> on <a href="http://www.funnyordie.com/">FunnyOrDie.com</a></noscript></html>
TiddlyWiki is widley discussed in the TiddlyWiki IRC channel.  You can often find [[Osmosoftonians|Osmosoftonian]] hanging out there along with many experineced TiddlyWiki users and developers.

[[irc://irc.freenode.net/tiddlywiki|irc://irc.freenode.net/tiddlywiki]]
Osmosoft.com is a single TiddlyWiki file, which means you can download the whole thing in one go and change it as much as you like. Right-click [[this link|http://www.osmosoft.com/index.html]] and select "save link as..." or "save target as..." to download a copy.

We'd love to see your ideas for how we can improve Osmosoft.com and if you want to take a copy and change it, even better. TiddlyWiki has a [[thriving community|http://www.tiddlywiki.com/#Community%20HelloThere%20Release2.2%20GettingStarted%20MainFeatures%20Feedback]] of developers who can help you get started if you've never worked with a TiddlyWiki before.

Please see the [[Get involved]] tiddler for more information.
<<include "CCNewsletterTW.html">>
/***
|''Name:''|abego.IncludePlugin|
|''Version:''|1.0.1 (2007-04-30)|
|''Type:''|plugin|
|''Source:''|http://tiddlywiki.abego-software.de/#IncludePlugin|
|''Author:''|Udo Borkowski (ub [at] abego-software [dot] de)|
|''Documentation:''|[[IncludePlugin Documentation|http://tiddlywiki.abego-software.de/#%5B%5BIncludePlugin%20Documentation%5D%5D]]|
|''Community:''|([[del.icio.us|http://del.icio.us/post?url=http://tiddlywiki.abego-software.de/index.html%23IncludePlugin]]) ([[Support|http://groups.google.com/group/TiddlyWiki]])|
|''Copyright:''|&copy; 2007 [[abego Software|http://www.abego-software.de]]|
|''Licence:''|[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]|
|''~CoreVersion:''|2.1.3|
|''Browser:''|Firefox 1.5.0.9 or better; Internet Explorer 6.0|
***/
/***
This plugin's source code is compressed (and hidden). Use this [[link|http://tiddlywiki.abego-software.de/archive/IncludePlugin/Plugin-Include-src.1.0.0.js]] to get the readable source code.
***/
///%
if(!window.abego){window.abego={};}var invokeLater=function(_1,_2,_3){return abego.invokeLater?abego.invokeLater(_1,_2,_3):setTimeout(_1,_2);};abego.loadFile=function(_4,_5,_6){var _7=function(_8,_9,_a,_b,_c){return _8?_5(_a,_b,_9):_5(undefined,_b,_9,"Error loading %0".format([_b]));};if(_4.search(/^((http(s)?)|(file)):/)!=0){if(_4.search(/^((.\:\\)|(\\\\)|(\/))/)==0){_4="file://"+_4;}else{var _d=document.location.toString();var i=_d.lastIndexOf("/");_4=_d.substr(0,i+1)+_4;}_4=_4.replace(/\\/mg,"/");}loadRemoteFile(_4,_7,_6);};abego.loadTiddlyWikiStore=function(_f,_10,_11,_12){var _13=function(_14,_15){if(_12){_12(_14,"abego.loadTiddlyWikiStore",_15,_f,_11);}};var _16=function(_17,_18){var _19=_18.indexOf(startSaveArea);var _1a=_18.indexOf("<!--POST-BODY-END--"+">");var _1b=_18.lastIndexOf(endSaveArea,_1a==-1?_18.length:_1a);if((_19==-1)||(_1b==-1)){return config.messages.invalidFileError.format([_f]);}var _1c="<html><body>"+_18.substring(_19,_1b+endSaveArea.length)+"</body></html>";var _1d=document.createElement("iframe");_1d.style.display="none";document.body.appendChild(_1d);var doc=_1d.document;if(_1d.contentDocument){doc=_1d.contentDocument;}else{if(_1d.contentWindow){doc=_1d.contentWindow.document;}}doc.open();doc.writeln(_1c);doc.close();var _1f=doc.getElementById("storeArea");_17.loadFromDiv(_1f,"store");_1d.parentNode.removeChild(_1d);return null;};var _20=function(_21){_13("Error when loading %0".format([_f]),"Failed");_10(undefined,_f,_11,_21);return _21;};var _22=function(_23){_13("Loaded %0".format([_f]),"Done");_10(_23,_f,_11);return null;};var _24=function(_25,_26,_27,_28){if(_25===undefined){_20(_28);return;}_13("Processing %0".format([_f]),"Processing");var _29=config.messages.invalidFileError;config.messages.invalidFileError="The file '%0' does not appear to be a valid TiddlyWiki file";try{var _2a=new TiddlyWiki();var _2b=_16(_2a,_25);if(_2b){_20(_2b);}else{_22(_2a);}}catch(ex){_20(exceptionText(ex));}finally{config.messages.invalidFileError=_29;}};_13("Start loading %0".format([_f]),"Started");abego.loadFile(_f,_24,_11);};(function(){if(abego.TiddlyWikiIncluder){return;}var _2c="waiting";var _2d="loading";var _2e=1000;var _2f=-200;var _30=-100;var _31=-300;var _32;var _33=[];var _34={};var _35=[];var _36;var _37=[];var _38;var _39=function(){if(_32===undefined){_32=config.options.chkUseInclude===undefined||config.options.chkUseInclude;}return _32;};var _3a=function(url){return "No include specified for %0".format([url]);};var _3c=function(){var _3d=_35;_35=[];if(_3d.length){for(var i=0;i<_37.length;i++){_37[i](_3d);}}};var _3f;var _40=function(){if(_36!==undefined){clearInterval(_36);}_3f=0;var _41=function(){abego.TiddlyWikiIncluder.sendProgress("","","Done");};_36=setInterval(function(){_3f++;if(_3f<=10){return;}clearInterval(_36);_36=undefined;abego.TiddlyWikiIncluder.sendProgress("Refreshing...","","");refreshDisplay();invokeLater(_41,0,_2f);},1);};var _42=function(_43){var _44;for(var i=0;i<_33.length;i++){var _46=abego.TiddlyWikiIncluder.getStore(_33[i]);if(_46&&(_44=_43(_46,_33[i]))){return _44;}}};var _47=function(){if(!window.store){return invokeLater(_47,100);}var _48=store.fetchTiddler;store.fetchTiddler=function(_49){var t=_48.apply(this,arguments);if(t){return t;}if(config.shadowTiddlers[_49]!==undefined){return undefined;}if(_49==config.macros.newTiddler.title){return undefined;}return _42(function(_4b,url){var t=_4b.fetchTiddler(_49);if(t){t.includeURL=url;}return t;});};if(_33.length){_40();}};var _4e=function(){if(!window.store){return invokeLater(_4e,100);}var _4f=store.getTiddlerText("IncludeList");if(_4f){wikify(_4f,document.createElement("div"));}};var _50=function(_51){var _52=function(){var _53=store.forEachTiddler;var _54=function(_55){var _56={};var _57;var _58=function(_59,_5a){if(_56[_59]){return;}_56[_59]=1;if(_57){_5a.includeURL=_57;}_55.apply(this,arguments);};_53.call(store,_58);for(var n in config.shadowTiddlers){_56[n]=1;}_56[config.macros.newTiddler.title]=1;_42(function(_5c,url){_57=url;_5c.forEachTiddler(_58);});};store.forEachTiddler=_54;try{return _51.apply(this,arguments);}finally{store.forEachTiddler=_53;}};return _52;};var _5e=function(_5f,_60){return _5f[_60]=_50(_5f[_60]);};abego.TiddlyWikiIncluder={};abego.TiddlyWikiIncluder.setProgressFunction=function(_61){_38=_61;};abego.TiddlyWikiIncluder.getProgressFunction=function(_62){return _38;};abego.TiddlyWikiIncluder.sendProgress=function(_63,_64,_65){if(_38){_38.apply(this,arguments);}};abego.TiddlyWikiIncluder.onError=function(url,_67){displayMessage("Error when including '%0':\n%1".format([url,_67]));};abego.TiddlyWikiIncluder.hasPendingIncludes=function(){for(var i=0;i<_33.length;i++){var _69=abego.TiddlyWikiIncluder.getState(_33[i]);if(_69==_2c||_69==_2d){return true;}}return false;};abego.TiddlyWikiIncluder.getIncludes=function(){return _33.slice();};abego.TiddlyWikiIncluder.getState=function(url){var s=_34[url];if(!s){return _3a(url);}return typeof s=="string"?s:null;};abego.TiddlyWikiIncluder.getStore=function(url){var s=_34[url];if(!s){return _3a(url);}return s instanceof TiddlyWiki?s:null;};abego.TiddlyWikiIncluder.include=function(url,_6f){if(!_39()||_34[url]){return;}var _70=this;_33.push(url);_34[url]=_2c;var _71=function(_72,_73,_74,_75){if(_72===undefined){_34[url]=_75;_70.onError(url,_75);return;}_34[url]=_72;_35.push(url);invokeLater(_3c);};var _76=function(){_34[url]=_2d;abego.loadTiddlyWikiStore(url,_71,null,_38);};if(_6f){invokeLater(_76,_6f);}else{_76();}};abego.TiddlyWikiIncluder.forReallyEachTiddler=function(_77){var _78=function(){store.forEachTiddler(_77);};_50(_78).call(store);};abego.TiddlyWikiIncluder.getFunctionUsingForReallyEachTiddler=_50;abego.TiddlyWikiIncluder.useForReallyEachTiddler=_5e;abego.TiddlyWikiIncluder.addListener=function(_79){_37.push(_79);};abego.TiddlyWikiIncluder.addListener(_40);if(config.options.chkUseInclude===undefined){config.options.chkUseInclude=true;}config.shadowTiddlers.AdvancedOptions+="\n<<option chkUseInclude>> Include ~TiddlyWikis (IncludeList | IncludeState | [[help|http://tiddlywiki.abego-software.de/#%5B%5BIncludePlugin%20Documentation%5D%5D]])\n^^(Reload this ~TiddlyWiki to make changes become effective)^^";config.shadowTiddlers.IncludeState="<<includeState>>";var _7a=function(e,_7c,_7d){if(!anim||!abego.ShowAnimation){e.style.display=_7c?"block":"none";return;}anim.startAnimating(new abego.ShowAnimation(e,_7c,_7d));};abego.TiddlyWikiIncluder.getDefaultProgressFunction=function(){setStylesheet(".includeProgressState{\n"+"background-color:#FFCC00;\n"+"position:absolute;\n"+"right:0.2em;\n"+"top:0.2em;\n"+"width:7em;\n"+"padding-left:0.2em;\n"+"padding-right:0.2em\n"+"}\n","abegoInclude");var _7e=function(){var e=document.createElement("div");e.className="includeProgressState";e.style.display="none";document.body.appendChild(e);return e;};var _80=_7e();var _81=function(_82){removeChildren(_80);createTiddlyText(_80,_82);_7a(_80,true,0);};var _83=function(){invokeLater(function(){_7a(_80,false,_2e);},100,_30);};var _84=function(_85,_86,_87,url,_89){if(_87=="Done"||_87=="Failed"){_83();return;}if(_86=="abego.loadTiddlyWikiStore"){_3f=0;if(_87=="Processing"){_81("Including...");}}else{_81(_85);}};return _84;};abego.TiddlyWikiIncluder.setProgressFunction(abego.TiddlyWikiIncluder.getDefaultProgressFunction());config.macros.include={};config.macros.include.handler=function(_8a,_8b,_8c,_8d,_8e,_8f){_8c=_8e.parseParams("url",null,true,false,true);var _90=parseInt(getParam(_8c,"delay","0"));var _91=_8c[0]["url"];var _92=getFlag(_8c,"hide",false);if(!_92){createTiddlyText(createTiddlyElement(_8a,"code"),_8d.source.substring(_8d.matchStart,_8d.nextMatch));}for(var i=0;_91&&i<_91.length;i++){abego.TiddlyWikiIncluder.include(_91[i],_90);}};config.macros.includeState={};config.macros.includeState.handler=function(_94,_95,_96,_97,_98,_99){var _9a=function(){var s="";var _9c=abego.TiddlyWikiIncluder.getIncludes();if(!_9c.length){return "{{noIncludes{\nNo includes or 'include' is disabled (see AdvancedOptions)\n}}}\n";}s+="|!Address|!State|\n";for(var i=0;i<_9c.length;i++){var inc=_9c[i];s+="|{{{"+inc+"}}}|";var t=abego.TiddlyWikiIncluder.getState(inc);s+=t?"{{{"+t+"}}}":"included";s+="|\n";}s+="|includeState|k\n";return s;};var _a0=function(){removeChildren(div);wikify(_9a(),div);if(abego.TiddlyWikiIncluder.hasPendingIncludes()){invokeLater(_a0,500,_31);}};var div=createTiddlyElement(_94,"div");invokeLater(_a0,0,_31);};var _a2=Tiddler.prototype.isReadOnly;Tiddler.prototype.isReadOnly=function(){return _a2.apply(this,arguments)||this.isIncluded();};Tiddler.prototype.isIncluded=function(){return this.includeURL!=undefined;};Tiddler.prototype.getIncludeURL=function(){return this.includeURL;};var _a3={getMissingLinks:1,getOrphans:1,getTags:1,reverseLookup:1,updateTiddlers:1};for(var n in _a3){_5e(TiddlyWiki.prototype,n);}var _a5=function(){if(abego.IntelliTagger){_5e(abego.IntelliTagger,"assistTagging");}};var _a6=function(){if(config.macros.forEachTiddler){_5e(config.macros.forEachTiddler,"findTiddlers");}};_47();invokeLater(_4e,100);invokeLater(_a5,100);invokeLater(_a6,100);})();
//%/
/***
|''Name:''|~IntelliTaggerPlugin|
|''Version:''|1.0.0 (2006-04-26)|
|''Type:''|plugin|
|''Source:''|http://tiddlywiki.abego-software.de/#IntelliTaggerPlugin|
|''Author:''|Udo Borkowski (ub [at] abego-software [dot] de)|
|''Documentation:''|[[IntelliTaggerPlugin Documentation]]|
|''Source Code:''|[[IntelliTaggerPlugin SourceCode]]|
|''Licence:''|[[BSD open source license (abego Software)]]|
|''~TiddlyWiki:''|Version 2.0.8 or better|
|''Browser:''|Firefox 1.5.0.2 or better|

***/
// /%
if(!version.extensions.IntelliTaggerPlugin){if(!window.abego){window.abego={};}if(!abego.internal){abego.internal={};}abego.alertAndThrow=function(s){alert(s);throw s;};if(version.major<2){abego.alertAndThrow("Use TiddlyWiki 2.0.8 or better to run the IntelliTagger Plugin.");}version.extensions.IntelliTaggerPlugin={major:1,minor:0,revision:0,date:new Date(2006,3,26),type:"plugin",source:"http://tiddlywiki.abego-software.de/#IntelliTaggerPlugin",documentation:"[[IntelliTaggerPlugin Documentation]]",sourcecode:"[[IntelliTaggerPlugin SourceCode]]",author:"Udo Borkowski (ub [at] abego-software [dot] de)",licence:"[[BSD open source license (abego Software)]]",tiddlywiki:"Version 2.0.8 or better",browser:"Firefox 1.5.0.2 or better"};abego.isPopupOpen=function(_2){return _2&&_2.parentNode==document.body;};abego.openAsPopup=function(_3){if(_3.parentNode!=document.body){document.body.appendChild(_3);}};abego.closePopup=function(_4){if(abego.isPopupOpen(_4)){document.body.removeChild(_4);}};abego.getWindowRect=function(){return {left:findScrollX(),top:findScrollY(),height:findWindowHeight(),width:findWindowWidth()};};abego.moveElement=function(_5,_6,_7){_5.style.left=_6+"px";_5.style.top=_7+"px";};abego.centerOnWindow=function(_8){if(_8.style.position!="absolute"){throw "abego.centerOnWindow: element must have absolute position";}var _9=abego.getWindowRect();abego.moveElement(_8,_9.left+(_9.width-_8.offsetWidth)/2,_9.top+(_9.height-_8.offsetHeight)/2);};abego.isDescendantOrSelf=function(_a,e){while(e){if(_a==e){return true;}e=e.parentNode;}return false;};abego.toSet=function(_c){var _d={};for(var i=0;i<_c.length;i++){_d[_c[i]]=true;}return _d;};abego.filterStrings=function(_f,_10,_11){var _12=[];for(var i=0;i<_f.length&&(_11===undefined||_12.length<_11);i++){var s=_f[i];if(s.match(_10)){_12.push(s);}}return _12;};abego.arraysAreEqual=function(a,b){var n=a.length;if(n!=b.length){return false;}for(var i=0;i<n;i++){if(a[i]!=b[i]){return false;}}return true;};abego.moveBelowAndClip=function(_19,_1a){if(!_1a){return;}var _1b=findPosX(_1a);var _1c=findPosY(_1a);var _1d=_1a.offsetHeight;var _1e=_1b;var _1f=_1c+_1d;var _20=findWindowWidth();if(_20<_19.offsetWidth){_19.style.width=(_20-100)+"px";}var _21=_19.offsetWidth;if(_1e+_21>_20){_1e=_20-_21-30;}if(_1e<0){_1e=0;}_19.style.left=_1e+"px";_19.style.top=_1f+"px";_19.style.display="block";};abego.compareStrings=function(a,b){return (a==b)?0:(a<b)?-1:1;};abego.sortIgnoreCase=function(arr){var _25=[];var n=arr.length;for(var i=0;i<n;i++){var s=arr[i];_25.push([s.toString().toLowerCase(),s]);}_25.sort(function(a,b){return (a[0]==b[0])?0:(a[0]<b[0])?-1:1;});for(i=0;i<n;i++){arr[i]=_25[i][1];}};abego.getTiddlerField=function(_2b,_2c,_2d){var _2e=document.getElementById(_2b.idPrefix+_2c);var e=null;if(_2e!=null){var _30=_2e.getElementsByTagName("*");for(var t=0;t<_30.length;t++){var c=_30[t];if(c.tagName.toLowerCase()=="input"||c.tagName.toLowerCase()=="textarea"){if(!e){e=c;}if(c.getAttribute("edit")==_2d){e=c;}}}}return e;};abego.setRange=function(_33,_34,end){if(_33.setSelectionRange){_33.setSelectionRange(_34,end);var max=0+_33.scrollHeight;var len=_33.textLength;var top=max*_34/len,bot=max*end/len;_33.scrollTop=Math.min(top,(bot+top-_33.clientHeight)/2);}else{if(_33.createTextRange!=undefined){var _39=_33.createTextRange();_39.collapse();_39.moveEnd("character",end);_39.moveStart("character",_34);_39.select();}else{_33.select();}}};abego.internal.TagManager=function(){var _3a=null;var _3b=function(){if(_3a){return;}_3a={};store.forEachTiddler(function(_3c,_3d){for(var i=0;i<_3d.tags.length;i++){var tag=_3d.tags[i];var _40=_3a[tag];if(!_40){_40=_3a[tag]={count:0,tiddlers:{}};}_40.tiddlers[_3d.title]=true;_40.count+=1;}});};var _41=TiddlyWiki.prototype.saveTiddler;TiddlyWiki.prototype.saveTiddler=function(_42,_43,_44,_45,_46,_47){var _48=this.fetchTiddler(_42);var _49=_48?_48.tags:[];var _4a=(typeof _47=="string")?_47.readBracketedList():_47;_41.apply(this,arguments);if(!abego.arraysAreEqual(_49,_4a)){abego.internal.getTagManager().reset();}};var _4b=TiddlyWiki.prototype.removeTiddler;TiddlyWiki.prototype.removeTiddler=function(_4c){var _4d=this.fetchTiddler(_4c);var _4e=_4d&&_4d.tags.length>0;_4b.apply(this,arguments);if(_4e){abego.internal.getTagManager().reset();}};this.reset=function(){_3a=null;};this.getTiddlersWithTag=function(tag){_3b();var _50=_3a[tag];return _50?_50.tiddlers:null;};this.getAllTags=function(_51){_3b();var _52=[];for(var i in _3a){_52.push(i);}for(i=0;_51&&i<_51.length;i++){_52.pushUnique(_51[i],true);}abego.sortIgnoreCase(_52);return _52;};this.getTagInfos=function(){_3b();var _54=[];for(var _55 in _3a){_54.push([_55,_3a[_55]]);}return _54;};var _56=function(a,b){var a1=a[1];var b1=b[1];var d=b[1].count-a[1].count;return d!=0?d:abego.compareStrings(a[0].toLowerCase(),b[0].toLowerCase());};this.getSortedTagInfos=function(){_3b();var _5c=this.getTagInfos();_5c.sort(_56);return _5c;};this.getPartnerRankedTags=function(_5d){var _5e={};for(var i=0;i<_5d.length;i++){var _60=this.getTiddlersWithTag(_5d[i]);for(var _61 in _60){var _62=store.getTiddler(_61);if(!(_62 instanceof Tiddler)){continue;}for(var j=0;j<_62.tags.length;j++){var tag=_62.tags[j];var c=_5e[tag];_5e[tag]=c?c+1:1;}}}var _66=abego.toSet(_5d);var _67=[];for(var n in _5e){if(!_66[n]){_67.push(n);}}_67.sort(function(a,b){var d=_5e[b]-_5e[a];return d!=0?d:abego.compareStrings(a.toLowerCase(),b.toLowerCase());});return _67;};};abego.internal.getTagManager=function(){if(!abego.internal.gTagManager){abego.internal.gTagManager=new abego.internal.TagManager();}return abego.internal.gTagManager;};(function(){var _6c=2;var _6d=1;var _6e=30;var _6f;var _70;var _71;var _72;var _73;var _74;if(!abego.IntelliTagger){abego.IntelliTagger={};}var _75=function(){return _70;};var _76=function(tag){return _73[tag];};var _78=function(s){var i=s.lastIndexOf(" ");return (i>=0)?s.substr(0,i):"";};var _7b=function(_7c){var s=_7c.value;var len=s.length;return (len>0&&s[len-1]!=" ");};var _7f=function(_80){var s=_80.value;var len=s.length;if(len>0&&s[len-1]!=" "){_80.value+=" ";}};var _83=function(tag,_85,_86){if(_7b(_85)){_85.value=_78(_85.value);}story.setTiddlerTag(_86.title,tag,0);_7f(_85);abego.IntelliTagger.assistTagging(_85,_86);};var _87=function(n){if(_74){if(_74.length>n){return _74[n];}n-=_74.length;}return (_72&&_72.length>n)?_72[n]:null;};var _89=function(n,_8b,_8c){var _8d=_87(n);if(_8d){_83(_8d,_8b,_8c);}};var _8e=function(_8f){var pos=_8f.value.lastIndexOf(" ");var _91=(pos>=0)?_8f.value.substr(++pos,_8f.value.length):_8f.value;return new RegExp(_91.escapeRegExp(),"i");};var _92=function(_93,_94){var _95=0;for(var i=0;i<_93.length;i++){if(_94[_93[i]]){_95++;}}return _95;};var _97=function(_98,_99,_9a){var _9b=1;var c=_98[_99];for(var i=_99+1;i<_98.length;i++){if(_98[i][1].count==c){if(_98[i][0].match(_9a)){_9b++;}}else{break;}}return _9b;};var _9e=function(_9f,_a0){var _a1=abego.internal.getTagManager().getSortedTagInfos();var _a2=[];var _a3=0;for(var i=0;i<_a1.length;i++){var c=_a1[i][1].count;if(c!=_a3){if(_a0&&(_a2.length+_97(_a1,i,_9f)>_a0)){break;}_a3=c;}if(c==1){break;}var s=_a1[i][0];if(s.match(_9f)){_a2.push(s);}}return _a2;};var _a7=function(_a8,_a9){return abego.filterStrings(abego.internal.getTagManager().getAllTags(_a9),_a8);};var _aa=function(){if(!_6f){return;}var _ab=store.getTiddlerText("IntelliTaggerMainTemplate");if(!_ab){_ab="<b>Tiddler IntelliTaggerMainTemplate not found</b>";}_6f.innerHTML=_ab;applyHtmlMacros(_6f,null);refreshElements(_6f,null);};var _ac=function(e){if(!e){var e=window.event;}var tag=this.getAttribute("tag");if(_71){_71.call(this,tag,e);}return false;};var _af=function(_b0,_b1,_b2,_b3){if(!_b1){return;}var _b4=_b3?abego.toSet(_b3):{};var n=_b1.length;for(var i=0;i<n;i++){var tag=_b1[i];if(_b4[tag]){continue;}if(i>0){createTiddlyElement(_b0,"span",null,"tagSeparator"," | ");}var _b8="";var _b9=_b0;if(_b2<10){_b9=createTiddlyElement(_b0,"span",null,"numberedSuggestion");_b2++;var key=_b2<10?""+(_b2):"0";createTiddlyElement(_b9,"span",null,"suggestionNumber",key+") ");var _bb=_b2==1?"Ctrl-Space or ":"";_b8=" (Shortcut: %1Alt-%0)".format([key,_bb]);}var _bc=config.views.wikified.tag.tooltip.format([tag]);var _bd=(_76(tag)?"Remove tag '%0'%1":"Add tag '%0'%1").format([tag,_b8]);var _be="%0; Shift-Click: %1".format([_bd,_bc]);var btn=createTiddlyButton(_b9,tag,_be,_ac,_76(tag)?"currentTag":null);btn.setAttribute("tag",tag);}};var _c0=function(){if(_6f){window.scrollTo(0,ensureVisible(_6f));}if(_75()){window.scrollTo(0,ensureVisible(_75()));}};var _c1=function(e){if(!e){var e=window.event;}if(!_6f){return;}var _c3=resolveTarget(e);if(_c3==_75()){return;}if(abego.isDescendantOrSelf(_6f,_c3)){return;}abego.IntelliTagger.close();};addEvent(document,"click",_c1);var _c4=Story.prototype.gatherSaveFields;Story.prototype.gatherSaveFields=function(e,_c6){_c4.apply(this,arguments);var _c7=_c6.tags;if(_c7){_c6.tags=_c7.trim();}};var _c8=function(_c9){story.focusTiddler(_c9,"tags");var _ca=abego.getTiddlerField(story,_c9,"tags");if(_ca){var len=_ca.value.length;abego.setRange(_ca,len,len);window.scrollTo(0,ensureVisible(_ca));}};var _cc=config.macros.edit.handler;config.macros.edit.handler=function(_cd,_ce,_cf,_d0,_d1,_d2){_cc.apply(this,arguments);var _d3=_cf[0];if((_d2 instanceof Tiddler)&&_d3=="tags"){var _d4=_cd.lastChild;_d4.onfocus=function(e){abego.IntelliTagger.assistTagging(_d4,_d2);setTimeout(function(){_c8(_d2.title);},100);};_d4.onkeyup=function(e){if(!e){var e=window.event;}if(e.altKey&&!e.ctrlKey&&!e.metaKey&&(e.keyCode>=48&&e.keyCode<=57)){_89(e.keyCode==48?9:e.keyCode-49,_d4,_d2);}else{if(e.ctrlKey&&e.keyCode==32){_89(0,_d4,_d2);}}setTimeout(function(){abego.IntelliTagger.assistTagging(_d4,_d2);},100);return false;};_7f(_d4);}};var _d7=function(e){if(!e){var e=window.event;}var _d9=resolveTarget(e);var _da=_d9.getAttribute("tiddler");if(_da){story.displayTiddler(_d9,_da,"IntelliTaggerEditTagsTemplate",false);_c8(_da);}return false;};var _db=config.macros.tags.handler;config.macros.tags.handler=function(_dc,_dd,_de,_df,_e0,_e1){_db.apply(this,arguments);abego.IntelliTagger.createEditTagsButton(_e1,createTiddlyElement(_dc.lastChild,"li"));};var _e2=function(){if(_6f&&_70&&!abego.isDescendantOrSelf(document,_70)){abego.IntelliTagger.close();}};setInterval(_e2,100);abego.IntelliTagger.displayTagSuggestions=function(_e3,_e4,_e5,_e6,_e7){_72=_e3;_73=abego.toSet(_e4);_74=_e5;_70=_e6;_71=_e7;if(!_6f){_6f=createTiddlyElement(document.body,"div",null,"intelliTaggerSuggestions");_6f.style.position="absolute";}_aa();abego.openAsPopup(_6f);if(_75()){var w=_75().offsetWidth;if(_6f.offsetWidth<w){_6f.style.width=(w-2*(_6c+_6d))+"px";}abego.moveBelowAndClip(_6f,_75());}else{abego.centerOnWindow(_6f);}_c0();};abego.IntelliTagger.assistTagging=function(_e9,_ea){var _eb=_8e(_e9);var s=_e9.value;if(_7b(_e9)){s=_78(s);}var _ed=s.readBracketedList();var _ee=_ed.length>0?abego.filterStrings(abego.internal.getTagManager().getPartnerRankedTags(_ed),_eb,_6e):_9e(_eb,_6e);abego.IntelliTagger.displayTagSuggestions(_a7(_eb,_ed),_ed,_ee,_e9,function(tag,e){if(e.shiftKey){onClickTag.call(this,e);}else{_83(tag,_e9,_ea);}});};abego.IntelliTagger.close=function(){abego.closePopup(_6f);_6f=null;return false;};abego.IntelliTagger.createEditTagsButton=function(_f1,_f2,_f3,_f4,_f5,id,_f7){if(!_f3){_f3="[edit]";}if(!_f4){_f4="Edit the tags";}if(!_f5){_f5="editTags";}var _f8=createTiddlyButton(_f2,_f3,_f4,_d7,_f5,id,_f7);_f8.setAttribute("tiddler",(_f1 instanceof Tiddler)?_f1.title:String(_f1));return _f8;};config.macros.intelliTagger={label:"intelliTagger",handler:function(_f9,_fa,_fb,_fc,_fd,_fe){var _ff=_fd.parseParams("list",null,true);var _100=_ff[0]["action"];for(var i=0;_100&&i<_100.length;i++){var _102=_100[i];var _103=config.macros.intelliTagger.subhandlers[_102];if(!_103){abego.alertAndThrow("Unsupported action '%0'".format([_102]));}_103(_f9,_fa,_fb,_fc,_fd,_fe);}},subhandlers:{showTags:function(_104,_105,_106,_107,_108,_109){_af(_104,_72,_74?_74.length:0,_74);},showFavorites:function(_10a,_10b,_10c,_10d,_10e,_10f){_af(_10a,_74,0);},closeButton:function(_110,_111,_112,_113,_114,_115){var _116=createTiddlyButton(_110,"close","Close the suggestions",abego.IntelliTagger.close);},version:function(_117){var t="IntelliTagger %0.%1.%2".format([version.extensions.IntelliTaggerPlugin.major,version.extensions.IntelliTaggerPlugin.minor,version.extensions.IntelliTaggerPlugin.revision]);var e=createTiddlyElement(_117,"a");e.setAttribute("href","http://tiddlywiki.abego-software.de/#IntelliTaggerPlugin");e.innerHTML="<font color=\"black\" face=\"Arial, Helvetica, sans-serif\">"+t+"<font>";},copyright:function(_11a){var e=createTiddlyElement(_11a,"a");e.setAttribute("href","http://tiddlywiki.abego-software.de");e.innerHTML="<font color=\"black\" face=\"Arial, Helvetica, sans-serif\">&copy; 2006 <b><font color=\"red\">abego</font></b> Software<font>";}}};})();config.shadowTiddlers["IntelliTaggerStyleSheet"]="/***\n"+"!~IntelliTagger Stylesheet\n"+"***/\n"+"/*{{{*/\n"+".intelliTaggerSuggestions {\n"+"\tposition: absolute;\n"+"\twidth: 600px;\n"+"\n"+"\tpadding: 2px;\n"+"\tlist-style: none;\n"+"\tmargin: 0;\n"+"\n"+"\tbackground: #eeeeee;\n"+"\tborder: 1px solid DarkGray;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .currentTag   {\n"+"\tfont-weight: bold;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .suggestionNumber {\n"+"\tcolor: #808080;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .numberedSuggestion{\n"+"\twhite-space: nowrap;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .intelliTaggerFooter {\n"+"\tmargin-top: 4px;\n"+"\tborder-top-width: thin;\n"+"\tborder-top-style: solid;\n"+"\tborder-top-color: #999999;\n"+"}\n"+".intelliTaggerSuggestions .favorites {\n"+"\tborder-bottom-width: thin;\n"+"\tborder-bottom-style: solid;\n"+"\tborder-bottom-color: #999999;\n"+"\tpadding-bottom: 2px;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .normalTags {\n"+"\tpadding-top: 2px;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .intelliTaggerFooter .button {\n"+"\tfont-size: 10px;\n"+"\n"+"\tpadding-left: 0.3em;\n"+"\tpadding-right: 0.3em;\n"+"}\n"+"\n"+"/*}}}*/\n";config.shadowTiddlers["IntelliTaggerMainTemplate"]="<!--\n"+"{{{\n"+"-->\n"+"<div class=\"favorites\" macro=\"intelliTagger action: showFavorites\"></div>\n"+"<div class=\"normalTags\" macro=\"intelliTagger action: showTags\"></div>\n"+"<!-- The Footer (with the Navigation) ============================================ -->\n"+"<table class=\"intelliTaggerFooter\" border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\"><tbody>\n"+"  <tr>\n"+"\t<td align=\"left\">\n"+"\t\t<span macro=\"intelliTagger action: closeButton\"></span>\n"+"\t</td>\n"+"\t<td align=\"right\">\n"+"\t\t<span macro=\"intelliTagger action: version\"></span>, <span macro=\"intelliTagger action: copyright \"></span>\n"+"\t</td>\n"+"  </tr>\n"+"</tbody></table>\n"+"<!--\n"+"}}}\n"+"-->\n";config.shadowTiddlers["IntelliTaggerEditTagsTemplate"]="<!--\n"+"{{{\n"+"-->\n"+"<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler'></div>\n"+"<div class='title' macro='view title'></div>\n"+"<div class='tagged' macro='tags'></div>\n"+"<div class='viewer' macro='view text wikified'></div>\n"+"<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler'></div>\n"+"<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>\n"+"<!--\n"+"}}}\n"+"-->\n";config.shadowTiddlers["BSD open source license (abego Software)"]="See [[Licence|http://tiddlywiki.abego-software.de/#%5B%5BBSD%20open%20source%20license%5D%5D]].";config.shadowTiddlers["IntelliTaggerPlugin Documentation"]="[[Documentation on abego Software website|http://tiddlywiki.abego-software.de/doc/IntelliTagger.pdf]].";config.shadowTiddlers["IntelliTaggerPlugin SourceCode"]="[[Plugin source code on abego Software website|http://tiddlywiki.abego-software.de/src/Plugin-IntelliTagger-src.js]]";setStylesheet(store.getTiddlerText("IntelliTaggerStyleSheet"),"intelliTagger");}
//%/
This screencast walks you through the basics of getting your own TiddlyWiki and modifying its content in a little less than six minutes.

<html>
<embed src='screencasts/intro_to_tiddlywiki_small.mp4' scale='ToFit' width='100%' ' height='340px' autoplay='false'  bgcolor="#111"/>
</html>

You can also download this screencast in some different optimizations.
[[Intro to tiddlywiki - fullsize|screencasts/intro_to_tiddlywiki_large.mov]] (23.8MB)
[[Intro to tiddlywiki - medium|screencasts/intro_to_tiddlywiki_medium.mp4]] (16.2MB)
[[Intro to tiddlywiki - small|screencasts/intro_to_tiddlywiki_small.mp4]] (9.8MB) 
James has been involved in a variety of web related roles for the past ten years, and shows his age and geekiness by always bringing up how he was paid to play one of the first MMORPG while in high school.

These days, James is involved in finding ways for people and organizations to use technology to collaborate.

If you're popping in to the office, James will have a cup of English Breakfast tea with milk, and some grapes.

[[picasaweb.google.com/james.z.shi|http://picasaweb.google.com/james.z.shi]] 
<html>
	
	<iframe src="Newsletter January 2007.htm"
		style="background:#fff;width:170%;height:400px">
	</iframe>
</html>
<html>
	
	<iframe src="Newsletter 2008 January.htm"
		style="background:#fff;width:170%;height:500px">
	</iframe>
</html>
Jeremy is the only real constant in Osmosoft, the company he set up in 2005, that BT acquired this May. 

After a career creating inspiring software, Jeremy is now BT's Head of Open Source Innovation. This roughly means that he is responsible for the development of BT's participation in the open source industry. He also looks pretty funky in aviators. 

If you're popping in to the office, Jeremy will have a cappuccino and a pain au chocolat.

[[jermolene.wordpress.com|http://jermolene.wordpress.com]] 
[[flickr.com/photos/jermy|http://flickr.com/photos/jermy/]]
Jon has been on the scene for just under two years but is making a name for himself as someone who really "gets" the web and how it affects our lives.

Jon is an able technologist and is particularly keen on showing how much "programming" you can do these days without being able to code.

If you're popping in to the office, Jon will have a cappuccino and a pain au chocolat.

[[jayfresh.wordpress.com|http://jayfresh.wordpress.com]]
<html>
	
	<iframe src="Newsletter July 2007b.htm"
		style="background:#fff;width:170%;height:400px">
	</iframe>
</html>
<html>
	
	<iframe src="newsletter 2008 07 July.htm"
		style="background:#fff;width:170%;height:500px">
	</iframe>
</html>
<html>
	
	<iframe src="Newsletter2008 June.htm"
		style="background:#fff;width:170%;height:500px">
	</iframe>
</html>
{{left{
<html><img src="images/pic_ex_mckenzie.GIF" style="height: 150px; "/></html>}}}''1) Just go into a pushup position but leave your hips touching the ground

2) hold that for 30-60 seconds


//the purpose of this is to push the gooey disc matarial back into the centre of the disc//
Code released by Osmosoft to the open source community will be released under a [[BSD licence|http://en.wikipedia.org/wiki/BSD_license]].

We believe that the prime measure of health of an open source project is adoption, closely followed by external contributions. For Osmosoft, the benefits of wider adoption outweigh the benefits of forcing participants to return their amended code (or any associated proprietary code) to the community, which would be required under e.g. one of the [[GPL licences|http://en.wikipedia.org/wiki/GNU_General_Public_License]].

In any event, it is hoped that most people using the code will feel compelled to return their improvements to the community, as they stand to benefit from the same scrutiny and collaboration that made the initial code worth using in the first place.

Here is the licence template:

Copyright (c) <YEAR>, <OWNER>

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    * Neither the name of the <ORGANIZATION> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This is for us to connect you with other open source initiatives within BT and other entities in our universe.

!!!Formal links
[[TiddlyWiki|http://www.tiddlywiki.com]]
[[TiddlyWiki.org|http://www.tiddlywiki.org]]
[[UnaMesa|http://www.unamesa.org/]]

!!!Interesting things BT people do
[[Curiosity Collective|http://curiositycollective.org]]
[[BT Group Strategy open source discussion strategy|http://www.btplc.com/Innovation/Strategy/Open/index.htm]]

!!!BT blogs
[[Andrew Back|http://carrierdetect.com]]
[[Cefn Hoile|http://cefn.com/blog]]
[[David Eastman|http://eastman1.blogspot.com/]]
[[David James|http://davidjames.wordpress.com/]]
[[JP Rangaswami|http://confusedofcalcutta.com/]]
[[Kerry Buckley|http://www.kerrybuckley.com/]]
[[Michael Mahemoff|http://www.softwareas.com/]]
[[Nick Kings|http://inkeyes.blogspot.com/feeds/posts/default]]
[[Nigel Pepper|http://www.whereisnigel.co.uk/]]
[[Paul Moser|http://blog.paulmoser.co.uk/]]
[[Piotr Woloszyn|http://jroller.com/page/znachor]]
[[Robbie Clutton|http://blog.iclutton.com/]]
[[Yannis Lionis|http://blog.yannis-lionis.gr/]]
{{left{
<html><img src="images/Pic_stretch_psoas1.JPG" style="height: 150px; "/></html>}}}''1) kneel on one knee closest to a couch or chair
2) extend the foot of your other leg on the floor in front of you
3) lunge forward as far as you can, reaching forward with your knee
4) the back leg is the one you're stretching''

''hold for 30-60 seconds 
don't bounce''

//make sure you do both sides//

.
[[About Us]]
[[Clinic Essentials]]
[[Newsletters]]
[[Fun Links|FunLinks]]
[[Your Health Now]]


[[Exercises]]

[[About Us]]
[[Clinic Essentials]]
[[Newsletters]]
<html>
	
	<iframe src="Newsletter March 2007.htm"
		style="background:#fff;width:170%;height:400px">
	</iframe>
</html>
<html>
	
	<iframe src="Newsletter 2008 March.htm"
		style="background:#fff;width:170%;height:500px">
	</iframe>
</html>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
<script type="text/javascript"> 
_uacct = "UA-2171194-1";
urchinTracker();
</script>
<html>
	
	<iframe src="newsletter May 2007.htm"
		style="background:#fff;width:170%;height:400px">
	</iframe>
</html>
<html>
	
	<iframe src="newsletter May 2008.htm"
		style="background:#fff;width:170%;height:500px">
	</iframe>
</html>
<html><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/pQHX-SjgQvQ&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/pQHX-SjgQvQ&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></html>
[[Fun Links|FunLinks]]
[[Health Links]]
[[Your Health Now]]
[[Exercises]]
[[Misc...|Miscellaneous]]
[[FAQs|Frequently Asked Questions]]

[[Referrals to other practitioners]]
As your chiropractor…

''My Purpose:''  (what I'm here for)
*To use all my skills and resources to remove blockages that are interfering with your normal health and healing ability

''My Mission:''   (what needs to be done)
*To gather all the clues about your condition
*To put them all together in a way that makes sense and points to what's stopping you from being really healthy
*To make a plan you can use to remove those blockages,  primarily using the [[CEDAR|Why CEDAR?]] method
*To help you understand the plan so that you will follow through with it

''My Vision:''     (what I hope for your future)
*When this mission is being fulfilled you will have a sense of renewed energy and ability to affect your own health, and from that the freedom to pursue and enjoy your own purposes that you were designed for

[[Dr Lena Kim, ND]]
/***
|Name|NestedSlidersPlugin|
|Source|http://www.TiddlyTools.com/#NestedSlidersPlugin|
|Version|2.3.1|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides|Slider.prototype.stop|
|Description|show content in nest-able 'slider' or 'floating' panels, without needing to create separate tiddlers for each panel|

!!!!!Configuration
<<<
Enable animation for slider panels
<<option chkFloatingSlidersAnimate>> allow sliders to animate when opening/closing
>(note: This setting is in //addition// to the general option for enabling/disabling animation effects:
><<option chkAnimate>> enable animations (entire document)
>For slider animation to occur, you must also allow animation in general.

Debugging messages for 'lazy sliders' deferred rendering:
<<option chkDebugLazySliderDefer>> show debugging alert when deferring slider rendering
<<option chkDebugLazySliderRender>> show debugging alert when deferred slider is actually rendered
<<<
!!!!!Usage
<<<
When installed, this plugin adds new wiki syntax for embedding 'slider' panels directly into tiddler content.  Use {{{+++}}} and {{{===}}} to delimit the slider content.  You can also 'nest' these sliders as deep as you like (see complex nesting example below), so that expandable 'tree-like' hierarchical displays can be created.  This is most useful when converting existing in-line text content to create in-line annotations, footnotes, context-sensitive help, or other subordinate information displays.

Additional optional syntax elements let you specify
*default to open
*cookiename
*heading level
*floater (with optional CSS width value)
*transient display (clicking elsewhere closes panel)
*custom class/label/tooltip/accesskey
*alternate label/tooltip (displayed when panel is open)
*panelID (for later use with {{{<<DOM>>}}} macro.  See [[DOMTweaksPlugin]])
*automatic blockquote style on panel
*deferred rendering of panel content
The complete syntax, using all options, is:
//{{{
++++(cookiename)!!!!!^width^*{{class{[label=key|tooltip][altlabel|alttooltip]}}}#panelID:>...
content goes here
===
//}}}
where:
* {{{+++}}} (or {{{++++}}}) and {{{===}}}<br>marks the start and end of the slider definition, respectively.  When the extra {{{+}}} is used, the slider will be open when initially displayed.
* {{{(cookiename)}}}<br>saves the slider opened/closed state, and restores this state whenever the slider is re-rendered.
* {{{!}}} through {{{!!!!!}}}<br>displays the slider label using a formatted headline (Hn) style instead of a button/link style
* {{{^width^}}} (or just {{{^}}})<br>makes the slider 'float' on top of other content rather than shifting that content downward.  'width' must be a valid CSS value (e.g., "30em", "180px", "50%", etc.).  If omitted, the default width is "auto" (i.e., fit to content)
* {{{"*"}}} //(without the quotes)//<br>denotes "transient display": when a click occurs elsewhere in the document, the slider/floating panel will be automatically closed.  This is useful for creating 'pulldown menus' that automatically go away after they are used.
* """{{class{[label=key|tooltip][altlabel|alttooltip]}}}"""<br>uses label/tooltip/accesskey.  """{{class{...}}}""", """=key""", """|tooltip""" and """[altlabel|alttooltip]""" are optional.  'class' is any valid CSS class name, used to style the slider label text.  'key' must be a ''single letter only''.  altlabel/alttooltip specifiy alternative label/tooltip for use when slider/floating panel is displayed.
* {{{#panelID:}}}<br>defines a unique DOM element ID that is assigned to the panel element used to display the slider content.  This ID can then be used later to reposition the panel using the {{{<<DOM move id>>}}} macro (see [[DOMTweaksPlugin]]), or to access/modify the panel element through use of {{{document.getElementById(...)}}}) javascript code in a plugin or inline script.
* {{{">"}}} //(without the quotes)//<br>automatically adds blockquote formatting to slider content
* {{{"..."}}} //(without the quotes)//<br>defers rendering of closed sliders until the first time they are opened.  //Note: deferred rendering may produce unexpected results in some cases.  Use with care.//

//Note: to make slider definitions easier to read and recognize when editing a tiddler, newlines immediately following the {{{+++}}} 'start slider' or preceding the {{{===}}} 'end slider' sequence are automatically supressed so that excess whitespace is eliminated from the output.//
<<<
!!!!!Examples
<<<
simple in-line slider: 
{{{
+++
   content
===
}}}
+++
   content
===
----
use a custom label and tooltip: 
{{{
+++[label|tooltip]
   content
===
}}}
+++[label|tooltip]
   content
===
----
content automatically blockquoted: 
{{{
+++>
   content
===
}}}
+++>
   content
===
----
all options combined //(default open, cookie, heading, sized floater, transient, class, label/tooltip/key, blockquoted, deferred)//
{{{
++++(testcookie)!!!^30em^*{{big{[label=Z|click or press Alt-Z to open]}}}>...
   content
===
}}}
++++(testcookie)!!!^30em^*{{big{[label=Z|click or press Alt-Z to open]}}}>...
   content
===
----
complex nesting example:
{{{
+++[get info...=I|click for information or press Alt-I]
	put some general information here,
	plus a floating panel with more specific info:
	+++^10em^[view details...|click for details]
		put some detail here, which could in turn contain a transient panel,
		perhaps with a +++^25em^*[glossary definition]explaining technical terms===
	===
===
}}}
+++[get info...=I|click for information or press Alt-I]
	put some general information here,
	plus a floating panel with more specific info:
	+++^10em^[view details...|click for details]
		put some detail here, which could in turn contain a transient panel,
		perhaps with a +++^25em^*[glossary definition]explaining technical terms===
	===
===
<<<
!!!!!Installation
<<<
import (or copy/paste) the following tiddlers into your document:
''NestedSlidersPlugin'' (tagged with <<tag systemConfig>>)
<<<
!!!!!Revision History
<<<
''2007.07.26 - 2.3.1'' in document.onclick(), propagate return value from hijacked core click handler to consume OR bubble up click as needed.  Fixes "IE click disease", whereby nearly every mouse click causes a page transition.
''2007.07.20 - 2.3.0'' added syntax for setting panel ID (#panelID:).  This allows individual slider panels to be repositioned within tiddler content simply by giving them a unique ID and then moving them to the desired location using the {{{<<DOM move id>>}}} macro.
''2007.07.19 - 2.2.0'' added syntax for alttext and alttip (button label and tooltip to be displayed when panel is open)
''2007.07.14 - 2.1.2'' corrected use of 'transient' attribute in IE to prevent (non-recursive) infinite loop
''2007.07.12 - 2.1.0'' replaced use of "*" for 'open/close on rollover' (which didn't work too well).  "*" now indicates 'transient' panels that are automatically closed if a click occurs somewhere else in the document.  This permits use of nested sliders to create nested "pulldown menus" that automatically disappear after interaction with them has been completed.  Also, in onClickNestedSlider(), use "theTarget.sliderCookie", instead of "this.sliderCookie" to correct cookie state tracking when automatically dismissing transient panels.
''2007.06.10 - 2.0.5'' add check to ensure that window.adjustSliderPanel() is defined before calling it (prevents error on shutdown when mouse event handlers are still defined)
''2007.05.31 - 2.0.4'' add handling to invoke adjustSliderPanel() for onmouseover events on slider button and panel.  This allows the panel position to be re-synced when the button position shifts due to changes in unrelated content above it on the page.  (thanks to Harsha for bug report)
''2007.03.30 - 2.0.3'' added chkFloatingSlidersAnimate (default to FALSE), so that slider animation can be disabled independent of the overall document animation setting (avoids strange rendering and focus problems in floating panels)
''2007.03.01 - 2.0.2'' for TW2.2+, hijack Morpher.prototype.stop so that "overflow:hidden" can be reset to "overflow:visible" after animation ends
''2007.03.01 - 2.0.1'' in hijack for Slider.prototype.stop, use apply() to pass params to core function
|please see [[NestedSlidersPluginHistory]] for additional revision details|
''2005.11.03 - 1.0.0'' initial public release
<<<
!!!!!Credits
<<<
This feature was implemented by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]] with initial research and suggestions from RodneyGomes, GeoffSlocock, and PaulPetterson.
<<<
!!!!!Code
***/
//{{{
version.extensions.nestedSliders = {major: 2, minor: 3, revision: 1, date: new Date(2007,7,26)};
//}}}

//{{{
// options for deferred rendering of sliders that are not initially displayed
if (config.options.chkDebugLazySliderDefer==undefined) config.options.chkDebugLazySliderDefer=false;
if (config.options.chkDebugLazySliderRender==undefined) config.options.chkDebugLazySliderRender=false;
if (config.options.chkFloatingSlidersAnimate==undefined) config.options.chkFloatingSlidersAnimate=false;

// default styles for 'floating' class
setStylesheet(".floatingPanel { position:absolute; z-index:10; padding:0.5em; margin:0em; \
	background-color:#eee; color:#000; border:1px solid #000; text-align:left; }","floatingPanelStylesheet");
//}}}

//{{{
config.formatters.push( {
	name: "nestedSliders",
	match: "\\n?\\+{3}",
	terminator: "\\s*\\={3}\\n?",
	lookahead: "\\n?\\+{3}(\\+)?(\\([^\\)]*\\))?(\\!*)?(\\^(?:[^\\^\\*\\[\\>]*\\^)?)?(\\*)?(?:\\{\\{([\\w]+[\\s\\w]*)\\{)?(\\[[^\\]]*\\])?(\\[[^\\]]*\\])?(?:\\}{3})?(\\#[^:]*\\:)?(\\>)?(\\.\\.\\.)?\\s*",
	handler: function(w)
		{
			lookaheadRegExp = new RegExp(this.lookahead,"mg");
			lookaheadRegExp.lastIndex = w.matchStart;
			var lookaheadMatch = lookaheadRegExp.exec(w.source)
			if(lookaheadMatch && lookaheadMatch.index == w.matchStart)
			{
				// var defopen=lookaheadMatch[1]
				// var cookiename=lookaheadMatch[2]
				// var header=lookaheadMatch[3]
				// var panelwidth=lookaheadMatch[4]
				// var transient=lookaheadMatch[5]
				// var class=lookaheadMatch[6]
				// var label=lookaheadMatch[7]
				// var openlabel=lookaheadMatch[8]
				// var panelID=lookaheadMatch[9]
				// var blockquote=lookaheadMatch[10]
				// var deferred=lookaheadMatch[11]

				// location for rendering button and panel
				var place=w.output;

				// default to closed, no cookie, no accesskey, no alternate text/tip
				var show="none"; var cookie=""; var key="";
				var closedtext=">"; var closedtip="";
				var openedtext="<"; var openedtip="";

				// extra "+", default to open
				if (lookaheadMatch[1]) show="block";

				// cookie, use saved open/closed state
				if (lookaheadMatch[2]) {
					cookie=lookaheadMatch[2].trim().slice(1,-1);
					cookie="chkSlider"+cookie;
					if (config.options[cookie]==undefined)
						{ config.options[cookie] = (show=="block") }
					show=config.options[cookie]?"block":"none";
				}

				// parse label/tooltip/accesskey: [label=X|tooltip]
				if (lookaheadMatch[7]) {
					var parts=lookaheadMatch[7].trim().slice(1,-1).split("|");
					closedtext=parts.shift();
					if (closedtext.substr(closedtext.length-2,1)=="=")	
						{ key=closedtext.substr(closedtext.length-1,1); closedtext=closedtext.slice(0,-2); }
					openedtext=closedtext;
					if (parts.length) closedtip=openedtip=parts.join("|");
					else { closedtip="show "+closedtext; openedtip="hide "+closedtext; }
				}

				// parse alternate label/tooltip: [label|tooltip]
				if (lookaheadMatch[8]) {
					var parts=lookaheadMatch[8].trim().slice(1,-1).split("|");
					openedtext=parts.shift();
					if (parts.length) openedtip=parts.join("|");
					else openedtip="hide "+openedtext;
				}

				var title=show=='block'?openedtext:closedtext;
				var tooltip=show=='block'?openedtip:closedtip;

				// create the button
				if (lookaheadMatch[3]) { // use "Hn" header format instead of button/link
					var lvl=(lookaheadMatch[3].length>6)?6:lookaheadMatch[3].length;
					var btn = createTiddlyElement(createTiddlyElement(place,"h"+lvl,null,null,null),"a",null,lookaheadMatch[6],title);
					btn.onclick=onClickNestedSlider;
					btn.setAttribute("href","javascript:;");
					btn.setAttribute("title",tooltip);
				}
				else
					var btn = createTiddlyButton(place,title,tooltip,onClickNestedSlider,lookaheadMatch[6]);
				btn.innerHTML=title; // enables use of HTML entities in label

				// set extra button attributes
				btn.setAttribute("closedtext",closedtext);
				btn.setAttribute("closedtip",closedtip);
				btn.setAttribute("openedtext",openedtext);
				btn.setAttribute("openedtip",openedtip);
				btn.sliderCookie = cookie; // save the cookiename (if any) in the button object
				btn.defOpen=lookaheadMatch[1]!=null; // save default open/closed state (boolean)
				btn.keyparam=key; // save the access key letter ("" if none)
				if (key.length) {
					btn.setAttribute("accessKey",key); // init access key
					btn.onfocus=function(){this.setAttribute("accessKey",this.keyparam);}; // **reclaim** access key on focus
				}
				btn.onmouseover=function(event) // mouseover on button aligns floater position with button
					{ if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this,this.sliderPanel,this.sliderPanel.className); }

				// create slider panel
				var panelClass=lookaheadMatch[4]?"floatingPanel":"sliderPanel";
				var panelID=lookaheadMatch[9]; if (panelID) panelID=panelID.slice(1,-1); // trim off delimiters
				var panel=createTiddlyElement(place,"div",panelID,panelClass,null);
				panel.button = btn; // so the slider panel know which button it belongs to
				btn.sliderPanel=panel; // so the button knows which slider panel it belongs to
				panel.defaultPanelWidth=(lookaheadMatch[4] && lookaheadMatch[4].length>2)?lookaheadMatch[4].slice(1,-1):"";
				panel.setAttribute("transient",lookaheadMatch[5]=="*"?"true":"false");
				panel.style.display = show;
				panel.style.width=panel.defaultPanelWidth;
				panel.onmouseover=function(event) // mouseover on panel aligns floater position with button
					{ if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this.button,this,this.className); }

				// render slider (or defer until shown) 
				w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
				if ((show=="block")||!lookaheadMatch[11]) {
					// render now if panel is supposed to be shown or NOT deferred rendering
					w.subWikify(lookaheadMatch[10]?createTiddlyElement(panel,"blockquote"):panel,this.terminator);
					// align floater position with button
					if (window.adjustSliderPos) window.adjustSliderPos(place,btn,panel,panelClass);
				}
				else {
					var src = w.source.substr(w.nextMatch);
					var endpos=findMatchingDelimiter(src,"+++","===");
					panel.setAttribute("raw",src.substr(0,endpos));
					panel.setAttribute("blockquote",lookaheadMatch[10]?"true":"false");
					panel.setAttribute("rendered","false");
					w.nextMatch += endpos+3;
					if (w.source.substr(w.nextMatch,1)=="\n") w.nextMatch++;
					if (config.options.chkDebugLazySliderDefer) alert("deferred '"+title+"':\n\n"+panel.getAttribute("raw"));
				}
			}
		}
	}
)

// TBD: ignore 'quoted' delimiters (e.g., "{{{+++foo===}}}" isn't really a slider)
function findMatchingDelimiter(src,starttext,endtext) {
	var startpos = 0;
	var endpos = src.indexOf(endtext);
	// check for nested delimiters
	while (src.substring(startpos,endpos-1).indexOf(starttext)!=-1) {
		// count number of nested 'starts'
		var startcount=0;
		var temp = src.substring(startpos,endpos-1);
		var pos=temp.indexOf(starttext);
		while (pos!=-1)  { startcount++; pos=temp.indexOf(starttext,pos+starttext.length); }
		// set up to check for additional 'starts' after adjusting endpos
		startpos=endpos+endtext.length;
		// find endpos for corresponding number of matching 'ends'
		while (startcount && endpos!=-1) {
			endpos = src.indexOf(endtext,endpos+endtext.length);
			startcount--;
		}
	}
	return (endpos==-1)?src.length:endpos;
}
//}}}

//{{{
window.onClickNestedSlider=function(e)
{
	if (!e) var e = window.event;
	var theTarget = resolveTarget(e);
	var theLabel = theTarget.firstChild.data;
	var theSlider = theTarget.sliderPanel
	var isOpen = theSlider.style.display!="none";

	// toggle label
	theTarget.innerHTML=isOpen?theTarget.getAttribute("closedText"):theTarget.getAttribute("openedText");
	// toggle tooltip
	theTarget.setAttribute("title",isOpen?theTarget.getAttribute("closedTip"):theTarget.getAttribute("openedTip"));

	// deferred rendering (if needed)
	if (theSlider.getAttribute("rendered")=="false") {
		if (config.options.chkDebugLazySliderRender)
			alert("rendering '"+theLabel+"':\n\n"+theSlider.getAttribute("raw"));
		var place=theSlider;
		if (theSlider.getAttribute("blockquote")=="true")
			place=createTiddlyElement(place,"blockquote");
		wikify(theSlider.getAttribute("raw"),place);
		theSlider.setAttribute("rendered","true");
	}
	// show/hide the slider
	if(config.options.chkAnimate && (theSlider.className!='floatingPanel' || config.options.chkFloatingSlidersAnimate))
		anim.startAnimating(new Slider(theSlider,!isOpen,e.shiftKey || e.altKey,"none"));
	else
		theSlider.style.display = isOpen ? "none" : "block";
	// reset to default width (might have been changed via plugin code)
	theSlider.style.width=theSlider.defaultPanelWidth;
	// align floater panel position with target button
	if (!isOpen && window.adjustSliderPos) window.adjustSliderPos(theSlider.parentNode,theTarget,theSlider,theSlider.className);
	// if showing panel, set focus to first 'focus-able' element in panel
	if (theSlider.style.display!="none") {
		var ctrls=theSlider.getElementsByTagName("*");
		for (var c=0; c<ctrls.length; c++) {
			var t=ctrls[c].tagName.toLowerCase();
			if ((t=="input" && ctrls[c].type!="hidden") || t=="textarea" || t=="select")
				{ ctrls[c].focus(); break; }
		}
	}
	var cookie=theTarget.sliderCookie;
	if (cookie && cookie.length) {
		config.options[cookie]=!isOpen;
		if (config.options[cookie]!=theTarget.defOpen)
			saveOptionCookie(cookie);
		else { // remove cookie if slider is in default display state
			var ex=new Date(); ex.setTime(ex.getTime()-1000);
			document.cookie = cookie+"=novalue; path=/; expires="+ex.toGMTString();
		}
	}
	return false;
}
//}}}

//{{{
// click in document background closes transient panels 
document.nestedSliders_savedOnClick=document.onclick;
document.onclick=function(ev) { if (!ev) var ev=window.event; var target=resolveTarget(ev);
	// call original click handler
	if (document.nestedSliders_savedOnClick)
		var retval=document.nestedSliders_savedOnClick.apply(this,arguments);
	// if click was inside transient panel (or something contained by a transient panel)... leave it alone
	var p=target;
	while (p)
		if ((p.className=="floatingPanel"||p.className=="sliderPanel")&&p.getAttribute("transient")=="true") break;
		else p=p.parentNode;
	if (p) return retval;
	// otherwise, find and close all transient panels...
	var all=document.all?document.all:document.getElementsByTagName("DIV");
	for (var i=0; i<all.length; i++) {
		 // if it is not a transient panel, or the click was on the button that opened this panel, don't close it.
		if (all[i].getAttribute("transient")!="true" || all[i].button==target) continue;
		// otherwise, if the panel is currently visible, close it by clicking it's button
		if (all[i].style.display!="none") window.onClickNestedSlider({target:all[i].button}) 
	}
	return retval;
};
//}}}

//{{{
// adjust floating panel position based on button position
if (window.adjustSliderPos==undefined) window.adjustSliderPos=function(place,btn,panel,panelClass) {
	if (panelClass=="floatingPanel") {
		var left=0;
		var top=btn.offsetHeight; 
		if (place.style.position!="relative") {
			var left=findPosX(btn);
			var top=findPosY(btn)+btn.offsetHeight;
			var p=place; while (p && p.className!='floatingPanel') p=p.parentNode;
			if (p) { left-=findPosX(p); top-=findPosY(p); }
		}
		if (findPosX(btn)+panel.offsetWidth > getWindowWidth())  // adjust position to stay inside right window edge
			left-=findPosX(btn)+panel.offsetWidth-getWindowWidth()+15; // add extra 15px 'fudge factor'
		panel.style.left=left+"px"; panel.style.top=top+"px";
	}
}

function getWindowWidth() {
	if(document.width!=undefined)
		return document.width; // moz (FF)
	if(document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
		return document.documentElement.clientWidth; // IE6
	if(document.body && ( document.body.clientWidth || document.body.clientHeight ) )
		return document.body.clientWidth; // IE4
	if(window.innerWidth!=undefined)
		return window.innerWidth; // IE - general
	return 0; // unknown
}
//}}}

//{{{
// TW2.1 and earlier:
// hijack Slider animation handler 'stop' handler so overflow is visible after animation has completed
Slider.prototype.coreStop = Slider.prototype.stop;
Slider.prototype.stop = function()
	{ this.coreStop.apply(this,arguments); this.element.style.overflow = "visible"; }

// TW2.2+
// hijack Morpher animation handler 'stop' handler so overflow is visible after animation has completed
if (version.major+.1*version.minor+.01*version.revision>=2.2) {
	Morpher.prototype.coreStop = Morpher.prototype.stop;
	Morpher.prototype.stop = function()
		{ this.coreStop.apply(this,arguments); this.element.style.overflow = "visible"; }
}
//}}}
*Get on the [[email list]] to get each one
*if you want to click links from within the newsletters, use the right mouse button and "open in new tab"

[[August 2008]]
[[July 2008]]
[[June 2008]]
[[May 2008]]
[[April 2008]]
[[March 2008]]
[[February 2008]]
[[January 2008]]
[[December 2007]]
[[November 2007]]
[[October 2007]]
[[September 2007]]
[[August 2007]]
[[April 2007]]
[[March 2007]]
[[February 2007]]
[[January 2007]]
[[July 2007]]
[[May 2007]]
[[November 2006]]
[[October 2006]]
[[August 2006]]
<html>
	
	<iframe src="Newsletter November 2006.htm"
		style="background:#fff;width:170%;height:400px">
	</iframe>
</html>
<html>
	
	<iframe src="Newsletter 2007 NovemberB.htm"
		style="background:#fff;width:170%;height:400px">
	</iframe>
</html>
<html>
	
	<iframe src="Newsletter October 2006.htm"
		style="background:#fff;width:170%;height:400px">
	</iframe>
</html>
<html>
	
	<iframe src="Newsletter 2007 October.htm"
		style="background:#fff;width:170%;height:400px">
	</iframe>
</html>
/***
|Name|OpenTopPlugin|
|Created by|SaqImtiaz|
|Location|http://tw.lewcid.org/#OpenTopPlugin|
|Version|0.1|
|Requires|~TW2.x|
!!!Description:
Open new tiddlers at the top of the screen.

!!!Code
***/
//{{{
Story.prototype.coreLewcidDisplayTiddler=Story.prototype.displayTiddler ;
Story.prototype.displayTiddler =
function(srcElement,title,template,unused1,unused2,animate,slowly)
{
       var srcElement=null;
       if (document.getElementById(this.idPrefix + title))
          {story.closeTiddler(title);}
       this.coreLewcidDisplayTiddler(srcElement,title,template,unused1,unused2,animate,slowly);
       window.scrollTo(0,0);
}
//}}}
These interface options for customising TiddlyWiki are saved in your browser

<<option chkRegExpSearch>> RegExpSearch
<<option chkCaseSensitiveSearch>> CaseSensitiveSearch
<<option chkAnimate>> EnableAnimations

Also see AdvancedOptions
''Os·mo·soft·on·i·an'' [oz-m//uh//-sawft-''ohn''-ee-//uh//n]

''- //noun//''
1. a follower of Osmosoftonianism.

''- //adjective//''
2. of, pertaining to, or characteristic of Osmosoftonianism or Osmosoftonians.

[Origin: derived from Jeremy Ruston's 1987 metaphor of ideas crossing from one brain to another through the membrane of the user interface]

[[The Osmosoftonians|Who are we?]]
If you'd like to receive our monthly newsletter called the "Cedar Perspective" just send me an email to

cedarperspective@hotmail.com

and I'll add you to the mail-out list.
Open source and all that jazz
<!--{{{-->
<div id='controlBar'><div class='constrainer' tiddler='controlBar' refresh='content'></div></div>
<div class='header'>
	<div class='constrainer'>
		<div class='headerShadow'>
			<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
			<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
		</div>
		<div class='headerForeground'>
			<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
			<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
		</div>
	</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div class='constrainer'>
	<div id='displayArea'>
		<div id='messageArea'></div>
		<div id='tiddlerDisplay'></div>
	</div>
	<div id='sidebar' refresh='content' tiddler='SideBar'></div>
</div>
<!--}}}-->
[[Frequently Asked Questions]]
Paul's middle name is Sumner, which is important as it distinguishes him from other Paul Downeys.

Paul is BT's Chief Web Services Architect and represents BT at various organisations including the ~W3C, OASIS and the ~WS-I. An inveterate hacker, he passionately believes in the commons, loves the Web and advocates open source given any opportunity.

If you're popping in to the office, Paul will have a cappuccino with no chocolate and a plain croissant.

[[blog.whatfettle.com|http://blog.whatfettle.com]]
[[flickr.com/photos/psd|http://flickr.com/photos/psd/]]
Phil has been developing web applications since 1999 and has worked on projects for many financial institutions around the world.

Specialising in user interface design and development, Phil is an experienced AJAX developer who is also fluent in CSS and sees the colours of the world in Hex.

If you're popping in to the office, Phil will have a skinny latte and a pain au chocolat.

[[www.hawksworx.com|http://www.hawksworx.com]]
[[flickr.com/photos/philhawksworth|http://flickr.com/photos/philhawksworth/]] 
Phil has been working at a variety of web agencies since 2000, and has the scars to prove it.

Phil is a project manager by trade, and he doesn't know how to code. He likes to bask in the reflected glory of programmers. He also has an unhealthy obsession with William Shatner.

If you're popping in to the office, Phil will have an americano with milk and sugar, and a chocolate chip muffin.

[[philwhitehouse.blogspot.com|http://philwhitehouse.blogspot.com]]
[[flickr.com/photos/philliecasablanca|http://flickr.com/photos/philliecasablanca/]] 
/***
|Name|PlayerPlugin|
|Source|http://www.TiddlyTools.com/#PlayerPlugin|
|Version|1.1.3|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Description|Embed a media player in a tiddler|

!!!!!Usage
<<<
{{{<<player [id=xxx] [type] [URL] [width] [height] [autoplay|true|false] [showcontrols|true|false] [extras]>>}}}

''id=xxx'' is optional, and specifies a unique identifier for each embedded player.  note: this is required if you intend to display more than one player at the same time.

''type'' is optional, and is one of the following: ''windows'', ''realone'', ''quicktime'', ''flash'', ''image'' or ''iframe''.  If the media type is not specified, the plugin automatically detects Windows, Real, QuickTime, Flash video or JPG/GIF images by matching known file extensions and/or specialized streaming-media transfer protocols (such as RTSP:).  For unrecognized media types, the plugin displays an error message.

''URL'' is the location of the media content

''width'' and ''height'' are the dimensions of the video display area (in pixels)

''autoplay'' or ''true'' or ''false'' is optional, and specifies whether the media content should begin playing as soon as it is loaded, or wait for the user to press the "play" button.  Default is //not// to autoplay.

''showcontrols'' or ''true'' or ''false'' is optional, and specifies whether the embedded media player should display its built-in control panel (e.g., play, pause, stop, rewind, etc), if any.  Default is to display the player controls.

''extras'' are optional //pairs// of parameters that can be passed to the embedded player, using the {{{<param name=xxx value=yyy>}}} HTML syntax.

''If you use [[AttachFilePlugin]] to encode and store a media file within your document, you can play embedded media content by using the title of the //attachment tiddler//'' as a parameter in place of the usual reference to an external URL.  When playing an attached media content, you should always explicitly specify the media type parameter, because the name used for the attachment tiddler may not contain a known file extension from which a default media type can be readily determined.
<<<
!!!!!Configuration
<<<
Default player size:
width: <<option txtPlayerDefaultWidth>> height: <<option txtPlayerDefaultHeight>>
<<<
!!!!!Examples
<<<
+++[Windows Media]...
Times Square Live Webcam
{{{<<player id=1 http://www.earthcam.com/usa/newyork/timessquare/asx/tsq_stream.asx>>}}}
<<player id=1 http://www.earthcam.com/usa/newyork/timessquare/asx/tsq_stream.asx>>
===
+++[RealOne]...
BBC London: Live and Recorded news
{{{<<player id=2 http://www.bbc.co.uk/london/realmedia/news/tvnews.ram>>}}}
<<player id=2 http://www.bbc.co.uk/london/realmedia/news/tvnews.ram>>
===
+++[Quicktime]...
America Free TV: Classic Comedy
{{{<<player id=3 http://www.americafree.tv/unicast_mov/AmericaFreeTVComedy.mov>>}}}
<<player id=3 http://www.americafree.tv/unicast_mov/AmericaFreeTVComedy.mov>>
===
+++[Flash]...
Asteroids arcade game
{{{<<player id=4 http://www.80smusiclyrics.com/games/asteroids/asteroids.swf 400 300>>}}}
<<player id=4 http://www.80smusiclyrics.com/games/asteroids/asteroids.swf 400 300>>
Google Video
{{{<<player id=5 flash http://video.google.com/googleplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DoQAAAIVnUNP6GYRY8YnIRNPe4Uk5-j1q1MVpJIW4uyEFpq5Si0hcSDuig_JZcB9nNpAhbScm9W_8y_vDJQBw1DRdCVbXl-wwm5dyUiiStl_rXt0ATlstVzrUNC4fkgK_j7nmse7kxojRj1M3eo3jXKm2V8pQjWk97GcksMFFwg7BRAXmRSERexR210Amar5LYzlo9_k2AGUWPLyRhMJS4v5KtDSvNK0neL83ZjlHlSECYXyk%26sigh%3Dmpt2EOr86OAUNnPQ3b9Tr0wnDms%26begin%3D0%26len%3D429700%26docid%3D-914679554478687740&thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer%3Fcontentid%3De7e77162deb04c42%26second%3D5%26itag%3Dw320%26urlcreated%3D1144620753%26sigh%3DC3fqXPPS1tFiUqLzmkX3pdgYc2Y&playerId=-91467955447868774               400 326>>}}}
<<player id=5 flash http://video.google.com/googleplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DoQAAAIVnUNP6GYRY8YnIRNPe4Uk5-j1q1MVpJIW4uyEFpq5Si0hcSDuig_JZcB9nNpAhbScm9W_8y_vDJQBw1DRdCVbXl-wwm5dyUiiStl_rXt0ATlstVzrUNC4fkgK_j7nmse7kxojRj1M3eo3jXKm2V8pQjWk97GcksMFFwg7BRAXmRSERexR210Amar5LYzlo9_k2AGUWPLyRhMJS4v5KtDSvNK0neL83ZjlHlSECYXyk%26sigh%3Dmpt2EOr86OAUNnPQ3b9Tr0wnDms%26begin%3D0%26len%3D429700%26docid%3D-914679554478687740&thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer%3Fcontentid%3De7e77162deb04c42%26second%3D5%26itag%3Dw320%26urlcreated%3D1144620753%26sigh%3DC3fqXPPS1tFiUqLzmkX3pdgYc2Y&playerId=-91467955447868774               400 326>>
YouTube Video
{{{<<player id=6 flash http://www.youtube.com/v/OdT9z-JjtJk 400 300>>}}}
<<player id=6 flash http://www.youtube.com/v/OdT9z-JjtJk 400 300>>
===
+++[Still Images]...
GIF (best for illustrations, animations, diagrams, etc.)
{{{<<player id=7 image images/meow.gif auto auto>>}}}
<<player id=7 image images/meow.gif auto auto>>
JPG (best for photographs, scanned images, etc.)
{{{<<player id=8 image images/meow2.jpg 200 150>>}}}
<<player id=8 image images/meow2.jpg 200 150>>
===
<<<
!!!!!Installation
<<<
import (or copy/paste) the following tiddlers into your document:
''PlayerPlugin '' (tagged with <<tag systemConfig>>)
^^documentation and javascript for macro handling^^
<<<
!!!!!Revision History
<<<
''2007.10.15 [1.1.3]'' in loadURL(), add recognition for .PNG (still image), fallback to iframe for unrecognized media types
''2007.08.31 [1.1.2]'' added 'click-through' link for JPG/GIF images
''2007.06.21 [1.1.1]'' changed "hidecontrols" param to "showcontrols" and recognize true/false values in addition to 'showcontrols', added "autoplay" param (also recognize true/false values), allow "auto" as value for type param
''2007.05.22 [1.1.0]'' added support for type=="iframe" (displays src URL in an IFRAME)
''2006.12.06 [1.0.1]'' in handler(), corrected check for config.macros.attach (instead of config.macros.attach.getAttachment) so that player plugin will work when AttachFilePlugin is NOT installed.  (Thanks to Phillip Ehses for bug report)
''2006.11.30 [1.0.0]'' support embedded media content using getAttachment() API defined by AttachFilePlugin or AttachFilePluginFormatters.  Also added support for 'image' type to render JPG/GIF still images
''2006.02.26 [0.7.0]'' major re-write.  handles default params better.  create/recreate player objects via loadURL() API for use with interactive forms and scripts.
''2006.01.27 [0.6.0]'' added support for 'extra' macro params to pass through to object parameters
''2006.01.19 [0.5.0]'' Initial ALPHA release
''2005.12.23 [0.0.0]'' Started
<<<
!!!!!Credits
<<<
This feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]].
<<<
!!!!!Code
***/

// //  macro definition

//{{{
version.extensions.player = {major: 1, minor: 1, revision: 3, date: new Date(2007,10,15)};
config.macros.player = {};
config.macros.player.html = {};
config.macros.player.handler= function(place,macroName,params) {
	var id=null;
	if (params[0].substr(0,3)=="id=") id=params.shift().substr(3);
	var type="";
	var p=params[0].toLowerCase();
	if (p=="auto" || p=="windows" || p=="realone" || p=="quicktime" || p=="flash" || p=="image" || p=="iframe")
		type=params.shift().toLowerCase();
	var url=params.shift(); if (!url || !url.trim().length) url="";
	if (url.length && config.macros.attach!=undefined) // if AttachFilePlugin is installed
		if ((tid=store.getTiddler(url))!=null && tid.isTagged("attachment")) // if URL is attachment tiddler title
			url=config.macros.attach.getAttachment(url); // replace TiddlerTitle with attachment-expanded URL
	var width=params.shift();
	var height=params.shift();
	var autoplay=false;
	if (params[0]=='autoplay'||params[0]=='true'||params[0]=='false')
		autoplay=(params.shift()!='false');
	var show=true;
	if (params[0]=='showcontrols'||params[0]=='true'||params[0]=='false')
		show=(params.shift()!='false');
	var extras="";
	while (params[0]!=undefined)
		extras+="<param name='"+params.shift()+"' value='"+params.shift()+"'> ";
	this.loadURL(place,id,type,url,width,height,autoplay,show,extras);
}

if (config.options.txtPlayerDefaultWidth==undefined) config.options.txtPlayerDefaultWidth="100%";
if (config.options.txtPlayerDefaultHeight==undefined) config.options.txtPlayerDefaultHeight="480"; // can't use "100%"... player height doesn't stretch right :-(

config.macros.player.loadURL=function(place,id,type,url,width,height,autoplay,show,extras) {

	if (id==undefined) id="tiddlyPlayer";
	if (!width) var width=config.options.txtPlayerDefaultWidth;
	if (!height) var height=config.options.txtPlayerDefaultHeight;
	if (url && (!type || !type.length || type=="auto")) { // determine type from URL
		u=url.toLowerCase();
		if ((u.indexOf('mms')!=-1)||(u.indexOf('.asx')!=-1)||(u.indexOf('.wvx')!=-1)||(u.indexOf('.wmv')!=-1)||(u.indexOf('.mp3')!=-1))
			var type="windows";
		else if ((u.indexOf('rtsp')!=-1)||(u.indexOf('.ram')!=-1)||(u.indexOf('.rpm')!=-1)||(u.indexOf('.rm' )!=-1)||(u.indexOf('.ra' )!=-1))
			var type="realone";
		else if ((u.indexOf('.mov')!=-1)||(u.indexOf('.qt' )!=-1))
			var type="quicktime";
		else if ((u.indexOf('.swf')!=-1)||(u.indexOf('.flv')!=-1))
			var type="flash";
		else if ((u.indexOf('.jpg')!=-1)||(u.indexOf('.gif')!=-1)||(u.indexOf('.png')!=-1))
			var type="image";
		else if ((u.indexOf('.htm')!=-1)||(u.indexOf('.html')!=-1))
			var type="iframe";
	}
	if (!type || !config.macros.player.html[type]) var type="none";
	if (!url) var url="";
	if (show===undefined) var show=true;
	if (!extras) var extras="";
	if (type=="none" && url.trim().length) type="iframe"; // fallback to iframe for unrecognized media types

	// adjust parameter values for player-specific embedded HTML
	switch (type) {
		case "windows":
			autoplay=autoplay?"1":"0"; // player-specific param value
			show=show?"1":"0"; // player-specific param value
			break;
		case "realone":
			autoplay=autoplay?"true":"false";
			show=show?"block":"none";
			height-=show?60:0; // leave room for controls
			break;
		case "quicktime":
			autoplay=autoplay?"true":"false";
			show=show?"true":"false";
			break;
		case "image":
			show=show?"block":"none";
			break;
		case "iframe":
			show=show?"block":"none";
			break;
	}

	// create containing div for player HTML
	// and add or replace player in TW DOM structure
	var newplayer = document.createElement("div");
	newplayer.playerType=type;
	newplayer.setAttribute("id",id+"_div");
	var existing = document.getElementById(id+"_div");
	if (existing && !place) place=existing.parentNode;
	if (!existing)
		place.appendChild(newplayer);
	else {
		if (place==existing.parentNode) place.replaceChild(newplayer,existing)
		else { existing.parentNode.removeChild(existing); place.appendChild(newplayer); }
	}

	var html=config.macros.player.html[type];
	html=html.replace(/%i%/mg,id);
	html=html.replace(/%w%/mg,width);
	html=html.replace(/%h%/mg,height);
	html=html.replace(/%u%/mg,url);
	html=html.replace(/%a%/mg,autoplay);
	html=html.replace(/%s%/mg,show);
	html=html.replace(/%x%/mg,extras);
	newplayer.innerHTML=html;
}
//}}}

// // Player-specific API functions: isReady(id), isPlaying(id), toggleControls(id), showControls(id,flag)

//{{{
// status values:
// Windows: 0=Undefined, 1=Stopped, 2=Paused, 3=Playing, 4=ScanForward, 5=ScanReverse
//          6=Buffering, 7=Waiting, 8=MediaEnded, 9=Transitioning, 10=Ready, 11=Reconnecting
// RealOne: 0=Stopped, 1=Contacting, 2=Buffering, 3=Playing, 4=Paused, 5=Seeking
// QuickTime: 'Waiting', 'Loading', 'Playable', 'Complete', 'Error:###'
// Flash: 0=Loading, 1=Uninitialized, 2=Loaded, 3=Interactive, 4=Complete
config.macros.player.isReady=function(id)
{
	var d=document.getElementById(id+"_div"); if (!d) return false;
	var p=document.getElementById(id); if (!p) return false;
	if (d.playerType=='windows') return !((p.playState==0)||(p.playState==7)||(p.playState==9)||(p.playState==11));
	if (d.playerType=='realone') return (p.GetPlayState()>1);
	if (d.playerType=='quicktime') return !((p.getPluginStatus()=='Waiting')||(p.getPluginStatus()=='Loading'));
	if (d.playerType=='flash') return (p.ReadyState>2);
	return true;
}
config.macros.player.isPlaying=function(id)
{
	var d=document.getElementById(id+"_div"); if (!d) return false;
	var p=document.getElementById(id); if (!p) return false;
	if (d.playerType=='windows') return (p.playState==3);
	if (d.playerType=='realone') return (p.GetPlayState()==3);
	if (d.playerType=='quicktime') return (p.getPluginStatus()=='Complete');
	if (d.playerType=='flash') return (p.ReadyState<4);
	return false;
}
config.macros.player.showControls=function(id,flag) {
	var d=document.getElementById(id+"_div"); if (!d) return false;
	var p=document.getElementById(id); if (!p) return false;
	if (d.playerType=='windows') { p.ShowControls=flag; p.ShowStatusBar=flag; }
	if (d.playerType=='realone') { alert('show/hide controls not available'); }
	if (d.playerType=='quicktime')      // if player not ready, retry in one second
		{ if (this.isReady(id)) p.setControllerVisible(flag); else setTimeout('config.macros.player.showControls("'+id+'",'+flag+')',1000); }
	if (d.playerType=='flash') { alert('show/hide controls not available'); }
}
config.macros.player.toggleControls=function(id) {
	var d=document.getElementById(id+"_div"); if (!d) return false;
	var p=document.getElementById(id); if (!p) return false;
	if (d.playerType=='windows') var flag=!p.ShowControls;
	if (d.playerType=='realone') var flag=true; // TBD
	if (d.playerType=='quicktime') var flag=!p.getControllerVisible();
	if (d.playerType=='flash') var flag=true; // TBD
	this.showControls(id,flag);
}
config.macros.player.fullScreen=function(id) {
	var d=document.getElementById(id+"_div"); if (!d) return false;
	var p=document.getElementById(id); if (!p) return false;
	if (d.playerType=='windows') p.DisplaySize=3;
	if (d.playerType=='realone') p.SetFullScreen();
	if (d.playerType=='quicktime') { alert('full screen not available'); }
	if (d.playerType=='flash') { alert('full screen not available'); }
}
//}}}

// // Player HTML

//{{{
// placeholder (no player)
config.macros.player.html.none=' \
	<table id="%i%" width="%w%" height="%h%" style="background-color:#111;border:0;margin:0;padding:0;"> \
	<tr style="background-color:#111;border:0;margin:0;padding:0;"> \
	<td width="%w%" height="%h%" style="background-color:#111;color:#ccc;border:0;margin:0;padding:0;text-align:center;"> \
	&nbsp; \
	%u% \
	&nbsp; \
	</td></tr></table>';
//}}}

//{{{
// JPG/GIF/PNG still images
config.macros.player.html.image='\
	<a href="%u%" target="_blank"><img width="%w%" height="%h%" style="display:%s%;" src="%u%"></a>';
//}}}

//{{{
// IFRAME web page viewer
config.macros.player.html.iframe='\
	<iframe id="%i%" width="%w%" height="%h%" style="display:%s%;" src="%u%"></iframe>';
//}}}

//{{{
// Windows Media Player
// v7.1 ID: classid=CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6
// v9	ID: classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95
config.macros.player.html.windows=' \
	<object id="%i%" width="%w%" height="%h%" style="margin:0;padding:0;width:%w%;height:%h%px;" \
		classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" \
		codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" \
		align="baseline" border="0" \
		standby="Loading Microsoft Windows Media Player components..." \
		type="application/x-oleobject"> \
		<param name="FileName" value="%u%"> <param name="ShowControls" value="%s%"> \
		<param name="ShowPositionControls" value="1"> <param name="ShowAudioControls" value="1"> \
		<param name="ShowTracker" value="1"> <param name="ShowDisplay" value="0"> \
		<param name="ShowStatusBar" value="1"> <param name="AutoSize" value="1"> \
		<param name="ShowGotoBar" value="0"> <param name="ShowCaptioning" value="0"> \
		<param name="AutoStart" value="%a%"> <param name="AnimationAtStart" value="1"> \
		<param name="TransparentAtStart" value="0"> <param name="AllowScan" value="1"> \
		<param name="EnableContextMenu" value="1"> <param name="ClickToPlay" value="1"> \
		<param name="InvokeURLs" value="1"> <param name="DefaultFrame" value="datawindow"> \
		%x% \
		<embed src="%u%" style="margin:0;padding:0;width:%w%;height:%h%px;" \
			align="baseline" border="0" width="%w%" height="%h%" \
			type="application/x-mplayer2" \
			pluginspage="http://www.microsoft.com/windows/windowsmedia/download/default.asp" \
			name="%i%" showcontrols="%s%" showpositioncontrols="1" \
			showaudiocontrols="1" showtracker="1" showdisplay="0" \
			showstatusbar="%s%" autosize="1" showgotobar="0" showcaptioning="0" \
			autostart="%a%" autorewind="0" animationatstart="1" transparentatstart="0" \
			allowscan="1" enablecontextmenu="1" clicktoplay="0" invokeurls="1" \
			defaultframe="datawindow"> \
		</embed> \
	</object>';
//}}}

//{{{
// RealNetworks' RealOne Player
config.macros.player.html.realone=' \
	<table width="%w%" style="border:0;margin:0;padding:0;"><tr style="border:0;margin:0;padding:0;"><td style="border:0;margin:0;padding:0;"> \
	<object id="%i%" width="%w%" height="%h%" style="margin:0;padding:0;" \
		CLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"> \
		<PARAM NAME="CONSOLE" VALUE="player"> \
		<PARAM NAME="CONTROLS" VALUE="ImageWindow"> \
		<PARAM NAME="AUTOSTART" Value="%a%"> \
		<PARAM NAME="MAINTAINASPECT" Value="true"> \
		<PARAM NAME="NOLOGO" Value="true"> \
		<PARAM name="BACKGROUNDCOLOR" VALUE="#333333"> \
		<PARAM NAME="SRC" VALUE="%u%"> \
		%x% \
		<EMBED width="%w%" height="%h%" controls="ImageWindow" type="audio/x-pn-realaudio-plugin" style="margin:0;padding:0;" \
			name="%i%" \
			src="%u%" \
			console=player \
			maintainaspect=true \
			nologo=true \
			backgroundcolor=#333333 \
			autostart=%a%> \
		</OBJECT> \
	</td></tr><tr style="border:0;margin:0;padding:0;"><td style="border:0;margin:0;padding:0;"> \
	<object id="%i%_controls" width="%w%" height="60" style="margin:0;padding:0;display:%s%" \
		CLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"> \
		<PARAM NAME="CONSOLE" VALUE="player"> \
		<PARAM NAME="CONTROLS" VALUE="All"> \
		<PARAM NAME="NOJAVA" Value="true"> \
		<PARAM NAME="MAINTAINASPECT" Value="true"> \
		<PARAM NAME="NOLOGO" Value="true"> \
		<PARAM name="BACKGROUNDCOLOR" VALUE="#333333"> \
		<PARAM NAME="SRC" VALUE="%u%"> \
		%x% \
		<EMBED WIDTH="%w%" HEIGHT="60" NOJAVA="true" type="audio/x-pn-realaudio-plugin" style="margin:0;padding:0;display:%s%" \
			controls="All" \
			name="%i%_controls" \
			src="%u%" \
			console=player \
			maintainaspect=true \
			nologo=true \
			backgroundcolor=#333333> \
		</OBJECT> \
	</td></tr></table>';
//}}}

//{{{
// QuickTime Player
config.macros.player.html.quicktime=' \
	<OBJECT ID="%i%" WIDTH="%w%" HEIGHT="%h%" style="margin:0;padding:0;" \
		CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" \
		CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab"> \
		<PARAM name="SRC" VALUE="%u%"> \
		<PARAM name="AUTOPLAY" VALUE="%a%"> \
		<PARAM name="CONTROLLER" VALUE="%s%"> \
		<PARAM name="BGCOLOR" VALUE="#333333"> \
		<PARAM name="SCALE" VALUE="aspect"> \
		<PARAM name="SAVEEMBEDTAGS" VALUE="true"> \
		%x% \
		<EMBED name="%i%" WIDTH="%w%" HEIGHT="%h%" style="margin:0;padding:0;" \
			SRC="%u%" \
			AUTOPLAY="%a%" \
			SCALE="aspect" \
			CONTROLLER="%s%" \
			BGCOLOR="#333333" \
			EnableJavaSript="true" \
			PLUGINSPAGE="http://www.apple.com/quicktime/download/"> \
		</EMBED> \
	</OBJECT>';
//}}}

//{{{
// Flash Player
config.macros.player.html.flash='\
	<object id="%i%" width="%w%" height="%h%" style="margin:0;padding:0;" \
		classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" \
		codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"> \
		<param name="movie" value="%u%"> \
		<param name="quality" value="high"> \
		<param name="SCALE" value="exactfit"> \
		<param name="bgcolor" value="333333"> \
		%x% \
		<embed name="%i%" src="%u%" style="margin:0;padding:0;" \
			height="%h%" width="%w%" quality="high" \
			pluginspage="http://www.macromedia.com/go/getflashplayer" \
			type="application/x-shockwave-flash" scale="exactfit"> \
		</embed> \
	</object>';
//}}}
Osmosoft’s first focus is [[TiddlyWiki|http://www.tiddlywiki.com]], a
popular and well regarded open source tool that is relied on by
hundreds of thousands of people around the world to record, organize,
and share all kinds of information. This website is a TiddlyWiki!
Keep an eye on the blogs for more information, but you might want to
look at BT's [[Web21C SDK|http://sdk.bt.com/]] website to get an idea
of the technologies we're integrating first.
{{left{
<html><img src="images/up at cedar.jpg" style="height: 250px; "/></html>}}}
Below is a list of practitioners by type that I've come across and may be helpful for you.  I'll try to add more info about them as I get it (please give me feedback if you've seen any of these people), and especially let me know if there have been any problems.

Keep in mind many of these will have been based on the experience of other patients, not my own personal experience (unless otherwise stated)

[[Massage Therapists]]
[[Naturopaths]]
<html>
	
	<iframe src="Newsletter 2007 NovemberB.htm"
		style="background:#fff;width:170%;height:400px">
	</iframe>
</html>
<<tiddler MajorNavigation>>

<<search>>

<<tiddler MinorNavigation>>
<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal "DD MMM YYYY">><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "options »" "Change TiddlyWiki advanced options">>
<<tabs txtMainTab "Timeline" "Timeline" TabTimeline "All" "All tiddlers" TabAll "Tags" "All tags" TabTags "More" "More lists" TabMore>>
Within his first year working at BT Simon produced ~MyPages, a Facebook/~MySpace style collaborative and social networking site. ~MyPages generated so much traffic that the system had to be shut down.

When not on his boat Simon likes to hack things together and make them do things they were never designed for.

If you're popping in to the office, Simon will have a cup of tea with milk and sugar and a chocolate muffin.

[[simonmcmanus.wordpress.com|http://simonmcmanus.wordpress.com]]
a place to learn about how to get healthy and stay healthy
CEDAR Chiropractic Website
http://www.osmosoft.com/
There are two main groups of spinal muscles:

1.  The inner, or deep ((segmental (meaning that they are short - they go from one spinal bone to the next one or two bones up or down))) muscles +++^* [img[images/Pic_multifidi.JPG]]===

2.  The outer layer, "((paraspinal("para" meaning "along side of")))" muscles +++^* [img[images/ParaspinalMuscles.GIF]]===


The surface or ''paraspinal muscles'' are the ones that move us around, help us bend and twist etc.  They are the ones that when knotted up can be treated by massage therapy, or in my office, by use of the arthrositm +++^*  [img[images/arthrostim.JPG]]=== instrument or the activator +++^*
[img[images/activator.JPG]]=== instrument

The inner or deep ''segmental muscles'', on the other hand, do not ''//cause//'' movement, but they keep all the separate bones aligned at every possible position and point in time.  When they become ((subluxated(<<tiddler [[Subluxation]]>>))), the treatment chiropractors do for that is called a spinal adjustment.  Massage does not typically help with subluxations
/*{{{*/

body { background-color:[[ColorPalette::Background]]; font: normal 13px/1.5em Arial, sans-serif; color:[[ColorPalette:TextOnDark]];}
div.constrainer { width:1000px; margin:0 auto 0 auto; overflow:hidden; clear:both; }
input.txtOptionInput {border-style:none; margin:0; padding:4px; color:#444; background:#fff url(./images/bg_search.png) repeat-x top left;}

div.header {  background:[[ColorPalette::Darker]] url(images/logo3.jpg)  repeat-x center 70px; position:relative;}
div.header div.headerShadow { height:160px; top:0; left:0; }
div.header div.headerShadow span.siteTitle { position:absolute; top:20px; left:0; width:201px; height:140px; text-indent:-9999px; overflow:hidden; background:transparent url(images/logo2.jpg) no-repeat top left;}
div.header div.headerShadow span.siteSubtitle { position:absolute; top:20px; right:0; width:196px; height:20px;text-indent:-9999px; overflow:hidden; background:transparent url(images/from_bt.png) no-repeat top left; }
div.header div.headerForeground { display:none; }

#controlBar { background-color:[[ColorPalette::Darkest]]; color:[[ColorPalette:TextOnDark]]; border-bottom:solid 1px [[ColorPalette::DullOnDark]]; }
#controlBar  a  { color:[[ColorPalette::DullOnDark]]; border-style:none; font-size:0.8em;}
#controlBar  a:hover { color:[[ColorPalette::TextOnDark]]; background-color:[[ColorPalette::Darkest]]; }

#controlBar div.constrainer a  { margin-right:2em; }
#controlBar div.sliderPanel { margin:2em 0;}
#controlBar div.sliderPanel a { margin-right:0;}

#messageArea {z-index:9999;}
#displayArea { margin:0; float:left; width:630px;}
#mainMenu {display:none;}

#sidebar {position: relative; margin:1em 0 4em 0; float:right; width:220px; text-align:right;}
#sidebar a {color:[[ColorPalette::Magenta]]; font-size:1.7em; font-weight:normal;line-height:1.4em;}
#sidebar a:hover {color:[[ColorPalette::Brightest]]; background-color:[[ColorPalette::Background]];}
#sidebar a.button {font-size:1.2em; color:#777; clear:right; border-style:none;}
#sidebar a.button:hover {color:#ccc; background-color:[[ColorPalette::Background]]; }
#sidebar input.txtOptionInput {width:170px; margin:4px 0 0 8px; }

div.tiddler {margin:0; padding:0 0 4em 0;}
div.tiddler a { color:#ddd;}
div.tiddler a:hover { color:[[ColorPalette::Magenta]]; background:[[ColorPalette::Background]];}

div.tiddler div.subtitle { display:none; }
div.tiddler div.toolbar { text-align:left; margin-left:0.5em; display:inline;}
div.tiddler div.toolbar > a.button { color:[[ColorPalette::SubtleOnDark]]; border-width:0;}
div.tiddler div.toolbar > a.button:hover { color:[[ColorPalette::BrightOnDark]]; background:[[ColorPalette::Darker]];}
div.tiddler div.title { font-size:2em; margin-left:0; color:[[ColorPalette::Brightest]]; display:inline; font-weight:normal;}

div.tiddler div.viewer { font-size:1.05em; margin:0 2em 0 0; padding-top:0.3em; width:430px; color:[[ColorPalette::Foreground]]; line-height:1.3em;}
div.tiddler div.viewer img { float:left; clear:left; margin:0 1em 1em 0; zoom:1;}
div.tiddler div.viewer h1, div.tiddler div.viewer h2, div.tiddler div.viewer h3, div.tiddler div.viewer h4 { border-bottom:solid 1px #333; padding:0.3em 0; margin:0.2em 0 0.2em 0; }
div.tiddler div.viewer h1 {color:#eee; font-size:1.4em; margin:1em 0 0.2em 0; }
div.tiddler div.viewer h2 {color:#eee; font-size:1.3em; margin:1em 0 0.2em 0;}
div.tiddler div.viewer h3 {color:#999; font-size:1.2em;}
div.tiddler div.viewer h4 {color:#999; font-size:1em;}

div.tiddler div.tagged { background-color:[[ColorPalette::Background]]; border-width:0; margin:0 0 2em 0;}
div.tiddler div.tagged ul li.listTitle { display:none; }
div.tiddler div.tagged ul li a { font-size:1em; display:block; border-style:none; margin-bottom:0; padding:0 0 0 16px; text-decoration:none; background:transparent url(images/tag.png) no-repeat 0 0.2em; color:#333; }
div.tiddler div.tagged ul li a:hover { color:#ccc; background:transparent url(images/tag.png) no-repeat 0 0.2em;}

div.tiddler div.tagging { float:none; border:solid 1px #222; padding:3px; background-color:#000; overflow:hidden; clear:both; zoom:1;}
div.tiddler div.tagging ul li { float:left; margin:0 1em 0 0; color:#666; }
div.tiddler div.tagging ul li a { color:[[ColorPalette::Magenta]]; }
div.tiddler div.tagging ul li a:hover { color:#fff; background-color:#000; }



div.tiddler table {margin:0; border-width:0px; }
div.tiddler table tr { border-width:0px; }
div.tiddler table tr td { border-width:0px; vertical-align:top; }
div.tiddler table tr td * { float:left; clear:left; }
div.tiddler div.viewer pre { font-size:0.9em; margin:0 0 1em 0; padding:1.2em; border:solid 1px #444; background-color:#222; color:#aaa; }

div.tiddler div.txtMainTab div.tabset {height:1.4em;}
div.tiddler div.txtMainTab div.tabset a.tab {border-style:none;  background-color:transparent; color:[[ColorPalette::Magenta]]; padding:0.15em 0.6em;}
div.tiddler div.txtMainTab div.tabset a.tabSelected {border:solid 1px #ccc; border-bottom:solid 3px [[ColorPalette::Background]]; background-color:[[ColorPalette::Background]]; color:#ccc;}
div.tiddler div.txtMainTab div.tabset a.tabUnselected:hover {color:#fff;}
div.tiddler div.txtMainTab div.tabContents {background-color:transparent; border-style:none; border-top:solid 1px #444;}
div.tiddler div.txtMainTab ul { list-style:none; margin:0; padding:0.5em 0; }
div.tiddler div.txtMainTab ul li { padding:0 20px;}
div.tiddler div.txtMainTab ul li a { font-weight:normal; line-height:1.3em; margin:0.2em 0; }
div.tiddler div.txtMainTab ul li.listTitle { border-top:solid 1px #222 ;margin:0; padding:0.5em 0 0.2em 20px; font-size:1.5em; color:#555; }
div.tiddler div.txtMainTab ul li.listLink { margin:0; padding:0 0 0 20px; }
div.tiddler div.txtMainTab ul:first-child li.listTitle { border-style:none;  }

#popup { border:solid 1px #000; padding:0;}
#popup.popup li a { background-color:#000; color:[[ColorPalette::Foreground]]; text-align:left; padding:0.1em 0.3em;}
#popup.popup li a:hover { background-color:[[ColorPalette::Magenta]]; color:#fff;}
#popup.popup li.listBreak div {border-bottom:solid 0px #111; border-top:solid 1px #333; margin:0;}

form.wizard {font-size:0.8em;}
form.wizard input.txtOptionInput {font-size:1em; }
/% the following is FND helping with annotationPlugin styling%/
.anno {
       border: 2px solid #000;
       background-color: #333333;
       color: #000;
}

.anno h1,
.anno h2 {
       color: #000;
}

.annosub {
       background: #333333;
}

.annosubover {
       background-color: #DFDFFF;
}
/*}}}*/
a subluxation is a bit of a fuzzy term.  It can mean both a cause and an effect.  

In the sense of //''cause''//, a subluxation happens when one of the deep segmental spinal muscles lets go at the wrong time and allows a spinal joint to go slightly out of place. 

 In the sense of //''effect''//, the body responds to that accidental "give" by recruiting other muscles in the area to guard against any further movement out of place.  This tightening or mild spasm can also be considered a subluxation, or fixation, or "bone out of place" or "misalignment".
The Supernova conference, organized by Kevin Werbach and The Wharton School, is where technology and business influencers, leading investors, top innovators and thinkers come together to debate the future of the connected world.

We demonstrated a simple mashup of TiddlyWiki and the BT 21C SDK which you can [[take a look at here|http://www.osmosoft.com/events/supernova/]] and you can find more information about Supernova at the [[Supernova website|http://www.supernova2007.com/]].
The following items have been lovingly plucked from our blogs. 
You can also find links to all of our blogs in the [[profiles|Who are we?]] section.

<<pipePlugin http://pipes.yahoo.com/pipes/pipe.run?_id=NDqmn7Fm3BG4hHj0iHrL0A&_render=json&_callback=config.macros.pipePlugin.JSONparse 10 250>>
<html><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/gWfCnjnShnM&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/gWfCnjnShnM&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></html>
[[TiddlyWiki|http://www.tiddlywiki.com]] is a website on a stick! In one single HTML file, TiddlyWiki gives you the ability to publish and organize information in a whole manner of different ways. If you can't do what you want to, you can write plugins to change the way TiddlyWiki works. A thriving community of developers have generated huge number of plugins that turn TiddlyWiki into a number of different things, from a CD organizer to an online collaboration tool.

For a quick introduction to TiddlyWiki and an overview of some of the basics, you can watch the [['Introduction to TiddlyWiki' screencast|Introduction to TiddyWiki screencast]].

TiddlyWiki is a piece of open source software created by Jeremy Ruston.  The copyright is now owned by the not-for-profit organisation [[UnaMesa|http://www.unamesa.org]]. TiddlyWiki has always been free and open source and will remain free and open source.
21st September 2007

Today we are celebrating the 3rd anniversary of TiddlyWiki! This morning we recorded [[an interview|TiddlyWiki anniversary interview]] between [[Jeremy Ruston]], creator of TiddlyWiki, [[Saq Imtiaz|http://blog.lewcid.org/]], a prolific contributor to the TiddlyWiki community, and [[Phil Whitehouse]], an [[Osmosoftonian]]. Jeremy talks about the history of TiddlyWiki and answers questions coming in over the [[IRC channel]]. You can see the recording by clicking on the screenshot.

We have [[several members|http://www.hawksworx.com/journal/2007/09/21/meeting-tiddlywiki-enthusiasts/]] of the TiddlyWiki community visiting us this week - it's turning out to be a great opportunity to talk about Osmosoft, open source and TiddlyWiki, and what BT's acquisition means for the future development of TiddlyWiki. We're celebrating tonight with Mojito's - if you're in the area, give us a call!
21st September 2007

As part of the celebrations of TiddlyWiki's 3rd Anniversary, we recorded this interview between [[Jeremy Ruston]], creator of TiddlyWiki, [[Saq Imtiaz|http://blog.lewcid.org/]], a prolific contributor to the TiddlyWiki community, and [[Phil Whitehouse]], an [[Osmosoftonian]]. 
<html>
<embed src='screencasts/History_of_TiddlyWiki_small.mp4' scale='ToFit' width='100%' ' height='340px' autoplay='false'  bgcolor="#111"/>
</html>
This is just the very early stages, so stay tuned...
{{{

//  Overide displayTiddler function to also Google Analytics urchin.

var TiddlyLock = {};
TiddlyLock.displayTiddler = story.displayTiddler;
story.displayTiddler = function(srcElement,titles,template,unused1,unused2,animate,unused3)
{
	if(urchinTracker && urchinTracker != 'undefined') urchinTracker('/' + titles);
	TiddlyLock.displayTiddler.apply(this,arguments);
}

}}}
<!--{{{-->
<div class='title' macro='view title'></div>
<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler'></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>
<!--}}}-->
!Welcome to the CEDAR Chiropractic website
(Under construction - This is just the early stages, so stay tuned...)

Feel free to look around - either use the menus on the right, or type in what you're looking for in the search box.

(click the arrow at the lower left)
<html>
	<embed src="http://hightowerdownload.com/f/main.swf" width="480" height="270" bgcolor="#FFFFFF" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="mov=http://s3.amazonaws.com/hl_weekly_videos/ep001_show_v203_web480.swf&buttons=http://hightowerdownload.com/f/buttons.swf&playpause=http://hightowerdownload.com/f/playpause.swf&autoplay=stop&signup=http://hightowerdownload.com/signup&forward=http://hightowerdownload.com/forward/26&share=http://hightowerdownload.com/node/26#share" />
</html>
Jeremy announced the acquisition of Osmosoft by BT on the 29th May in [[this blog post|http://jermolene.wordpress.com/2007/05/29/i-for-one-welcome-my-new-bt-overlords]]. 

[[TiddlyWiki|http://tiddlywiki.com]] has been moved under the auspices of the [[UnaMesa|http://www.unamesa.org]] foundation, an open, not-for-profit organisation. It's still free and it's still open source and so shall it remain.
When an adjustment is made, there is a pressure change inside the joint that forces the carbon dioxide (CO2) that is in the joint fluid to change into a gas form.  Its like when you open a bottle of pop and it fizzes or bubbles, only when it happens inside a joint, it happens all at once (because the joint fluid is at body temperature).  So, in short, the crack is ''//the sound of CO2 popping into gas form//''.
heat always feels good at first, but if there's any inflammation in the area you're heating up, that will encourage the inflammation and you'll probably feel worse than before within 20 minutes to an hour.

My general rule of thumb is to avoid heat if
#its a recent injury (hours to days)
#if your pain level is more than a 4/10 

Ice, on the other hand, will never hurt you (as long as you don't give yourself frostbite!!)
*just wrap a thin towel around a frozen gel-pac or bag of frozen peas and apply it to the painful area for 10 to 15 minutes at a time, in a set of three applications with ten minutes in between when you put the pack back in the freezer.
*if you're afraid the ice will be too cold (i.e. you just "don't like being cold") wrap yourself up in a warm blanket and give yourself 30 seconds to get used to the cold.  I'm sure you'll be able to make it past that uncomfortable time so you can later appreciate the "numbing" effect the ice has on pain and inflammation.

typical frozen ice pack you can buy at a drug store and keep in your freezer
[img[images/Ice_pack.jpg]]
BT Osmosoft is a small team of techies that have a passion for
open source software. We like to invent, create and play.

|[img[Jeremy|images/photo_jeremy.jpg]]|''[[Jeremy Ruston]]'' [[jermolene.wordpress.com|http://jermolene.wordpress.com]] [[flickr.com/photos/jermy|http://flickr.com/photos/jermy/]] |
|[img[Andrew|images/photo_andrew.jpg]]|''[[Andrew Back]]'' [[carrierdetect.com|http://carrierdetect.com]] [[flickr.com/photos/carrierdetect/|http://flickr.com/photos/carrierdetect/]] |
|[img[James|images/photo_james.jpg]]|''[[James Shi]]''[[curiousjames.wordpress.com|http://curiousjames.wordpress.com]] [[picasaweb.google.com/james.z.shi|http://picasaweb.google.com/james.z.shi]] |
|[img[Jon|images/photo_jon.jpg]]|''[[Jon Lister]]'' [[jayfresh.wordpress.com|http://jayfresh.wordpress.com]] |
|[img[Paul|images/photo_paul.jpg]]|''[[Paul Downey]]'' [[blog.whatfettle.com|http://blog.whatfettle.com]] [[flickr.com/photos/psd|http://flickr.com/photos/psd/]] |
|[img[Phil H|images/photo_philh.jpg]]|''[[Phil Hawksworth]]'' [[www.hawksworx.com|http://www.hawksworx.com]] [[flickr.com/photos/philhawksworth|http://flickr.com/photos/philhawksworth/]] |
|[img[Phil W|images/photo_philw.jpg]]|''[[Phil Whitehouse]]'' [[philwhitehouse.blogspot.com|http://philwhitehouse.blogspot.com]] [[flickr.com/photos/philliecasablanca|http://flickr.com/photos/philliecasablanca/]] |
|[img[Simon|images/photo_simon.jpg]]|''[[Simon McManus]]'' [[simonmcmanus.wordpress.com|http://simonmcmanus.wordpress.com]] |
CEDAR is an acronym for the five primary areas in which you should be looking at changing your habits if you've decided you're not happy with your current health or the direction its heading.

Each letter stands for:
*C Chiropractic
*E Exercise
*D Diet
*A Attitude
*R Recovery
+++[Dr. P.s comment on this video|click to see]

This presents a strong statement of the facts, and although I don't dispute (so far) any individual statement there, I do think that the attitude is a little "over the top" (starting with the dramatic music).  I personally don't think we should drop mainstream medicine altogether, but use this information to talk with others about it enough to make things better.  The truth will always prevail, but it will most likely take a lot longer than what we'd like - mostly because people (many people) actually have to care and contribute to the solutions===
<html>
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/g_FMr8kdvQY&hl=en"></param><embed src="http://www.youtube.com/v/g_FMr8kdvQY&hl=en" type="application/x-shockwave-flash" width="425" height="344"></embed></object>
</html>
[[Patient Education]]

[[Your time in the clinic]]

[[Your time at home]]
!Your time at home

[[Exercise|Exercises]]

[[Diet]]

[[Attitude]]

[[Recovery]]
!Your time in the clinic

[[Your First Visit]]

[[X-rays]]

[[Chiropractic Treatments]]
/***
|''Name:''|YourSearchPlugin|
|''Version:''|2.0.2 (2006-02-13)|
|''Source:''|http://tiddlywiki.abego-software.de/#YourSearchPlugin|
|''Author:''|UdoBorkowski (ub [at] abego-software [dot] de)|
|''Licence:''|[[BSD open source license]]|
|''TiddlyWiki:''|2.0|
|''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|
<<tiddler [[YourSearch Introduction]]>>
For more information see [[Help|YourSearch Help]].

!Compatibility
This plugin requires TiddlyWiki 2.0. 
Use http://tiddlywiki.abego-software.de/#YourSearchPlugin-1.0.1 for older TiddlyWiki versions.

!Revision history
* v2.0.2 (2006-02-13)
** Bugfix for Firefox 1.5.0.1 related to the "Show prefix" checkbox. Thanks to Ted Pavlic for reporting and to BramChen for fixing. 
** Internal
*** Make "JSLint" conform
* v2.0.1 (2006-02-05)
** Support "Exact Word Match" (use '=' to prefix word)
** Support default filter settings (when no filter flags are given in search term)
** Rework on the "less than 3 chars search text" feature (thanks to EricShulman)
** Better support SinglePageMode when doing "Open all tiddlers" (thanks to EricShulman)
** Support Firefox 1.5.0.1
** Bug: Fixed a hilite bug in "classic search mode" (thanks to EricShulman)
* v2.0.0 (2006-01-16)
** Add User Interface
* v1.0.1 (2006-01-06)
** Support TiddlyWiki 2.0
* v1.0.0 (2005-12-28)
** initial version
!Code
The code is compressed. 

You can retrieve a readable source code version from http://tiddlywiki.abego-software.de/#YourSearchPlugin-src.
/%
***/
if(!version.extensions.YourSearchPlugin){version.extensions.YourSearchPlugin={major:2,minor:0,revision:2,date:new Date(2006,2,13),type:"plugin",source:"http://tiddlywiki.abego-software.de/#YourSearchPlugin"};var alertAndThrow=function(_1){alert(_1);throw _1;};if(!window.abego){window.abego={};}if(abego.YourSearch){alertAndThrow("abego.YourSearch already defined");}abego.YourSearch={};if(version.major<2){alertAndThrow("YourSearchPlugin requires TiddlyWiki 2.0 or newer.\n\nGet YourSearch 1.0.1 to use YourSearch with older versions of TiddlyWiki.\n\nhttp://tiddlywiki.abego-software.de/#YourSearchPlugin-1.0.1");}var STQ=function(_2,_3,_4,_5){this.queryText=_2;this.caseSensitive=_3;if(_5){this.regExp=new RegExp(_2,_3?"mg":"img");return;}this.terms=[];var re=/\s*(\-)?([#%!=]*)(?:(?:("(?:(?:\\")|[^"])*")|(\S+)))(?:\s+((?:[aA][nN][dD])|(?:[oO][rR]))(?!\S))?/mg;var _7=re.exec(_2);while(_7!=null&&_7.length==6){var _8="-"==_7[1];var _9=_7[2];var _a=_9.indexOf("!")>=0;var _b=_9.indexOf("%")>=0;var _c=_9.indexOf("#")>=0;var _d=_9.indexOf("=")>=0;if(!_a&&!_b&&!_c){_a=config.options.chkSearchInTitle;_b=config.options.chkSearchInText;_c=config.options.chkSearchInTags;if(!_a&&!_b&&!_c){_a=_b=_c=true;}}if(_4){_b=false;_c=false;}var _e;if(_7[3]){try{_e=eval(_7[3]);}catch(ex){}}else{_e=_7[4];}if(!_e){throw "Invalid search expression: %0".format([_2]);}var _f=_7[5]&&_7[5].charAt(0).toLowerCase()=="o";this.terms.push(new STQ.Term(_e,_a,_b,_c,_8,_f,_3,_d));_7=re.exec(_2);}};var me=STQ.prototype;me.getMatchingTiddlers=function(_10){var _11=[];for(var i in _10){var t=_10[i];if((t instanceof Tiddler)&&this.matchesTiddler(t)){_11.push(t);}}return _11;};me.matchesTiddler=function(_14){if(this.regExp){return this.regExp.test(_14.title)||this.regExp.test(_14.text);}var n=this.terms.length;if(n==0){return false;}var _16=this.terms[0].matchesTiddler(_14);for(var i=1;i<this.terms.length;i++){if(this.terms[i-1].orFollows){if(!_16){_16|=this.terms[i].matchesTiddler(_14);}}else{if(_16){_16&=this.terms[i].matchesTiddler(_14);}}}return _16;};me.getOnlyMatchTitleQuery=function(){if(!this.onlyMatchTitleQuery){this.onlyMatchTitleQuery=new STQ(this.queryText,this.caseSensitive,true,this.useRegExp);}return this.onlyMatchTitleQuery;};me.getMarkRegExp=function(){if(this.regExp){return "".search(this.regExp)>=0?null:this.regExp;}var _18={};var n=this.terms.length;for(var i=0;i<this.terms.length;i++){var _1b=this.terms[i];if(!_1b.negate){_18[_1b.text]=true;}}var _1c=[];for(var t in _18){_1c.push("("+t.escapeRegExp()+")");}if(_1c.length==0){return null;}var _1e=_1c.join("|");return new RegExp(_1e,this.caseSensitive?"mg":"img");};me.toString=function(){if(this.regExp){return this.regExp.toString();}var _1f="";for(var i=0;i<this.terms.length;i++){_1f+=this.terms[i].toString();}return _1f;};STQ.Term=function(_21,_22,_23,_24,_25,_26,_27,_28){this.text=_21;this.inTitle=_22;this.inText=_23;this.inTag=_24;this.negate=_25;this.orFollows=_26;this.caseSensitive=_27;this.wordMatch=_28;var _29=_21.escapeRegExp();if(this.wordMatch){_29="\\b"+_29+"\\b";}this.regExp=new RegExp(_29,"m"+(_27?"":"i"));};STQ.Term.prototype.toString=function(){return (this.negate?"-":"")+(this.inTitle?"!":"")+(this.inText?"%":"")+(this.inTag?"#":"")+(this.wordMatch?"=":"")+"\""+this.text+"\""+(this.orFollows?" OR ":" AND ");};STQ.Term.prototype.matchesTiddler=function(_2a){if(!_2a){return false;}if(this.inTitle&&this.regExp.test(_2a.title)){return !this.negate;}if(this.inText&&this.regExp.test(_2a.text)){return !this.negate;}if(this.inTag){var _2b=_2a.tags;if(_2b){for(var i=0;i<_2b.length;i++){if(this.regExp.test(_2b[i])){return !this.negate;}}}}return this.negate;};var stringToInt=function(s,_2e){if(!s){return _2e;}var n=parseInt(s);return (n==NaN)?_2e:n;};var getIntAttribute=function(_30,_31,_32){return stringToInt(_30.getAttribute(_31));};var isDescendantOrSelf=function(_33,e){while(e!=null){if(_33==e){return true;}e=e.parentNode;}return false;};var getMatchCount=function(s,re){var m=s.match(re);return m?m.length:0;};var createEllipsis=function(_38){var e=createTiddlyElement(_38,"span");e.innerHTML="&hellip;";};var isWordChar=function(c){return (c>="a"&&c<="z")||(c>="A"&&c<="Z")||c=="_";};var getWordBounds=function(s,_3c){if(!isWordChar(s[_3c])){return null;}for(var i=_3c-1;i>=0&&isWordChar(s[i]);i--){}var _3e=i+1;var n=s.length;for(i=_3c+1;i<n&&isWordChar(s[i]);i++){}return {start:_3e,end:i};};var removeTextDecoration=function(s){var _41=["''","{{{","}}}","//","<<<","/***","***/"];var _42="";for(var i=0;i<_41.length;i++){if(i!=0){_42+="|";}_42+="("+_41[i].escapeRegExp()+")";}return s.replace(new RegExp(_42,"mg"),"").trim();};var logText="";var lastLogTime=null;var logMessage=function(_44,s){var now=new Date();var _47=lastLogTime?(now-lastLogTime).toString():"";logText+="<tr><td>"+now.convertToYYYYMMDDHHMMSSMMM()+"</td><td align='right'>"+_47+"</td><td>"+_44+"</td><td>"+s.htmlEncode()+"</td></tr>\n";lastLogTime=now;};function writeLog(){var t=" <<JsDoIt 'WriteLog' 'WriteLog' 'javascript:writeLog();story.closeTiddler(\"Log\");story.displayTiddler(null,\"Log\");'>>"+"<html><table><tbody><tr><th>Time</th><th>Delta (ms)</th><th>Kind</th><th>Message</th></tr>\n"+logText+"</tbody></table></html>";store.saveTiddler("Log","Log",t,config.options.txtUserName,new Date(),["System","Log"]);logText="";lastLogTime=null;}var yourSearchResultID="yourSearchResult";var yourSearchResultItemsID="yourSearchResultItems";var maxCharsInTitle=80;var maxCharsInTags=50;var maxCharsInText=250;var maxPagesInNaviBar=10;var itemsPerPageDefault=25;var itemsPerPageWithPreviewDefault=10;var minMatchWithContextSize=40;var maxMovementForWordCorrection=4;var matchInTitleWeight=4;var precisionInTitleWeight=10;var matchInTagsWeight=2;var resultElement;var lastResults;var lastQuery;var lastSearchText;var searchInputField;var searchButton;var firstIndexOnPage=0;var currentTiddler;var indexInPage;var indexInResult;var getItemsPerPage=function(){var n=(config.options.chkPreviewText)?stringToInt(config.options.txtItemsPerPageWithPreview,itemsPerPageWithPreviewDefault):stringToInt(config.options.txtItemsPerPage,itemsPerPageDefault);return (n>0)?n:1;};var standardRankFunction=function(_4a,_4b){var _4c=_4b.getMarkRegExp();if(!_4c){return 1;}var _4d=_4a.title.match(_4c);var _4e=_4d?_4d.length:0;var _4f=getMatchCount(_4a.getTags(),_4c);var _50=_4d?_4d.join("").length:0;var _51=_4a.title.length>0?_50/_4a.title.length:0;var _52=_4e*matchInTitleWeight+_4f*matchInTagsWeight+_51*precisionInTitleWeight+1;return _52;};var findMatches=function(_53,_54,_55,_56,_57,_58){lastSearchText=_54;var _59=_53.reverseLookup("tags",_58,false);var _5a=new STQ(_54,_55,false,_56);lastQuery=_5a;var _5b=_5a.getMatchingTiddlers(_59);var _5c=abego.YourSearch.getRankFunction();for(var i=0;i<_5b.length;i++){var _5e=_5b[i];var _5f=_5c(_5e,_5a);_5e.searchRank=_5f;}if(!_57){_57="title";}var _60=function(a,b){var _63=a.searchRank-b.searchRank;if(_63==0){if(a[_57]==b[_57]){return (0);}else{return (a[_57]<b[_57])?-1:+1;}}else{return (_63>0)?-1:+1;}};_5b.sort(_60);lastResults=_5b;return _5b;};var moveToWordBorder=function(s,_65,_66){var _67;if(_66){_67=getWordBounds(s,_65);}else{if(_65<=0){return _65;}_67=getWordBounds(s,_65-1);}if(!_67){return _65;}if(_66){if(_67.start>=_65-maxMovementForWordCorrection){return _67.start;}if(_67.end<=_65+maxMovementForWordCorrection){return _67.end;}}else{if(_67.end<=_65+maxMovementForWordCorrection){return _67.end;}if(_67.start>=_65-maxMovementForWordCorrection){return _67.start;}}return _65;};var getContextRangeAround=function(s,_69,_6a,_6b,_6c){var _6d=Math.max(Math.floor(_6c/(_6b+1)),minMatchWithContextSize);var _6e=Math.max(_6d-(_6a-_69),0);var _6f=Math.min(Math.floor(_6a+_6e/3),s.length);var _70=Math.max(_6f-_6d,0);_70=moveToWordBorder(s,_70,true);_6f=moveToWordBorder(s,_6f,false);return {start:_70,end:_6f};};var getTextAndMatchArray=function(s,_72){var _73=[];if(_72){var _74=0;var n=s.length;var _76=0;do{_72.lastIndex=_74;var _77=_72.exec(s);if(_77){if(_74<_77.index){var t=s.substring(_74,_77.index);_73.push({text:t});}_73.push({text:_77[0],isMatch:true});_74=_77.index+_77[0].length;}else{_73.push({text:s.substr(_74)});break;}}while(true);}else{_73.push({text:s});}return _73;};var simpleCreateLimitedTextWithMarks=function(_79,s,_7b){if(!lastQuery){return;}var _7c=getTextAndMatchArray(s,lastQuery.getMarkRegExp());var _7d=0;for(var i=0;i<_7c.length&&_7d<_7b;i++){var t=_7c[i];var _80=t.text;if(t.isMatch){createTiddlyElement(_79,"span",null,"marked",_80);}else{var _81=_7b-_7d;if(_81<_80.length){_80=_80.substring(0,_81)+"...";}createTiddlyText(_79,_80);}_7d+=_80.length;}};var addRange=function(_82,_83,_84){var n=_82.length;if(n==0){_82.push({start:_83,end:_84});return;}var i=0;for(;i<n;i++){var _87=_82[i];if(_87.start<=_84&&_83<=_87.end){var r;var _89=i+1;for(;_89<n;_89++){r=_82[_89];if(r.start>_84||_83>_87.end){break;}}var _8a=_83;var _8b=_84;for(var j=i;j<_89;j++){r=_82[j];_8a=Math.min(_8a,r.start);_8b=Math.max(_8b,r.end);}_82.splice(i,_89-i,{start:_8a,end:_8b});return;}if(_87.start>_84){break;}}_82.splice(i,0,{start:_83,end:_84});};var getTotalRangesSize=function(_8d){var _8e=0;for(var i=0;i<_8d.length;i++){var _90=_8d[i];_8e+=_90.end-_90.start;}return _8e;};var writeTextAndMatchRange=function(_91,s,_93,_94,_95){var t;var _97;var pos=0;var i=0;var _9a=0;for(;i<_93.length;i++){t=_93[i];_97=t.text;if(_94<pos+_97.length){_9a=_94-pos;break;}pos+=_97.length;}var _9b=_95-_94;for(;i<_93.length&&_9b>0;i++){t=_93[i];_97=t.text.substr(_9a);_9a=0;if(_97.length>_9b){_97=_97.substr(0,_9b);}if(t.isMatch){createTiddlyElement(_91,"span",null,"marked",_97);}else{createTiddlyText(_91,_97);}_9b-=_97.length;}if(_95<s.length){createEllipsis(_91);}};var getMatchedTextCount=function(_9c){var _9d=0;for(var i=0;i<_9c.length;i++){if(_9c[i].isMatch){_9d++;}}return _9d;};var getMatchedTextWithContextRanges=function(_9f,s,_a1){var _a2=[];var _a3=getMatchedTextCount(_9f);var pos=0;for(var i=0;i<_9f.length;i++){var t=_9f[i];var _a7=t.text;if(t.isMatch){var _a8=getContextRangeAround(s,pos,pos+_a7.length,_a3,_a1);addRange(_a2,_a8.start,_a8.end);}pos+=_a7.length;}return _a2;};var fillUpRanges=function(s,_aa,_ab){var _ac=_ab-getTotalRangesSize(_aa);while(_ac>0){if(_aa.length==0){addRange(_aa,0,moveToWordBorder(s,_ab,false));return;}else{var _ad=_aa[0];var _ae;var _af;if(_ad.start==0){_ae=_ad.end;if(_aa.length>1){_af=_aa[1].start;}else{addRange(_aa,_ae,moveToWordBorder(s,_ae+_ac,false));return;}}else{_ae=0;_af=_ad.start;}var _b0=Math.min(_af,_ae+_ac);addRange(_aa,_ae,_b0);_ac-=(_b0-_ae);}}};var writeRanges=function(_b1,s,_b3,_b4,_b5){if(_b4.length==0){return;}if(_b4[0].start>0){createEllipsis(_b1);}var _b6=_b5;for(var i=0;i<_b4.length&&_b6>0;i++){var _b8=_b4[i];var len=Math.min(_b8.end-_b8.start,_b6);writeTextAndMatchRange(_b1,s,_b3,_b8.start,_b8.start+len);_b6-=len;}};var createLimitedTextWithMarksAndContext=function(_ba,s,_bc){if(!lastQuery){return;}if(s.length<_bc){_bc=s.length;}var _bd=getTextAndMatchArray(s,lastQuery.getMarkRegExp());var _be=getMatchedTextWithContextRanges(_bd,s,_bc);fillUpRanges(s,_be,_bc);writeRanges(_ba,s,_bd,_be,_bc);};var createLimitedTextWithMarks=function(_bf,s,_c1){return createLimitedTextWithMarksAndContext(_bf,s,_c1);};var myStorySearch=function(_c2,_c3,_c4){highlightHack=new RegExp(_c4?_c2:_c2.escapeRegExp(),_c3?"mg":"img");var _c5=findMatches(store,_c2,_c3,_c4,"title","excludeSearch");firstIndexOnPage=0;showResult();highlightHack=null;};var myMacroSearchHandler=function(_c6,_c7,_c8){var _c9="";var _ca=null;var _cb=function(txt){if(config.options.chkUseYourSearch){myStorySearch(txt.value,config.options.chkCaseSensitiveSearch,config.options.chkRegExpSearch);}else{story.search(txt.value,config.options.chkCaseSensitiveSearch,config.options.chkRegExpSearch);}_c9=txt.value;};var _cd=function(e){_cb(searchInputField);return false;};var _cf=function(e){if(!e){var e=window.event;}switch(e.keyCode){case 13:_cb(this);break;case 27:if(isResultOpen()){closeResult();}else{this.value="";clearMessage();}break;}if(String.fromCharCode(e.keyCode)==this.accessKey||e.altKey){reopenResultIfApplicable();}if(this.value.length<3&&_ca){clearTimeout(_ca);}if((this.value.length>2)&&(this.value!=_c9)){if(!config.options.chkUseYourSearch||config.options.chkSearchAsYouType){if(_ca){clearTimeout(_ca);}var txt=this;_ca=setTimeout(function(){_cb(txt);},500);}}if(this.value.length==0){closeResult();}};var _d3=function(e){this.select();reopenResultIfApplicable();};var btn=createTiddlyButton(_c6,this.label,this.prompt,_cd);var txt=createTiddlyElement(_c6,"input",null,null,null);if(_c8[0]){txt.value=_c8[0];}txt.onkeyup=_cf;txt.onfocus=_d3;txt.setAttribute("size",this.sizeTextbox);txt.setAttribute("accessKey",this.accessKey);txt.setAttribute("autocomplete","off");if(config.browser.isSafari){txt.setAttribute("type","search");txt.setAttribute("results","5");}else{txt.setAttribute("type","text");}searchInputField=txt;searchButton=btn;};var isResultOpen=function(){return resultElement!=null&&resultElement.parentNode==document.body;};var closeResult=function(){if(isResultOpen()){document.body.removeChild(resultElement);}};var openAllFoundTiddlers=function(){closeResult();if(lastResults){var _d7=[];for(var i=0;i<lastResults.length;i++){_d7.push(lastResults[i].title);}story.displayTiddlers(null,_d7);}};var refreshResult=function(){if(!resultElement||!searchInputField){return;}var _d9=store.getTiddlerText("YourSearchResultTemplate");if(!_d9){_d9="<b>Tiddler YourSearchResultTemplate not found</b>";}resultElement.innerHTML=_d9;firstIndexOnPage=Math.floor(firstIndexOnPage/getItemsPerPage())*getItemsPerPage();applyHtmlMacros(resultElement,null);refreshElements(resultElement,null);if(lastResults&&lastResults.length>0){var _da=store.getTiddlerText("YourSearchItemTemplate");if(!_da){alertAndThrow("YourSearchItemTemplate not found");}var _db=document.getElementById(yourSearchResultItemsID);if(!_db){_db=createTiddlyElement(resultElement,"div",yourSearchResultItemsID);}var _dc=Math.min(firstIndexOnPage+getItemsPerPage(),lastResults.length);indexInPage=-1;for(var i=firstIndexOnPage;i<_dc;i++){currentTiddler=lastResults[i];indexInPage++;indexInResult=i;var _de=createTiddlyElement(_db,"div",null,"yourSearchItem");_de.innerHTML=_da;applyHtmlMacros(_de,null);refreshElements(_de,null);}}currentTiddler=null;ensureResultIsDisplayedNicely();};var ensureResultIsDisplayedNicely=function(){adjustResultPositionAndSize();scrollVisible();};var scrollVisible=function(){if(resultElement){window.scrollTo(0,ensureVisible(resultElement));}if(searchInputField){window.scrollTo(0,ensureVisible(searchInputField));}};var adjustResultPositionAndSize=function(){if(!searchInputField){return;}var _df=searchInputField;var _e0=findPosX(_df);var _e1=findPosY(_df);var _e2=_df.offsetHeight;var _e3=_e0;var _e4=_e1+_e2;var _e5=findWindowWidth();if(_e5<resultElement.offsetWidth){resultElement.style.width=(_e5-100)+"px";_e5=findWindowWidth();}var _e6=resultElement.offsetWidth;if(_e3+_e6>_e5){_e3=_e5-_e6-30;}if(_e3<0){_e3=0;}resultElement.style.left=_e3+"px";resultElement.style.top=_e4+"px";resultElement.style.display="block";};var showResult=function(){if(!resultElement){resultElement=createTiddlyElement(document.body,"div",yourSearchResultID,"yourSearchResult");}else{if(resultElement.parentNode!=document.body){document.body.appendChild(resultElement);}}refreshResult();};var reopenResultIfApplicable=function(){if(searchInputField==null||!config.options.chkUseYourSearch){return;}if((searchInputField.value==lastSearchText)&&lastSearchText&&!isResultOpen()){if(resultElement&&(resultElement.parentNode!=document.body)){document.body.appendChild(resultElement);ensureResultIsDisplayedNicely();}else{showResult();}}};var setFirstIndexOnPage=function(_e7){if(!lastResults||lastResults.length==0){return;}firstIndexOnPage=Math.min(Math.max(0,_e7),lastResults.length-1);refreshResult();};var onDocumentClick=function(e){if(e.target==searchInputField){return;}if(e.target==searchButton){return;}if(resultElement&&isDescendantOrSelf(resultElement,e.target)){return;}closeResult();};var onDocumentKeyup=function(e){if(e.keyCode==27){closeResult();}};addEvent(document,"click",onDocumentClick);addEvent(document,"keyup",onDocumentKeyup);config.macros.yourSearch={label:"yourSearch",prompt:"Gives access to the current/last YourSearch result",funcs:{},tests:{"true":function(){return true;},"false":function(){return false;},"found":function(){return lastResults&&lastResults.length>0;},"previewText":function(){return config.options.chkPreviewText;}}};config.macros.yourSearch.handler=function(_ea,_eb,_ec,_ed,_ee,_ef){if(_ec.length==0){return;}var _f0=_ec[0];var _f1=config.macros.yourSearch.funcs[_f0];if(_f1){_f1(_ea,_eb,_ec,_ed,_ee,_ef);}};config.macros.yourSearch.funcs.itemRange=function(_f2){if(lastResults){var _f3=Math.min(firstIndexOnPage+getItemsPerPage(),lastResults.length);var s="%0 - %1".format([firstIndexOnPage+1,_f3]);createTiddlyText(_f2,s);}};config.macros.yourSearch.funcs.count=function(_f5){if(lastSearchText){createTiddlyText(_f5,lastResults.length.toString());}};config.macros.yourSearch.funcs.query=function(_f6){if(lastResults){createTiddlyText(_f6,lastSearchText);}};config.macros.yourSearch.funcs.version=function(_f7){var t="YourSearch %0.%1.%2".format([version.extensions.YourSearchPlugin.major,version.extensions.YourSearchPlugin.minor,version.extensions.YourSearchPlugin.revision]);var e=createTiddlyElement(_f7,"a");e.setAttribute("href","http://tiddlywiki.abego-software.de/#YourSearchPlugin");e.innerHTML="<font color=\"black\" face=\"Arial, Helvetica, sans-serif\">"+t+"<font>";};config.macros.yourSearch.funcs.copyright=function(_fa){var e=createTiddlyElement(_fa,"a");e.setAttribute("href","http://tiddlywiki.abego-software.de");e.innerHTML="<font color=\"black\" face=\"Arial, Helvetica, sans-serif\">&copy; 2005-2006 <b><font color=\"red\">abego</font></b> Software<font>";};config.macros.yourSearch.funcs.linkButton=function(_fc,_fd,_fe,_ff,_100,_101){if(_fe<2){return;}var _102=_fe[1];var text=_fe<3?_102:_fe[2];var _104=_fe<4?text:_fe[3];var _105=_fe<5?null:_fe[4];var btn=createTiddlyButton(_fc,text,_104,closeResultAndDisplayTiddler,null,null,_105);btn.setAttribute("tiddlyLink",_102);};config.macros.yourSearch.funcs.closeButton=function(_107,_108,_109,_10a,_10b,_10c){var _10d=createTiddlyButton(_107,"close","Close the Search Results (Shortcut: ESC)",closeResult);};config.macros.yourSearch.funcs.openAllButton=function(_10e,_10f,_110,_111,_112,_113){if(!lastResults){return;}var n=lastResults.length;if(n==0){return;}var _115=n==1?"open tiddler":"open all %0 tiddlers".format([n]);var _116=createTiddlyButton(_10e,_115,"Open all found tiddlers (Shortcut: Alt-O)",openAllFoundTiddlers);_116.setAttribute("accessKey","O");};var onNaviButtonClick=function(e){if(!e){var e=window.event;}var _119=getIntAttribute(this,"page");setFirstIndexOnPage(_119*getItemsPerPage(),0);};config.macros.yourSearch.funcs.naviBar=function(_11a,_11b,_11c,_11d,_11e,_11f){if(!lastResults||lastResults.length==0){return;}var _120;var _121=Math.floor(firstIndexOnPage/getItemsPerPage());var _122=Math.floor((lastResults.length-1)/getItemsPerPage());if(_121>0){_120=createTiddlyButton(_11a,"Previous","Go to previous page (Shortcut: Alt-'<')",onNaviButtonClick,"prev");_120.setAttribute("page",(_121-1).toString());_120.setAttribute("accessKey","<");}for(var i=-maxPagesInNaviBar;i<maxPagesInNaviBar;i++){var _124=_121+i;if(_124<0){continue;}if(_124>_122){break;}var _125=(i+_121+1).toString();var _126=_124==_121?"currentPage":"otherPage";_120=createTiddlyButton(_11a,_125,"Go to page %0".format([_125]),onNaviButtonClick,_126);_120.setAttribute("page",(_124).toString());}if(_121<_122){_120=createTiddlyButton(_11a,"Next","Go to next page (Shortcut: Alt-'>')",onNaviButtonClick,"next");_120.setAttribute("page",(_121+1).toString());_120.setAttribute("accessKey",">");}};config.macros.yourSearch.funcs["if"]=function(_127,_128,_129,_12a,_12b,_12c){if(_129.length<2){return;}var _12d=_129[1];var _12e=(_12d=="not");if(_12e){if(_129.length<3){return;}_12d=_129[2];}var test=config.macros.yourSearch.tests[_12d];var _130=false;try{if(test){_130=test(_127,_128,_129,_12a,_12b,_12c)!=_12e;}else{_130=(!eval(_12d))==_12e;}}catch(ex){}if(!_130){_127.style.display="none";}};var createOptionWithRefresh=function(_131,_132,_133,_134){invokeMacro(_131,"option",_132,_133,_134);var elem=_131.lastChild;var _136=elem.onclick;elem.onclick=function(e){var _138=_136.apply(this,arguments);refreshResult();return _138;};return elem;};config.macros.yourSearch.funcs.chkPreviewText=function(_139,_13a,_13b,_13c,_13d,_13e){var _13f=_13b.slice(1).join(" ");var elem=createOptionWithRefresh(_139,"chkPreviewText",_13c,_13e);elem.setAttribute("accessKey","P");elem.title="Show text preview of found tiddlers (Shortcut: Alt-P)";return elem;};config.macros.foundTiddler={label:"foundTiddler",prompt:"Provides information on the tiddler currently processed on the YourSearch result page",funcs:{}};config.macros.foundTiddler.handler=function(_141,_142,_143,_144,_145,_146){if(!currentTiddler){return;}var name=_143[0];var func=config.macros.foundTiddler.funcs[name];if(func){func(_141,_142,_143,_144,_145,_146);}};var closeResultAndDisplayTiddler=function(e){closeResult();var _14a=this.getAttribute("tiddlyLink");if(_14a){var _14b=this.getAttribute("withHilite");var _14c=highlightHack;if(_14b&&_14b=="true"&&lastQuery){highlightHack=lastQuery.getMarkRegExp();}story.displayTiddler(this,_14a);highlightHack=_14c;}return (false);};var getShortCutNumber=function(){if(!currentTiddler){return -1;}if(indexInPage>=0&&indexInPage<=9){return indexInPage<9?(indexInPage+1):0;}else{return -1;}};config.macros.foundTiddler.funcs.title=function(_14d,_14e,_14f,_150,_151,_152){if(!currentTiddler){return;}var _153=getShortCutNumber();var _154=_153>=0?"Open tiddler (Shortcut: Alt-%0)".format([_153.toString()]):"Open tiddler";var btn=createTiddlyButton(_14d,null,_154,closeResultAndDisplayTiddler,null);btn.setAttribute("tiddlyLink",currentTiddler.title);btn.setAttribute("withHilite","true");createLimitedTextWithMarks(btn,currentTiddler.title,maxCharsInTitle);if(_153>=0){btn.setAttribute("accessKey",_153.toString());}};config.macros.foundTiddler.funcs.tags=function(_156,_157,_158,_159,_15a,_15b){if(!currentTiddler){return;}createLimitedTextWithMarks(_156,currentTiddler.getTags(),maxCharsInTags);};config.macros.foundTiddler.funcs.text=function(_15c,_15d,_15e,_15f,_160,_161){if(!currentTiddler){return;}createLimitedTextWithMarks(_15c,removeTextDecoration(currentTiddler.text),maxCharsInText);};config.macros.foundTiddler.funcs.number=function(_162,_163,_164,_165,_166,_167){var _168=getShortCutNumber();if(_168>=0){var text="%0)".format([_168.toString()]);createTiddlyElement(_162,"span",null,"shortcutNumber",text);}};function scrollToAnchor(name){return false;}if(config.options.chkUseYourSearch==undefined){config.options.chkUseYourSearch=true;}if(config.options.chkPreviewText==undefined){config.options.chkPreviewText=true;}if(config.options.chkSearchAsYouType==undefined){config.options.chkSearchAsYouType=true;}if(config.options.chkSearchInTitle==undefined){config.options.chkSearchInTitle=true;}if(config.options.chkSearchInText==undefined){config.options.chkSearchInText=true;}if(config.options.chkSearchInTags==undefined){config.options.chkSearchInTags=true;}if(config.options.txtItemsPerPage==undefined){config.options.txtItemsPerPage=itemsPerPageDefault;}if(config.options.txtItemsPerPageWithPreview==undefined){config.options.txtItemsPerPageWithPreview=itemsPerPageWithPreviewDefault;}config.shadowTiddlers.AdvancedOptions+="\n<<option chkUseYourSearch>> Use 'Your Search' //([[more options|YourSearch Options]])//";config.shadowTiddlers["YourSearch Introduction"]="!About YourSearch\n"+"\n"+"YourSearch gives you a bunch of new features to simplify and speed up your daily searches in TiddlyWiki. It seamlessly integrates into the standard TiddlyWiki search: just start typing into the 'search' field and explore!\n"+"\n"+"''May the '~Alt-F' be with you.''\n"+"\n"+"\n"+"!Features\n"+"* YourSearch searches for tiddlers that match your query ''as you type'' into the 'search' field. It presents a list of the ''\"Top Ten\"'' tiddlers in a ''popup-like window'': the ''[[YourSearch Result]]''. The tiddlers currently displayed in your TiddlyWiki are not affected.\n"+"* Using ''~TiddlerRank technology'' the [[YourSearch Result]] lists the ''most interesting tiddlers first''.\n"+"* Through ''Filtered Search'' and ''Boolean Search'' you can easily refining your search, like excluding words or searching for multiple words. This way less tiddlers are displayed in the [[YourSearch Result]] and you can faster scan the result for the tiddler you are looking for.\n"+"* The [[YourSearch Result]] lists the found tiddlers ''page-wise'', e.g. 10 per page. Use the ''Result Page Navigation Bar'' to navigate between pages if the result does not fit on one page.\n"+"* The [[YourSearch Result]] states the ''total number of found tiddlers''. This way you can quickly decide if you want to browse the result list or if you want to refine your search first to shorten the result list.\n"+"* Beside the ''title of the found tiddlers'' the [[YourSearch Result]] also ''displays tags'' and ''tiddler text previews''. The ''tiddler text preview'' is an extract of the tiddler's content, showing the most interesting parts related to your query (e.g. the texts around the words you are looking for).\n"+"* The words you are looking for are hilited in the titles, tags and text previews of the [[YourSearch Result]].\n"+"* If you are not interested in the tiddler text previews but prefer to get longer lists of tiddlers on one result page you may ''switch of the text preview''.\n"+"* If the [[YourSearch Result]] contains the tiddler you are looking for you can just ''click its title to display'' it in your TiddlyWiki. Alternatively you may also ''open all found tiddlers'' at once. \n"+"* Use [[YourSearch Options]] to customize YourSearch to your needs. E.g. depending on the size of your screen you may change the number of tiddlers displayed in the [[YourSearch Result]]. In the [[YourSearch Options]] and the AdvancedOptions you may also switch off YourSearch in case you temporarily want to use the standard search.\n"+"* For the most frequently actions ''access keys'' are defined so you can perform your search without using the mouse.\n"+"\n";config.shadowTiddlers["YourSearch Help"]="<<tiddler [[YourSearch Introduction]]>>"+"\n"+"!Filtered Search<html><a name='Filtered'/></html>\n"+"Using the Filtered Search you can restrict your search to certain parts of a tiddler, e.g only search the tags or only the titles.\n"+"|!What you want|!What you type|!Example|\n"+"|Search ''titles only''|start word with ''!''|{{{!jonny}}}|\n"+"|Search ''contents only''|start word with ''%''|{{{%football}}}|\n"+"|Search ''tags only''|start word with ''#''|{{{#Plugin}}}|\n"+"\n"+"You may use more than one filter for a word. E.g. {{{!#Plugin}}} finds tiddlers containing \"Plugin\" either in the title or in the tags (but does not look for \"Plugin\" in the content).\n"+"\n"+"!Boolean Search<html><a name='Boolean'/></html>\n"+"The Boolean Search is useful when searching for multiple words.\n"+"|!What you want|!What you type|!Example|\n"+"|''All words'' must exist|List of words|{{{jonny jeremy}}}|\n"+"|''At least one word'' must exist|Separate words by ''or''|{{{jonny or jeremy}}}|\n"+"|A word ''must not exist''|Start word with ''-''|{{{-jonny}}}|\n"+"\n"+"''Note:'' When you specify two words, separated with a space, YourSearch finds all tiddlers that contain both words, but not necessarily next to each other. If you want to find a sequence of word, e.g. '{{{John Brown}}}', you need to put the words into quotes. I.e. you type: {{{\"john brown\"}}}.\n"+"\n"+"!'Exact Word' Search<html><a name='Exact'/></html>\n"+"By default a search result all matches that 'contain' the searched text. \n"+" E.g. if you search for 'Task' you will get all tiddlers containing 'Task', but also 'CompletedTask', 'TaskForce' etc.\n"+"\n"+"If you only want to get the tiddlers that contain 'exactly the word' you need to prefix it with a '='. E.g. typing '=Task' will the tiddlers that contain the word 'Task', ignoring words that just contain 'Task' as a substring.\n"+"\n"+"!Combined Search<html><a name='Combined'/></html>\n"+"You are free to combine the various search options. \n"+"\n"+"''Examples''\n"+"|!What you type|!Result|\n"+"|{{{!jonny !jeremy -%football}}}| all tiddlers with both {{{jonny}}} and {{{jeremy}}} in its titles, but no {{{football}}} in content.|\n"+"|{{{#=Task}}}|All tiddlers tagged with 'Task' (the exact word). Tags named 'CompletedTask', 'TaskForce' etc. are not considered.|\n"+"\n"+"!~CaseSensitiveSearch and ~RegExpSearch<html><a name='Case'/></html>\n"+"The standard search options ~CaseSensitiveSearch and ~RegExpSearch are fully supported by YourSearch. However when ''~RegExpSearch'' is on Filtered and Boolean Search are disabled.\n"+"\n"+"!Access Keys<html><a name='Access'/></html>\n"+"You are encouraged to use the access keys (also called \"shortcut\" keys) for the most frequently used operations. For quick reference these shortcuts are also mentioned in the tooltip for the various buttons etc.\n"+"\n"+"|!Key|!Operation|\n"+"|{{{Alt-F}}}|''The most important keystroke'': It moves the cursor to the search input field so you can directly start typing your query. Pressing {{{Alt-F}}} will also display the previous search result. This way you can quickly display multiple tiddlers using \"Press {{{Alt-F}}}. Select tiddler.\" sequences.|\n"+"|{{{ESC}}}|Closes the [[YourSearch Result]]. When the [[YourSearch Result]] is already closed and the cursor is in the search input field the field's content is cleared so you start a new query.|\n"+"|{{{Alt-1}}}, {{{Alt-2}}},... |Pressing these keys opens the first, second etc. tiddler from the result list.|\n"+"|{{{Alt-O}}}|Opens all found tiddlers.|\n"+"|{{{Alt-P}}}|Toggles the 'Preview Text' mode.|\n"+"|{{{Alt-'<'}}}, {{{Alt-'>'}}}|Displays the previous or next page in the [[YourSearch Result]].|\n"+"|{{{Return}}}|When you have turned off the 'as you type' search mode pressing the {{{Return}}} key actually starts the search (as does pressing the 'search' button).|\n"+"\n";config.shadowTiddlers["YourSearch Options"]="|>|!YourSearch Options|\n"+"|>|<<option chkUseYourSearch>> Use 'Your Search'|\n"+"|!|<<option chkPreviewText>> Show Text Preview|\n"+"|!|<<option chkSearchAsYouType>> 'Search As You Type' Mode (No RETURN required to start search)|\n"+"|!|Default Search Filter:<<option chkSearchInTitle>>Titles ('!') <<option chkSearchInText>>Texts ('%') <<option chkSearchInTags>>Tags ('#') <html><br><font size=\"-2\">The parts of a tiddlers that are searched when you don't explicitly specify a filter in the search text (using a '!', '%' or '#' prefix).</font></html>|\n"+"|!|Number of items on search result page: <<option txtItemsPerPage>>|\n"+"|!|Number of items on search result page with preview text: <<option txtItemsPerPageWithPreview>>|\n";config.shadowTiddlers["YourSearchStyleSheet"]="/***\n"+"!~YourSearchResult Stylesheet\n"+"***/\n"+"/*{{{*/\n"+".yourSearchResult {\n"+"\tposition: absolute;\n"+"\twidth: 800px;\n"+"\n"+"\tpadding: 0.2em;\n"+"\tlist-style: none;\n"+"\tmargin: 0;\n"+"\n"+"\tbackground: White;\n"+"\tborder: 1px solid DarkGray;\n"+"}\n"+"\n"+"/*}}}*/\n"+"/***\n"+"!!Summary Section\n"+"***/\n"+"/*{{{*/\n"+".yourSearchResult .summary {\n"+"\tborder-bottom-width: thin;\n"+"\tborder-bottom-style: solid;\n"+"\tborder-bottom-color: #999999;\n"+"\tpadding-bottom: 4px;\n"+"}\n"+"\n"+".yourSearchRange, .yourSearchCount, .yourSearchQuery {\n"+"\tfont-weight: bold;\n"+"}\n"+"\n"+".yourSearchResult .summary .button {\n"+"\tfont-size: 10px;\n"+"\n"+"\tpadding-left: 0.3em;\n"+"\tpadding-right: 0.3em;\n"+"}\n"+"\n"+".yourSearchResult .summary .chkBoxLabel {\n"+"\tfont-size: 10px;\n"+"\n"+"\tpadding-right: 0.3em;\n"+"}\n"+"\n"+"/*}}}*/\n"+"/***\n"+"!!Items Area\n"+"***/\n"+"/*{{{*/\n"+".yourSearchResult .marked {\n"+"\tbackground: none;\n"+"\tfont-weight: bold;\n"+"}\n"+"\n"+".yourSearchItem {\n"+"\tmargin-top: 2px;\n"+"}\n"+"\n"+".yourSearchNumber {\n"+"\tcolor: #808080;\n"+"}\n"+"\n"+"\n"+".yourSearchTags {\n"+"\tcolor: #008000;\n"+"}\n"+"\n"+".yourSearchText {\n"+"\tcolor: #808080;\n"+"\tmargin-bottom: 6px;\n"+"}\n"+"\n"+"/*}}}*/\n"+"/***\n"+"!!Footer\n"+"***/\n"+"/*{{{*/\n"+".yourSearchFooter {\n"+"\tmargin-top: 8px;\n"+"\tborder-top-width: thin;\n"+"\tborder-top-style: solid;\n"+"\tborder-top-color: #999999;\n"+"}\n"+"\n"+".yourSearchFooter a:hover{\n"+"\tbackground: none;\n"+"\tcolor: none;\n"+"}\n"+"/*}}}*/\n"+"/***\n"+"!!Navigation Bar\n"+"***/\n"+"/*{{{*/\n"+".yourSearchNaviBar a {\n"+"\tfont-size: 16px;\n"+"\tmargin-left: 4px;\n"+"\tmargin-right: 4px;\n"+"\tcolor: black;\n"+"\ttext-decoration: underline;\n"+"}\n"+"\n"+".yourSearchNaviBar a:hover {\n"+"\tbackground-color: none;\n"+"}\n"+"\n"+".yourSearchNaviBar .prev {\n"+"\tfont-weight: bold;\n"+"\tcolor: blue;\n"+"}\n"+"\n"+".yourSearchNaviBar .currentPage {\n"+"\tcolor: #FF0000;\n"+"\tfont-weight: bold;\n"+"\ttext-decoration: none;\n"+"}\n"+"\n"+".yourSearchNaviBar .next {\n"+"\tfont-weight: bold;\n"+"\tcolor: blue;\n"+"}\n"+"/*}}}*/\n";config.shadowTiddlers["YourSearchResultTemplate"]="<!--\n"+"{{{\n"+"-->\n"+"<span macro=\"yourSearch if found\">\n"+"<!-- The Summary Header ============================================ -->\n"+"<table class=\"summary\" border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\"><tbody>\n"+" <tr>\n"+"\t<td align=\"left\">\n"+"\t\tYourSearch Result <span class=\"yourSearchRange\" macro=\"yourSearch itemRange\"></span>\n"+"\t\t&nbsp;of&nbsp;<span class=\"yourSearchCount\" macro=\"yourSearch count\"></span>\n"+"\t\tfor&nbsp;<span class=\"yourSearchQuery\" macro=\"yourSearch query\"></span>\n"+"\t</td>\n"+"\t<td class=\"yourSearchButtons\" align=\"right\">\n"+"\t\t<span macro=\"yourSearch chkPreviewText\"></span><span class=\"chkBoxLabel\">preview text</span>\n"+"\t\t<span macro=\"yourSearch openAllButton\"></span>\n"+"\t\t<span macro=\"yourSearch linkButton 'YourSearch Options' options 'Configure YourSearch'\"></span>\n"+"\t\t<span macro=\"yourSearch linkButton 'YourSearch Help' help 'Get help how to use YourSearch'\"></span>\n"+"\t\t<span macro=\"yourSearch closeButton\"></span>\n"+"\t</td>\n"+" </tr>\n"+"</tbody></table>\n"+"\n"+"<!-- The List of Found Tiddlers ============================================ -->\n"+"<div id=\"yourSearchResultItems\" itemsPerPage=\"25\" itemsPerPageWithPreview=\"10\"></div>\n"+"\n"+"<!-- The Footer (with the Navigation) ============================================ -->\n"+"<table class=\"yourSearchFooter\" border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\"><tbody>\n"+" <tr>\n"+"\t<td align=\"left\">\n"+"\t\tResult page: <span class=\"yourSearchNaviBar\" macro=\"yourSearch naviBar\"></span>\n"+"\t</td>\n"+"\t<td align=\"right\"><span macro=\"yourSearch version\"></span>, <span macro=\"yourSearch copyright\"></span>\n"+"\t</td>\n"+" </tr>\n"+"</tbody></table>\n"+"<!-- end of the 'tiddlers found' case =========================================== -->\n"+"</span>\n"+"\n"+"\n"+"<!-- The \"No tiddlers found\" case =========================================== -->\n"+"<span macro=\"yourSearch if not found\">\n"+"<table class=\"summary\" border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\"><tbody>\n"+" <tr>\n"+"\t<td align=\"left\">\n"+"\t\tYourSearch Result: No tiddlers found for <span class=\"yourSearchQuery\" macro=\"yourSearch query\"></span>.\n"+"\t</td>\n"+"\t<td class=\"yourSearchButtons\" align=\"right\">\n"+"\t\t<span macro=\"yourSearch linkButton 'YourSearch Options' options 'Configure YourSearch'\"></span>\n"+"\t\t<span macro=\"yourSearch linkButton 'YourSearch Help' help 'Get help how to use YourSearch'\"></span>\n"+"\t\t<span macro=\"yourSearch closeButton\"></span>\n"+"\t</td>\n"+" </tr>\n"+"</tbody></table>\n"+"</span>\n"+"\n"+"\n"+"<!--\n"+"}}}\n"+"-->\n";config.shadowTiddlers["YourSearchItemTemplate"]="<!--\n"+"{{{\n"+"-->\n"+"<span class='yourSearchNumber' macro='foundTiddler number'></span>\n"+"<span class='yourSearchTitle' macro='foundTiddler title'/></span>&nbsp;-&nbsp;\n"+"<span class='yourSearchTags' macro='foundTiddler tags'/></span>\n"+"<span macro=\"yourSearch if previewText\"><div class='yourSearchText' macro='foundTiddler text'/></div></span>\n"+"<!--\n"+"}}}\n"+"-->";config.shadowTiddlers["YourSearch"]="<<tiddler [[YourSearch Help]]>>";config.shadowTiddlers["YourSearch Result"]="The popup-like window displaying the result of a YourSearch query.";setStylesheet(store.getTiddlerText("YourSearchStyleSheet"),"yourSearch");var origMacros_search_handler=config.macros.search.handler;config.macros.search.handler=myMacroSearchHandler;var ownsOverwrittenFunctions=function(){var _16b=(config.macros.search.handler==myMacroSearchHandler);return _16b;};var checkForOtherHijacker=function(){if(!ownsOverwrittenFunctions()){alert("Message from YourSearchPlugin:\n\n\n"+"Another plugin has disabled the 'Your Search' features.\n\n\n"+"You may disable the other plugin or change the load order of \n"+"the plugins (by changing the names of the tiddlers)\n"+"to enable the 'Your Search' features.");}};setTimeout(checkForOtherHijacker,5000);abego.YourSearch.getStandardRankFunction=function(){return standardRankFunction;};abego.YourSearch.getRankFunction=function(){return abego.YourSearch.getStandardRankFunction();};abego.YourSearch.getCurrentTiddler=function(){return currentTiddler;};}
/***
%/
!Licence and Copyright
Copyright (c) abego Software ~GmbH, 2005-2006 ([[www.abego-software.de|http://www.abego-software.de]])

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or other
materials provided with the distribution.

Neither the name of abego Software nor the names of its contributors may be
used to endorse or promote products derived from this software without specific
prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
***/

Type the text for 'Frequently Asked Questions'
<<permaview>><<closeAll>>[[site map]]<<newTiddler>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "options »" "Change TiddlyWiki advanced options">>
7th September 2007

An affordable, one-day conference aimed at those designing and building the latest generation of web-based applications.

More information available at the [[dConstruct web site|http://2007.dconstruct.org/]]
The entire Osmosoft team attended this great event.  

Some of [[our thoughts|http://philwhitehouse.blogspot.com/search/label/dconstruct2007]] are have been posted on our blogs.
If you'd like to receive our monthly newsletter called the "Cedar Perspective" just 

[[send me an email |mailto://cedarperspective@hotmail.com]]

and I'll add you to the mail-out list.
!!What is Osmosoft?
We're a ~BT-owned company formed in 2004 and acquired by BT in 2007. Osmosoft is helping BT learn how to harness rich innovation within open source communities.

!!What are you working on?
Our main body of work is the continued development of the open source project TiddlyWiki and showcasing BT's [[Web21C SDK|http://web21c.bt.com]]. You can follow our work on this website.

!!What is ~TiddlyWiki?
TiddlyWiki is a single web page which contains not just content, but also the functionality needed to edit and save that content. Being a single web page makes it very portable, as it can easily be emailed or handed to somebody on a USB stick. It can also be accessed via the web in a conventional sense - for example, this website is a TiddlyWiki. You can learn more about TiddlyWiki here:

Main TiddlyWiki site: http://www.tiddlywiki.com
Main TiddlyWiki developers site: http://www.tiddlywiki.org
TiddlyWiki Google Group: http://groups.google.com/group/TiddlyWiki
TiddlyWiki Developers Google Group: http://groups.google.com/group/TiddlyWikiDev

!!Does BT own ~TiddlyWiki?
No. Jeremy transferred the rights to [[UnaMesa|http://www.unamesa.org/about.html]], the non-profit organisation of which [[TiddlyWiki.org|http://www.tiddlywiki.org]] is a subsidiary.

!!What is ~UnaMesa?
~UnaMesa is a not-for-profit foundation that owns the copyright to ~TiddlyWiki. ~UnaMesa supports the research and development of practical tools that help educators, healthcare providers, and communities improve services and reduce costs. You can find out more about its activities on the [[UnaMesa website|http://www.unamesa.org/about.html]].

!!What open source licence will you release code under?
This is covered in our [[licence tiddler|Licensing]].

!!Why is BT interested in open source?
Open source software development has a long history of encouraging innovation in communities outside big companies, so we want to inspire these communities to work with BT and help realise the potential of BT's [[£10bn investment|http://www.btplc.com/21cn/]] in its network.

!!How will BT make money from open source?
BT is not setting out to make money with open source software, but [[because of it|http://confusedofcalcutta.com/category/because-effect/]]. In the same way that you can take base materials of wood, metal and bricks and create a building, the power is not in what you did with those materials, but the civilizations that you can support because of what you did with those materials.

!!Who are the open source thought leaders in BT?
The best place to start would be JP Rangaswami's blog, [[Confused of Calcutta|http://www.confusedofcalcutta.com]]. JP is the CIO of BT Design and is Jeremy's boss.

!!Why did BT acquire Osmosoft?
BT wanted to understand what tools would be needed by the open source community to foster innovation at the edges of our network. Acquiring Osmosoft meant hiring Jeremy Ruston, who has a track record running a successful open source project supported by an active community of thousands of members.

!!When was Osmosoft founded?
Osmosoft was founded by Jeremy in 2004. It was more or less a one man concern until it was acquired by BT in 2007 (allowing Jeremy to [[pay his bills|http://jermolene.wordpress.com/2007/08/05/how-to-start-a-successful-open-source-project/]]).

!!How do we find you?
You can find a map and directions in the [[Contact us]] section.

!!How do we get you to work with us?
We can be bribed with coffee from Cafe Nero in Old Compton Street. Our coffee and pastry requirements can be found on our [[profile pages|Who are we?]].

!!I have questions that haven't been answered. What should I do?
The best way to get our attention is to blog about us. Alternatively, if you want to contact us directly, you can send us an [[email|mailto:hello@osmosoft.com]], and we'll get back to you as soon as we can.
C:\Users\Owner\Documents\DavesDellDocs(CF)\Clinic Website file\images\Pic_stretch_calf.JPG
C:\Users\Owner\Documents\DavesDellDocs(CF)\Clinic Website file\images\Pic_stretch_quads.JPG
C:\Users\Owner\Documents\DavesDellDocs(CF)\Clinic Website file\images\Pic_stretch_pects2.JPG
C:\Users\Owner\Documents\DavesDellDocs(CF)\Clinic Website file\images\Pic_stretch_psoas1.jpg
C:\Users\Owner\Documents\DavesDellDocs(CF)\Clinic Website file\images\Pic_stretch_neck_lateral.JPG
C:\Users\Owner\Documents\DavesDellDocs(CF)\Clinic Website file\images\pic_ex_quadruped2.GIF
C:\Users\Owner\Documents\DavesDellDocs(CF)\Clinic Website file\images\pic_ex_pelvic-bracing_2.JPG
C:\Users\Owner\Documents\DavesDellDocs(CF)\Clinic Website file\images\pic_ex_pelvic-bracing_1.JPG
C:\Users\Owner\Documents\DavesDellDocs(CF)\Clinic Website file\images\Pic_ex_curl up2.JPG
C:\Users\Owner\Documents\DavesDellDocs(CF)\Clinic Website file\images\Pic_ex_curl up1.JPG
C:\Users\Owner\Documents\DavesDellDocs(CF)\Clinic Website file\images\pic_ex_mckenzie.gif
C:\Users\Owner\Documents\DavesDellDocs(CF)\Clinic Website file\images\pic_ex_catback2.gif
C:\Users\Owner\Documents\DavesDellDocs(CF)\Clinic Website file\images\pic_ex_catback3.gif
C:\Users\Owner\Documents\DavesDellDocs(CF)\Clinic Website file\images\pic_ex_catback1.gif
C:\Users\Owner\Documents\DavesDellDocs(CF)\Clinic Website file\images\Pic_ex_bridge1d.JPG
<html>
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;time=&amp;date=&amp;ttype=&amp;q=cedar+chiropractic+bonnyville&amp;ie=UTF8&amp;om=1&amp;cid=54267970,-110732417,10917436261497570989&amp;s=AARTsJrSmcUxRsiC-5igH3bP_-E8w32fSA&amp;ll=54.275349,-110.728197&amp;spn=0.017541,0.036478&amp;z=14&amp;iwloc=A&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;time=&amp;date=&amp;ttype=&amp;q=cedar+chiropractic+bonnyville&amp;ie=UTF8&amp;om=1&amp;cid=54267970,-110732417,10917436261497570989&amp;ll=54.275349,-110.728197&amp;spn=0.017541,0.036478&amp;z=14&amp;iwloc=A&amp;source=embed" style="color:#0000FF;text-align:left">View Larger Map</a></small>
</html>
{{{
<html>
	
	<iframe src="Newsletter 2007 NovemberB.htm"
		style="background:#fff;width:170%;height:400px">
	</iframe>
</html>

}}}
//{{{

config.macros.pipePlugin = {};

config.macros.pipePlugin.context = {};

config.macros.pipePlugin.handler = function(place, name, params)
{
	this.context.place = place;
	this.context.name = name;
	this.context.params = params;

	var newScript = document.createElement('script');
	newScript.id = 'temp_script';
	newScript.type = 'text/javascript';
	newScript.onload = config.macros.pipePlugin.removeScript;
	newScript.src = params[0];
	place.appendChild(newScript);
};

config.macros.pipePlugin.removeScript = function() {
	var k = document.getElementById("temp_script");
	removeNode(k);
};

config.macros.pipePlugin.JSONparse = function(response) {

    JSON = {};
    JSON.response = eval(response);
    
    JSON.blogtitle = JSON.response.value.title;
    JSON.blogitems = JSON.response.value.items;
    
    // Iterate through the blog items
	var limit = this.context.params[1];
	limit = ((limit && limit > JSON.blogitems.length) ? JSON.blogitems.length : limit);
    for (var i=0; i<limit; i++) {
    	var item = JSON.blogitems[i];
        var item_title = item.title;
		var item_link = item.link;
        // pick the right author node
        var item_author = (function() {
            return (item["dc:creator"] || (item.author && item.author.name));
        })();
        var heading = item_title;
		headingelement = document.createElement("h3");
		headingelement_link = document.createElement("a");
		headingelement_link.setAttribute("href",item_link);
		headingelement_link.setAttribute("target","_blank");
		headingelement.appendChild(headingelement_link).appendChild(document.createTextNode(heading));
		this.context.place.appendChild(headingelement);
		// var pubDate = new Date(item.pubDate);
		var date_regex = /(.)*?2007/mg;
		var pubDate = item.pubDate.match(date_regex)[0];
		var author_line = "posted by " + item_author + " on " + pubDate;
		createTiddlyElement(this.context.place,"h4",null,null,author_line);
        // pick the right content node
        var raw_content = new String();
		raw_content = (function() {
            return (item["content:encoded"] || (item.content && item.content.content) || item["description"]);
        })();
        var content = raw_content.renderHtmlText();
        content = content.renderHtmlEscapedEntities();
        var para = document.createElement("p");
		var summary_limit = this.context.params[2];
		if (summary_limit) { writeCodeSummary(summary_limit,content,para); }
		else writeCode(content,para);
        this.context.place.appendChild(para);
    }
};

// renderHtmlText puts a string through the browser render process and then extracts the text
// useful to turn HTML entities into literals such as &apos; to '
// this, annoyingly, doesn't cope with entities such as &#8217; - see renderHtmlEscapedEntities
// below for that
// NB: At some point, someone should create a utility function that just creates a text version
// of any HTML string, coping with any character encodings - as if it had been rendered in the
// browser and then copied out. This would combine renderHtmlText, renderHtmlEscapedEntities
// and writeCode or writeCodeSummary
String.prototype.renderHtmlText = function() {
	var e = createTiddlyElement(document.body,"div");
	e.innerHTML = this;
	var text = getPlainText(e);
	removeNode(e);
	return text;
};

// renderHtmlEscapedEntities takes a HTML string which has already been run through
// renderHtmlText to deal with converting entities such as &apos; to '
// It then converts remaining entities such as &#8217; to '
String.prototype.renderHtmlEscapedEntities = function() {
	var entity_match = /&#(.*?);/mg;
	entities = this.replace(entity_match,function(string_match,matches) {
		var word = string_match.substring(2,string_match.length-1);
		var new_word = String.fromCharCode(word);
		return new_word;
	});
	return entities;
};

// Creates a sub-tree under a given element
// copied from O'Reilly Javascript Library
function writeCode(s, pointer) {
var parent, tag, j;
for ( var i = 0; i < s.length; i++) {
var c = s.charAt(i);
if (c == "<") {
var j = s.indexOf(">", i + 1);
tag = s.substring(i, j + 1);
if (tag.charAt(tag.length - 2) == "/") {
if (pointer != null && pointer.nodeType == 3) {
pointer = pointer.parentNode;
}
pointer.appendChild(createElementFromString(tag));
} else if (tag.charAt(1) != "/") {
if (pointer != null && pointer.nodeType == 3) {
pointer = pointer.parentNode;
}
pointer = pointer.appendChild(createElementFromString(tag));
} else {
if (pointer.parentNode != null &&
pointer.parentNode.parentNode != null) {
pointer = pointer.parentNode.parentNode;
}
}
i = j;
} else {
if (pointer.nodeType == 3) {
n = s.indexOf("<", i + 1);
if (n == -1) {
pointer.nodeValue += s.substr(i);
i = s.length;
} else {
pointer.nodeValue += s.substring(i, n);
i = n - 1;
}
} else {
pointer = pointer.appendChild(document.createTextNode(c));
}
}
}
}

// Creates a plaintext summary of a given HTML string
// based on writeCode() from O'Reilly Javascript Library
function writeCodeSummary(limit, s, pointer) {
	var parent, tag, j;
	limit = (limit < s.length ? limit : s.length);
	// count keeps track of the number of text characters added
	var count = 0;
	for ( var i = 0; count < limit; i++) {
		var c = s.charAt(i);
		// Ignore tags
		if (c == "<") {
			var j = s.indexOf(">", i + 1);
			i = j;
		} else {
			if (pointer.nodeType == 3) {
				n = s.indexOf("<", i + 1);
				if (n == -1) {
					pointer.nodeValue += s.substr(i);
					i = s.length;
					count += s.length;
				} else {
					// check we're not adding too many characters
					// n - i is the length of the string we are adding
					// limit - count is the number we have left to play with
					var extratext;
					if (n - i > limit - count) {
						extratext = s.substring(i, i + (limit - count));
					} else extratext = s.substring(i, n);
					pointer.nodeValue += extratext;
					count += extratext.length;
					i = n - 1;
				}
			} else {
				pointer = pointer.appendChild(document.createTextNode(c));
				count++;
			}
		}
	}
}

// parse a string and create an element from it
// based on O'Reilly Javascript Library code
function createElementFromString(str) {
var node, a = str.match(/<(\w+)(\s+)?([^>]+)?>/);
if (a != null) {
node = document.createElement(a[1]);
if (a[3] != null) {
var attrs = a[3].split(" ");
if (attrs.length > 0) {
for ( var i = 0; i < attrs.length; i++) {
var att = attrs[i].split("=");
if (att[0].length > 0 &&
att[0] != "/" && att[1] && att[1].length != 2) {
var a_n = document.createAttribute(att[0]);
a_n.value = att[1].replace(/^['"](.+)['"]$/, "$1");
node.setAttributeNode(a_n);
}
}
}
}
}
return node;
}

//}}}
<<tabs txtMainTab "Timeline" "Timeline" TabTimeline "A - Z" "All tiddlers in alphabetical order" TabAll "Tags" "All tags" TabTags "Shadowed" "Shadowed tiddlers" TabMoreShadowed>>
<<version>>