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
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
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]]
<div class='header' role='banner' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
<div id='mainMenu' role='navigation' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' role='navigation' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' role='complementary' refresh='content' force='true' tiddler='SideBarTabs'></div>
<div id='displayArea' role='main'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

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

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox where print preview displays the noscript content */
<div class='toolbar' role='navigation' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
Computers and the internet are now pervasive in Australian business environments. Almost every Australian businesses now operates via email,file sharing services (such as DropBox) and some online tools (such as Google Drive). While this is a boon for worker productivity, it has a dangerous shadow side by which ad hoc business processes can develop that are not managed, not understood and potentially inconsistent with the companies goal and values.

RedWaratah is in the business of automating business processes, so as to give management control of their companies processes. Examples of such automation are:
* [[Job tracking with Mantis]]
* [[Service detail validation via fax and email]]
* [[Automated documentation updates]]
* [[Exception reporting on corporate database]]

RedWaratah recommends that business automation be performed in many stages, so that the automation can be reviewed and the benefits measured at each stage. Each stage should be functional and should offer a distinct benefit over the earlier stage. The average implementation time for a stage should be about a week.

A successful automation product should run on a server (or cloud) that is web enabled with on-line forms accessible from within and outside the company. It should integrate with automated summaries of corporate data and work-flowed steps that lead from the start of the end of the job. The steps need to be well documented with technical documentation (describing why can be done) and user documentation (covering the agreed procedures). Online reporting ensures that steps are not skipped and tasks are not deadlocked or lost within the system.

To discuss how your business can benefit from automated processes, please [[fill in this form|Contact us]].
<<timeline created 20 "DDD, DDth MMM YYYY" filter:"[tag[blog]]">>
RedWaratah was founded in 2002, and I had been using [[Open Source]] tools before that. The following case studies should indicate the breadth of functionality that this approach can access.

<<timeline modified 20 "DDD, DDth MMM YYYY" filter:"[tag[CaseStudy]]">>
A category of all case studies, but see the [[Case Studies]] page for a nicer set.
Background: #ffe
Foreground: #000
PrimaryPale: #f45
PrimaryLight: #fab
PrimaryMid: #401
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
! Thank you for your input
Your comments have been delivered to

If your email address was correct (you can click back to double check), you will hear from RedWaratah in a day or so.
<<tiddler RedWaratah>>
<form action="">
<table class="twtable"><tbody><tr class="evenRow"><th align="center" colspan="2">How can we help you?</th></tr><tr class="oddRow"><td align="left"><strong>Name:</strong></td><td align="left"><input name="name"></td></tr><tr class="evenRow"><td align="left"><strong>Email:</strong></td><td align="left"><input name="address"></td></tr><tr class="oddRow"><td align="left"><strong>Comments:</strong></td><td align="left"><textarea cols="60" rows="6" name="comments"></textarea></td></tr><tr class="evenRow"><td align="center" colspan="2"><input type="submit"></td></tr></tbody></table>
<INPUT TYPE="hidden" NAME="success" VALUE="[[Comments Delivered]]"/>
Otherwise you can email our support desk: support at redwaratah dot com
[[Presentation Slides| Masterpieces with Raphael.html]]
I am looking a consulting again through RedWaratah from August 2013. The RedWaratah web site ( has been in test mode for several years, so I was looking for a site that met these needs. I eventually selected TiddlyWiki because I wanted to keep it fresh, secure, full of information useful to both me and clients, and cheap to update. But first, a bit of history:
! History
RedWaratah was founded in 2002 during those heady days after the dot com bubble burst but while most businesses were still wondering how to get started on the internet. I started with a simple product called [[ezContents]] which I used to manage half a dozen web sites, including RedWaratah's. It has the benefit of being easy to use and train clients in, while allowing me to extend it with specialised modules. I used the same tool for RedWaratah and filled it with photos of happy meetings and knowledge based articles, as much as anything to demonstration how the software worked.

All was well until the zero-day vulnerability met the bot, and suddenly I lost every site repeatedly over a week (in 2004 I think). There was no fix available from ezContents. (No criticism of them; I suspect they were just a panicked as I was.) On the weekend, I switched every site across to [[e107]], including RedWaratah. Such was the stress though, that the RedWaratah site was just a shell of its former glory.

In 2008 I decided to use a MediaWiki for technical documentation at a client site. To learn about MediaWiki, I installed it as the RedWaratah web site and filled it with technical articles and cool templates I had found on the web. However, once the client site technical wiki had taken off, I had no further cause for experimentation and the updates ceased.

In 2010, the RedWaratah site was blocked as it exceeded bandwidth. Looking at the logs, I found thousand of bots were trying to inject malicious code through requests into the MediaWiki Special pages. As I didn't really have time to understand or defend against the attacks, I just pulled the site down and lived on a simple, hand crafted HTML page with an email link for contacts.

In 2012 I had a brief play with a Drupal based web site. It looks quite nice, but changing it off a boilerplate design proved very time intensive. Also, I still had burned in my memory the 2004 experience of having sites hacked with no warning. I just didn't have time to follow the Drupal news reports to be told when patches were available
! Rationale
So here I am typing madly into a little wiki that will soon be fired up to via FTP. The benefits:
* It is very easy to create information dense content
* I have been using TiddlyWiki as a personal management tool for many years and quite enjoy writing macros for it
* I can mix personal technical information with client help information in a single location without getting mixed up
* The result is quite and professional looking.
* I have the original on a [[Ubuntu One]] folder so it replicates to all my systems
* It is easy to flag articles I need to write
The draw-backs:
* I have to manage pictures myself
* I haven't managed to leave the boiler plate look yet
* I haven't verified that it is hack proof yet

Let's see what this looks like by the end of the year. :-{)}
The [[DataScope RateFeed]] is a Windows based [[Python]] application that captures rates from Reuters Datascope Select and builds them into into curves suitable for entry into Quantum and Risk. Supported curves include FX, commodities, interest rates (including ratesetting rates), option volatilities and securities. 

I created this product to capture and manage rate curves for Oakvale Capital. It was highly successful. Unfortunately, the company was not, and when it was closed, the administrators granted me the use of the scripts I had written. This application will run as is in a SunGard AvantGard Quantum implementation, but you should budget a week to get the configuration files right. However, I expect this might be a very useful starting point for anyone using the Thomson Reuters' DataScope Select product.

The application is written in Python v3 and is designed to run under Windows. (I have run the capture program, DataScopeRateFeed.pyw, under Linux, so Windows is only required if you wish to feed the rates into a Treasury system vis a DCOM library, such as the one packaged with AvantGard Quantum and AvantGard Risk.) It uses Tkinter for the UI, SQLite for internal data management, FTP to download rates, Excel for a manual rates (used for rates no available in DataScope Select), INI files for configuration, Python for inline scripting and jQuery/backbone.js/underscore.js/RPC for a intranet based dashboard.

The application comprises
# ~DataScopeRateFeed - stand alone application that captures rates into a pool database and builds them into curves n the curves database.
# ~QuantumRateFeed - stand alone application that writes live and end of day curves in to AvantGard Quantum using the published DCOM library
# ~RiskRateFeed - stand alone application that manages the general replication of rates from AvantGard Quantum to AvantGard Risk and handles the special cases.
# ~ExportUtility - stand alone application that exports rate curves showing how the curves were built. It also manages the inline documentation. It has an batch mode that allows daily rate snaps to be archived for reference purposes.

If you wish to know more, check the [[documentation|]] and [[code|]].
I attended a presentation with a name like this some years ago (I think it was a Cebit in 2008). I heeded the message then and it has transformed my working life. I do not have notes from that pivotal presentation, here are my perspectives.
! Rationale
Humans are great problem solvers, but surprising weak at remembering (ref [[New Scientist #2917|]]). In fact, humans are quite ready to subconsciously manufacture memories to edit out embarrassing blanks (ref [[New Scientist #2885|]]).

In the area of information technology, not remembering why you made some configuration choice 18 months ago is deadly. Equally deadly is finding a document covering that description but suspecting that it is partially out of date. And finally, when faced with documenting a product or system. trying to decide what level of detail to go into on dependencies that might be documented elsewhere.
! The benefits
A wiki solves those problems neatly.
# Articles are short, and like a well structured paragraph, stay on topic
# Perfect place for odd bits of knowledge (for example, if you read a good article somewhere, write a search-able precis and put that in the wiki with a link)
# Details that may not need to be documented aren't - just hot link to them and leave the link broken
# Dependencies and connections require a link and a short description
# Easy to read formatting (numbers, bullets, tables, images) are very fast to enter
# Templates can be centrally managed (say if you wanted the same documentation format for every database table)
# The simple structure of a wiki permits scripts/bots to create automated articles
# Wikis allow easy aliases, as many products/systems have many names
# Easy searching (if you have kept to rule one and had one article for each topic)

Also, because of the technology of the wiki, you get some serendipitous benefits:
* Recent changes - in a multiple user wiki, your morning reading should be what has changed recently.
* Change logs - Mediawiki has an excellent history feature to allow changes to be found, and if necessary, rollled back
* Composite documents - made by importing sections from articles
* Implications of changing one system/product - looking at what links to the article indicates what may be broken by a change
* Managing updates - when you need to update one article, the links generally show every other article to be updated
! The costs
There are numerous [[Open Source]] wikis that are free, and a large number of good, proprietary options. The main costs will be in set up and training, and these will depend on the goals.
!! Finding the right wiki
There is a great web resource called [[WikiMatrix|]] that lets you compare the features of different wikis. The [[comparison tab|]] itemises the features and requirements down the left hand column and shows the attributes of the selected wikis across the rows. The number of available wikis is a bit overwhelming, but if in doubt shoot [[me|Maurice Maneschi]] an email and I'll offer some guidance.
!! Learning the syntax
The syntax of different wikis is different, but the common purpose is for simple codes that increase your efficiency. Give yourself two hours to learn the syntax. Then print out a cheat sheet to refresh your mind as needed.
! Where to start
!! Have a go!
There is a fast, light [[Open Source]] wiki called TiddlyWiki that is written in JavaScript and HTML. To get started,
# download it from
# open it in your favourite browser
#* If it is FireFox, install the TiddlyFox plug-in
# Alter the SiteTitle and SiteSubtitle tiddler to personalise it some what.
# Click "New journal" on the right and note that you have set up a wiki
#* Put the term "~ToDo" somewhere in the text
#* Put a tag of "wiki" at the bottom
#* Click the "done" link
# [>img[firstTiddler.png]]You now have an article that looks like this. Note that:
#* There is a grey tag box with the word "wiki". You can click on this to see you journal. If you add another tiddler (article) with the same title, it will be available here
#** If you create a tiddler with the title "wiki" and give it a tag like "tags", you have created a hierarchy of tags
#* The page has an italiced link called "~ToDo". To link in the TiddlyWiki, you either write in camel case (a phrase with capital letters instead of spaces separating the words e.g. ~CamelCaseForFastLinking), or surround the term with double square brackets (e.g. """[[Good Ideas]]""")
#* If you click on ~ToDo, you get a blank tiddler that you can create.
# Go to the [[TiddlyWiki Markup page|]] to experiment with the different syntaxes in new journals
!! Define your goals
Like all IT projects, if you do not have defined goals, you can invest a lot and get little in return. Suggestions for goals are one of:
* Document the configuration of a new system or product
* Collate analysis in preparation for a report
* Personal information management
* Centralise documentation
* Integrate unstructured information with an existing system of structured information
!! Example of a personal wiki managing your inbox
Let's start by cleaning up your inbox. It is probably full of useful email that you have received, you know you need to do something about someday, but that day to not today and is unlikely to be this week. We are going to put all that into your new wiki:
# Create an email archive folder called "wiki". Each time you process an email into your new wiki, drag it into there.
# Create a tiddler called "Email" with the content<br>{{{<<timeline creation 20 filter:"[tag[email]]">>}}}
#* Create a link to "Email" in the MainMenu tiddler
#* Make sure the tiddler has a capital "E"
# For each email in turn, create a new tiddler
## Give the tiddler the same title as the email subject
##* but note the title of each tiddler must be unique, so you make need to use suffixes
## Tag the tiddler with the term "email"
## Paste key bits of the email into the text area
## Note the date of the original email so you can find it if needed
## Create a section at the bottom called "! Suggested Actions" and note in bullet form (start each line with an asterisk) what you think you need to do about it
## Click "done"
Now you have the beginning of a wiki and a cleaner inbox. You can:
* A search for "suggested actions" will give you a rough to do list
* Add any updates on the topic to the tiddler, perhaps in a separate section
** Updates that are off topic should be entered as hot links to future tiddlers
* Each time you have completely handled the email, edit the article to select the suggested actions section and change its tag from "email" to "email-done"
!! Similar resources
* [[Starting and Running a Wiki Website|]]
* [[A Wiki Choice Wizard|]]
! Case studies
* [[How I use the d-cubed TiddlyWiki]]
* [[How I use the Mediawiki]]
* [[How I used TiddlyWiki to collate analysis]]
! References
* TiddlyWiki
* [[Mediawiki|]]
Recently I was asked to analyse how a suite of 42 products running on 28 systems could be migrated from one client to another. The details and timing were hazy, but I was asked to be prepared for different eventualities. I did so by setting up a TiddlyWiki with an article (tiddler) for each product and system. I then wrote a section on how that product of system would behave under different transition scenarios. Where the behaviour has risks, I flagged the tiddler with a tag. At the end, I built a compound article that included each of these sections, and used the tags to ensure the document was complete. As the requirements became clearer, I only needed to update individual articles to get an updated final document. 
! How I used Tiddlers
[>img[Sample tiddler for analysis article.png]]
Tiddlers (or articles in TiddlyWiki) are an HTML division. Many tiddlers can be shown on a page at a time, so you should keep each tiddler short and to the point. I created a tiddler for each product and service. Each such tiddler had a section titled "Migration" and another titled "Care and Maintenance".

I also created a tiddler for each tag I intended to use. As the way tag tiddlers include child articles is a bit ugly when the tiddler titles are long, I created a few "alias" tag tiddlers. In these, I used the list macro to show the sub articles.

I also created a few "management" tiddlers to remind myself what I had done should I need to further edit the wiki. 

Finally, I created a tiddler for each of the output documents of the project. These tiddlers had some intro and conclusion text, but mostly used transclusion macros to include the appropriate paragraphs from each of the tiddlers with those paragraphs.
! How I used to tags
I created a product tag and a service tag and tagged the appropriate tiddlers. Also, if these tiddlers had a section on "Migration" or "Care and Maintenance", I tagged them as "migrate" and "cam" respectively. I used these latter tags to reconcile the final analysis document with the individual tiddlers contains the detail.

In the image above, you can see the sample article as a tag to show
* it is a product,
* it is a core product,
* it has transition information
* it has care and maintenance information

The end of the documents have an appendix of products and systems. The first draft of this was a simple list macro on these categories. Utimately, I thought it was a good reference so I beautified it with manual linking.
! How I used transclusions
Transclusion is fancy word for using all or part of one tiddler in another. My final documents were mostly an introduction, a summary and a framework. The rest where transclusions of the appropriate section for the individual articles.
; Sample of how the final documet used transclusions
! Products
The analysis of the migration has shown that while most products will happily run in the post-migration environment, 
there are a few small dependencies that impact some of their behaviours. This section itemised these dependencies 
and considers the options for management them.
!! Core Products
!!! Operational Server based
<<tiddler [[Conan##Transition]]>>

<<tiddler [[End of day Rates Email##Transition]]>>

<<tiddler [[Quantum Dashboard##Transition]]>>

<<tiddler [[Nagios##Transition]]>>
The key benefit of this is when I discovered a bit more detail on some of the products or services, I needed simply to adjust the individual tiddlers. The final document immediately picked up the updates.
! Useful macros and templates
I found myself using macros and templates to ensure a common layout and cross referencing. In particular:
# Each tiddler had a template summary table that showed the systems, products and services depended upon or supported by the service or product being described
# A quick macro for linking concepts to external documentation in the intranet
# I used the built in macros of transclusions and lists
! Challenges
The key challenge of this approach was avoiding repetition in the individual tiddlers that were transcluded. For example, if the Confirmations tiddler section discussed the importance of having the correct mail server configured, I did not want the mail server section discussing how important it was to confirmations. In the end, the correct place for each bit of information was pretty obvious. I did do some references outside the transcluded sections to make the individual tiddlers consistent, but I was happy with the final product. In particular, the document had a terse focus with little digression since all the good detail was safely in place in the individual tiddlers.

An other challenge was to know when the project was complete (as it was written in bits). At the start, I tagged each new article with a tag called "~ToDo". When the article was complete, I removed the tag. At the end, I used the reference pane on the right of the TiddlyWiki page and clicked the "More" tab followed by the "Missing" tab. I made sure there were no links that did not have tiddlers.

When the documents were distributed, I simply exported these to PDF using the Cute PDF virtual driver. The links were not translated, although all the key words were bolded to show that they were links. It did give the document a very technical appearance, but I got good feedback from the various readers.
! Lessons learned
* Have many TiddlyWiki documents for different purposes works well, and linking between them can be easily performed by macros
* Completing a wiki (no broken links) is surprising easy, and very satisfying
* Knowing you have all the information somewhere means that you are not tempted to squeeze it into the wrong document
* Writing macros is quite straightforward (if you have used [[jQuery]] before) and the effort pays off if you use them a lot.
Type the text for 'New Tiddler'
When RedWaratah's first new customer in 2013 came along, I needed a way to track what I did for them. I selected [[Mantis]] as I had used it before.
! Why Mantis
<<tiddler [[Job tracking with Mantis]]>>
RedWaratah uses JavaScript to automate a number of web pages.
! Preferred Libraries
* [[jQuery]]
* RaphaelJS
! References
[[Mantis]] is a bug tracking system that is [[Open Source]], very popular and easy to customise. RedWaratah uses [[Mantis]] to track customer requests as well as reported defects. In particular, the facility to:
* annotate an issue with updates and email,
* link related issues,
* tag issues,
* search issues, and
* have custom fields on a project basis
! Installation
Installation was a breeze. I:
# downloaded the files
# installed them on a web server
# created a blank MySQL database and assigned a user
# Ran the installation script

Once installed, you need to configure (via the web front end) to create a product. "Red Waratah" made a perfect default project. The default "All Project" category of "General" was fine initially. You are advised to get rid of the administrator user and create your own. I used my name, and that worked. Then I killed the admin folder on the web server (as instructed).

Twenty minutes after starting I was entering issues. The first issue entered as the set of Mantis, because if gave me a quick place to note every little change I made. I then dumped in my to do list for my main project at the time to get a feel for the application and quickly discover the changes I needed. In the process of doing this, I created categories for:
* Administration - stuff you need to do to make an office work
* Analysis - research followed by a report
* Defect
* Modification - either of code or configuration
* New feature - something that should get invoiced
* Report - generating a data dump in a human readable form - perhaps ad hoc - into Excel or PDF
* Sales - responding to a RFT
* Training - running a training course
! Customising Mantis to suit ~RedWaratah
!! ~RedWaratah's Goals
My goal is to have issues mostly drive through a standard process:
# New
#* All new issues start here
#* I want to ensure that new issues get to review very quickly
#* I delete spam at this point, or I might close an item right away if it is a duplicate or a misunderstanding. However, if I plan to do anything, I move to the review stage
# Review
#* Review is where I assess what is required and what I can do
#* At this stage I ensure I have the right project, category, priority and severity and a full description of what is required. 
#** It the issue is a defect, I ensure that I have steps to reproduce
#* Often I need to simply track other people doing things. Such an item would stay in review until they have done what they promised.
#* Items that fail the review process get closed from there
#* If I intend to do something with the issue, I move to scheduled
# Scheduled
#* A scheduled issue is one I intend to do something with
#** If it is part of a bigger project, this issue will be in a Gantt chart at this stage
#* If the issue is dependant on something else happening before it can start, it will stay here
#** If that something looks like it will never happen, I can close from here
# Started
#* I have started work on the item
#* I do not want anything to stay here long
#** If I hit a block while working, I shove the item back to review
# Resolved
#* When I have completed by work ''and my testing'', I move the issue to resolved.
#* The issue can wait here for related issues to catch up
# Testing
#* In this context, this means acceptance testing performed by the client
#* If they find anything they don't like at this stage, the issue will either move to:
#** Review - if I have missed some important functionality
#** Review - If the client forgot to ask for something that they then realised was essential
#** Completed - if I can quickly fix it.
#* Nothing should stay in testing for long
#** If the client is too busy to test, you should close the item and create another for the testing as the outcome  may lead to new requirements.
# Closed
#* The natural end point
#* If I or the client has an "Ah but" moment, it really should be a new item linked to this, but I could also move this item back to Review
!! Steps
I found very helpful documentation in the [[Mantis Bug Tracker Administration Guide|]]. I created my status settings in //config_inc.php//:
$g_status_enum_string = '10:new,20:review,30:scheduled,40:started,80:resolved,60:testing,90:closed';

I then changed the colours to match my diagram above (also in //config_inc.php//):
# Status color additions
$g_status_colors['new'] = '#dd9999';
$g_status_colors['testing'] = '#1fff1f';
$g_status_colors['resolved'] = '#ddff00';
$g_status_colors['closed'] = '#00ad00';
$g_status_colors['review'] = '#ff9966';
$g_status_colors['scheduled'] = '#ffcc99';
$g_status_colors['started'] = '#ffffbb';

Finally, I set the valid transitions (as described in the [[Workflow chapter|]]
$g_status_enum_workflow[NEW_]         ='20:review,90:closed';
$g_status_enum_workflow[REVIEW]       ='30:scheduled,90:closed';
$g_status_enum_workflow[SCHEDULED]    ='40:started,90:closed';
$g_status_enum_workflow[STARTED]      ='80:resolved,20:review';
$g_status_enum_workflow[RESOLVED]     ='60:testing,20:review,90:closed';
$g_status_enum_workflow[TESTING]      ='20:review,90:closed';
$g_status_enum_workflow[CLOSED]       ='20:review';

Within the mantis tool itself, I added custom fields for:
* Hours - to note how long I spent on the issue (running total only) to reconcile with my time sheet
* Ref - to note the work item reference on other systems when I needed to report an issue to another support text (e.g. Reuters)
! Icing the cake
Although I had achieved everything I set out to do, I was intrigued with the idea of an Android interface. So I stumped up the princely $3.16 and got more value. While I do not see myself doing a lot with the interface, a week after I set it up, I was notified of a defect raised by an email from a client. I managed to address the problem over the phone, so added a quick note to that effect via the Android app.

I have also won kudos by showing the Android interface around. So, although it does not replace a PC with a browser, it was easily worth $3.16.
[[Recent Updates]]
* [[Services]]
* [[Case Studies]]
* [[Contact us]]
* [[Privacy Policy]]
* [[Open Source]]
* [[e107]]
* TiddlyWiki
* [[Python]]
* [[Nagios]]
<html><center><a href=""><img border=0 src="" alt="Online chess"></a>
 <br><a href="">Enjoy chess? Challenge David Bowman!</a></span>
<<tiddler "Maurice Maneschi">>
Maurice Maneschi is the principal of

Contact me on maurice at the domain name of redwaratah dot com or 0421-321-670
<a href="">
          <img src="" width="160" height="33" border="0" alt="View Maurice Maneschi's profile on LinkedIn">
[[I|Maurice]] has been invited to speak at the Open Source Developers Conference 2013 at Auckland, New Zealand:

My topic will be [[Creating Masterpieces with Raphaël]]. [[Raphaël|RaphaelJS]] is a JavaScript library (  to manage the intricacies of vector graphics across multiple browsers, and animating these graphics. I learned of it 2 years ago, and last month have begun a project using it. The project should be finished in August. My talk will be about my how I have used the library and lessons I have learned. The conclusion is still to be written, but will either be a triumphal proof of Open Source versatility or a cautionary tale of hubris and incomplete planning.

I now have a month to create the presentation. What this space for news!
Nagios is network monitoring package with a sophisticated set of methodologies that handle outages. It is very hard to set up correctly, but once done very easy to maintain and to extend with custom plug-ins.
! References
* [[Enhancing Nagios with Python Plugins|/Enhancing Nagios with Python Plugins.pdf]]
Hmmm, in theory it is not possible to have a broken link in a wiki. 

Perhaps you came from outside. 
<form action="">
<table class="twtable"><tbody><tr class="evenRow"><th align="center" colspan="2">  Let me know what happened</th></tr><tr class="oddRow"><td align="left"><strong>Name:</strong></td><td align="left"><input name="name"></td></tr><tr class="evenRow"><td align="left"><strong>Email:</strong></td><td align="left"><input name="address"></td></tr><tr class="oddRow"><td align="left"><strong>Comments:</strong></td><td align="left"><textarea cols="60" rows="6" name="comments"></textarea></td></tr><tr class="evenRow"><td align="center" colspan="2"><input type="submit"></td></tr></tbody></table>
<INPUT TYPE="hidden" NAME="success" VALUE="[[Comments Delivered]]"/>
RedWaratah focusses particularly on providing //open source solutions to business//. Open Source has many meanings (and incessant debate rages over these meanings), but I understand it to be software where the source code is included and can be altered. Developers making alterations are encouraged (but rarely forced) to share those changes back to the original project.
Open Source is the brain child of Richard Stallman (who actually used the term "free software") who became frustrated in the 1970's with proprietary software vendors not co-operating to fix defects. It remained a niche concept largely until the success of [[Linux]]. It has since flourished into a grass roots movement of developers around the world collaborating
! Favourite open source packages
As much as a personal reference, these are the open source software packages I use most frequently:
|! Coding |! Databases |! Graphics |! Documenation |
|[[Python]]<br>[[PHP|]]<br>[[Java|]] |[[MySQL|]]<br>[[SQLite|]] |[[GIMP|]]<br>[[ImageMagick|]] |[[Mediawiki|]]<br>TiddlyWiki<br>[[OpenOffice|]] |
|! Web sites |! Editors |! OS |! Libraries |
|[[e107]] |[[Vim]] |[[Linux]]<br>[[Cygwin|]] |[[openpyxl]] |
! References
* [[Open Source definitions|]]
* [[Richard Stallman|]]
! Introduction
At RedWaratah, we are committed to protecting the privacy of all clients and everyone who interacts with us.

This privacy policy covers all personal information we collect about clients and other individuals. When we talk about "personal information", we use the definition provided by the Federal Privacy Act -

"Personal information" means information or an opinion (including information or an opinion forming part of a database), whether true or not, and whether recorded in a material form or not, about an individual whose identity is apparent, or can be reasonably ascertained, from the information or opinion.

We require all of our contractors, suppliers, business partners and service providers to comply with privacy laws and continually look for ways to meet and exceed our customers' expectations.
!Collecting Information
We only collect information that is necessary for one or more of our functions or activities, and we only keep it for as long as we may require it for a legitimate business purpose.

When we collect personal information from an individual, we ensure that we do so in a fair manner. We also let the individual know:
* the purposes for which the information is being collected
* the organisations, or types of organisations, to whom we may disclose the information
* the main consequences (if any) for the individual if all or part of the information is not provided, except to the extent that this is obvious
* the fact that the individual can access the information that we hold
* how to contact that company about information being collected
* any law that requires us to collect the information.

We will collect personal information directly from the individual concerned whenever practical. However, if we do collect an individual's personal information from a third party, we take reasonable steps to ensure that the individual has been advised of the matters listed above as they apply to both the third party and our own handling of the information.

We treat certain kinds of sensitive information, such as health information, with higher standards of security and confidentiality. We will only use this sensitive information with the individual's consent unless the law specifies otherwise.
!Disclosing Information
We will only disclose personal information:
* for the purposes for which we have advised that we are collecting it, and for related purposes that could reasonably be expected in the circumstances,
* with the individual's consent,
* as specified by law.

In the course of our business activities, we may need to disclose personal information to our agents, service providers, business partners, government authorities and others, but will always do so in accordance with the above principles. Except where data is transferred as part of the sale of a business or part of a business, we will not sell personal information under any circumstances or share it with anyone for marketing purposes unless we have advised of this on collection or otherwise obtained the individual's consent.
!Unauthorised Disclosure or Use
Unauthorised disclosure or use of personal information by our employees, contractors or agents is a serious breach of this policy. Merely accessing information without proper authority is a form of unauthorised use and will not be tolerated. In the event of a breach, we will take appropriate action, which may include disciplinary or legal action.
You may opt out of correspondence from RedWaratah at any time. The [[Contact us]] form is a sufficient way to advise of your intent. 
!Access to Personal Information
Individuals will be able to access their personal information upon request. However, we may occasionally need to deny access to information where the law expressly allows it (for example, when someone is under investigation for fraud).

We will not provide access to spouses, family members or other third parties unless we are required or permitted by law to do so or have the clear, written authority of the individual concerned.

Our priority is to protect the personal information that we collect. Personal information will be managed confidentially and securely, and will be destroyed when no longer required.

We secure personal information in the same way as we safeguard our own sensitive information. We also strive to constantly improve our business processes and the technology we use to protect data.
!Data Quality
We will take all reasonable steps to ensure that personal data we hold is accurate, complete and up to date, and has been obtained directly from the individual or a reputable third party.
!Availability and Review of Policy & Privacy Statements
We will make our privacy policy available on request and will provide a link to this policy from the RedWaratah website.

This policy will be reviewed from time to time and any amendments will be incorporated in the updated policy and in privacy statements in the RedWaratah website where applicable.
Python is a cross platform scripting language used by RedWaratah. It is a syntactically beautiful language (if context-sensitive spacing doesn't kill you - I've met people for whom that is a show stopper) with a rich library and a very active developer community. I have used it extensively since 2001 and have won many accolades with my solutions.
! Code snippets
! References
* [[openpyxl]]
* [[20 cool things in Python|/20 Cool Things Python.pdf]]
* [[Enhancing Nagios with Python Plugins|/Enhancing Nagios with Python Plugins.pdf]]
//From the web site...//
: Raphaël is a small JavaScript library that should simplify your work with vector graphics on the web. If you want to create your own specific chart or image crop and rotate widget, for example, you can achieve it simply and easily with this library. Raphaël uses the SVG ~W3C Recommendation and VML as a base for creating graphics. This means every graphical object you create is also a DOM object, so you can attach JavaScript event handlers or modify them later. Raphaël’s goal is to provide an adapter that will make drawing vector art compatible cross-browser and easy. Raphaël currently supports [[Firefox]] 3.0+, Safari 3.0+, Chrome 5.0+, Opera 9.5+ and Internet Explorer 6.0+. 
! References
* [[Creating Masterpieces with Raphaël]]
<<timeline modified 20 "DDD, DDth MMM YYYY">>
RedWaratah is an Australian business focused on providing clients with automated business processes. Often leveraging [[Open Source]] software to created standardised services, RedWaratah then creates suites of online forms and reports to make key processes efficient and fault free. These enhancements are created incrementally to ensure that feedback from users and managers is properly considered, and locked down with high quality documentation.

|''ABN:'' |34 562 542 979 |
|''Principal:'' |[[Maurice Maneschi]] |
|''Phone:'' |+61 421 321 670 |
|''Fax:'' |+61 2 9012 0075 |
|''Trademark:'' |01562687 |
|''Web site:'' | |
!! History
RedWaratah was set up in December 2001, when the principal found it was easier to get clients and to get an employer in the post World Trace Centre Terror attacks business environment. By focussing on [[Open Source]], [[Maurice]] found that he could offer standards-based services in a broad range of technologies. The venture quickly grew to 15 clients provided with a variety of business processes. 

In 2005 the employment market stablised and RedWaratah became more of a hobby. Many clients did stay on as their services were working well and needed only occasional tweaking.

In July 2013, [[Maurice]] decided to return to the enjoyable world of supporting small business, and RedWaratah has become fully active again.

Until August 2013, RedWaratah used to go under the by-line of "Open Source Solutions for Business". [[Maurice]] changed it to "Automating your Business Process" to better reflect the client experience, as they often did not care what technologies were unused, as long as they worked. The alteration does not reflect a process change within RedWaratah.
Macros used in this TiddlyWiki  */
config.macros.clear = {};
config.macros.clear.handler = function (place, macroName, params) {
   jQuery('<div style="clear:both;"/>').appendTo(place);
Principally RedWaratah is a consulting company. You [[contact us|Contact Us]] and we discuss your requirements and goals. Work is then delivered and hopefully and long term relationship develops.

However, RedWaratah is also a "reseller" for [[Host Networks|]]. We have leased a server (based in Brisbane) and host a number of client applications on it. Web hosting is not so much a service provided by RedWaratah, but more a component that is rolled into the managed application that the client requires.
Automating your Business Processes
#mainMenu {
    text-align: left;
    background-color: #401;
    height: 100%;
#mainMenu a {
    color: #ff8;
    font-weight: strong;
ul {
.headerForeground {
A category of technologies routinely used and recommended by RedWaratah. The key of these are on the left hand menu. 
! Other Technologies
* [[Vim]] - my text editor of choice
! Old technologies
* [[ezContents]]
TiddlyWiki is am [[Open Source]], single user [[Wiki]]. I have been using TiddlyWiki since 2008 (when I heard a presentation on why [[Everyone needs a wiki]]), and it is a fantastic informattion management tool. I principally use the D Cubed (for //do it, defer it or delegate it//) variant as a to do list. I have this sitting in a [[Ubuntu One]]  folder

The key benefits of TiddlyWiki is that all your data is in one file. You get all the simplicity of a wiki with the flexability to do what you want with it. There are hundreds of clever extensions on [[TiddlySpot|]]. I also find printing articles to PDF gives quite reasonable internal documentation.

<<tiddler "TiddlyWiki Case Study">>

This web site is a TiddlyWiki. I maintain it locally and FTP it to regularly.
! References
* The TiddlyWiki home page is Documentation is on
* The D Cubed variant is on
* Clever extensions are found on
* To use TiddlyWiki on Firefox, you need the ~TiddlyFox extension
Ubuntu One is a file sharing facility that is built in to the [[Ubuntu]] [[Linux]] distribution. I find it particularly useful for keeping [[TiddlyWikis|TiddlyWiki]] on, as well as current documents. A non open source (but otherwiese much lauded) equivalent is Drop Box.
! References
I use Vim as my editor of choice. I particular like its:
* support of network access, such as FTP
* indentation, syntax highlighting and auto completion
* code folding, particularly for XML
* macros for repetitive work
* extensive online resource of clever ideas.
! Cheat sheet
! My .vimrc
set nocompatible
source $VIMRUNTIME/mswin.vim
behave mswin
set shiftwidth=4
set expandtab
set smarttab
set wrap!
syntax enable
set hlsearch
set incsearch

" Use the smart version of backspace
set backspace=2

" Status line improvements from Kim Schultz ("Hacking Vim")
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ [POS=%04l,%04v]\ [%p%%]\ [LEN=%L]
set laststatus=2

" Store backup files in a specific directory
set backupdir=~/_backupdir
" Enable highlighting of misspelled terms
" set spell
" Try to set right locale
    lang en_AU

" Create backup files with a tilde extension, as
" some sites seem to change this
set backupext=~
" Force creation of backup files
set backup
" Use UTF-8 as the default text encoding
set encoding=utf-8
" Allow backspacing over everything in insert mode.
set backspace=indent,eol,start
" Set characters to show for trailing whitespace and
" end-of-line. Also supports tab, but I set expandtab
" and thus tabs are always turned into spaces.
set listchars=tab:>>,trail:!,eol:$
" --------------------------
" Specific settings for different types of files
" Settings for editing C files
autocmd FileType py setlocal shiftwidth=4 softtabstop=4 expandtab
" --------------------------
colorscheme peachpuff
set guioptions=mrbT
set guifont=Anonymous_Pro:h10:cANSI
set diffexpr=MyDiff()

function MyDiff()
  let opt = '-a --binary '
  if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
  let arg1 = v:fname_in
  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
  let arg2 = v:fname_new
  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
  let arg3 = v:fname_out
  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
  let eq = ''
  if $VIMRUNTIME =~ ' '
    if &sh =~ '\<cmd'
      let cmd = '""' . $VIMRUNTIME . '\diff"'
      let eq = '"'
      let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
    let cmd = $VIMRUNTIME . '\diff'
  silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
! References
Welcome to the web site. RedWaratah is an IT consultancy run by [[Maurice Maneschi]]. It aims to provide IT solutions to businesses based on:
* [[Automating business processes]]
* [[Innovative solutions]]
* [[Online/Web Based]]
* [[Automatic Emails and Reports]]
* [[Standards compliant]]
* [[User and technical documentation|Documentation]]/[[Wikis|Wiki]] recommended
* [[Open Source]]

Please use this site to [[request work|Contact us]], peruse the [[resources|Technology]] or track updates. 

This site is created in TiddlyWiki.
! Recent Updates
<<tiddler [[Recent Updates]]>>
A wiki is a simple editor for maintaining unstructured knowledge. There are many definitions of a wiki, but the one I like is "What I Know Is". I think of a wiki as MS Word with everything I rarely use removed, but fast editing and linking.
! Usage
I use a wiki for:
* Technical documentation in [[MediaWiki|]]
** The same wiki as is used by the [[Wikipedia|]]
** Change tracking, easy templates, great reports, easy to write bots
* Personal management in a d-cubed TiddlyWiki variant
** A TiddlyWiki that has been enhanced with a suite of macros to support the [[Getting Things Done]] methodology
** I have a personal one and a client site one
* Project documentation in a TiddlyWiki
** See my [[TiddlyWiki Case Study]]

I also use a [[TiddlyWiki for this web site|Creating a RedWaratah web site as TiddlyWiki]] - not that I think it will win me a web design award, but because it saves me time and lets me get my message  across. I would be cautious about recommending such a solution to others.
! References
* [[Everyone needs a wiki]]
* [[Creating a RedWaratah web site as TiddlyWiki]]
A category for blogs, but see the [[Blogs]] page for a nicer layout
All the categories of this site. I suppose this can become an ugly site map.
e107 is a content management system used and recommended by RedWaratah. 
! Tips and Tutorials
* [[Insert an image into a e107 article]]
* [[Link a PDF in an e107 article]]
! Examples
It is currently used by:
* [[The Canterbury Junior Football Club|]]
* [[The Leadership Factor|]]
! References
I note that ezContents has now become a Drupal distribution. I suppose my training guide is not of much use any more.
! References
* [[Training Guide|/stuff/ezcontents_training.pdf]]