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

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

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

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

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

.tabSelected{color:[[ColorPalette::PrimaryDark]];
	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]];}

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

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

.fieldsetFix {border:0; padding:0; margin: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;}
#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 1.5.0.2 where print preview displays the noscript content */
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<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 [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser

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

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

----
Also see [[AdvancedOptions]]
<<importTiddlers>>
Today was an important day in my growing appreciation of tiddlers.
	Activity 2.1 
I can only speak from State-side. The changes going on now in the classroom is part economics driven and part the stake holders: community, parents faculty. I was the Directory of Technology for two private single-sex schools, in upstate New York 2004 – 2006 as well as the computer chair and high school computer teacher at these two schools. They were across the street from one another and were the male and female part of the same school. We had computer classes beginning in grade 4. The girls in grade 6 - 12 at the girl's school were all provided with a Mac at the beginning of the school year. This had been going on since the end of the 1990s with the theory that girls were not exposed to computers as much as boys so they should have them all the time.  What I saw from the beginning was that the boys lagged behind the girls in computer knowledge by the time they were in high schoool. They could play games but little else. In my classes in 10 -12 I taught 3D animation, webpage development, Flash, and the Microsoft Office Suite. The boys really struggled and were a bit of a bother just because they were embarrassed  that they could not do as well as the females. We had co-educational classes in the high school, and students would cross the street to share classes such as computing. The boy's side  used PCs – somehow the thinking was that Macs were for girls and PCs for boys. This is true, I was quite surprised at this rational. 

In 2005 – 7, I worked at a private school in Manhattan, grades 6 - 10. Again I was the computer teacher though I began more integration with other subjects. We integrated projects with English, Social Studies, Art, and Science.  We did a lot of collaborative learning in grades 6 – 8, using Google Documents and Facebook and MIT's Scratch.  In 7th and 8th grade we made mashups with poetry, video and music and posted them to youtube. One of our sites, I kept there - http://www.youtube.com/thedwightschool 

In 2008 the computer technology across New York City changed. It seems that all at once computer teachers were replaced by techies. I lost my job because I did not want to just work in the server room running the network and assisting teachers with their Smart-boards, fixing computers etc. In one short span there were 18 jobs for technology integrators and no jobs for computer teachers in private schools in NYC. I have not found out why this change came about so rapidly. My initial problem with this is that there needs to be specific computer classes. The idea was that teachers should know enough to integrate technology in their classroom. My last job was in a public school in NYC. As I do not have a teaching certificate, hence why I am doing this course, I am not suppose to teach in a public school. I was hired as the computer integrator. What I discovered was that teachers did not know a lot about computing apart from Office, and some had had a go at Photoshop and that was about it.  The upshot was that I spent the year teaching classes because teachers did not know enough to integrate technology. We were using Comic Life in Second and third grade, iMovie and 2d and 3rd grade as well as beginning story writing with several software in kindy and first grade. These were primarily teachers in their early 20s who just threw their hands in the air basically when it came to projects and I was alone teaching computer classes to K – 3 and 6 – 8. I am 62 and have been doing this for decades. My PhD thesis title at UniSA was 'Conversational Analysis of Chatroom “Talk”'. I taught Information Technologies at the Magill Campus there in the back blocks of Adelaide in the 1990s. Bottom line, age has nothing to do with all this. Schools which embrace technology will have no 'powering down' phenomenons because they are always switched on. For example, a Charter School in NYC is based on gaming. “Game-making is especially well-suited to encourage meta-level reflection on the skills and processes that designer-players use in building systesms.' (Katie Salen, Gaming Literacies: A Game Design Study in Action'. Jl. Of Educational Multimedia and Hypermedia (2007) 16 (3), 301-322.).
As the USA is not rushing toward a national curriculum, my view on this side of the fence from all the readings we have been given is that a national curriculum takes away evolution and new thinking, creativity and experimentation in education. It is taking a step back into a communist all get the same learning mindset. I am glad my children did their schooling in South Australia back in the 1990s when there was an openness to new ways that were not controlled and mandated by a central commission. 
What I see in various schools that are not public, similar to an Australian National School, controlled from a centralized government who may have their own agendas such as setting up with software companies and computer manufacturers what products will be thrust onto schools are schools willing to try something new and who will lead the next generations of learners. Learning needs to be student driven as well as the stake holder's agenda. For example, why are schools buying Microsoft Office, when Open Office, a superior product, is free? Who is pushing to keep schools 'up-todate' with hardware? Will schools have to waste their resources buying iPads for everyone?
What is interesting about USA non-public schools, including Charter Schools which are public schools but also have private funding, is that they can develop curriculum slightly different than public schools or schools under a national mandate. Within these schools, such as a game based school, or schools that allow social and collaborative usage, or robotics, and Second Life (as does MLC in Sydney does, I visited there a few years ago to bring Second Life to a school I was working at but after a lot of costs and development the head of the school axed the project) there is the future being carved out. 
“That the message of a text is dependent upon what the reader does with the text. 

That a textual message meaning is formed within a discourse-community to bring about a certain de-coding of the text.
Whose language is the correct one to create a literate society? 

Whose interpretation are we following and why and will this produce students that will make choices that benefit the dominant group in society, those in power who a national curriculum is really out to serve.”
Activity 2.3
REVIEW OF MYREAD WEBSITE
         Terrell Neuage 
INTRODUCTION
MyRead is a project of the Australian Association for the Teaching of English (AATE) and the 
Australian Literacy Educators Association (ALEA). It has been funded by the Department of 
Education, Science and Training (DEST).
                                           MyRead supports teachers of underperforming students in 
                                           the middle years (Years 4 – 9).
                                           MyRead is based on the beliefs that: 
                                                All students can be successful readers
                                                All teachers are teachers of reading
                                                Teachers make a difference
      Monitoring and assessment inform teaching and learning
      Teachers need a repertoire of flexible practices
SUMMARY
This site attempts to support teachers with strategies to assist students who are not reading at an 
expected level. 
CRITIQUE
This body of work provides strategies of assistance for teachers with readers who are not at the 
level of their peers. Monitoring and assessment is important to identifying these students. However, it 
is easy to become lost in so many templates that little gets accomplished. If the amount of time that is 
spent going through this website was spent on the student who needs support then the reader would 
come out at a higher level. It is similar to the huge amount of time wasted on learning a software, such 
as TiddlyWiki, when that time could be put to good use engaging with material for learning. As this 
site illustrates the amount of time to find any thing useful compared to what could be accomplished 
with time well spent, such as engaging one on one with a student, is out of proportion. This site makes 
a mockery of Freebody and Luke's (2003) Four Roles model. They seem to spell out a single unitary 
model for reading and writing instead of showing that there are many pathways to assist a student into a 
better reading mind. In chapter 4 of Literacy as engaging with new forms of life: The 'Four Roles' 
Model, Freebody and Luke say that they 'found a large proportion of classroom time was devoted to 
textparticipation practices, often in conversational formats, exploring what might happen next, what 
characters might be feeling, what words mean and, in particular, how various elements of the text at 
hand might relate to students' everyday knowledge.' In other words it is within the group that 
performance may evolve.
“Underperforming” is a qualitative term with layers of judgmental implications.  It would be 
the same as here in a school I taught at last year in New York City with children who lived in 
shelters, abusive homes, or had English as a second language saying they were under 
performing. They may be over performing compared to other children in the shelter, or in their 
overcrowded tenement apartment or compared to others in their family as they are the only one 
that can read in the family. This year I am doing my prac teaching in a school that charges 
$30,000 per student and in 4th grade they love reading more than playing computer games or 
playing outside or watching television. They love to read aloud. However, I could point out a 
tenyear old and say she was an underperformer in the group even though he may be reading at 
a much higher level than children in a public school. 
The Vignettes included on this website could be here in NYC or anywhere else of course. Instead of 
separating underperformers and overachievers and all the other variations they should be together and 
from my own observations and experience those who start off the year far behind will catch up. They 
may need extra assistance after school but they will want to be a part of the group. It then becomes the 
responsibility of the teacher to raise the standards of the group. This is discussed in the MYREAD 
section; Connecting Students To Learning Through Explicit Teaching “Implementing focused lessons.
Explicit teaching is not just merely giving students clear directions or even stating the learning goals at 
the beginning of a lesson – it is a way of thinking about and acting out teaching and learning in a 
principled way throughout the lesson (from assessment through to planning, implementation and 
review).”
  
CONCLUSION
Teaching can be very individualized within an institutionalized setting. The MyRead 
http://www.myread.org website is a tool that provides suggestions. Underperforming, like not 
being up to snuff, or any number of judgemental notions leads readers – usually teachers, or 
caregivers – to look for strategies of assistance. By placing a 'winner' logo on their website they 
extend to the casual reader of their site that they have have achieved a high level of 
demostratable expertise on their site.
There should be a link on the site to their wiki 
http://wikidlinks.wikispaces.com/A+thinking+culture+at+OLMC
which gives opportunities for interaction and collaboration.
Activity 2.4 Terrell Neuage
     Exorcizing Digital Demons by Leonie Rowan, Michele Knobel, Chris Bigum, and Colin Lankshear.
     1. Barbie PC, a pink, Barbie themed computer for girls comes with Barbie Fashion Designer. The    Barbie PC comes loaded with a little more then half of the educational software found on Mattel's counterpart computer for boys, the Hot Wheels PC. Comes with: Body Works, a program that teaches human anatomy and 3dimensional visualization, Logical Journey of the 
Zoombinis, The Clue Finders Math 912, Compton's Complete Reference Collection, and Kid  Pix Studio.  and a thinking game called Logical Journey of the Zoombinis

Note: Customers who ordered $699 PCs festooned with Barbie decals are out of luck this holiday season: Patriot Computer, which manufactured the Barbie PC as well as the Hot Wheels PC, has filed for bankruptcy. December 21, 2000 1:15 PM PST Bankruptcy crashes the Barbie PC By Michael 
Kanellos  Staff Writer, CNET News  viewed April 20th 2010  

Firstly, I believe this article is way out of date. The book is from 2001 – ancient history for what we 
should be reading now and yes there were more gender issues a decade ago. We would have been better 
served reading current research or a book such as Career Decisions in Computer Technology Fields: 
Influences, Barriers, and Gender Issues (2008). “This study examines similarities and dissimilarities of students  
enrolled in computer technology programs and noncomputer programs at Career and Technology campuses in America.  
Barriers and influences were evaluated to determine if gender played a part in selecting a career.The results are 
illuminating and point out the processes and barriers to effective efficient and fulfilling career choices."
Here are some other books from a couple of years ago we could have been directed to:
Barbercheck, Mary et al. (eds.). Women, Science, and Technology, 2nd edition.. New York: 
Routledge, 2008. (Description, Contents, and Read Inside the Book).
Kitetu, Catherine Wawasi. Gender, Science and Technology: Perspectives from Africa. Dakar, 
Senegal: CODESRIA, 2008. (Brief Description).
Lynch, Julianne (ed.). Gender and IT: Ongoing Challenges for Computing and Information 
Technology Education in Australian Secondary Schools. Sydney: Australian Curriculum Studies 
Association, 2008. (Information).
Phipps, Alison. Women in Science, Engineering and Technology: three decades of UK initiatives. 
Staffordshire, UK: Trentham Books, 2008. (Brief Description).
Schiebinger, Londa (ed.). Gendered Innovations in Science and Engineering. Palo Alto, CA: 
Stanford University Press, 2008. (Introduction and Table of Contents)    (Interview with Editor).
Senft, Theresa M. Camgirls: Celebrity and Community in the Age of Social Networks. New York: 
Peter Lang, 2008. (Brief Description and Table of Contents)  (Author's description of dissertation on 
which the book is based)
Williams, F. Mary and Carolyn J. Emerson. Becoming Leaders: A Practical Handbook for Women 
in Engineering, Science, and Technology. Reston, VA: American Society of Civil Engineers, 2008. 
(Brief Description and Read Inside the Book). 
And there have been many since. 
Secondly – let's get with the way it is now – at least in Western Society  “It used to be that dolls held 
girls' interest at least through elementary school. But these days, girls are dropping such playthings at 
ever younger ages, largely replacing the childhood mainstay with technologydriven activities, even as 
the toy industry battles to attract the coveted market with new products.” Girls abandon dolls for Web
based toys By Lini S. Kadaba Inquirer Staff Writer 
http://www.philly.com/inquirer/image/20100331_Girls_abandon_dolls_for_Webbased_toys.html 
viewed 12 April 2010
How about Nerd Girls Blog? At http://www.nerdgirls.com/blog/read/connectwithcomputerscience/ 
Social site games? Mafia for example, something I have never played but on Facebook I see a lot of 
females playing it. 
Some of the stereotypes that the authors are pointing out here are:
Boys are competent with technology and they do not like reading.   In general, hegemonic masculinity 
in Australian state schools sees boys rewarded for being 'tough', independent, aggressive and practical, 
rather than intellectual. 
Girls are not interested in technology and they are not competent with technology.
        A key finding of the AAUW study TechSavvy: Educating Girls in the New Computer Age 
        (AAUW 2000a) was that girls' reservations about participating in computer cultures were well 
        founded. However, looking at a large variety of websites I believe this is no longer true. Using 
        my own limited research from going to Internet Cafés in India, Cambodia, Viet Nam, China, 
        Korea, Singapore, Hong Kong, Mexico and many places in between over the past few years I 
        have seen as many females as males (and I mean locals, not westerns checking their emails) 
        playing computer games – and the shooting them up sort too. My colleague (a female professor 
        in the UK from Singapore) for a project I am doing on how people extend the lives of loved 
        ones on the Internet using Farmville, webmemorials and etc. surely has no reservations about 
        using computers and the ones I am doing research on this with are all females. As an exdirector 
        of technology and a computer teacher looking for a job in New York City I am a bit dismayed 
        that the last four or five jobs I went for I came about second to the female who was hired. I am 
        not quite sure who actually believes that computing is the domain of males. 
     2. Where do these stereotypes come from? (again note that this is from a decade ago)
       Advertisers [advertising for computers, computer peripherals, such as printers and scanners, and 
        software tends to emphasize  overtly in the early 1990s  the 'boys and their toys' domain of 
        digital technologies (Hellman 1996; Sofia 1996; Greene 1998; Chaika 2000)]
       Business [that the dominance of a maleoriented business culture in software development and 
        icon or interface naming (e.g. the 'desktop', the egocentric 'my briefcase') has worked to exclude 
        women from participating in using and producing digital technologies. (Weizenbaum 1984; 
        Bowers 1988; Marvin 1988; Noble 1991; Kling 1996)]
     3. How are the authors suggesting that these stereotypes might be challenged through our teaching 
        practices?
By undertaking activities designed to interrupt the boys' (and their teachers') unproblematic 
endorsement of hegemonic masculinities. This involved three strategies:
 providing the boys with opportunities, choices and 'power' not routinely ascribed to boys with a 
history of trouble making;
 providing the boys with consistent and clearly articulated feedback concerning their abilities to display 
those skills  in literacy and technology which they are routinely expected not to possess;
 demonstrating a way of thinking about and responding to 'boys in schools' that saw them in positive 
rather than negative, productive rather than disruptive and transformative rather than stereotypical ways.
     4. What kinds of gender issues do you perceive/foresee in your community/teaching setting?
“Cool Teen Sites  Sites for Teenagers” available on the girl power site http://www.girl.com.au/  notice 
the .au for the domain source origin.
I have not seen gender issues in the last two schools that I have taught in ( At a  public K – 8 school I 
was the IT person and the technologies integrator. We had 30 Macbooks on a cart that I would wheel in 
to the class and we would do our work. In kindergarten or first grade we may  be doing drawing or 
using http://www.starfall.com/ for reading. In second and third grade we used Comic Life, Office, 
iVideo and so forth. We worked individually and in groups. Gender never played a part in the learning 
or use of computers or what we did. In a previous private school the students in grades 6 – 12 had their 
own computers which they brought to class and we collaborated on projects. When computing was an 
elective at my private schools only boys signed up and were in classes of robotics and 3D animation in 
10th – 12 grade. Both boys and girls signed up for my courses in design using Adobe InDesign, 
Photoshop, Dreamweaver and etc. I had equal numbers of boys and girls. In a school from five years 
ago there were two schools, a boys academy and a girls academy. In middle school, starting in fifth 
grade, all girls were given a Mac laptop at the start of the year, the boys did not receive laptops. The 
thinking was that the girls needed a boost. This program began in the mid 1990s. I had mixed high
school classes and the boys lagged behind the girls in computer class. I do not think this was the proper 
way to go though maybe a decade ago it got girls more interested in the sciences, which it did. 
I have found this to be true  quoting from our article “This gender categorization work seems all the 
more ironic when we look at surveys such as that of the National Schools Board Foundation (cited in 
Luchetta 2000: 2). This polled 1735 households and found  among other things  that not only do girls 
use the Internet more than do the boys surveyed, but the girls use it more or educational purposes.”
In my current two schools I am doing my prac teaching in, both private schools, there are no issues. In 
one school I am teaching sixth grade Excel classes and there are eight girls and four boys – one of the 
larger classes at the school. At my public school I had 32 students per class, love the private school life. 
The girls are definitely more focused and quicker at learning Excel than the boys who will go over to a 
webpage for a ball score when I turn around.  I spend more time with the 4 boys than with the 8 girls. In 
my other school I am in a fourth grade class and if during a lesson a student needs to look up something 
for a project he or she will just go to one of a bank of computers at the back of the class and gather their 
information and come back to their seat. I see no difference in gender behaviour.  Gender and 
computers is becoming one of choices. My wife, a teacher for 25 years, 18 years in South Australia and 
seven in New York, bought a small pink computer, and calls it Turtle and has a colourful screensaver (of 
a turtle). She is a music teacher and uses the computer for commuication and for her work. I have a 17 
inch Entertainment PC with lots of programs and I like to do video editing and create webpages and art. 
The future of computing I do not see as an issue with gender but a choice of the individual.
     5. How would you write your own algebraic formula to best represent what is at stake here? 
     boys + reading + computers + supervision = literacy learning
Activity 2.4 extension 
Studying memetics engineering according to Knobel and Lankshear's could assist in the classroom by 
spreading contagious ideas to infect minds with particular ideas. One way we are doing this at the 
school I am doing my  4th grade prac teaching at is  by charting energy use in the classrooms. Of course 
helping children become aware of recycling and energy use has been in place at most schools for the 
past decade. We have daily patrols, two students going unannounced around the school with clipboard 
in hand, marking on their chart whether computers are off if not in use, airconditioners are not on 
when the window is open, Smartboards are off if not in use, properly recycled bins are in place with the 
correct trash in them and so on. 
Schools also have an unwritten in some and written in others that there can not be named fashion attire 
or gang symbols/colors in the classrooms. At the two private schools I am in now there is not much of a 
dress clothes other than common decency. Celebrity's, Wall Street bankers, and an assortment of the 
wealthy in New York City have children who dress like hobos. They do not wear brandnames, as 
trendy now looks like it is from a Goodwill Store. In my last public school students had to wear 
uniforms to avoid gang colours and the few who could afford trendy iconic clothes from getting beaten 
up. 
Activity 2.5 
To improve educational outcomes for Indigenous students and their communities is firstly to respect  other group's worldviews. 'Good teachers have an understanding of how children learn and they know how to tap into their students' natural ability to learn.' (Malin, 2004). Inviting students to have the power to influence their own learning increases their incorporation within the classroom. To do this teachers need to know each student as an individual  as a cultural being and as a learner. (Malin, 2004). This should be the case for any class and for the most part it is. Knowing the student's heritage and letting them share it with the class is the same as allowing Aboriginal Stories to be a part of the classroom. As  it is with any large city with a multicultural mix it is the blending of different pasts that makes the  present interesting and provides an evolutionary step in the classroom/community. These knowledge  structures – encapsulated and expressed through Stories whether it be African Americans from the  Bronx and Harlem, Indigenous Australians, Indigenous Americans, or any one of the many cultures that 
make up today's classroom, shared, will improve educational outcomes.”The essence of Aboriginal  worldviews is relatedness, defined as sets of conditions, processes, and practices that occur among and between elements of a particular place, and across contexts that are physical, social, political and intellectual.” (Martin 2006)

Everyone should know who they are and where they come from and this knowingness should be a collaborative community of learners who share their relatedness in the classroom. Part of Learning by observation: the four knowledge processes of experiencing, conceptualizing, 
analyzing, and applying knowledge among learners
Learning by personal trial and error – encouragement to take risks and problem solve
Learning inreal life activities: an appropriate curriculum that reflects local and wider community interests, issues, and life world practices
Contextspecific learning: new knowledge for students has a context to which the students can relate 
Learning is person orientated rather than information orientated the life world of the learner central to pedagogy
The group is more important than the individual – students and teachers have equal authority over learning
Learning is holistic – the whole rather the bits and pieces
Learning relies on visual and spatial skills
A reduced emphasis on the role of spoken language – allowing silences and absence
    
REFERENCES
Harris, S. (1984) 'Aboriginal learning styles and formal schooling'. In M. Christie, S. Harris & D. 
McLay (Eds.) Teaching Aboriginal Children: Millingimbi and Beyond, Institute of Applied Aboriginal 
Studies, Mount Lawley, WA.
Malin, M ‘They Listen and They’ve Got Respect: Culture and Pedagogy’ in Parington, G (ed.) (2004) 
Perspectives on Aboriginal and Torres Straight Islander Education, Thomson, Social Sciences Press, 
South Melbourne. 
Martin, K (2007). 'The intersection of Aboriginal knowledges, Aboriginal literacies and New Learning 
Pedagogies for Aboriginal students. 'In Healy, A. (ed.), Multiliteracies and diversity in education. (pp. 
5861). Oxford University Press.
|Please read this table and fill in the mid section as you go|c
| ''Checklist'' |>|>|>| ''Your Take'' |>|>|>|bgcolor(#ffA500): ''Our Take'' |h
| Item | Done Well | Done | Struggled | Skipped |bgcolor(#ffA500): Done Well |bgcolor(#ffA500): Done |bgcolor(#ffA500): Struggled |bgcolor(#ffA500): Skipped |h
|The response uses an appropriate method of justification | [_] | [_] | [_] | [_] | [_] | [_] | [_] | [_] |
|The response sets out (or refers to) some relevant criteria | [_] | [_] | [_] | [_] | [_] | [_] | [_] | [_] |
|The response reaches a well-supported conclusion | [_] | [_] | [_] | [_] | [_] | [_] | [_] | [_] |
|Please read this table and fill in the mid section as you go|c
| ''Checklist'' |>|>|>| ''Your Take'' |>|>|>|bgcolor(#ffA500): ''Our Take'' |h
| Item | Done Well | Done | Struggled | Skipped |bgcolor(#ffA500): Done Well |bgcolor(#ffA500): Done |bgcolor(#ffA500): Struggled |bgcolor(#ffA500): Skipped |h
|The response makes explicit the reading strategies being followed | [_] | [_] | [_] | [_] | [_] | [_] | [_] | [_] |
|The response explains the method of criticism (critique) being used | [_] | [_] | [_] | [_] | [_] | [_] | [_] | [_] |
|The response considers the context, audience, and purpose of the article being critiqued | [_] | [_] | [_] | [_] | [_] | [_] | [_] | [_] |
|Please read this table and fill in the mid section as you go|c
| ''Checklist'' |>|>|>| ''Your Take'' |>|>|>|bgcolor(#ffA500): ''Our Take'' |h
| Item | Done Well | Done | Struggled | Skipped |bgcolor(#ffA500): Done Well |bgcolor(#ffA500): Done |bgcolor(#ffA500): Struggled |bgcolor(#ffA500): Skipped |h
|The response clearly identifies some specific literacy requirements at one of the recognised levels of schooling (and optionally, within a nominated subject area) | [_] | [_] | [_] | [_] | [_] | [_] | [_] | [_] |
|The response acknowledges at least two of the following categories of student: Indigenous, non-Indigenous, English as an Additional Language, and special needs | [_] | [_] | [_] | [_] | [_] | [_] | [_] | [_] |
|The response makes practical teaching suggestions for addressing the literacy requirements mentioned | [_] | [_] | [_] | [_] | [_] | [_] | [_] | [_] |
[[GeneralAssessmentCriteria]]
[[Assessment criteria for Q1]]
[[Assessment criteria for Q2]]
[[Assessment criteria for Q3]]
This set of AssignmentQuestions pertains to ''~ETL411 Teaching the Curriculum 1 / Integrating Literacy'', Semester 1, 2010.


[[Question 1]]: <<tiddler [[Question 1]]>>

[[Question 2]]: <<tiddler [[Question 2]]>>

[[Question 3]]: <<tiddler [[Question 3]]>>
A CheatSheet is available at [[TiddlyPocketBook|http://tiddlypocketbook.com/]]. Or from the [[VIRTuální UNIVerzita|http://www.virtuniv.cz/images/e/ed/Tiddlywiki_cheatsheet.pdf]]. And you could always develop your own and tuck it away in a tiddler somewhere.
/***
|Name|CheckboxPlugin|
|Source|http://www.TiddlyTools.com/#CheckboxPlugin|
|Documentation|http://www.TiddlyTools.com/#CheckboxPluginInfo|
|Version|2.4.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|Add checkboxes to your tiddler content|
This plugin extends the TiddlyWiki syntax to allow definition of checkboxes that can be embedded directly in tiddler content.  Checkbox states are preserved by:
* by setting/removing tags on specified tiddlers,
* or, by setting custom field values on specified tiddlers,
* or, by saving to a locally-stored cookie ID,
* or, automatically modifying the tiddler content (deprecated)
When an ID is assigned to the checkbox, it enables direct programmatic access to the checkbox DOM element, as well as creating an entry in TiddlyWiki's config.options[ID] internal data.  In addition to tracking the checkbox state, you can also specify custom javascript for programmatic initialization and onClick event handling for any checkbox, so you can provide specialized side-effects in response to state changes.
!!!!!Documentation
>see ~CheckboxPluginInfo
!!!!!Revisions
<<<
2008.01.08 [*.*.*] plugin size reduction: documentation moved to ~CheckboxPluginInfo
2008.01.05 [2.4.0] set global "window.place" to current checkbox element when processing checkbox clicks.  This allows init/beforeClick/afterClick handlers to reference RELATIVE elements, including using "story.findContainingTiddler(place)".  Also, wrap handlers in "function()" so "return" can be used within handler code.
|please see ~CheckboxPluginInfo for additional revision details|
2005.12.07 [0.9.0] initial BETA release
<<<
!!!!!Code
***/
//{{{
version.extensions.CheckboxPlugin = {major: 2, minor: 4, revision:0 , date: new Date(2008,1,5)};
//}}}
//{{{
config.checkbox = { refresh: { tagged:true, tagging:true, container:true } };
config.formatters.push( {
	name: "checkbox",
	match: "\\[[xX_ ][\\]\\=\\(\\{]",
	lookahead: "\\[([xX_ ])(=[^\\s\\(\\]{]+)?(\\([^\\)]*\\))?({[^}]*})?({[^}]*})?({[^}]*})?\\]",
	handler: function(w) {
		var lookaheadRegExp = new RegExp(this.lookahead,"mg");
		lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = lookaheadRegExp.exec(w.source)
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			// get params
			var checked=(lookaheadMatch[1].toUpperCase()=="X");
			var id=lookaheadMatch[2];
			var target=lookaheadMatch[3];
			if (target) target=target.substr(1,target.length-2).trim(); // trim off parentheses
			var fn_init=lookaheadMatch[4];
			var fn_clickBefore=lookaheadMatch[5];
			var fn_clickAfter=lookaheadMatch[6];
			var tid=story.findContainingTiddler(w.output);  if (tid) tid=tid.getAttribute("tiddler");
			var srctid=w.tiddler?w.tiddler.title:null;
			config.macros.checkbox.create(w.output,tid,srctid,w.matchStart+1,checked,id,target,config.checkbox.refresh,fn_init,fn_clickBefore,fn_clickAfter);
			w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
		}
	}
} );
config.macros.checkbox = {
	handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		if(!(tiddler instanceof Tiddler)) { // if no tiddler passed in try to find one
			var here=story.findContainingTiddler(place);
			if (here) tiddler=store.getTiddler(here.getAttribute("tiddler"))
		}
		var srcpos=0; // "inline X" not applicable to macro syntax
		var target=params.shift(); if (!target) target="";
		var defaultState=params[0]=="checked"; if (defaultState) params.shift();
		var id=params.shift(); if (id && !id.length) id=null;
		var fn_init=params.shift(); if (fn_init && !fn_init.length) fn_init=null;
		var fn_clickBefore=params.shift();
		if (fn_clickBefore && !fn_clickBefore.length) fn_clickBefore=null;
		var fn_clickAfter=params.shift();
		if (fn_clickAfter && !fn_clickAfter.length) fn_clickAfter=null;
		var refresh={ tagged:true, tagging:true, container:false };
		this.create(place,tiddler.title,tiddler.title,0,defaultState,id,target,refresh,fn_init,fn_clickBefore,fn_clickAfter);
	},
	create: function(place,tid,srctid,srcpos,defaultState,id,target,refresh,fn_init,fn_clickBefore,fn_clickAfter) {
		// create checkbox element
		var c = document.createElement("input");
		c.setAttribute("type","checkbox");
		c.onclick=this.onClickCheckbox;
		c.srctid=srctid; // remember source tiddler
		c.srcpos=srcpos; // remember location of "X"
		c.container=tid; // containing tiddler (may be null if not in a tiddler)
		c.tiddler=tid; // default target tiddler 
		c.refresh = {};
		c.refresh.container = refresh.container;
		c.refresh.tagged = refresh.tagged;
		c.refresh.tagging = refresh.tagging;
		place.appendChild(c);
		// set default state
		c.checked=defaultState;
		// track state in config.options.ID
		if (id) {
			c.id=id.substr(1); // trim off leading "="
			if (config.options[c.id]!=undefined)
				c.checked=config.options[c.id];
			else
				config.options[c.id]=c.checked;
		}
		// track state in (tiddlername|tagname) or (fieldname@tiddlername)
		if (target) {
			var pos=target.indexOf("@");
			if (pos!=-1) {
				c.field=pos?target.substr(0,pos):"checked"; // get fieldname (or use default "checked")
				c.tiddler=target.substr(pos+1); // get specified tiddler name (if any)
				if (!c.tiddler || !c.tiddler.length) c.tiddler=tid; // if tiddler not specified, default == container
				if (store.getValue(c.tiddler,c.field)!=undefined)
					c.checked=(store.getValue(c.tiddler,c.field)=="true"); // set checkbox from saved state
			} else {
				var pos=target.indexOf("|"); if (pos==-1) var pos=target.indexOf(":");
				c.tag=target;
				if (pos==0) c.tag=target.substr(1); // trim leading "|" or ":"
				if (pos>0) { c.tiddler=target.substr(0,pos); c.tag=target.substr(pos+1); }
				if (!c.tag.length) c.tag="checked";
				var t=store.getTiddler(c.tiddler);
				if (t && t.tags)
					c.checked=t.isTagged(c.tag); // set checkbox from saved state
			}
		}
		// trim off surrounding { and } delimiters from init/click handlers
		if (fn_init) c.fn_init="(function(){"+fn_init.trim().substr(1,fn_init.length-2)+"})()";
		if (fn_clickBefore) c.fn_clickBefore="(function(){"+fn_clickBefore.trim().substr(1,fn_clickBefore.length-2)+"})()";
		if (fn_clickAfter) c.fn_clickAfter="(function(){"+fn_clickAfter.trim().substr(1,fn_clickAfter.length-2)+"})()";
		c.init=true; c.onclick(); c.init=false; // compute initial state and save in tiddler/config/cookie
	},
	onClickCheckbox: function(event) {
		window.place=this;
		if (this.init && this.fn_init) // custom function hook to set initial state (run only once)
			{ try { eval(this.fn_init); } catch(e) { displayMessage("Checkbox init error: "+e.toString()); } }
		if (!this.init && this.fn_clickBefore) // custom function hook to override changes in checkbox state
			{ try { eval(this.fn_clickBefore) } catch(e) { displayMessage("Checkbox onClickBefore error: "+e.toString()); } }
		if (this.id)
			// save state in config AND cookie (only when ID starts with 'chk')
			{ config.options[this.id]=this.checked; if (this.id.substr(0,3)=="chk") saveOptionCookie(this.id); }
		if (this.srctid && this.srcpos>0 && (!this.id || this.id.substr(0,3)!="chk") && !this.tag && !this.field) {
			// save state in tiddler content only if not using cookie, tag or field tracking
			var t=store.getTiddler(this.srctid); // put X in original source tiddler (if any)
			if (t && this.checked!=(t.text.substr(this.srcpos,1).toUpperCase()=="X")) { // if changed
				t.set(null,t.text.substr(0,this.srcpos)+(this.checked?"X":"_")+t.text.substr(this.srcpos+1),null,null,t.tags);
				if (!story.isDirty(t.title)) story.refreshTiddler(t.title,null,true);
				store.setDirty(true);
			}
		}
		if (this.field) {
			if (this.checked && !store.tiddlerExists(this.tiddler))
				store.saveTiddler(this.tiddler,this.tiddler,"",config.options.txtUserName,new Date());
			// set the field value in the target tiddler
			store.setValue(this.tiddler,this.field,this.checked?"true":"false");
			// DEBUG: displayMessage(this.field+"@"+this.tiddler+" is "+this.checked);
		}
		if (this.tag) {
			if (this.checked && !store.tiddlerExists(this.tiddler))
				store.saveTiddler(this.tiddler,this.tiddler,"",config.options.txtUserName,new Date());
			var t=store.getTiddler(this.tiddler);
			if (t) {
				var tagged=(t.tags && t.tags.indexOf(this.tag)!=-1);
				if (this.checked && !tagged) { t.tags.push(this.tag); store.setDirty(true); }
				if (!this.checked && tagged) { t.tags.splice(t.tags.indexOf(this.tag),1); store.setDirty(true); }
			}
			// if tag state has been changed, update display of corresponding tiddlers (unless they are in edit mode...)
			if (this.checked!=tagged) {
				if (this.refresh.tagged) {
					if (!story.isDirty(this.tiddler)) // the TAGGED tiddler in view mode
						story.refreshTiddler(this.tiddler,null,true); 
					else // the TAGGED tiddler in edit mode (with tags field)
						config.macros.checkbox.refreshEditorTagField(this.tiddler,this.tag,this.checked);
				}
				if (this.refresh.tagging)
					if (!story.isDirty(this.tag)) story.refreshTiddler(this.tag,null,true); // the TAGGING tiddler
			}
		}
		if (!this.init && this.fn_clickAfter) // custom function hook to react to changes in checkbox state
			{ try { eval(this.fn_clickAfter) } catch(e) { displayMessage("Checkbox onClickAfter error: "+e.toString()); } }
		// refresh containing tiddler (but not during initial rendering, or we get an infinite loop!) (and not when editing container)
		if (!this.init && this.refresh.container && this.container!=this.tiddler)
			if (!story.isDirty(this.container)) story.refreshTiddler(this.container,null,true); // the tiddler CONTAINING the checkbox
		return true;
	},
	refreshEditorTagField: function(title,tag,set) {
		var tagfield=story.getTiddlerField(title,"tags");
		if (!tagfield||tagfield.getAttribute("edit")!="tags") return; // if no tags field in editor (i.e., custom template)
		var tags=tagfield.value.readBracketedList();
		if (tags.contains(tag)==set) return; // if no change needed
		if (set) tags.push(tag); // add tag
		else tags.splice(tags.indexOf(tag),1); // remove tag
		for (var t=0;t<tags.length;t++) tags[t]=String.encodeTiddlyLink(tags[t]);
		tagfield.value=tags.join(" "); // reassemble tag string (with brackets as needed)
		return;
	}
}
//}}}
/***
|Name|CommentPlugin|
|Source|http://www.TiddlyTools.com/#CommentPlugin|
|Documentation|http://www.TiddlyTools.com/#CommentPluginInfo|
|Version|2.9.3|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|automatically insert formatted comments into tiddler content|
!!!!!Documentation
>see ~CommentPluginInfo
!!!!!Configuration
>see ~CommentPluginInfo
!!!!!Revisions
<<<
2009.04.10 [2.9.3] invoke autoSaveChanges() after adding a comment
| please see ~CommentPluginInfo for previous revision details |
2006.04.20 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.CommentPlugin= {major: 2, minor: 9, revision: 3, date: new Date(2009,4,10)};

config.macros.comment= {
	marker: '/%'+'comment'+'%/',
	fmt: "__''%subject%''__\n^^posted by %who% on %when%^^\n<<<\n%message%\n<<<\n",
	datefmt: 'DDD, MMM DDth, YYYY at hh12:0mm:0ss am',
	tags: '',
	reverse: false,
	handler: function(place,macroName,params,wikifier,paramstring,tiddler) {
		var span=createTiddlyElement(place,'span');
		var here=story.findContainingTiddler(place);
		if (here) var tid=here.getAttribute('tiddler');  // containing tiddler title
		span.setAttribute('here',tid);
		var target=(params[0]&&params[0].length&&params[0]!='here')?params[0]:tid;  // target title
		span.setAttribute('target',target);
		var overwrite=(params[1]&&params[1].toLowerCase()=='overwrite'); if (overwrite) params.shift();
		span.setAttribute('overwrite',overwrite?'true':'false');
		var reverse=(params[1]&&params[1].toLowerCase()=='reverse'); if (reverse) params.shift();
		span.setAttribute('reverse',(reverse||this.reverse)?'true':'false');
		var marker=this.marker;
		if (params[1]&&params[1].substr(0,7)=='marker:') {
			var marker='/%'+params[1].substr(7)+'%/';
			params.shift();
		}
		span.setAttribute('marker',marker);
		var tags=(params[1]&&params[1].length)?params[1]:this.tags; // target tags
		span.setAttribute('tags',tags);
		var fmt=(params[2]&&params[2].length)?params[2]:this.fmt; // output format
		span.setAttribute('fmt',fmt.unescapeLineBreaks());
		var datefmt=(params[3]&&params[3].length)?params[3]:this.datefmt; // date format
		span.setAttribute('datefmt',datefmt.unescapeLineBreaks());
		var html=this.html;
		html=html.replace(/%nosubject%/g,(fmt.indexOf('%subject%')==-1)?'none':'block');
		html=html.replace(/%nomessage%/g,(fmt.indexOf('%message%')==-1)?'none':'block');
		var subjtxt=''; var msgtxt='';
		html=html.replace(/%subjtxt%/g,subjtxt);
		html=html.replace(/%msgtxt%/g,msgtxt);
		span.innerHTML=html;
	},
	html: "<form style='display:inline;margin:0;padding:0;'>\
		<div style='display:%nosubject%'>\
		subject:<br>\
		<input type='text' name='subject' title='enter subject text' style='width:100%' value='%subjtxt%'>\
		</div>\
		<div style='display:%nomessage%'>\
		message:<br>\
		<textarea name='message' rows='7' title='enter message text' \
			style='width:100%'>%msgtxt%</textarea>\
		</div>\
		<center>\
		<i>Please enter your information and then press</i>\
		<input type='button' value='post' onclick='\
			var s=this.form.subject; var m=this.form.message;\
			if (\"%nosubject%\"!=\"none\" && !s.value.length)\
				{ alert(\"Please enter a subject\"); s.focus(); return false; }\
			if (\"%nomessage%\"!=\"none\" && !m.value.length)\
				{ alert(\"Please enter a message\"); m.focus(); return false; }\
			var here=this.form.parentNode.getAttribute(\"here\");\
			var reverse=this.form.parentNode.getAttribute(\"reverse\")==\"true\";\
			var target=this.form.parentNode.getAttribute(\"target\");\
			var marker=this.form.parentNode.getAttribute(\"marker\");\
			var tags=this.form.parentNode.getAttribute(\"tags\").readBracketedList();\
			var fmt=this.form.parentNode.getAttribute(\"fmt\");\
			var datefmt=this.form.parentNode.getAttribute(\"datefmt\");\
			var overwrite=this.form.parentNode.getAttribute(\"overwrite\")==\"true\";\
			config.macros.comment.addComment(here,reverse,target,tags,fmt,datefmt,\
				s.value,m.value,overwrite,marker);'>\
		</center>\
		</form>",
	addComment: function(here,reverse,target,newtags,fmt,datefmt,subject,message,overwrite,marker) {
		var UTC=new Date().convertToYYYYMMDDHHMMSSMMM();
		var rand=Math.random().toString();
		var who=config.options.txtUserName;
		var when=new Date().formatString(datefmt);
		target=target.replace(/%tiddler%/g,here);
		target=target.replace(/%UTC%/g,UTC);
		target=target.replace(/%random%/g,rand);
		target=target.replace(/%who%/g,who);
		target=target.replace(/%when%/g,when);
		target=target.replace(/%subject%/g,subject);
		var t=store.getTiddler(target);
		var text=t?t.text:'';
		var modifier=t?t.modifier:config.options.txtUserName;
		var modified=t?t.modified:new Date();
		var tags=t?t.tags:[];
		for(var i=0; i<newtags.length; i++) tags.pushUnique(newtags[i]);
		var fields=t?t.fields:{};
		var out=fmt;
		out=out.replace(/%tiddler%/g,here);
		out=out.replace(/%UTC%/g,UTC);
		out=out.replace(/%when%/g,when);
		out=out.replace(/%who%/g,who);
		out=out.replace(/%subject%/g,subject);
		out=out.replace(/%message%/g,message);
		var pos=text.indexOf(marker);
		if (pos==-1) pos=text.length; // no marker - insert at end
		else if (reverse) pos+=marker.length; // reverse order by inserting AFTER marker
		var newtxt=overwrite?out:(text.substr(0,pos)+out+text.substr(pos));
		store.saveTiddler(target,target,newtxt,modifier,modified,tags,fields);
		autoSaveChanges();
		if (document.getElementById(story.idPrefix+target))
			story.refreshTiddler(target,DEFAULT_VIEW_TEMPLATE,true);
		if (here!=target && document.getElementById(story.idPrefix+here))
			story.refreshTiddler(here,DEFAULT_VIEW_TEMPLATE,true);
	}
};
//}}}
[[Dr. Terrell Neuage]]
[[AssignmentQuestions]]
homepage = http://neuage.org
To edit a tiddler, double-click on the heading or click on the grey 'edit' tab right and more or less level with the tiddler's heading. Make your edits with the correct markup. If you're not sure of the syntax, 'edit' a tiddler you like the look of and figure out what the extra punctuation is doing. Match this up with the CheatSheet to double-check. When you're done hit 'done' to close the edit mode. To finish up all your mods, hit 'save changes'.

Creating a new tiddler is simple, too. Look at the top right-hand menu. Or click here: <<newTiddler>>.

The 'cancel' button is there for when things get messed up.
Basic information on how to 'install' and use TiddlyWiki is available at [[TiddlyWiki.com|http://www.tiddlywiki.com/]].
An incomplete [[Wiki]] on how to use TiddlyWiki is available at [[TiddlyWiki.org|http://tiddlywiki.org]].
A helpful [[Wiki]] for absolute beginners is [[Tiddler Toddler|http://tiddlertoddler.tiddlyspot.com/]].
A CheatSheet is available.
Why TiddlyWiki? See the [[Wikipedia|http://en.wikipedia.org]] entries on [[TiddlyWiki|http://en.wikipedia.org/wiki/TiddlyWiki]] and [[Personal wikis|http://en.wikipedia.org/wiki/Personal_wiki]].

Otherwise, check out the [[Fix my tiddler|http://online.cdu.edu.au/webapps/blackboard/content/launchLink.jsp?course_id=_8870_1&content_id=_821176_1&mode=view]] forum on Learnline.
|Please read this table and fill in the mid section as you go|c
| ''Checklist'' |>|>|>| ''Your Take'' |>|>|>|bgcolor(#ffA500): ''Our Take'' |h
| Item | Done Well | Done | Struggled | Skipped |bgcolor(#ffA500): Done Well |bgcolor(#ffA500): Done |bgcolor(#ffA500): Struggled |bgcolor(#ffA500): Skipped |h
|The [[Personal Wiki]] displays the potential of [[The Medium]] | [_] | [_] | [_] | [_] | [_] | [_] | [_] | [_] |
|The responses are designed with [[Hypertext]] in mind | [_] | [_] | [_] | [_] | [_] | [_] | [_] | [_] |
|The assignment makes use of the TiddlyWiki journal feature | [_] | [_] | [_] | [_] | [_] | [_] | [_] | [_] |
|The tiddlers are properly tagged | [_] | [_] | [_] | [_] | [_] | [_] | [_] | [_] |
|MissingTiddlers are accounted for| [_] | [_] | [_] | [_] | [_] | [_] | [_] | [_] |
|OrphanTiddlers are accounted for | [_] | [_] | [_] | [_] | [_] | [_] | [_] | [_] |
|The assignment makes judicious use of the unit materials (textbooks, learning materials, readings) and the findings of private research (relevant curricula, domain-specific knowledge) | [_] | [_] | [_] | [_] | [_] | [_] | [_] | [_] |
|Technical terms are properly defined or exemplified | [_] | [_] | [_] | [_] | [_] | [_] | [_] | [_] |
|Information and ideas are correctly referenced | [_] | [_] | [_] | [_] | [_] | [_] | [_] | [_] |
|The assignment is professionally presented | [_] | [_] | [_] | [_] | [_] | [_] | [_] | [_] |
High Distinction
----
Distinction
----
Credit
----
Pass
----
Pass Conceded
----
Fail
[[Install the software]]:
<<tiddler [[Install the software]]>>

[[Tweak my browser]]:
<<tiddler [[Tweak my browser]]>>

[[Edit]]:
<<tiddler [[Edit]]>>

[[Save]]:
<<tiddler [[Save]]>>

[[Recover my work after a disaster]]:
<<tiddler [[Recover my work after a disaster]]>>

[[Find out more]]:
<<tiddler [[Find out more]]>>
The following paper by Mark Bernstein, a leading hypertext researcher, may help you to better appreciate some of the possibilities: [[Patterns of Hypertext|http://elvis.slis.indiana.edu/irpub/HT/1998/pdf3.pdf]].

This next page, authored perhaps by Lesley Smith of George Mason University, offers some advice on how to put together a hypertext university assignment: [[Writing Hypertext|http://osf1.gmu.edu/~lsmithg/writehtext.htm]].

For those of you wanting a 'bigger picture' view, you could try this article from the inventor of the terms [[Hypertext]] and [[Hypermedia]], Theodor Nelson (writing here with Robert Smith): [[Back to the Future: Hypertext the Way It Used To Be|http://xanadu.com/XanaduSpace/btf.htm]]. In this document, please take note of the concept of [[Transclusion]] (as opposed to 'inclusion').
You don't. This page is the software. The smarts are all inside the page source. Just save the file to a local folder when you download it from Learnline for the first time. //Exception//: Safari and Opera users will also need to put a Java helper applet in their local folder. See the [[Find out more]] entry below.
what is this for?
/***
|Name|ListboxPlugin|
|Source|http://www.TiddlyTools.com/#ListboxPlugin|
|Documentation|http://www.TiddlyTools.com/#ListboxPluginInfo|
|Version|1.4.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|set custom field or tiddler tags by selecting from listbox/droplist|
The {{{<<select>>}}} macro allows you to set tiddler field values by selecting pre-configured values from a listbox/droplist control.  
!!!!!Documentation
>see [[ListboxPluginInfo]]
!!!!!Revisions
<<<
2009.09.02 [1.4.0] added 'prompt:...' param
|please see [[ListboxPluginInfo]] for additional revision details|
2007.05.12 [0.5.0] started
<<<
!!!!!Code
***/
//{{{
version.extensions.ListboxPlugin= {major: 1, minor: 4, revision: 0, date: new Date(2009,9,2)};

config.macros.select = {
	tooltip: "select a value for %0@%1",
	blankTooltip: "set %0@%1=[no value]",
	valueTooltip: "set %0@%1=%2",
	otherLabel: "other",
	otherTooltip: "set %0@%1=[enter a value...]",
	otherPrompt: "enter a value for '%0'",
	editLabel: "edit list...",
	editTooltip: "edit '%0' list definition (%1)",
	changeMsg: "setting %0@%1=%2",
	verbose: false,
	hereKeyword: "here",
	defaultTarget: "SiteFields",
	handler:
	function(place,macroName,params,wikifier,paramString,tiddler) {

		// default to containing tiddler or "SiteFields" catch-all
		var here=story.findContainingTiddler(place);
		var targetID=here?here.getAttribute("tiddler"):this.defaultTarget;

		// get field name and non-default target (if any)
		var field=params.shift();
		var pos=field.indexOf("@"); // if non-default target ("field@tiddler" syntax)
		if(pos!=-1) { // split field into field and tiddlername.
			if (field.substr(pos+1)!=this.hereKeyword) // "here" == use default target
				targetID=field.substr(pos+1); // use different target tiddler
			field=field.substr(0,pos);
		}
		if(!field || !field.length) return; // no field name... do nothing
		if (field.substr(0,1)=="=") targetID="(system)"; // internal option value

		var items=[]; var listsrc='';
		var autosave=false; var allowBlank=false; var allowOther=false; var allowEdit=false;
		var allowMultiple=false; var wikifyData=false; var rows=0; var width='';
		var p=params.shift();
		while (p) {
			if (p.toLowerCase()=='autosave')	// autosave on change
				autosave=true;
			else if (p.toLowerCase()=='allowblank')	// add empty item
				var allowBlank=true;
			else if (p.toLowerCase()=='allowother')	// add "other: ____" item
				var allowOther=true;
			else if (p.toLowerCase()=='allowedit')	// add "edit list..." item
				var allowEdit=true;
			else if (p.toLowerCase()=='allowmultiple') // multi-select
				var allowMultiple=true;
			else if (p.startsWith('rows:')) // 0=autosize listbox, 1=droplist, n=listbox
				var rows=p.substr(5);
			else if (p.startsWith('width:')) // CSS width of list
				var width=p.substr(6);
			else if (p.startsWith('prompt:')) // prompt text (1st item in list)
				var ptext=p.substr(7);
			else if (p.substr(0,1)=="+"||p.substr(0,1)=="*") { // read HR-separated tiddler
				var listsrc=p.substr(1);
				var listtxt=store.getTiddlerText(listsrc,'');
				var wikifyData=p.substr(0,1)=="*";
				if (listtxt.length && wikifyData) // wikify source to handle macros/scripts
					listtxt=this.getWikifiedData(listtxt);
				if (listtxt.length)
					items=items.concat(listtxt.split(listtxt.indexOf('\n----\n')!=-1?'\n----\n':'\n'));
			}
			else if (p.substr(0,1)=="=") { // get items from tagged tiddlers
				var tids=store.getTaggedTiddlers(p.substr(1));
				for (var t=0; t<tids.length; t++) items.push(tids[t].title);
			}
			else { // param is item value or 'label=value'
				var parts=p.split("=");
				var label=parts[0]; var v=parts[1]?parts[1]:parts[0];
				items.push(label+"="+v);
			}
			p=params.shift();
		}
		if (rows==1) allowMultiple=false; // droplist cannot do multi-select
		if (tiddler && !story.isDirty(tiddler.title)) autosave=true; // tiddler is in VIEW mode, force autosave

		this.render(createTiddlyElement(place,"span"), null,
			targetID, field, ptext, items, listsrc, wikifyData,
			rows, width, autosave, allowBlank, allowOther, allowEdit, allowMultiple);

		store.addNotification(null,this.refresh); // syncs lists when tiddlers are changed
	},
	getWikifiedData: // wikify tiddler content, then extract text WITH newlines and HRs included
	function(txt) {
		var e=createTiddlyElement(document.body,"div"); wikify(txt,e);
		var breaks=e.getElementsByTagName("br");
		for (var b=0; b<breaks.length; b++) breaks[b].parentNode.insertBefore(document.createTextNode("\n"),breaks[b]);
		var lines=e.getElementsByTagName("hr");
		for (var l=0; l<lines.length; l++) lines[l].parentNode.insertBefore(document.createTextNode("----\n"),lines[l]);
		var items=e.getElementsByTagName("li");
		for (var i=0; i<items.length; i++) items[i].parentNode.insertBefore(document.createTextNode("\n"),items[i]);
		var txt=getPlainText(e); removeNode(e); return txt;
	},
	refresh:
	function (title) { // re-render dependent lists
		var lists=document.getElementsByTagName('select');
		for (var i=0; i<lists.length; i++) { var list=lists[i];
			if (list.getAttribute('listsrc')!=title) continue; // no sync needed
			var listtxt=store.getTiddlerText(list.getAttribute('listsrc')||'','');
			if (listtxt.length && list.getAttribute("wikifyData")=="true")
				listtxt=this.getWikifiedData(listtxt);
			if (listtxt.length)
				var items=listtxt.split(listtxt.indexOf('\n----\n')!=-1?'\n----\n':'\n');
			config.macros.select.render(list.parentNode, list,
				list.getAttribute('tiddler'),
				list.getAttribute('edit'),
				list.getAttribute('ptext'),
				items||[],
				list.getAttribute('listsrc'),
				list.getAttribute("wikifyData")=="true",
				list.getAttribute("rows"),
				list.getAttribute("width"),
				list.getAttribute("autosave")=="true",
				list.getAttribute("allowBlank")=="true",
				list.getAttribute("allowOther")=="true",
				list.getAttribute("allowEdit")=="true",
				list.getAttribute("allowMultiple")=="true");
		}
	},
	render:
	function (place, here, targetID, field, ptext, items, listsrc, wikifyData,
		rows, width, autosave, allowBlank, allowOther, allowEdit, allowMultiple) {

		var values=[]; var opts=[];

		// use current selection(s) (if any) (except for "edit list..." item)
		if (here) for (var i=0; i<here.options.length; i++) {
			var opt=here.options[i];
			if (opt.selected && opt.text!=config.macros.select.editLabel) values.push(opt.value);
		}
		// no listbox or no selections... get value(s) from field (if any)
		if (!values.length) {
			var v=(field.substr(0,1)=='=')?config.options[field.substr(1)]:store.getValue(targetID,field);
			if (v) values=(field=='tags'||allowMultiple)?v.readBracketedList():[v];
		}
		// add prompt item
		if (ptext&&ptext.length)
			opts.push('<option value="_ptext" title="">'+ptext+'</option>');
		// add 'no value' item
		if ((!allowMultiple && !values.length) || allowBlank)
			opts.push('<option value="" title="'+this.blankTooltip.format([field,targetID])+'"></option>');
		// add enumerated items
		var isOther=values.length; // assume no matching value
		for (var opt=0; opt<items.length; opt++) {
			var lines=items[opt].split("\n"); var parts=lines[0].split("=");
			var label=parts[0];
			var v=parts[1]?parts[1]:parts[0];
			var title=lines[1]?lines[1]:this.valueTooltip.format([field,targetID,v]);
			var sel=values.contains(v); if (sel) isOther=false; // found matching value
			opts.push('<option value="'+v+'" '+(sel?'selected':'')+' title="'+title+'">'+label+'</option>');
		}
		// add 'other...'
		if (field=='tags') isOther=false;
		if (isOther||allowOther) {
			var label="other"+(isOther?(": "+values[0]):"...");
			var v=isOther?values[0]:'';
			var t=this.otherTooltip.format([field,targetID]);
			opts.push('<option value="'+v+'" '+(isOther?'selected':'')+' title="'+t+'">'+label+'</option>');
		}
		// add 'edit list...'
		if (listsrc && (!store.getTiddlerText(listsrc) || allowEdit)) {
			var title=this.editTooltip.format([field,listsrc]);
			opts.push('<option value="'+listsrc+'" title="'+title+'">'+this.editLabel+'</option>');
		}
		// render listbox
		var html='<select '+(values[0]?'value="'+values[0]+'" ':' ')
			+' title="'+this.tooltip.format([field,targetID])+'"'
			+' rows="'+rows+'"'+' size="'+(rows!=0?rows:opts.length)+'"'+' style="width:'+width+'"'
			+' tiddler="'+targetID+'"'+' edit="'+field+'"'+' ptext="'+ptext+'"'
			+' listsrc="'+listsrc+'"'+' wikifyData="'+wikifyData+'"'
			+' autosave="'+autosave+'"'+' allowBlank="'+allowBlank+'"'+' allowOther="'+allowOther+'"'
			+' allowEdit="'+allowEdit+'"'+' allowMultiple="'+allowMultiple+'"'+(allowMultiple?' multiple':'')
			+' onclick="return config.macros.select.onClick(this,event)"'
			+' onchange="return config.macros.select.onChange(this,event)"'
			+' ondblclick="return false">'+opts.join('')+'</select>';
		place.innerHTML=html;
	},
	onClick:
	function(here,event) {
		var sel=here.selectedIndex;
		if (sel!=-1 && here.options[sel].text.startsWith(config.macros.select.otherLabel))
			here.onchange.apply(here,arguments);
	},
	onChange:
	function(here,event) {
		var cms=config.macros.select; // abbrev
		var sel=here.selectedIndex;
		if (sel!=-1) {
			if (here.options[sel].text==cms.editLabel) {
				story.displayTiddler(story.findContainingTiddler(here),here.value,DEFAULT_EDIT_TEMPLATE);
				return false;
			}
			if (here.options[sel].text.startsWith(cms.otherLabel)) {
				var newval=prompt(cms.otherPrompt.format([here.getAttribute("edit")]),here.value);
				if (!newval) {// user cancelled
					var v=store.getValue(here.getAttribute("tiddler"),here.getAttribute("edit"));
					{ here.value=v; if (v==undefined) here.selectedIndex=0; return false; }
				};
				here.options[sel].value=newval;
				here.options[sel].text=cms.otherLabel+": "+newval;
				here.value=newval;
			}
			if (here.options[sel].value=='_ptext')
				for (var i=0; i<here.options.length; i++)
					here.options[i].selected=false;
		}
		if (here.getAttribute("autosave")=="true") config.macros.select.setFieldValue(here);
		return false;
	},
	setFieldValue: function(here) {
		var tid=here.getAttribute("tiddler"); if (!tid || !tid.length) return; // no target, do nothing
		var field=here.getAttribute("edit");
		if (field.substr(0,1)=='=') { // option cookie instead of tiddler field
			config.macros.option.propagateOption(field.substr(1),"value",here.value,"input");
			return;
		}
		// ensure tiddler exists
		if (!store.tiddlerExists(tid)) store.saveTiddler(tid,tid,"",config.options.txtUserName,new Date(),[]);
		if (field=='tags') {
			store.suspendNotifications();
			for (var i=0; i<here.options.length; i++) {
				var opt=here.options[i];
				if (opt.text==config.macros.select.editLabel) continue;
				store.setTiddlerTag(tid,opt.selected,opt.value);
			}
			store.resumeNotifications();
		} else {
			// get multi-select items
			var values=[];
			for (var i=0; i<here.options.length; i++) {
				var opt=here.options[i];
				if (opt.text==config.macros.select.editLabel) continue;
				if (opt.selected) values.pushUnique(String.encodeTiddlyLink(opt.value));
			}
			if (values.length==1) values=[here.value]; // remove unneeded brackets around single value
			store.setValue(tid,field,values.length?values.join(' '):null); // if no selections, delete field
		}
		// 'touch' tiddler and report to user
		var t=store.getTiddler(tid);
		var who=config.options.chkForceMinorUpdate?t.modifier:config.options.txtUserName;
		var when=config.options.chkForceMinorUpdate?t.modified:new Date();
		store.saveTiddler(tid,tid,t.body,who,when,t.tags,t.fields);
		if (config.macros.select.verbose)
			{ clearMessage(); displayMessage(config.macros.select.changeMsg.format([field,tid,here.value])); }
	}
}
//}}}
[[GettingStarted]]
[[Troubleshooting]]
[[How Do I?]]

[[AssignmentQuestions]]
[[MyResponses]]

[[MyJournal]]

[[Marker'sComments]]

^^TiddlyWiki <<version>>
|Submission|c
| Item | Done? |h
|Submitted through [[Learnline|http://online.cdu.edu.au]] | [X] |
|Submitted on time | [_] |
|Respects the SubmissionGuidelines | [_] |
|Preserves the integrity of the "Assignment 2" TiddlyWiki | [_] |

|AssessmentCriteria|c
| Action | List | Marked? |h
| Click the links<br>to access<br>the full criteria |<<tiddler AssessmentCriteria>>| [_] |

|Grade|c
|bgcolor(#ffA500):Overall grade |<<select grading1 rows:1 "prompt:grade" +Grades>> | Grade recorded? | [_] |
Dear <<tiddler SiteSubtitle>>,

<<tiddler Marker'sCommentsDetail>>

Specific feedback is available in the [[Marker'sChecklist]].

[img[CDU logo|http://www.cdu.edu.au/imageshp/cdu-logo-footer.gif][http://www.cdu.edu.au]]
----
''Marking use only'': markers [[click here|Marker'sWorkshop]].
----
/%Replace EVERYTHING in this box with your real comments%///Simulation only//:
Reading MyResponses, it is evident that ...
Top tiddlers with most links going out from:
<<cloud links action:goto limit:20 -NoiseTiddlers>>
Top tiddlers with most links going in to:
<<cloud references action:goto limit:20 -NoiseTiddlers>>
Frequently used tags:
<<cloud -NoiseTags>>
[[Marker'sSecretWeapon]]: <<tiddler Marker'sSecretWeapon>>
<<search multiliteracies>>
| Task | Done? |h
|Set the 'signing your edits' box: <<option txtUserName>> | [ ] |
|Check the submission using [[Marker'sData]] | [ ] |
|Complete the [[Marker'sChecklist]] | [ ] |
|Add some comments to [[Marker'sCommentsDetail]] | [ ] |
|>| <<saveChanges "One last 'save'" Phew!>> |
/***
|Name|MatchTagsPlugin|
|Source|http://www.TiddlyTools.com/#MatchTagsPlugin|
|Documentation|http://www.TiddlyTools.com/#MatchTagsPluginInfo|
|Version|2.0.1|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|'tag matching' with full boolean expressions (AND, OR, NOT, and nested parentheses)|
!!!!!Documentation
> see ~MatchTagsPluginInfo
!!!!!Revisions
<<<
2009.08.29 [2.0.1] added support for {{{config.macros.matchTags.defTags}}} to auto-tag ~MatchingTiddlers output
| please see ~MatchTagsPluginInfo for additional revision details |
2008.02.28 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.MatchTagsPlugin= {major: 2, minor: 0, revision: 1, date: new Date(2009,8,29)};

// store.getMatchingTiddlers() processes boolean expressions for tag matching
//    sortfield (optional) sets sort order for tiddlers - default=title
//    tiddlers (optional) use alternative set of tiddlers (instead of current store)
TiddlyWiki.prototype.getMatchingTiddlers = function(tagexpr,sortfield,tiddlers) {

	var debug=config.options.chkDebug; // abbreviation
	var cmm=config.macros.matchTags; // abbreviation
	var r=[]; // results are an array of tiddlers
	var tids=tiddlers||store.getTiddlers(sortfield||"title");
	if (tiddlers && sortfield) store.sortTiddlers(tids,sortfield);
	if (debug) displayMessage(cmm.msg1.format([tids.length]));

	// try simple lookup to quickly find single tags or tags that
	// contain boolean operators as literals, e.g. "foo and bar"
	for (var t=0; t<tids.length; t++)
		if (tids[t].isTagged(tagexpr)) r.pushUnique(tids[t]);
	if (r.length) {
		if (debug) displayMessage(cmm.msg4.format([r.length,tagexpr]));
		return r;
	}
	
	// convert expression into javascript code with regexp tests,
	// so that "tag1 AND ( tag2 OR NOT tag3 )" becomes
	// "/\~tag1\~/.test(...) && ( /\~tag2\~/.test(...) || ! /\~tag3\~/.test(...) )"

	// normalize whitespace, tokenize operators, delimit with "~"
	var c=tagexpr.trim(); // remove leading/trailing spaces
	c = c.replace(/\s+/ig," "); // reduce multiple spaces to single spaces
	c = c.replace(/\(\s?/ig,"~(~"); // open parens
	c = c.replace(/\s?\)/ig,"~)~"); // close parens
	c = c.replace(/(\s|~)?&&(\s|~)?/ig,"~&&~"); // &&
	c = c.replace(/(\s|~)AND(\s|~)/ig,"~&&~"); // AND
	c = c.replace(/(\s|~)?\|\|(\s|~)?/ig,"~||~"); // ||
	c = c.replace(/(\s|~)OR(\s|~)/ig,"~||~"); // OR
	c = c.replace(/(\s|~)?!(\s|~)?/ig,"~!~"); // !
	c = c.replace(/(^|~|\s)NOT(\s|~)/ig,"~!~"); // NOT
	c = c.replace(/(^|~|\s)NOT~\(/ig,"~!~("); // NOT(
	// change tag terms to regexp tests
	var terms=c.split("~"); for (var i=0; i<terms.length; i++) { var t=terms[i];
		if (/(&&)|(\|\|)|[!\(\)]/.test(t) || t=="") continue; // skip operators/parens/spaces
		if (t==config.macros.matchTags.untaggedKeyword)
			terms[i]="tiddlertags=='~~'"; // 'untagged' tiddlers
		else
			terms[i]="/\\~"+t+"\\~/.test(tiddlertags)";
	}
	c=terms.join(" ");
	if (debug) { displayMessage(cmm.msg2.format([tagexpr])); displayMessage(cmm.msg3.format([c])); }

	// scan tiddlers for matches
	for (var t=0; t<tids.length; t++) {
	 	// assemble tags from tiddler into string "~tag1~tag2~tag3~"
		var tiddlertags = "~"+tids[t].tags.join("~")+"~";
		try { if(eval(c)) r.push(tids[t]); } // test tags
		catch(e) { // error in test
			displayMessage(cmm.msg2.format([tagexpr]));
			displayMessage(cmm.msg3.format([c]));
			displayMessage(e.toString());
			break; // skip remaining tiddlers
		}
	}
	if (debug) displayMessage(cmm.msg4.format([r.length,tagexpr]));
	return r;
}
//}}}
//{{{
config.macros.matchTags = {
	msg1: "scanning %0 input tiddlers",
	msg2: "looking for '%0'",
	msg3: "using expression: '%0'",
	msg4: "found %0 tiddlers matching '%1'",
	noMatch: "no matching tiddlers",
	untaggedKeyword: "-",
	untaggedLabel: "no tags",
	untaggedPrompt: "show tiddlers with no tags",
	defTiddler: "MatchingTiddlers",
	defTags: "",
	defFormat: "%0",
	defSeparator: "\n",
	reportHeading: "Found %0 tiddlers tagged with: '{{{%1}}}'\n----\n",
	handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		var mode=params[0]?params[0].toLowerCase():'';
		if (mode=="inline")
			params.shift();
		if (mode=="report" || mode=="panel") {
			params.shift();
			var target=params.shift()||this.defTiddler;
		}
		if (mode=="popup") {
			params.shift();
			if (params[0]&&params[0].substr(0,6)=="label:") var label=params.shift().substr(6);
			if (params[0]&&params[0].substr(0,7)=="prompt:") var prompt=params.shift().substr(7);
		} else {
			var fmt=(params.shift()||this.defFormat).unescapeLineBreaks();
			var sep=(params.shift()||this.defSeparator).unescapeLineBreaks();
		}
		var sortBy="+title";
		if (params[0]&&params[0].substr(0,5)=="sort:") sortBy=params.shift().substr(5);
		var expr = params.join(" ");
		if (mode!="panel" && (!expr||!expr.trim().length)) return;
		if (expr==this.untaggedKeyword)
			{ var label=this.untaggedLabel; var prompt=this.untaggedPrompt };
		switch (mode) {
			case "popup": this.createPopup(place,label,expr,prompt,sortBy); break;
			case "panel": this.createPanel(place,expr,fmt,sep,sortBy,target); break;
			case "report": this.createReport(target,this.defTags,expr,fmt,sep,sortBy); break;
			case "inline": default: this.createInline(place,expr,fmt,sep,sortBy); break;
		}
	},
	formatList: function(tids,fmt,sep) {
		var out=[];
		for (var t=0; t<tids.length; t++) {
			var title="[["+tids[t].title+"]]";
			var who=tids[t].modifier;
			var when=tids[t].modified.toLocaleString();
			var text=tids[t].text;
			var first=tids[t].text.split("\n")[0];
			var desc=store.getTiddlerSlice(tids[t].title,"description");
			desc=desc||store.getTiddlerSlice(tids[t].title,"Description");
			desc=desc||store.getTiddlerText(tids[t].title+"##description");
			desc=desc||store.getTiddlerText(tids[t].title+"##Description");
			out.push(fmt.format([title,who,when,text,first,desc]));
		}
		return out.join(sep);
	},
	createInline: function(place,expr,fmt,sep,sortBy) {
		wikify(this.formatList(store.sortTiddlers(store.getMatchingTiddlers(expr),sortBy),fmt,sep),place);
	},
	createPopup: function(place,label,expr,prompt,sortBy) {
		var btn=createTiddlyButton(place,
			(label||expr).format([expr]),
			(prompt||config.views.wikified.tag.tooltip).format([expr]),
			function(ev){ return config.macros.matchTags.showPopup(this,ev||window.event); });
		btn.setAttribute("sortBy",sortBy);
		btn.setAttribute("expr",expr);
	},
	showPopup: function(here,ev) {
		var p=Popup.create(here); if (!p) return false;
		var tids=store.getMatchingTiddlers(here.getAttribute("expr"));
		store.sortTiddlers(tids,here.getAttribute("sortBy"));
		var list=[]; for (var t=0; t<tids.length; t++) list.push(tids[t].title);
		if (!list.length) createTiddlyText(p,this.noMatch);
		else {
			var b=createTiddlyButton(createTiddlyElement(p,"li"),
				config.views.wikified.tag.openAllText,
				config.views.wikified.tag.openAllTooltip,
				function() {
					var list=this.getAttribute("list").readBracketedList();
					story.displayTiddlers(null,tids);
				});
			b.setAttribute("list","[["+list.join("]] [[")+"]]");
			createTiddlyElement(p,"hr");
		}
		var out=this.formatList(tids," &nbsp;%0&nbsp; ","\n"); wikify(out,p);
		Popup.show();
		ev.cancelBubble=true;
		if(ev.stopPropagation) ev.stopPropagation();
		return false;
	},
	createReport: function(target,tags,expr,fmt,sep,sortBy) {
		var tids=store.sortTiddlers(store.getMatchingTiddlers(expr),sortBy);
		if (!tids.length) { displayMessage('no matches for: '+expr); return false; }
		var msg=config.messages.overwriteWarning.format([target]);
		if (store.tiddlerExists(target) && !confirm(msg)) return false;
		var out=this.reportHeading.format([tids.length,expr])
		out+=this.formatList(tids,fmt,sep);
		store.saveTiddler(target,target,out,config.options.txtUserName,new Date(),tags,{});
		story.closeTiddler(target); story.displayTiddler(null,target);
	},
	createPanel: function(place,expr,fmt,sep,sortBy,tid) {
		var s=createTiddlyElement(place,"span"); s.innerHTML=store.getTiddlerText("MatchTagsPlugin##html");
		var f=s.getElementsByTagName("form")[0];
		f.expr.value=expr; f.fmt.value=fmt; f.sep.value=sep.escapeLineBreaks();
		f.tid.value=tid; f.tags.value=this.defTags;
	}
};
//}}}
/***
//{{{
!html
<form style='display:inline;white-space:nowrap'>
<input type='text'    name='expr' style='width:50%' title='tag expression'><!--
--><input type='text'    name='fmt'  style='width:10%' title='list item format'><!--
--><input type='text'    name='sep'  style='width:5%'  title='list item separator'><!--
--><input type='text'    name='tid'  style='width:12%' title='target tiddler title'><!--
--><input type='text'    name='tags' style='width:10%' title='target tiddler tags'><!--
--><input type='button'  name='go'   style='width:8%'  value='go' onclick="
	var expr=this.form.expr.value;
	if (!expr.length) { alert('Enter a boolean tag expression'); return false; }
	var fmt=this.form.fmt.value;
	if (!fmt.length) { alert('Enter the list item output format'); return false; }
	var sep=this.form.sep.value.unescapeLineBreaks();
	var tid=this.form.tid.value;
	if (!tid.length) { alert('Enter a target tiddler title'); return false; }
	var tags=this.form.tags.value;
	config.macros.matchTags.createReport(tid,tags,expr,fmt,sep,'title');
	return false;">
</form>
!end
//}}}
***/
//{{{
// SHADOW TIDDLER for displaying default panel input form
config.shadowTiddlers.MatchTags="<<matchTags panel>>";
//}}}
//{{{
// TWEAK core filterTiddlers() for enhanced boolean matching in [tag[...]] syntax:
// use getMatchingTiddlers instead getTaggedTiddlers
var fn=TiddlyWiki.prototype.filterTiddlers;
fn=fn.toString().replace(/getTaggedTiddlers/g,"getMatchingTiddlers");
eval("TiddlyWiki.prototype.filterTiddlers="+fn);
//}}}
//{{{
// REDEFINE core handler for enhanced boolean matching in tag:"..." paramifier
// use filterTiddlers() instead of getTaggedTiddlers() to get list of tiddlers.
config.paramifiers.tag = {
	onstart: function(v) {
		var tagged = store.filterTiddlers("[tag["+v+"]]");
		story.displayTiddlers(null,tagged,null,false,null);
	}
};
//}}}
A term introduced by the [[New London Group]] ...
To get a glossary going, all you need to do is create some tiddlers and tag them with 'gloss'.
<<tagging gloss>>
Activity 2.1
Activity 2.2
Activity 2.3
This is the launch pad for your creative efforts. Think [[Hypertext]].

To get started you'll need to [[Edit]] this tiddler.

<<toolbar references>>
TiddlyWiki MainMenu DefaultTiddlers """[["""<<matchTags "%0" "]] [[" hidden OR systemConfig OR know-how>>"""]]"""
admin criteria systemConfig hidden marking
TiddlyWiki MainMenu DefaultTiddlers [[CheatSheet]] [[CheckboxPlugin]] [[CommentPlugin]] [[Edit]] [[Find out more]] [[GettingStarted]] [[Grades]] [[How Do I?]] [[Install the software]] [[ListboxPlugin]] [[Marker'sCommentsDetail]] [[Marker'sData]] [[Marker'sSecretWeapon]] [[Marker'sWorkshop]] [[MatchTagsPlugin]] [[NoiseTIddlersGen]] [[NoiseTags]] [[NoiseTiddlers]] [[Recover my work after a disaster]] [[Save]] [[TagCloudPlugin]] [[Troubleshooting]] [[Tweak my browser]] [[WordCountMacro]] [[WordCountMacroInfo]] [[YourSearchPlugin]]
<!--{{{-->
<div class='header' macro='gradient vert #098'>
<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>
<!--}}}-->
Personal Wiki beginning in April to see if this saves.
PhD thesis = 'Conversational analysis of chatroom talk' online at http://neuage.org/thesis.htm
<html>
<a href="http://neuage.org/ODAM.GIF"><img src="http://neuage.org/ODAM.GIF"style="height: 900px;"  /></a></html>
How well are the current Australian national curriculum efforts integrating literacy, and in particular digital literacies? Justify your answer with reference to the [[draft K–10 Australian Curriculum|http://www.australiancurriculum.edu.au/Home]], other [[ACARA documentation|http://www.acara.edu.au/news_media/publications.html]], and relevant unit materials. 

My question at the start is does this pertain to private schools also?
Read and critique Chris Waterman's recent article in //Teacher Magazine// entitled [[Lead the Revolution|http://search.informit.com.au.ezproxy.cdu.edu.au/fullText;res=AEIPT;dn=177697]].
Describe some of the specific literacy requirements applying to your intended level of schooling (or subject area). How are you going to teach to them?
You've been saving your work, right? ... 
In the folder where you put your file, there'll be a bunch of time-stamped files, one for each time you saved. Open these up to find the one you want. Then copy the right one and rename it to whatever name you were using. Open this one up again in your browser, and you're away.
Click on 'save changes' over on the right-hand side.
Watch for the yellow pop-up on the top right reading 'Main ~TiddlyWiki file saved'.
Do not, I repeat, ''do not'' try to save your page through the browser menu system. ''Beware'': Hot key sequences such as '~Ctrl-S' will do this in a flash.
If you're in a tizz, try clicking this button: <<saveChanges "Emergency Save" "Deep breath!">>

For the paranoid, go to 'options' on the right and check the '~AutoSave' box. If you take this sensible choice, you'll need to keep an eye on your disk space.
Albatross
----
Eagle
----
Birdie
----
Par
----
Bogie
----
Double Bogie
----
Air Shot
Terrell Neuage S212234
~ETL411: My second assignment
.inlineTags ul li { display:inline; }
* Please submit by the Due Date
* Submit your assignment using Learnline
* Stay near the word length
* Don't copy other people's work or recycle your own work
* If you really do have extenuating circumstances, contact your lecturer
* Extension requests should be received well before the Due Date
* Extensions aren't really possible on this assessment item
* Submit early if you can
* Keep a copy of your work (having a systematic backup regime is even better)
/***
|Name|TagCloudPlugin|
|Source|http://www.TiddlyTools.com/#TagCloudPlugin|
|Version|1.7.0|
|Author|Eric Shulman|
|Original Author|Clint Checketts|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|present a 'cloud' of tags (or links) using proportional font display|
!Usage
<<<
{{{
<<cloud type action:... limit:... tag tag tag ...>>
<<cloud type action:... limit:... +TiddlerName>>
<<cloud type action:... limit:... -TiddlerName>>
<<cloud type action:... limit:... =tagvalue>>
}}}
where:
* //type// is a keyword, one of:
** ''tags'' (default) - displays a cloud of tags, based on frequency of use
** ''links'' - displays a cloud of tiddlers, based on number of links //from// each tiddler
** ''references'' - displays a cloud of tiddlers, based on number of links //to// each tiddler
* ''action:popup'' (default) - clicking a cloud item shows a popup with links to related tiddlers<br>//or//<br> ''action:goto'' - clicking a cloud item immediately opens the tiddler corresponding to that item
* ''limit:N'' (optional) - restricts the cloud display to only show the N most popular tags/links
* ''tag tag tag...'' (or ''title title title'' if ''links''/''references'' is used)<br>shows all tags/links in the document //except// for those listed as macro parameters
* ''+~TiddlerName''<br>show only tags/links read from a space-separated, bracketed list stored in a separate tiddler.
* ''-~TiddlerName''<br>show all tags/links //except// those read from a space-separated, bracketed list stored in a separate tiddler.
* ''=tagvalue'' (//only if type=''tags''//)<br>shows only tags that are themselves tagged with the indicated tag value (i.e., ~TagglyTagging usage)
//note: for backward-compatibility, you can also use the macro {{{<<tagCloud ...>>}}} in place of {{{<<cloud ...>>}}}//
<<<
!Examples
<<<
//all tags excluding<<tag systemConfig>>, <<tag excludeMissing>> and <<tag script>>//
{{{<<cloud systemConfig excludeMissing script>>}}}
{{groupbox{<<cloud systemConfig excludeMissing script>>}}}
//top 10 tags excluding<<tag systemConfig>>, <<tag excludeMissing>> and <<tag script>>//
{{{<<cloud limit:10 systemConfig excludeMissing script>>}}}
{{groupbox{<<cloud limit:10 systemConfig excludeMissing script>>}}}
//tags listed in// [[FavoriteTags]]
{{{<<cloud +FavoriteTags>>}}}
{{groupbox{<<cloud +FavoriteTags>>}}}
//tags NOT listed in// [[FavoriteTags]]
{{{<<cloud -FavoriteTags>>}}}
{{groupbox{<<cloud -FavoriteTags>>}}}
//links to tiddlers tagged with 'package'//
{{{<<cloud action:goto =package>>}}}
{{groupbox{<<cloud action:goto =package>>}}}
//top 20 most referenced tiddlers//
{{{<<cloud references limit:20>>}}}
{{groupbox{<<cloud references limit:20>>}}}
//top 20 tiddlers that contain the most links//
{{{<<cloud links limit:20>>}}}
{{groupbox{<<cloud links limit:20>>}}}
<<<
!Revisions
<<<
2009.07.17 [1.7.0] added {{{-TiddlerName}}} parameter to exclude tags that are listed in the indicated tiddler
2009.02.26 [1.6.0] added {{{action:...}}} parameter to apply popup vs. goto action when clicking cloud items
2009.02.05 [1.5.0] added ability to show links or back-links (references) instead of tags and renamed macro to {{{<<cloud>>}}} to reflect more generalized usage.
2008.12.16 [1.4.2] corrected group calculation to prevent 'group=0' error
2008.12.16 [1.4.1] revised tag filtering so excluded tags don't affect calculations
2008.12.15 [1.4.0] added {{{limit:...}}} parameter to restrict the number of tags displayed to the top N most popular
2008.11.15 [1.3.0] added {{{+TiddlerName}}} parameter to include only tags that are listed in the indicated tiddler
2008.09.05 [1.2.0] added '=tagname' parameter to include only tags that are themselves tagged with the specified value (i.e., ~TagglyTagging usage)
2008.07.03 [1.1.0] added 'segments' property to macro object.  Extensive code cleanup
<<<
!Code
***/
//{{{
version.extensions.TagCloudPlugin= {major: 1, minor: 7 , revision: 0, date: new Date(2009,7,17)};
//Originally created by Clint Checketts, contributions by Jonny Leroy and Eric Shulman
//Currently maintained and enhanced by Eric Shulman
//}}}
//{{{
config.macros.cloud = {
	tagstip: "%1 tiddlers tagged with '%0'",
	refslabel: " (%0 references)",
	refstip: "%1 tiddlers have links to '%0'",
	linkslabel: " (%0 links)",
	linkstip: "'%0' has links to %1 other tiddlers",
	groups: 9,
	init: function() {
		config.macros.tagCloud=config.macros.cloud; // for backward-compatibility
		config.shadowTiddlers.TagCloud='<<cloud>>';
		config.shadowTiddlers.StyleSheetTagCloud=
			'/*{{{*/\n'
			+'.tagCloud span {line-height: 3.5em; margin:3px;}\n'
			+'.tagCloud1{font-size: 80%;}\n'
			+'.tagCloud2{font-size: 100%;}\n'
			+'.tagCloud3{font-size: 120%;}\n'
			+'.tagCloud4{font-size: 140%;}\n'
			+'.tagCloud5{font-size: 160%;}\n'
			+'.tagCloud6{font-size: 180%;}\n'
			+'.tagCloud7{font-size: 200%;}\n'
			+'.tagCloud8{font-size: 220%;}\n'
			+'.tagCloud9{font-size: 240%;}\n'
			+'/*}}}*/\n';
		setStylesheet(store.getTiddlerText('StyleSheetTagCloud'),'tagCloudsStyles');
	},
	getLinks: function(tiddler) { // get list of links to existing tiddlers and shadows
		if (!tiddler.linksUpdated) tiddler.changed();
		var list=[]; for (var i=0; i<tiddler.links.length; i++) {
			var title=tiddler.links[i];
			if (store.isShadowTiddler(title)||store.tiddlerExists(title))
				list.push(title);
		}
		return list;
	},
	handler: function(place,macroName,params) {
		// unpack params
		var inc=[]; var ex=[]; var limit=0; var action='popup';
		var links=(params[0]&&params[0].toLowerCase()=='links'); if (links) params.shift();
		var refs=(params[0]&&params[0].toLowerCase()=='references'); if (refs) params.shift();
		if (params[0]&&params[0].substr(0,7).toLowerCase()=='action:')
			action=params.shift().substr(7).toLowerCase();
		if (params[0]&&params[0].substr(0,6).toLowerCase()=='limit:')
			limit=parseInt(params.shift().substr(6));
		while (params.length) {
			if (params[0].substr(0,1)=='+') { // read taglist from tiddler
				inc=inc.concat(store.getTiddlerText(params[0].substr(1),'').readBracketedList());
			} else if (params[0].substr(0,1)=='-') { // exclude taglist from tiddler
				ex=ex.concat(store.getTiddlerText(params[0].substr(1),'').readBracketedList());
			} else if (params[0].substr(0,1)=='=') { // get tag list using tagged tags
				var tagged=store.getTaggedTiddlers(params[0].substr(1));
				for (var t=0; t<tagged.length; t++) inc.push(tagged[t].title);
			} else ex.push(params[0]); // exclude params
			params.shift();
		}
		// get all items, include/exclude specific items
		var items=[];
		var list=(links||refs)?store.getTiddlers('title','excludeLists'):store.getTags();
		for (var t=0; t<list.length; t++) {
			var title=(links||refs)?list[t].title:list[t][0];
			if (links)	var count=this.getLinks(list[t]).length;
			else if (refs)	var count=store.getReferringTiddlers(title).length;
			else 		var count=list[t][1];
			if ((!inc.length||inc.contains(title))&&(!ex.length||!ex.contains(title)))
				items.push({ title:title, count:count });
		}
		if(!items.length) return;
		// sort by decending count, limit results (optional)
		items=items.sort(function(a,b){return(a.count==b.count)?0:(a.count>b.count?-1:1);});
		while (limit && items.length>limit) items.pop();
		// find min/max and group size
		var most=items[0].count;
		var least=items[items.length-1].count;
		var groupSize=(most-least+1)/this.groups;
		// sort by title and draw the cloud of items
		items=items.sort(function(a,b){return(a.title==b.title)?0:(a.title>b.title?1:-1);});
		var cloudWrapper = createTiddlyElement(place,'div',null,'tagCloud',null);
		for (var t=0; t<items.length; t++) {
			cloudWrapper.appendChild(document.createTextNode(' '));
			var group=Math.ceil((items[t].count-least)/groupSize)||1;
			var className='tagCloudtag tagCloud'+group;
			var tip=refs?this.refstip:links?this.linkstip:this.tagstip;
			tip=tip.format([items[t].title,items[t].count]);
			if (action=='goto') { // TAG/LINK/REFERENCES GOTO
				var btn=createTiddlyLink(cloudWrapper,items[t].title,true,className);
				btn.title=tip;
				btn.style.fontWeight='normal';
			} else if (!links&&!refs) { // TAG POPUP
				var btn=createTiddlyButton(cloudWrapper,items[t].title,tip,onClickTag,className);
				btn.setAttribute('tag',items[t].title);
			} else { // LINK/REFERENCES POPUP
				var btn=createTiddlyButton(cloudWrapper,items[t].title,tip,
					function(ev) { var e=ev||window.event; var cmt=config.macros.cloud;
						var popup = Popup.create(this);
						var title = this.getAttribute('tiddler');
						var count = this.getAttribute('count');
						var refs  = this.getAttribute('refs')=='T';
						var links = this.getAttribute('links')=='T';
						var label = (refs?cmt.refslabel:cmt.linkslabel).format([count]);
						createTiddlyLink(popup,title,true);
						createTiddlyText(popup,label);
						createTiddlyElement(popup,'hr');
						if (refs) {
							popup.setAttribute('tiddler',title);
							config.commands.references.handlePopup(popup,title);
						}
						if (links) {
							var tiddler = store.fetchTiddler(title);
							var links=config.macros.cloud.getLinks(tiddler);
							for(var i=0;i<links.length;i++)
								createTiddlyLink(createTiddlyElement(popup,'li'),
									links[i],true);
						}
						Popup.show();
						e.cancelBubble=true; if(e.stopPropagation) e.stopPropagation();
						return false;
					}, className);
				btn.setAttribute('tiddler',items[t].title);
				btn.setAttribute('count',items[t].count);
				btn.setAttribute('refs',refs?'T':'F');
				btn.setAttribute('links',links?'T':'F');
				btn.title=tip;
			}
		}
	}
};
//}}}
Terrell Neuage (s212234)
TiddlyWiki is a reusable non-linear personal web notebook. This is version <<version>>. For more details see the links listed in the [[Find out more]] tiddler.
TiddlyWiki will run in most environments that support HTML, Cascading Style Sheets (CSS), and ~JavaScript. Most browsers do this by default. Some mobile phones are a possibility even (though only 'read only' at present).

Setup and operating instructions are available here: [[How Do I?]]

[[TiddlyWiki.com|http://www.tiddlywiki.com/]] also provides detailed troubleshooting information for specific browsers and operating systems. See the [[Installation|http://www.tiddlywiki.com/#Installation]] and [[Browser|http://www.tiddlywiki.com/#Browsers]] tiddlers.

On Microsoft Windows (e.g. XP, Vista), it helps a lot if you save your file to a USB thumb drive or your local C: drive. (Try C:\Temp if you're just mucking around.) That way the browser can save your changes locally without any hassle.

If it's all getting too much, you could run everything from your USB drive using [[PortableApps|http://portableapps.com/]]. Teachers who move from class to class will find this a real boon.

Mac users should turn on Java in Safari and put the helper applet '~TiddlySaver.jar' (available from [[TiddlyWiki.com|http://www.tiddlywiki.com/]]) in the same folder as the file you're working on.

When you open your file for the first time, the first thing to do is to try and save it again with "save changes". See the menu over on the right-hand side. If that works then you should be right from now on. ... At least until you move your file to another computer.

''Warning'': when you've made some edits, use the "save changes" button to lock these in. Don't //under any circumstances// try to save the file again using the 'File', 'Save as' sequence through your browser's menu system. That will just corrupt the file for you. Remember, "save changes" works best, and you get a time-stamped back-up copy each time into the bargain.
Internet Explorer users will regain their sanity by setting "Allow active content to run in files on My Computer" in the 'Advanced' options tab.
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
The 'original' [[Wiki]] is still operating: [[WikiWikiWeb|http://c2.com/cgi/wiki?WelcomeVisitors]].

To understand a bit better what makes a [[Wiki]] a [[Wiki]], see this short video: Common Craft's [[Wikis in Plain English| http://www.commoncraft.com/video-wikis-plain-english]].
//Note: this video is offered in online 'evaluation' mode.//
merge(config.macros,{
	wordCount: {
		handler: function(place,macroName,params,wikifier,paramString,tiddler) {
			createTiddlyText(place,tiddler&&tiddler.text?tiddler.text.match(/\w+/g).length:"0");
		}
	}
});
To use put this somewhere in your ViewTemplate:
<div style="font-size:80%">(<span macro="wordCount"></span> words)</div>