rayarticles is loading ...

Requires Javascript.
rayarticles - a repository for articles of interest
<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]];}

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

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

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

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

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

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

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which 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 1em;}
/* Fixes a feature in Firefox where print preview displays the noscript content */
noscript {display:none;}
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></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
[img[http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2013/12/12/1386872693712/Bangladesh-executes-Abdul-008.jpg]]<<formTiddler NewArticleTemplate>><data>{"primtopic":"Execution of Opposition leader","synopsis":"More strikes likely after execution","journalinfo":"The Guardian","pagenumbers":"20131212","author":"Jason Burke in Delhi and and Saad Hammadi in Dhaka","articletitle":"Bangladesh braces for violent protests after hanging of opposition leader"}</data>''Bangladesh braces for violent protests after hanging of opposition leader''
Abdul Quader Mollah, who was convicted of war crimes, is hanged and his death threatens to spark new violence

Jason Burke in Delhi and and Saad Hammadi in Dhaka
The Guardian, Thursday 12 December 2013 19.01 GMT

@@Bangladesh is braced for violent protests following the hanging of an opposition politician@@ convicted of war crimes committed during the brutal civil war that led to the south Asian nation's independence more than 40 years ago.

Abdul Quader Mollah, a senior official in the Islamist Jama'at Islami (JI) organisation, is the first defendant to be hanged by a controversial special tribunal set up by the Bangaldeshi government three years ago.

@@Security forces are preparing for violence on Friday and at the weekend. JI officials have called a nationwide strike for Sunday.@@

Mollah was found guilty by the International criminal tribunal in February of killing a student and a family of 11 and of aiding Pakistani troops in killing 369 other people during the independence war. He was sentenced to life in prison, but the supreme court changed that to a death sentence in September.

After a last-minute appeal by lawyers was rejected, the 65-year-old was hanged in a prison in Dhaka, the capital, just after 10pm (4pm GMT) on Thursday.

The tribunal has been criticised by human rights activists and legal experts as deeply flawed. It has held a series of trials of individuals accused of war crimes committed during 1971 war. Most of the defendants are opposition members, leading to charges that the process is politically motivated.

Senior officials from the ruling Awami League reject the accusation and say the trials are necessary "to exorcise the ghosts of Bangladesh".

"Is it up to the international gold standard? The standard of the Old Bailey? No. But does the tribunal match, indeed exceed, the standards of our usual courts here in Bangladesh? Yes it does," said one.

Hasan Jamil, the eldest son of Mollah, told the Guardian the execution of his father was "a political killing" orchestrated by the government to allow them to declare an emergency when the street violence that the hanging is likely to provoke occurs.

"After this injustice no people can stay home. They will organise big demonstration. The government may declare emergency," he said.

Shantanu Majumder, political analyst, termed the hanging a "big step forward towards the political development of Bangladesh".

The hanging comes at a fraught political time with the opposition, led by the Bangladesh Nationalist party, already committed to boycotting elections called for January. Jamaat Islami was effectively banned from participating in the poll earlier this year.

Bangladesh has been partly paralysed by a series of shutdowns and strikes called by the opposition in recent weeks. Hundreds may have been killed in street violence this year and many more injured.

On Thursday JI activists clashed with police, torched or smashed vehicles and exploded homemade bombs around the country, TV stations reported.

In eastern Bangladesh, security officials opened fire to disperse opposition activists, leaving at least three people dead and 15 others wounded, Dhaka's leading Bengali-language newspaper, Prothom Alo, reported.

More such incidents are expected in the run up to January's poll.

Much of the political instability that troubles Bangladesh can be traced back to the 1971 war or its immediate aftermath. More than three million people died, some say, in one of the most violent and bitterly fought conflicts in the region in recent decades.

Forces from Pakistan sought out and shot thousands of intellectuals and political leaders in Dhaka in a bid to crush the movement for an independent Bangladesh. They were assisted by local collaborators, many linked to the JI organisation. Asif Munier, son of a university teacher who was killed in 1971 for supporting independence, said he was pleased with the court's decision to reject Quader Mollah's last-minute appeal.

"Yes, we are happy because justice has been served … It's not about any revenge," Munier said after the supreme court decision.
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
<<formTiddler NewArticleTemplate>><data>{"primtopic":"Data Centre","synopsis":"Cloud will be a big player in Data Centre activities in 2014","author":"Ed Scannell","articletitle":"SDN, hyperscale data center technologies to impact strategies in 2014","journalinfo":"Search IT","pagenumbers":"201401"}</data>''SDN, hyperscale data center technologies to impact strategies in 2014''

IT pros spend a lot of time fighting fires, but they should focus on strategic improvements as well. With that in mind, experts shared their predictions for data center technologies to watch, helping set the strategic agenda for your data center in 2014.

Total IT spending will reach $2.14 trillion in 2014, according to Framingham, Mass.-based analyst firm IDC, at its annual Worldwide Enterprise Server event in December. Spending on servers worldwide will top $53 billion, up 2% from 2013. Intel-based servers will drive much of that growth, with an expected $40 billion or more in sales, IDC predicted.

"[The] x86 [market] is where most of the growth is going and a lot of it is going to be driven by Intel's Ivy Bridge refresh, which will take hold [in 2014]," said Jed Scaramella, research manager of servers at IDC.

''Cloud growth''
The transformation to the third platform -- comprised of a convergence of cloud, big data, social business and mobile technologies -- is happening faster than anything else in this industry, noted IDC analysts.

"A lot of that is being driven by consumer behavior and the world of mobile, and what's both being enabled via the cloud and also what it's driving via the cloud," said Matt Eastwood, group vice president and general manager of enterprise platforms at IDC.

However, despite the rapid rise of third-platform IT, the first and second platforms, characterized by mainframe/terminal and client-server systems respectively, will be key industry drivers for years to come, IDC predicts. Some 60% of server units and 75% of server revenue will be driven by first and second platform workloads in 2014.

Enterprises can defer long-term capital expenditures with hybrid cloud models, such as moving some workloads to cloud to free up resources for on-premises workloads, said David Cappuccio, managing VP and chief of research on infrastructure at Stamford, Conn.-based Gartner Inc., speaking during the Gartner Data Center Summit 2013 in Las Vegas.

"For many [enterprises], 2014 will involve an owned data center and/or colocation facilities working alongside ... [Infrastructure, Platform and Software as a Service] markets," said Clive Longbottom, co-founder and service director at analyst firm Quocirca, based in the U.K.

Making infrastructure, platform and software as a service work with the traditional data center resources means understanding all the dependencies in the chain, Longbottom added, so expect higher interest in data center infrastructure management tools.

Eastwood added that the major challenge for all corporate IT shops is how to best manage through this transition and make strategic bets on the future, while not dramatically moving away from legacy systems built up over the past few decades.

''The hyperscale IT effect''

"The third platform itself is driving a massive amount of investment in new Web-scale or hyperscale data centers that power cloud, mobile, social and analytic type workloads," Eastwood said. "We know companies such as Google [Inc.], [Amazon.com, Inc.], Microsoft and Facebook are literally spending billions of dollars on new data centers and server infrastructures to power their workloads in these data centers."

Server types, variety and complexity are going up, due to pressure from these hyperscale IT companies, said Carl Claunch, VP and distinguished analyst at Gartner Inc. Since server vendors have to meet the needs of both hyperscale companies and enterprises, there will be a bevy of choices available on new servers.

For example, there's a need for low-power servers in higher-density data centers popularized by Web-scale IT companies. One of those low-power options relies on system-on-a-chip (SoC). These SoCs will be implemented in some, if not all, designs, including integrating networking controllers, storage controllers, co-processors and memory.

Even though most enterprises don't operate like Facebook or Amazon, they are going to take tips and cues from hyperscale data centers, whether that's buying custom servers, replacing or repairing equipment faster, designing around a recovery time objective or just letting go of the past, summarized Gartner's Cappuccio.

''Software-defined everything''

The software-defined everything (SDx) movement will go from lab concept to real data center technology in 2014, said SearchDataCenter contributor Pete Sclafani, CIO of 6connect Inc.

"Virtualization of the network stack is a long time coming. With the increasing validation of the [return on investment], enterprises and service providers are going to start seeing how these provisioning tools can tie into their automation efforts," Sclafani said.

SDx will continue to aggregate around "the software defined data center" concept, but the "theoretical purity of the approaches will be undermined by vendors competing at a functional level and breaking the standards," said Longbottom.

''Converged infrastructure adoption''

Converged infrastructure is becoming a standard platform for early adopters and it may go mainstream in 2014.

"In this past year, people who said they were very likely to adopt an integrated system in the next three years jumped up 38%," said IDC's Scaramella. "It really went from an emerging concept of customers still evaluating it to a jump in the number of customers saying, 'Yeah, this is definitely something we're going to consider in the next two years.'"

These prepackaged, integrated systems are differentiated by software and how well the hardware performs as a unit, said Gartner's Claunch. They can be tailored to support a specific application to the best degree possible, but adaptability is limited and not everyone should assume converged infrastructure systems, like Cisco's Unified Computing System (UCS), will benefit their IT operations. You can end up with islands in the data center, counter to what virtualization has achieved, where workloads move around interconnected hosts and resources, Claunch said. And they require synchronized budgets for network, compute and the other elements of a data center deployment -- a rare practice today.

"You're throwing away a lot of existing investments to adopt integrated systems. Maybe the servers are ready for a refresh, but your network was just upgraded last year, and storage is two years old and not depreciated yet," he explained.

VCE Vblocks, IBM PureFlex, Cisco UCS, Dell VRTX and other converged products can simplify the data center in regards to power distribution, cabling and cooling, Quocirca's Longbottom said, but the cost of retrofitting older facilities to take advantage of these savings can be prohibitive.

''Data, data and more data''

Big data analytics will be huge in 2014. The digital universe will nearly double to six exabytes in 2014. While big data is largely created on the edge, more and more data is moving into the data center as well.

Big data also means big storage. And the notion of cheap storage is shifting, according to Sclafani, especially when it comes to solid state drives (SSDs).

"The focus has moved to storage speed, namely how SSDs can be deployed in various ways," Sclafani said. "Hybrid local storage options are interesting, but it's really giving storage admins more budget-friendly solutions to tackle speed versus just adding spindles."

Where in the past, storage admins had to be very selective about deploying SSDs, the normalization of SSD costs means that it will become a should-have data center option.

Ed Scannell, Meredith Courtemanche and Michael Anderson contributed to this report.
20080909...reminds me of the other side of a theory I have long had that Humankind is nothing more than "bacteria" living on a round pebble which is nothing more than a "bacteria" living in the armpit of a giant that is the galaxy we know as the milky Way.
[img[http://innovomarketing.com/wp-content/uploads/2013/04/7-step-process.png]]<<formTiddler NewArticleTemplate>>Developing a Bank Marketing Plan: Seven Steps
by Lori Philo-Cook on April 27, 2013
I am big on planning.  It works. If you are going to be successful, you need to start with clear goals and a well-developed plan.

Planning Makes a Big Difference
·       Helps you focus your marketing efforts and spend your marketing dollars more effectively.
·       Forces you to really think about what you are doing and why.
·       Gives your staff/agency/marketing partners the direction they need.
·       Enables you to easily share information with other key players within your bank.
·       Builds credibility for your marketing department and helps demonstrate your value to the bank.
·       It makes you a better marketer.
In this post, I will outline my approach to marketing planning, which I have fine tuned over many years of managing bank marketing departments. I don’t know if it’s the right approach for you, so I suggest that you take a look, choose the parts you like, and combine them with your own ideas to build a planning process that will work the best for you and your bank.
7 step process
Meet with Your Exec(s): Meet with bank execs to get a sense of the overall direction and bank priorities for the coming year. At this early stage, you probably won’t have a draft of the business plan to refer to, so, you will need to find out about any major new initiatives (new products, new technology, branch openings, etc.). This information will help you start thinking about major campaigns and projects you will need to work on. Clarify their priorities for marketing. Discuss major campaigns and projects you are considering and get their initial feedback.
This is also a good time to review the ongoing elements of your marketing plan and recommend any changes: your Market Position Statement, your Role of Marketing document and your Marketing Functions chart.
Host Key User Meetings: Don’t try to create your plan in a vacuum. Set up planning meetings with all of the key users of your marketing services: usually department heads for areas such as commercial/RE loans, business services, personal loans, retail banking, your phone center, online/mobile services, merchant services, wealth management, etc. You’ll also want to meet with the leaders of the markets outside of your main office community to assess their special needs and competitive challenges.
Use these meetings to learn about your key users’ business challenges as well as their priorities and any major new projects they are planning for the coming year. Get their feedback about your current marketing efforts on their behalf and what they feel is and isn’t working. Ask them how marketing can help them meet their business goals. It’s also a good time to share info on bank-wide campaigns and plans you are considering as well as specific projects for their areas/products that you may propose.
Involve Your Marketing Staff: If you have staff, conduct a staff planning session and present the info/ideas/feedback you have gathered so far. (Some staff may have been involved in your key marketing user meetings, too.) Encourage them to present their own proposals, new ideas, suggestions for improvements, particularly those that pertain to their responsibilities. Brainstorm solutions to your department’s critical marketing challenges. Review ideas you’ve been gathering in your ongoing “future ideas” file and notes that were placed in project files for ways to improve the next time around.
By involving your marketing staff in idea creation, budget research and plan writing, you can provide them with new challenges and opportunities to be creative and develop their skills. Assign each staff member some planning and responsibilities; they’ll end up feeling a greater sense of ownership in the success of their projects and a stronger commitment to meeting department goals.
Evaluate Options and Dig In: Using the bank’s business plan as a foundation, you will need to address the priorities of your bank execs and your key marketing users. One way to start is to place all of the proposed projects on your Major Marketing Projects Calendar and see what works and what needs to be discarded/postponed for another year. You won’t be able to do everything that is on your wish list or the wish list of your key marketing users. This is where your knowledge of marketing and your understanding of your management’s priorities come into play. Once you complete a good working draft of the Major Marketing Projects Calendar, you should have most of the information you need to draft your Overall Marketing Plan for the year.
Develop and Present Your Budget: Now it’s time to work on the first draft of the budget. If you have marketing staff, have them research costs that pertain to their projects/areas of expertise. Start with ballpark numbers from last year’s budget (incorporating any variances and expected cost increases) and get estimates and bids on new projects/materials. Looks for ways to reduce costs as you gather information. Once you have a well-researched budget and have finalized your Major Marketing Projects Calendar and your Overall Marketing Plan, it is time to present them to your execs. Your budget/plan presentation meeting will go much better if you’ve developed a realistic budget, because then your management can choose to keep/cut projects based on the value to the bank vs. the actual anticipated cost.
During the review process, your management will ask hard questions, evaluate your proposals for new programs and question the true value of ongoing programs. You need to be well prepared. Remember, it’s their job to balance your recommendations, the needs of key department heads and the business goals of the bank. It’s likely that they will cut some of the campaigns and projects you’ve proposed in order to control expenses. Once initial cuts have been made, you may still be asked to go back and review your budget and make recommendations for further cuts in order to meet a target budget. If further cuts are needed, you may have another meeting with management to review your recommendations and get final decisions.
Finalize Your Budget, Calendar(s) and Plan: Now you have the information you need to make all the changes to your budget, adjust your project and event calendars and finalize your overall plan. Once your management has finally signed off, you may still have to wait for final board approval, depending on how the budget process works at your bank. If bank budgets are not approved until the January board meeting, you may need to get special approval to move forward with projects slated for January since the work will need to be done in December.
Communicate: Once your budget and plan are approved, it’s time to communicate your plans for the coming year with key employees. Good communication is key to developing support for your marketing programs, but not everyone needs everything.
Here’s a list by type of employee that should give you a good place to start.
Marketing: First, your marketing staff will need copies of everything as soon as possible so they can start working on Project Implementation Plans and preparing for the new year.
Bank Execs: They should receive a copy of the Overall Marketing Plan, all four quarters of your Major Marketing Projects Calendar, the summary page of your final budget, the Market Position Statement, The Role of Marketing and Marketing Functions.
Key Users (Dept Heads): You will want to share the Overall Marketing Plan, the Market Position Statement, the Role of Marketing and Marketing Functions, as well any applicable plans/budgets with your key marketing users so they know what marketing support they can expect from you and the general time frames. If any experienced significant cuts during the budget review process, it’s a good idea to meet with them personally to explain the reasons behind the decisions. They should also receive Project Implementation Plans that relate to their areas.
Other Managers, Supervisors and Officers: Each should receive a copy of the Market Position Statement and each quarter’s Major Marketing Projects Calendar as the year progresses. By sending it quarterly, you can provide the most updated version (changes are inevitable). You may want to send the Overall Marketing Plan to some managers.
All Employees: as you launch major campaigns and promotions, all employees should receive copies of bank-wide Project Implementation Plans so they understand the programs and the bank’s goals for them.
While many of these steps can vary, depending on how you approach marketing planning at your bank, I strongly recommend that you meet with all of the key users of your marketing services and get their input, and if you have marketing staff, I think it’s important to involve them in the development of your plan and budget.<data>{"articletitle":"Developing a Bank Marketing Plan: Seven Steps","author":"Lori Philo-Cook","primtopic":"Building a bank marketing plan","journalinfo":"innovomarketing.com","pagenumbers":"201401","url":"http://innovomarketing.com/?p=137"}</data>
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"The Nation","articletitle":"\"A Thai in Tibet\"","pagenumbers":"2008","synopsis":"Travelling in Tibet by bicycle","primtopic":"Entrepreneurship","author":"blah","url":"http://Bangkokpost.com"}</data>From Nation newspaper, Monday 20080428

''A Thai in Tibet''
Tanaporn Tangcharoenmankong talked to two cycling enthusiasts who set up a Thai restaurant and bike clinic in Lhasa

They set off from Chiang Mai and cycled to Chiang Saan to catch a boat to Guanlei in China, srriving in Tibet 5 months later.

Two years ago, Kittipong Kongkeaw was a captain at karaoke joint SF Music City in Bangkok's Mah Boonkrong centre. Today, he and his friend, Hong Kong native, Yao Wang Kong, are the proud owners of Spinn Cafe, a cosy 40 square-metre cafe and restaurant in downtown Lhasa, the capital of Tibet.

It hasn't been an easy journey but, says Kittipong, when Yao suggested cycling to Tibet to look at the possibilities of opening a business, he said yes almost immediately.

"We first met on a bicycle trip to Bang Pa-In in Ayutthaya," says Kittipong, a member of the Thailand Cycling Club, "He'd spend a lot of time travelling but was new to cycling. In fact, he'd just bought his first mountain bike in Thailand."

"When he suggested going Tibet, I thought 'why not'. I wanted to see the world. I'd read about Tibet and wanted to experience it myself. The route to Tibet is known as a challenge among bikers and as a member of Vajira Hospital's bicycle rescue team and a bike patrol police volunteer, I knew I was physically up to it," continues the Chachoengsao native.

The two set off from Chiang Mai and cycled to Chiang Saan to catch a boat to Guanlei in China. From there, they travelled through Menglun, Jinhong, Simao, Pu'er, Dali, Lijiang and Jong Dian, arriving five months later in Tibet.

"The Yunnan route is not too difficult to cycle but there were many cars and trucks to contend with and the Chinese drive very fast."

"It was tougher when we reached Tibet as the weather was very cold and we were riding at very high altitudes."

The trip went smoothly, although Yao's bike was badly damaged early in their ride. Fortunately, Kittipong had brought along spare parts and was able to make repairs.

They progressed about 75 kilometres a day, stopping to set up camp around 6pm and leaving in the morning about 10am after a good breakfast. The trip started about 10am and ended at 6pm.

Kittipong more than 60 kilograms on his bike, including bicycle spare parts, water filter, battery, spotlight, camping stove, tent, sleeping bag and clothes. Yao Wang Kong's bicycle, fitted with a trailer, was considered lighter at just under 30kg.

"It was almost 1am when we arrived at Lhasa. I was overwhelmed when I saw the Potala Palace. I felt like shouting out loud."

They spend almost seven months searching for a suitable location for their business and last April launched Spinn Cafe in a small alley off Tibetan Hospital Road.

Aside from serving Thai and international dishes, as well as coffee, the cafe also offers a special service - quality bicycle spare parts and a bike clinic.

The most popular menu item, says Kittipong, is the Vietnamese coffee, which is apparently the strongest caffeine hit available in Lhasa. Tibetan spaghetti, Thai dishes and cocktails are also big hit.

Open daily from 10am to 2am, Kittipong acts as responsibility as a chef, bartender and bicycle doctor while his Hong Kong buddy deals with the administration and the accounts.

Business is thriving and they have hired Tibetans to work. Plans to expand have been put on hold following last month's protests.

"I went back to hotel at 5am and there was no sign of the protest," says Kittipong of March 14 uprising, reportedly the most violent protests against China's rule in almost two decades.

"It was sad and really bad. Tibetan people are very nice. They are kind, smiling and peaceful."

Due to the capital being locked up, Lhasa was quiet for a couple weeks. Now, says Kittipong, the tourists are gradually returning.

"I've learned a lot during the past two years, including how to survive in any situation. The greatest windfall of all is friendship. I make many new friends from around the world."

He's planning to go back home in the next two years. "I miss my parents a lot," says the 28-year-old, "but my life here is wonderful."

 Tanaporn Tangcharoenmankong

Special to The Nation
<<notes heading:'Rays Notes'>>
Info Loans DPS Cards Accounts Services
Head Office Corporate Office: BCIC Bhaban, 
30-31 Dilkusha C/A, Dhaka 1000, Bangladesh, GPO Box: 3522
Known As ABBL
Stock Code ABBANK
Category Commercial
Type Private
Origin Local
AB Bank Limited is the pioneer in commercial banking under private ownership in Bangladesh. It started functioning as Arab Bangladesh Bank Ltd. on 12 April, 1982. ‘To be the trendsetter for innovative banking with excellence and perfection’ was pronounced as the banks vision. Side by side it spoke out about its mission, ‘To be the best performing bank in the country’.
Since inception AB Bank Limited has spread over the country through 82 branches at all economically potential locations. ABBL has established a foreign branch in Mumbai, India and a subsidiary finance company in Hongkong.
AB Bank Limited provides all commercial banking services like Current and Savings accounts, fund transfer, and utility bills receiving. In addition it presents a good number of deposit and credit schemes for the clients. All its services may be classified as follows:
Retail Banking
Corporate Banking
SME Banking
NRB Banking
Islami Banking
Retail Banking

Under Retail Banking head AB Bank offers some attractive deposit schemes mainly for limited income groups of the society. These schemes are listed below:
Family Savings Plan
Special Notice Deposit
Security Deposit Receipt
Fixed Deposit
Monthly Savings Deposit
Monthly Income Deposit
Deposit Double Scheme
Foreign Currency Deposit
All these schemes return competitive profit for the incumbent. You may choose some as per your requirement and ability.
The loan products for personal purposes of AB Bank are Personal Loan, Auto Loan, and Education Loan (for parents and for executives). These loan products demand a nominal personal guarantee and are secured by hypothecation of the commodity to be purchased. The interest rates are reasonable and competitive.
Corporate Banking

AB Bank manages a complete solution for your corporate business issues, whether you are a local trader or engaged in export and import businesses or you are an entrepreneur in industrial sector. The products and service available at ABBL for corporate people are numerous. Some of the major products are:
Project Finance
Working Capital Finance
Trade Finance
Cash Management
Syndicated Finance, both on-shore & off-shore
Equity Finance, both on-shore & off-shore
Corporate Advisory Service
AB Bank Limited has developed expertise in syndication and structuring your loan for heavy projects and also for other financial assistance you may need for the development of your business of any size. Just pay a visit at the Corporate Head office of the bank and ask for what you need as a corporate client.
SME Banking

The contribution of SMEs in national GDP growth and employment generation during last 20 years is huge. Taking the facts in consideration AB Bank has rightly converged 54% of its total credit volume to this sector. The bank addresses multi disciplined small and medium scale enterprises of the country. It provides different types of programs for SMEs. The major fields of investment are apprised below:
Agro machinery
Animal Feed
Dairy Product
Fruit Preservation
Hotel & Restaurant
Garment Accessories
Leather Product
Plastic Product
Furniture, Wood & Metal
Printing & Packaging
Wire & Cable
Cement & Lime Plaster
Clinics & Hospitals
Engineering & Scientific Instruments
It’s clear from the above that AB Bank attends most of our small and medium entrepreneurs. If you are a deserving candidate, you may approach any of its 82 branches for necessary service.
NRB Banking

A nonresident Bangladeshi may have a FC account at AB Bank. If you are one of them you may have a fixed deposit in foreign exchange also. Different foreign currency bonds are issued by the bank. This bank maintains a wide spread network with foreign banks and money exchanges for easy transfer of home coming remittances.
Islami Banking

Islami Banking is the demand of many people in present days. AB Bank responded to the demand in right time. A Shariah Council is constituted by Islamic scholars and bankers to scrutinize each and every Islami banking product and service before presenting it to the clients. Almost all products of ABBL have an equivalent Islami Banking product. So the customers having this channel of service are not deprived of any thing. An individual branch of the bank is completely dedicated for Islami banking service.
Further to the above products and services AB Bank presented Card service with both Debit and Credit cards. Wide spread network of POS and ATMs are all over the country to make your life easy and risk free. So it’s evident that ABBL is marching towards the visionary goals it set 30 years back.
Schedule of Charges http://www.abbank.com.bd/schedule-of-charges.html
Established 1982
Facebook Follow AB Bank on facebook
Website http://www.abbank.com.bd
!!This is a repository for miscellaneous articles.

This site also uses the following Tiddlywiki plugins, from 3rd part developers:
|[[http://tiddlyspot.com|Tiddlyspot]]|Components that assist in upload/sync of off-line & on-line copies| |
|[[http://www.tiddlytools.com|Splashscreen]]|Provides something to look at while the site is loading in browser| |
|[[http://www.martinswiki.com|Creole]]|Markup compatibility with Creole standard| |
|[[http://www.math.ist.utl.pt/~psoares/addons.html#Plugins|Slideshow]]|Enables full-screen display of simple slideshows|e.g. [[Introducing Ray Storey]]...hit F11 on the keyboard to see everything.|
|[[http://www.tiddlytools.com|CommentPlugin]]|To allow for feedback through a device at the bottom of a page|{{{!!!Comments: <<comment>>}}}|
|[[http://tw.lewcid.org/#%5B%5BExtensions%20Overview%5D%5D|TiddlerNotesPlugin]]|Allows notes to be appended to tiddlers|{{{<<notes heading:'Rays Notes'>>}}}|

It makes use of the following:
* {{{<<formTiddler NewArticleTemplate>>}}} to create a //new article// from a button in the right sidebar
* Tagging to list articles with something in common...major tags are:
|9999|2008|Year article published|
|Abbbbb|NYTimes|Journal in which article was published|
|aaaaaaa|cycling|Subject...there can be several|
Trying to work out how to add colour text in body of a tiddler.

@@color:#babb1e;this is burnt umber@@
@@color:#green;this is some colour?@@
[img[http://static01.nyt.com/images/2014/01/19/sunday-review/19MONEYjp/19MONEYjp-articleLarge-v2.jpg]]<<formTiddler NewArticleTemplate>><data>{"journalinfo":"NYTimes","pagenumbers":"201401","primtopic":"Money is addictive","author":" SAM POLKJAN","articletitle":"For the Love of Money"}</data>''For the Love of Money''
By SAM POLKJAN. 18, 2014

IN my last year on Wall Street my bonus was $3.6 million — and I was angry because it wasn’t big enough. I was 30 years old, had no children to raise, no debts to pay, no philanthropic goal in mind. I wanted more money for exactly the same reason an alcoholic needs another drink: I was addicted.

Eight years earlier, I’d walked onto the trading floor at Credit Suisse First Boston to begin my summer internship. I already knew I wanted to be rich, but when I started out I had a different idea about what wealth meant. I’d come to Wall Street after reading in the book “Liar’s Poker” how Michael Lewis earned a $225,000 bonus after just two years of work on a trading floor. That seemed like a fortune. Every January and February, I think about that time, because these are the months when bonuses are decided and distributed, when fortunes are made.

I’d learned about the importance of being rich from my dad. He was a modern-day Willy Loman, a salesman with huge dreams that never seemed to materialize. “Imagine what life will be like,” he’d say, “when I make a million dollars.” While he dreamed of selling a screenplay, in reality he sold kitchen cabinets. and not that well. We sometimes lived paycheck to paycheck off my mom’s nurse-practitioner salary.

Dad believed money would solve all his problems. At 22, so did I. When I walked onto that trading floor for the first time and saw the glowing flat-screen TVs, high-tech computer monitors and phone turrets with enough dials, knobs and buttons to make it seem like the cockpit of a fighter plane, I knew exactly what I wanted to do with the rest of my life. It looked as if the traders were playing a video game inside a spaceship; if you won this video game, you became what I most wanted to be — rich.

IT was a miracle I’d made it to Wall Street at all. While I was competitive and ambitious — a wrestler at Columbia University — I was also a daily drinker and pot smoker and a regular user of cocaine, Ritalin and ecstasy. I had a propensity for self-destruction that had resulted in my getting suspended from Columbia for burglary, arrested twice and fired from an Internet company for fistfighting. I learned about rage from my dad, too. I can still see his red, contorted face as he charged toward me. I’d lied my way into the C.S.F.B. internship by omitting my transgressions from my résumé and was determined not to blow what seemed a final chance. The only thing as important to me as that internship was my girlfriend, a starter on the Columbia volleyball team. But even though I was in love with her, when I got drunk I’d sometimes end up with other women.

Three weeks into my internship she wisely dumped me. I don’t like who you’ve become, she said. I couldn’t blame her, but I was so devastated that I couldn’t get out of bed. In desperation, I called a counselor whom I had reluctantly seen a few times before and asked for help.

She helped me see that I was using alcohol and drugs to blunt the powerlessness I felt as a kid and suggested I give them up. That began some of the hardest months of my life. Without the alcohol and drugs in my system, I felt like my chest had been cracked open, exposing my heart to air. The counselor said that my abuse of drugs and alcohol was a symptom of an underlying problem — a “spiritual malady,” she called it. C.S.F.B. didn’t offer me a full-time job, and I returned, distraught, to Columbia for senior year.

After graduation, I got a job at Bank of America, by the grace of a managing director willing to take a chance on a kid who had called him every day for three weeks. With a year of sobriety under my belt, I was sharp, cleareyed and hard-working. At the end of my first year I was thrilled to receive a $40,000 bonus. For the first time in my life, I didn’t have to check my balance before I withdrew money. But a week later, a trader who was only four years my senior got hired away by C.S.F.B. for $900,000. After my initial envious shock — his haul was 22 times the size of my bonus — I grew excited at how much money was available.

Over the next few years I worked like a maniac and began to move up the Wall Street ladder. I became a bond and credit default swap trader, one of the more lucrative roles in the business. Just four years after I started at Bank of America, Citibank offered me a “1.75 by 2” which means $1.75 million per year for two years, and I used it to get a promotion. I started dating a pretty blonde and rented a loft apartment on Bond Street for $6,000 a month.

I felt so important. At 25, I could go to any restaurant in Manhattan — Per Se, Le Bernardin — just by picking up the phone and calling one of my brokers, who ingratiate themselves to traders by entertaining with unlimited expense accounts. I could be second row at the Knicks-Lakers game just by hinting to a broker I might be interested in going. The satisfaction wasn’t just about the money. It was about the power. Because of how smart and successful I was, it was someone else’s job to make me happy.

Still, I was nagged by envy. On a trading desk everyone sits together, from interns to managing directors. When the guy next to you makes $10 million, $1 million or $2 million doesn’t look so sweet. Nonetheless, I was thrilled with my progress.

My counselor didn’t share my elation. She said I might be using money the same way I’d used drugs and alcohol — to make myself feel powerful — and that maybe it would benefit me to stop focusing on accumulating more and instead focus on healing my inner wound. “Inner wound”? I thought that was going a little far and went to work for a hedge fund.

Now, working elbow to elbow with billionaires, I was a giant fireball of greed. I’d think about how my colleagues could buy Micronesia if they wanted to, or become mayor of New York City. They didn’t just have money; they had power — power beyond getting a table at Le Bernardin. Senators came to their offices. They were royalty.

I wanted a billion dollars. It’s staggering to think that in the course of five years, I’d gone from being thrilled at my first bonus — $40,000 — to being disappointed when, my second year at the hedge fund, I was paid “only” $1.5 million.

Owen Freeman
But in the end, it was actually my absurdly wealthy bosses who helped me see the limitations of unlimited wealth. I was in a meeting with one of them, and a few other traders, and they were talking about the new hedge-fund regulations. Most everyone on Wall Street thought they were a bad idea. “But isn’t it better for the system as a whole?” I asked. The room went quiet, and my boss shot me a withering look. I remember his saying, “I don’t have the brain capacity to think about the system as a whole. All I’m concerned with is how this affects our company.”

I felt as if I’d been punched in the gut. He was afraid of losing money, despite all that he had.

From that moment on, I started to see Wall Street with new eyes. I noticed the vitriol that traders directed at the government for limiting bonuses after the crash. I heard the fury in their voices at the mention of higher taxes. These traders despised anything or anyone that threatened their bonuses. Ever see what a drug addict is like when he’s used up his junk? He’ll do anything — walk 20 miles in the snow, rob a grandma — to get a fix. Wall Street was like that. In the months before bonuses were handed out, the trading floor started to feel like a neighborhood in “The Wire” when the heroin runs out.

I’d always looked enviously at the people who earned more than I did; now, for the first time, I was embarrassed for them, and for me. I made in a single year more than my mom made her whole life. I knew that wasn’t fair; that wasn’t right. Yes, I was sharp, good with numbers. I had marketable talents. But in the end I didn’t really do anything. I was a derivatives trader, and it occurred to me the world would hardly change at all if credit derivatives ceased to exist. Not so nurse practitioners. What had seemed normal now seemed deeply distorted.


Larry Eisenberg 4 hours ago
I don't think Sam Polk set a trend,This love of big money won't end'Til voters are apprisedThat they've been hypnotizedBy Oligarchs' greed...
R. Law 6 hours ago
A very much appreciated piece; thanks to Mr. Polk for his honesty and for ' defecting '.It would be most interesting to read further from...
I had recently finished Taylor Branch’s three-volume series on the Rev. Dr. Martin Luther King Jr. and the civil rights movement, and the image of the Freedom Riders stepping out of their bus into an infuriated mob had seared itself into my mind. I’d told myself that if I’d been alive in the ‘60s, I would have been on that bus.

But I was lying to myself. There were plenty of injustices out there — rampant poverty, swelling prison populations, a sexual-assault epidemic, an obesity crisis. Not only was I not helping to fix any problems in the world, but I was profiting from them. During the market crash in 2008, I’d made a ton of money by shorting the derivatives of risky companies. As the world crumbled, I profited. I’d seen the crash coming, but instead of trying to help the people it would hurt the most — people who didn’t have a million dollars in the bank — I’d made money off it. I don’t like who you’ve become, my girlfriend had said years earlier. She was right then, and she was still right. Only now, I didn’t like who I’d become either.

Wealth addiction was described by the late sociologist and playwright Philip Slater in a 1980 book, but addiction researchers have paid the concept little attention. Like alcoholics driving drunk, wealth addiction imperils everyone. Wealth addicts are, more than anybody, specifically responsible for the ever widening rift that is tearing apart our once great country. Wealth addicts are responsible for the vast and toxic disparity between the rich and the poor and the annihilation of the middle class. Only a wealth addict would feel justified in receiving $14 million in compensation — including an $8.5 million bonus — as the McDonald’s C.E.O., Don Thompson, did in 2012, while his company then published a brochure for its work force on how to survive on their low wages. Only a wealth addict would earn hundreds of millions as a hedge-fund manager, and then lobby to maintain a tax loophole that gave him a lower tax rate than his secretary.

DESPITE my realizations, it was incredibly difficult to leave. I was terrified of running out of money and of forgoing future bonuses. More than anything, I was afraid that five or 10 years down the road, I’d feel like an idiot for walking away from my one chance to be really important. What made it harder was that people thought I was crazy for thinking about leaving. In 2010, in a final paroxysm of my withering addiction, I demanded $8 million instead of $3.6 million. My bosses said they’d raise my bonus if I agreed to stay several more years. Instead, I walked away.

The first year was really hard. I went through what I can only describe as withdrawal — waking up at nights panicked about running out of money, scouring the headlines to see which of my old co-workers had gotten promoted. Over time it got easier — I started to realize that I had enough money, and if I needed to make more, I could. But my wealth addiction still hasn’t gone completely away. Sometimes I still buy lottery tickets.

In the three years since I left, I’ve married, spoken in jails and juvenile detention centers about getting sober, taught a writing class to girls in the foster system, and started a nonprofit called Groceryships to help poor families struggling with obesity and food addiction. I am much happier. I feel as if I’m making a real contribution. And as time passes, the distortion lessens. I see Wall Street’s mantra — “We’re smarter and work harder than everyone else, so we deserve all this money” — for what it is: the rationalization of addicts. From a distance I can see what I couldn’t see then — that Wall Street is a toxic culture that encourages the grandiosity of people who are desperately trying to feel powerful.


I was lucky. My experience with drugs and alcohol allowed me to recognize my pursuit of wealth as an addiction. The years of work I did with my counselor helped me heal the parts of myself that felt damaged and inadequate, so that I had enough of a core sense of self to walk away.

Dozens of different types of 12-step support groups — including Clutterers Anonymous and On-Line Gamers Anonymous — exist to help addicts of various types, yet there is no Wealth Addicts Anonymous. Why not? Because our culture supports and even lauds the addiction. Look at the magazine covers in any newsstand, plastered with the faces of celebrities and C.E.O.'s; the superrich are our cultural gods. I hope we all confront our part in enabling wealth addicts to exert so much influence over our country.

I generally think that if one is rich and believes they have “enough,” they are not a wealth addict. On Wall Street, in my experience, that sense of “enough” is rare. The money guy doing a job he complains about for yet another year so he can add $2 million to his $20 million bank account seems like an addict.

I recently got an email from a hedge-fund trader who said that though he was making millions every year, he felt trapped and empty, but couldn’t summon the courage to leave. I believe there are others out there. Maybe we can form a group and confront our addiction together. And if you identify with what I’ve written, but are reticent to leave, then take a small step in the right direction. Let’s create a fund, where everyone agrees to put, say, 25 percent of their annual bonuses into it, and we’ll use that to help some of the people who actually need the money that we’ve been so rabidly chasing. Together, maybe we can make a real contribution to the world.

Sam Polk is a former hedge-fund trader and the founder of the nonprofit Groceryships.
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"The Guardian","pagenumbers":"20130905","primtopic":"Alzheimers","synopsis":"Direct link between excessive cleanliness and Alzheimers","articletitle":"\"Hygiene and the world distribution of Alzheimer's Disease\"","author":"Not Known"}</data>Alzheimer's may be linked to better hygiene, say scientists
Reduced contact with infectious agents might stall development of key elements of immune system, researchers suggest
Alok Jha, science correspondent
The Guardian, Wednesday 4 September 2013 19.36 BST

The researchers say hygiene is positively associated with risk of Alzheimer’s disease. 
Improvements in hygiene could partly explain increased rates of Alzheimer's disease seen in many developed countries, according to research into the link between infections and the condition.

The researchers studied the prevalence of the neurodegenerative disease across 192 countries and compared it with the diversity of microbes in those places.

Taking into account differences in birth rate, life expectancy and age structure in their study, the scientists found that levels of sanitation, infectious disease and urbanisation accounted for 33%, 36% and 28% respectively of the discrepancies seen in Alzheimer's rates between countries.

In their report which was published in the journal Evolution, Medicine and Public Health, the researchers concluded that hygiene was positively associated with risk of Alzheimer's disease. Countries with greater degree of sanitation and lower prevalence of pathogens had a higher burden from the disorder. Countries with greater degree of urbanisation and wealth also had higher Alzheimer's burdens.

Whether hygiene causes the pattern is not yet clear – cleanliness or infectious disease might be associated with some other factor – but the team does have a speculative hypothesis for how the two factors might be linked.

Exposure to micro-organisms – good and bad – is important for the body to develop proper immune responses.

The researchers' "hygiene hypothesis suggests that as societies have become cleaner, the reduced level of contact with bacteria and other kinds of infectious agents might stall the proper development of important elements of the body's immune system such as white blood cells. The team suggest that developing Alzheimer's might be linked to autoimmune disease, in which the body's immune system attacks itself.

"Alzheimer's disease (AD) shares certain etiological features with autoimmunity," the researchers wrote in the journal Evolution, Medicine and Public Health. "Prevalence of autoimmunity varies between populations in accordance with variation in environmental microbial diversity. Exposure to micro-organisms may improve individuals' immunoregulation in ways that protect against autoimmunity, and we suggest this may also be the case for AD."

James Pickett, head of research at the Alzheimer's Society, who was not involved in the research, said it was well known that the prevalence of Alzheimer's disease varied between countries. "That this discrepancy could be the result of better hygiene is certainly an interesting theory and loosely ties in with the links we know exist between inflammation and the disease," he said.

"However, it is always difficult to pin causality to one factor and this study does not cancel out the role of the many other lifestyle differences such as diet, education and wider health which we know can also have a role to play. One in three people over 65 will develop dementia. The best way to reduce your risk is to eat a healthy diet, exercise regularly, not smoke and keep your blood pressure and cholesterol in check."
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
!!Ray's list of resources that provide general and/or comprehensive information about the disease.

!!!Websites dedicated to Alzheimers:
|[[http://www.alz.org/index.asp|Alzheimers Association|Tries to cover all aspects of disease, including care of sufferers|8|

!!!Websites with useful content about Alzheimers:
| | | |
<<formTiddler NewArticleTemplate>><data>{"articletitle":"\" 6 tribes of bacteria found to be at home in the inner elbow\"","journalinfo":"New York Times","pagenumbers":"200805","primtopic":"Bacteria","synopsis":"Humans carry a lot of bacteria","author":"Nicholas Wade"}</data>----
''6 Tribes of Bacteria Found to Be at Home in Inner Elbow'' 

Published: May 23, 2008

The crook of your elbow is not just a plain patch of skin. It is a piece of highly coveted real estate, a special ecosystem, a bountiful home to no fewer than six tribes of bacteria. Even after you have washed the skin clean, there are still one million bacteria in every square centimeter.

But panic not. These are not bad bacteria. They are what biologists call commensals, creatures that eat at the same table with people to everyone’s mutual benefit. Though they were not invited to enjoy board and lodging in the skin of your inner elbow, they are giving something of value in return. They are helping to moisturize the skin by processing the raw fats it produces, says Julia A. Segre of the National Human Genome Research Institute.

Dr. Segre and colleagues report their discovery of the six tribes in a paper being published online on Friday in Genome Research. The research is part of the human microbiome project, microbiome meaning the entourage of all microbes that live in people. 

The project is an ambitious government-financed endeavor to catalog the typical bacterial colonies that inhabit each niche in the human ecosystem. 

The project is in its early stages but has already established that the bacteria in the human microbiome collectively possess at least 100 times as many genes as the mere 20,000 or so in the human genome.

Since humans depend on their microbiome for various essential services, including digestion, a person should really be considered a superorganism, microbiologists assert, consisting of his or her own cells and those of all the commensal bacteria. The bacterial cells also outnumber human cells by 10 to 1, meaning that if cells could vote, people would be a minority in their own body.

Dr. Segre reckons that there are at least 20 different niches for bacteria, and maybe many more, on the human skin, each with a characteristic set of favored commensals. The types of bacteria she found in the inner elbow are quite different from those that another researcher identified a few inches away, on the inner forearm. But each of the five people Dr. Segre sampled harbored much the same set of bacteria, suggesting that this set is specialized for the precise conditions of nutrients and moisture that prevail in the human elbow.

Microbiologists believe that humans and their commensal bacteria are continually adapting to one another genetically. The precision of this mutual accommodation is indicated by the presence of particular species of bacteria in different niches on the human body, as Dr. Segre has found with denizens of the elbow. 

Other researchers have found that most gut bacteria belong to just 2 of the 70 known tribes of bacteria. The gut bacteria perform vital services like breaking down complex sugars in the diet and converting hydrogen, a byproduct of bacterial fermentation, to methane.

The nature of the gut tribes is heavily influenced by diet, according to a research team led by Ruth E. Ley and Dr. Jeffrey I. Gordon of the Washington University School of Medicine in St. Louis. With the help of colleagues at the San Diego and St. Louis Zoos, Dr. Ley and Dr. Gordon scanned the gut microbes in the feces of people and 59 other species of mammal, including meat eaters, plant eaters and omnivores. Each of the three groups has a distinctive set of bacteria, they report Friday in Science, with the gut flora of people grouping with other omnivores. 

Despite the vast changes that people have made to their diet through cooking and agriculture, their gut bacteria “don’t dramatically depart in composition from those of other omnivorous primates,” Dr. Gordon said.

This new view of people as superorganisms has emerged from the cheap methods of decoding DNA that are now available. Previously it was hard to study bacteria without growing them up into large colonies. But most bacteria are difficult to culture, so microbiologists could see only a small fraction of those present. Analyzing the total DNA in a microbial community sidesteps this problem and samples the genes of all bacterial species that are present.

The goals of the human microbiome project include analyzing the normal makeup of bacterial species in each niche on the human body. “The focus in microbiology has been on pathogenic bacteria, but we are trying to identify the commensal bacteria so that we can begin to understand what proteins they make and how they contribute to our health,” Dr. Segre said. 

Another goal is to understand how pathogenic bacteria manage to usurp power from the tribes of beneficial commensals in the skin or gut, causing disease.

The lifetime of an individual bacterium in the human superorganism may be short, since millions are shed each day from the skin or gut. But the colonies may survive for a long time, cloning themselves briskly to replace members that are sacrificed. Just where these colonies come from and how long they last is not yet known. Dr. David A. Relman of Stanford University has tracked the gut flora of infants and finds their first colonists come from their mother. But after a few weeks, the babies acquired distinctive individual sets of bacteria, all except a pair of twins who had the same set. Dr. Relman said he was now trying to ascertain if the first colonists remain with an individual for many years.

Taking a broad spectrum antibiotic presumably wreaks devastation on one’s companion microbiome. If the microbiome is essential to survival, it is perhaps surprising that the drugs do not make more people ill. Dr. Relman said that perhaps there were subtle long-term consequences that had not yet been identified. Much the same set of bacteria recolonize the gut after a course of antibiotics, he said, suggesting that the makeup of the colony is important and that the body has ways of reconstituting it as before.
<<notes heading:'Rays Notes'>> 
[img[http://static.guim.co.uk/sys-images/Guardian/About/General/2014/1/3/1388777821417/bangladesh-dhaka-election-009.jpg]]<<formTiddler NewArticleTemplate>>''Bangladesh elections: tensions high in face of opposition boycott''

A year's political unrest has brought 500 deaths and 20,000 injured as a 48-hour shutdown is called in protest over 'farce'

 Jason Burke

The Guardian, Friday 3 January 2014 19.47 GMT

In a crowded hospital ward, where cockroaches run between rusty beds and tired nurses change stained dressings below filthy fans, lie Lokman and Alamgir. Until two days ago, the two middle-aged friends earned a meagre living selling onions together on the streets of Dhaka, the capital of Bangladesh. Now, badly burned, they are fighting to live.

They do not know the allegiance of the crowd that blocked the way to their store early in the morning. Nor the identity of whoever threw the petrol bomb that turned their small truck into a fireball.

"Who can I blame?," said Alamgir's 19-year-old son, Mohammed Liton Islam.

"The opposition parties have been calling the blockades so it must have been their followers who did this. But the government has not arranged for a proper election. They are both responsible."

Such sentiments are common not just among the relatives of other similar victims at the Dhaka Medical College hospital, nor just among the doctors who say they see such injuries every day, but in bazaars, bus stations, tea shops and homes across Bangladesh, the poor and restive south Asian state of 150 million, where more than 500 have died and 20,000 have been injured in 12 months of political unrest.

With a long-awaited and long-feared general election finally due on Sunday, there is much tension this weekend. On Friday opposition parties in Bangladesh ordered a 48-hour "hartal" (closure of shops and offices) in addition to an ongoing nationwide blockade of railways, roads and waterways to "win the right of the people to vote", according to senior officials. Tens of thousands of troops have been deployed to secure polling stations.

In the short term, the reasons for the violence are clear, if complicated.

The main opposition party – the Bangladesh Nationalist party (BNP) – is boycotting the elections after the ruling Awami League refused to install a neutral caretaker administration before the poll.

The boycott – along with an effective ban on the participation of the country's biggest Islamist party – means that more than half of the seats in the national parliament have not been contested and most have already been won by government candidates.

Newspapers in Bangladesh have dubbed the poll a farce but Awami League politicians said they wanted the BNP to participate, even offering a choice of ministerial posts.

"Personally I would have welcomed the contest and I am disheartened that the opposition did not show up for elections, for the betterment of the country and for a more meaningful democracy," said Kazi Nabil Ahmed, a first-time Awami League candidate and now member of parliament in the south-western Jessore district.

Opposition officials say they had no option but to boycott a poll they felt was sure to be rigged and try to force concessions through "street agitation".

Fazlul Haq Milon, a veteran BNP politician from Gazipur, said that he had not participated in the polls because "all kinds of torture is imposed upon us by an autocratic government".

But beyond the short-term factors are broader issues. Analysts have described the violence as the result of a fight for the soul of the country.

"This is not just a struggle for power but it is a tussle between liberal and pro-democratic elements and non-democratic, anti-secular ones," said Shantanu Majumder, professor of political science at Dhaka university.

Shamsher M Chowdhury, vice-chairman of the BNP, dismissed such analysis as rubbish. "That's a kneejerk reaction that makes no sense whatsoever," he told the Guardian.

Some analysts see the problem as an intensification of the contest between factions within the country's elite that has been going since Bangladesh won its independence from Pakistan in a brutal civil war in 1971, while others attribute the extreme polarisation of Bangladeshi politics to the animosity between Khaleda Zia, the leader of the BNP, and Sheikh Hasina, who heads the Awami League.

Zia, 68, is the widow of the country's pre-eminent military leader in the civil war. Hasina, 66, is the daughter of the "father of the nation", Sheikh Mujibur Rahman. Both men were assassinated.

One significant cause of recent unrest has been the trial of men, largely from opposition parties, accused of committing war crimes during that conflict. Last month, Abdul Qader Mollah, a senior official in the Islamist Jama'at Islami (JI) organisation, was hanged after being found guilty of killing a student and a family of 11 and of aiding Pakistani troops in killing 369 other people during the independence war.

Government officials say the trials, which human rights groups have criticised for failing to observe due process, are necessary to "exorcise historical ghosts".

Though successive judgments have prompted thousands of JI activists to take to the streets to protest, a survey in the Dhaka Tribune newspaper last week found 74% of Bangladeshis were "satisfied" with the tribunal.

International interest in Bangladesh spiked after the deaths of 1,134 garment workers in a factory collapse in April. Most were making clothes for western retailers.

Garment factory owners have suffered as the continuing unrest has led to blocked freight and delayed orders and has put off potential customers.

Mustafizur Rahman, an economist at the Centre for Policy Dialogue in Dhaka, said overseas buyers now placing orders for summer clothescollections in the west were not coming to Bangladesh.

"If the political confrontation continues, the [problems] will continue. We will have to see what happens after 5 January," Rahman said.

There appears little chance that the most recent call for protests from the BNP will succeed in derailing Sunday's poll. The opposition has been weakened by arrests of power-brokers and organisers and faces a police force which remains loyal to the government.

Little is likely to be solved by the vote, however. Even Awami League sympathisers predict more conflict and say another election between six and 18 months from now is probable.

"Sunday's vote is an election in legal and constitutional terms but not in essence. I can see little hope for a deal in the short term and that means more violence, more street agitation," said Majumder, the political science professor.

Islam, the son of the injured onion seller, now has a brother, a sister and a mother to support. He earns £70 a month in a knitwear factory, making sweaters for sale on western high streets.

"Now it will be very difficult for us as a family," he said. "The chance of any improvement in the future is very small, I am afraid. It will be very difficult for the country too."<data>{"author":"Jason Burke","articletitle":"Bangladesh elections: tensions high in face of opposition boycott","journalinfo":"The Guardian","pagenumbers":"20140102","primtopic":"Bangladesh unrest","synopsis":"Things might not calm down after the Jan 05 election"}</data>
[img[http://timeglobalspin.files.wordpress.com/2013/11/bangladesh_strikes_1106.jpg?w=360&h=240&crop=1]]<<formTiddler NewArticleTemplate>><data>{"journalinfo":"Time ","pagenumbers":"20121206","primtopic":"Bangladesh political turmoil","synopsis":"Political rivalries have been in place for many years in Bangladesh","articletitle":"Four Things You Need to Know About the Chaos In Bangladesh","author":"Nilanjana Bhowmick "}</data>''Four Things You Need to Know About the Chaos In Bangladesh''

Two general strikes in two weeks and hundreds dead so far this year. Just what is going on?

By Nilanjana Bhowmick for ''Time'' magazine, November 2013

Two opposition-enforced 60-hour general strikes in the last two weeks have paralyzed life and destabilized the economy of this South Asian nation of 150 million people. The estimated annual average cost of general strikes, or hartals as they are called in Bangladesh, is between 3 percent and 4 percent of the country’s $110 billion gross domestic product (GDP) reports the Daily Star. Political violence has also spiraled out of control, with around 322 people killed in political clashes this year — the highest death toll outside a conflict zone — according to Dhaka-based human rights group Odhikar. Here’s a quick read on why this is happening.

1. The crisis has been brewing since June 2011, when the government — led by the center-left, secular-democratic Awami League — scrapped a decades-old constitutional provision allowing for a caretaker system of government in the run-up to elections. Under that provision, neutral administrators would run things while the people chose their next leaders. The opposition, a centrist-right 18-party alliance led by the Bangladesh Nationalist Party (BNP), has been demanding that the provision be restored.

2. The crisis got really bad last month, when Sheikh Hasina, the Prime Minister and leader of the Awami league, refused to step down by October 24 — a deadline set by the opposition — and make way for a caretaker government. The BNP had threatened bloody countrywide strikes if their demand for a caretaker government was not met. They also threatened to boycott the elections in January.

3. There’s a bitter rivalry between Sheikh Hasina and Khaleda Zia, the former prime minister and leader of the BNP. Their rivalry has dominated Bangladeshi politics for decades and has kept them away from negotiation tables. Hasina’s attempts at talks have been rejected twice by Zia. The Battling Begums — as Zia and Hasina are nicknamed — have alternated as prime ministers of the country but have rarely spoken to each other since 1990, when they jointly toppled military ruler General Ershad.

4. Bangladesh has a long history of pre-election violence. In 1996, polls had to be conducted twice in the space of a few months because of political violence between BNP and League supporters. In 2007, a League boycott, and clashes between rival party supporters, led to military intervention.
<<formTiddler NewArticleTemplate>>''Hartal goes, blockade on''

No respite from violence, public suffering

Although the opposition enforced 60-hour countrywide hartal ended yesterday amid reports of violence across the country, its non-stop nationwide blockade of rail, roads and waterways will continue.

On December 30, the BNP called the indefinite blockade from New Year's Day to resist what it called the one-sided January-5 parliamentary election.  
Mirza Fakhrul Islam Alamgir, acting secretary general of BNP, in a statement yesterday urged party leaders and workers, its allies and the people of the country on behalf of Khaleda Zia to continue the blockade as part of its ongoing “mass movement”.

Braving security fears amid blockade and hartal yesterday, many people poured out onto the city streets while a large number of vehicles plied the thoroughfares in the capital and some other districts.

In Kishoreganj, alleged Jamaat-Shibir men removed fishplates from railway tracks at Bajitpur, snapping rail communication with Dhaka, Mymensingh and Chittagong for seven hours.

The engine of the Chittagong-bound Nasirabad Express from Mymensingh veered off the track soon after the fishplates were removed near Halimpur Railway Station. None was hurt.

Train communication on the route resumed around 2:00pm after a relief train from Akhaura salvaged the locomotive, said Jayanta Kumar Saha, station master of Kishoreganj Railway Station.
Ramzan Hossain, officer-in-charge of Bajitpur Police Station, said Jamaat-Shibir activists might have removed the fishplates.

Incidents of torching and vandalising many vehicles and attacking the activists of the ruling party and its allies were reported from different districts.
The joint forces, as part of their ongoing drive, arrested at least 220 opposition activists yesterday. Seventy seven arrests were reported in Bogra, 24 in Comilla, 42 in Pabna, 19 in Rangpur, 70 in Jessore and eight in Kaliakoir of Gazipur, report our district correspondents.

Apart from this, a garment worker, who suffered serious injuries in an attack by blockaders at Hathazari in Chittagong on January 4, died at a hospital in the port city yesterday.

The dead, Rashedul Alam Russell, sustained the wounds when stick-wielding blockaders attacked a CNG-run auto-rickshaw carrying him in Chariya Madrasa area.
In Lalmonirhat, around 15 men of BNP allegedly attacked Rafiqul Islam, a local leader of the ruling Awami League, and stabbed him indiscriminately on Lalmonirhat-Kurigram road at Burir Bazar.

Police suspect that Rafiqul was attacked as he was appointed a polling agent at a local polling centre where the voting could not be held during Sunday's polls. He was admitted to Lalmonirhat Sadar Hospital. 
In Chapainawabganj, activists of Islami Chhatra Shibir attacked a joint procession of pro-AL and pro-Jatiya Samajtantrik Dal supporters at Shaheed Satu Hall market area in the town.

The attack left Mamunur Rashid Moon, 18, a first year student of HSC level in Chapainawabganj Govt College, injured.
Shibir men attacked the procession with sticks and sharp weapons and hurled brick chips and around 10 homemade bombs targeting the supporters. Local police rushed to the spot and fired 25 bullets to bring the situation under control.

Later, BCL men smashed the glasses of Radhuni Hotel with brick chips. Acting Jamaat ameer of the district Latifur Rahman owns the hotel.
Five people were injured, including a woman, by rubber bullet pellets during a clash between pickets and police at Fulgazi of Feni yesterday.
The clash ensued as police opened fire on some BNP and pro-BNP Chhatra Dal activists who vandalised four battery-run three-wheelers. Police chased the vandals and they pelted police with brickbats.

In Tangail, five leaders and activists of the local wing of the BNP were injured when police charged batons on a BNP procession in the town. Some party activists from the procession tried to vandalise a truck.
At least 20 people were injured in a series of clashes between activists of the BNP and AL at Ghosherhat in Chandpur.
The clash ensued when AL activists from a procession tore down posters and banners of local BNP leaders. During the clash, a motorcycle was torched and several vehicles, an AL office and some shops were vandalised. 
Besides, activists of Jatiyatabadi Chhatra Dal, Islamic University unit, torched a bus on the university campus and exploded six handmade bombs while Jamaat-Shibir activists torched two trucks at Godaghata and vandalised a truck at Ramchandrapur in Satkhira Sadar upazila yesterday.

Published: 12:01 am Thursday, January 09, 2014<data>{"articletitle":"Hartal goes, blockade on","journalinfo":"Star Newspaper Dhaka","pagenumbers":"20140109","primtopic":"Bangladesh unrest","synopsis":"Hartal is finished, but blockade activities continue"}</data>
[img[https://ci6.googleusercontent.com/proxy/R0aHStiZPM3xkOWS7F1y1kqPI0RUVNLZXAL4TK8B2uN3jRGfa125U71lhhB9Iu1qOXs_JZFrm47iAAAwKy8xJXGUWAbA8CxiuDuI5CHHHwdjdq1uQg=s0-d-e1-ft#http://www.finextra.com/finextra-images/top_pics/large/5165.jpg]]<<formTiddler NewArticleTemplate>><data>{"journalinfo":"Finextra","pagenumbers":"20140129","primtopic":"High street bank branches being closed","synopsis":"Bank service delivery channels changing"}</data>Barclays to replace 400 branches with supermarket outlets1 hour ago  |  935 views  |  0barclays signage through window 2Plans by Barclays to revamp its branch network are coming into focus, with chief executive Anthony Jenkins telling the BBC that the UK bank will close a quarter of its high street branches over the coming year. In November, Barclays confirmed plans to axe 1700 customer-facing jobs from its branch network in 2014, citing the rise of new customer channels, particularly mobile banking. 

Speaking to the BBC, Jenkins says that the bank plans to replace about 400 branches with smaller outlets in Asda supermarkets. 

The cost-cutting measures will also be felt in the investment banking division, with another 400 jobs expected to be axed, over and above the 1800 roles already identified for the chop last year.

The update comes as Jenkins prepares to unveil a new five-year plan for the business next month, which will set out plans to lop £1.7bn from annual expenses by next year.
[img[http://www.bath.ac.uk/news/images//ianwalker2.jpg]]<<formTiddler NewArticleTemplate>><data>{"primtopic":"Bicycle safety","synopsis":"Helmets do not make a bicycle rider more safe","author":"Ian Walker","articletitle":"none","journalinfo":"University of Bath","pagenumbers":"2006"}</data>Bicyclists who wear protective helmets are more likely to be struck by passing vehicles, new research suggests.

Drivers pass closer when overtaking cyclists wearing helmets than when overtaking bare-headed cyclists, increasing the risk of a collision, the research has found.

Dr Ian Walker, a traffic psychologist from the University of Bath, used a bicycle fitted with a computer and an ultrasonic distance sensor to record data from over 2,500 overtaking motorists in Salisbury and Bristol.

Dr Walker, who was struck by a bus and a truck in the course of the experiment, spent half the time wearing a cycle helmet and half the time bare-headed. He was wearing the helmet both times he was struck.

He found that drivers were as much as twice as likely to get particularly close to the bicycle when he was wearing the helmet.

Across the board, drivers passed an average of 8.5 cm (3 1/3 inches) closer with the helmet than without

The research has been accepted for publication in the journal Accident Analysis & Prevention.

“This study shows that when drivers overtake a cyclist, the margin for error they leave is affected by the cyclist’s appearance,” said Dr Walker, from the University’s Department of Psychology.

“By leaving the cyclist less room, drivers reduce the safety margin that cyclists need to deal with obstacles in the road, such as drain covers and potholes, as well as the margin for error in their own judgements.

“We know helmets are useful in low-speed falls, and so definitely good for children, but whether they offer any real protection to somebody struck by a car is very controversial.

“Either way, this study suggests wearing a helmet might make a collision more likely in the first place.”

Dr Walker suggests the reason drivers give less room to cyclists wearing helmets is down to how cyclists are perceived as a group.

“We know from research that many drivers see cyclists as a separate subculture, to which they don’t belong,” said Dr Walker.

“As a result they hold stereotyped ideas about cyclists, often judging all riders by the yardstick of the lycra-clad street-warrior.

“This may lead drivers to believe cyclists with helmets are more serious, experienced and predictable than those without.

“The idea that helmeted cyclists are more experienced and less likely to do something unexpected would explain why drivers leave less space when passing.

“In reality, there is no real reason to believe someone with a helmet is any more experienced than someone without.

“The best answer is for different types of road user to understand each other better.

“Most adult cyclists know what it is like to drive a car, but relatively few motorists ride bicycles in traffic, and so don’t know the issues cyclists face.

“There should definitely be more information on the needs of other road users when people learn to drive, and practical experience would be even better.

“When people try cycling, they nearly always say it changes the way they treat other road users when they get back in their cars.”

The study also found that large vehicles, such as buses and trucks, passed considerably closer when overtaking cyclists than cars.

The average car passed 1.33 metres (4.4 feet) away from the bicycle, whereas the average truck got 19 centimetres (7.5 inches) closer and the average bus 23 centimetres (9 inches) closer.

However, there was no evidence of 4x4s (SUVs) getting any closer than ordinary cars.

Previously reported research from the project showed that drivers of white vans overtake cyclists an average 10 centimetres (4 inches) closer than car drivers.

To test another theory, Dr Walker donned a long wig to see whether there was any difference in passing distance when drivers thought they were overtaking what appeared to be a female cyclist.

Whilst wearing the wig, drivers gave him an average of 14 centimetres (5.5 inches) more space when passing.

In future research, Dr Walker hopes to discover whether this was because female riders are seen as less predictable than male riders, or because women are not seen riding bicycles as often as men on the UK’s roads.

''Top Notes''
11,257 adult cyclists were injured and 109 killed on the UK’s roads in 2004, the latest year for which figures are available. However, for each bicycle accident officially recorded there are as many as 14 more which do not go on police records, and so the number injured is certainly an under-estimate. Being struck by an overtaking car is arguably the most dangerous form of collision for a cyclist, with a particularly high mortality rate.
<<formTiddler NewArticleTemplate>><data>{"primtopic":"Big Data","synopsis":"Big Data Definitions are inadequate","author":"Ed Burns","articletitle":"Big data definitions fail to describe challenges of large data sets","pagenumbers":"20131101"}</data>Big data definitions fail to describe challenges of large data sets
Ed Burns, Site Editor
Published: 01 Nov 2013

By now many data management professionals are familiar with the "three Vs" definition of big data -- volume, velocity and variety. But as the various types of databases become increasingly more proficient at handling large volumes of streaming data, the last V, variety, may become the trickiest piece of the big data puzzle to solve.

Speaking at the SAS Premier Business Leadership Series, David Judson, senior director of business intelligence initiatives at Scotts Miracle-Gro Company, said when he took over responsibility for the organization's big data initiatives in 2011, no one was concerned about data volume or the speed with which it was coming into databases. The existing infrastructure was sufficient to handle the load.

However, he was concerned about data variety. When looking to build customer profiles, Judson found that indicators of who might be ready to buy Scotts' products were buried in things like local weather reports, social media chatter and other forms of online content. It's a problem he's still trying to solve. A lot of the intelligence from this data never gets put in a format that can be stored or analyzed.

Scotts has a traditional enterprise data warehouse, Judson said, but it is currently looking at how Hadoop might be used to store and analyze mixed-media data.

The anecdote points to the problem with the traditional definition of big data. It suggests the challenges of dealing with large data sets mainly involve scale. But in truth, the toughest problems come from reconciling different types of data that may be found in large data sets.

Tom Davenport, co-founder and research director at the International Institute for Analytics in Portland, Ore., said most large companies are concerned with data variety. He recently completed a report, titled Big Data in Big Companies, in which he and his fellow researchers reviewed the analytics practices of major corporations, such as GE, UPS and Citibank. These companies rarely mentioned data volume or velocity as top concerns, he said.

This shows the most common definition of big data is somewhat unhelpful, Davenport said. It fails to adequately capture what corporations should be thinking about when they are looking at implementing big data technology. He believes the term will eventually be replaced by something more specific, but it's not clear yet exactly what that will be.

"Variety is the key piece of it to think about," Davenport said.

Jill Dyche, vice president of best practices at SAS Institute and Davenport's co-researcher, said the three Vs definition of big data served its purpose in broadly defining a new technological concept in a way that helped people get their heads around it. But at this point, the term has outlived its usefulness, and it is nearly time for it to be replaced by something else that more adequately captures the essence of the challenges presented by large data sets, she said.

However, Dyche said the term big data may be worth keeping around for a little longer simply because it has a tendency to pique the interest of executives. They may not know exactly what it means, but Dyche said they've often read a magazine article about it or seen some other pop-culture reference, which leads executives to conclude it is something they need.

"I think it's been fortuitous in that executives are now paying attention to data," Dyche said. "The fact that executive management is coming to people and saying, 'We need to be doing this,' is sort of a sea change."

Ed Burns is site editor of SearchBusinessAnalytics. Email him at eburns@techtarget.com and follow him on Twitter: @EdBurnsTT.
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
[img[http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2013/9/18/1379524719296/Matt-Kenyon-19092013-008.jpg]]<<formTiddler NewArticleTemplate>><data>{"journalinfo":"The Guardian","pagenumbers":"20130920","primtopic":"British Banks","synopsis":"Most British Banks are immoral and unethical","author":"Zoe William","articletitle":"\"Your bank really isn't a venerable institution, is it?\""}</data>Your bank really isn't a venerable institution, is it? So ditch it
The banks' malpractice has become normalised, but if we still remain loyal to them it's no surprise they don't clean up their act
Zoe Williams
The Guardian, Wednesday 18 September 2013 20.30 BST

‘We can be up to our chins in evidence to the contrary and still invest them with the respect we'd accord our university.' Illustration by Matt Kenyon
Putting aside the people who just can't bear for this to be true, it is plain to everyone that the main high street banks are morally bankrupt. If only we could have bailed them out morally instead of financially – I feel sure our moral deficit would have been easier to pay down.

Two scandals hit Barclays this week within 24 hours of each other – in one it is contesting a £50m fine for reckless Qatari fundraising that it hadn't told its shareholders about. In the other, it may have to repay £100m for mistakes (in its favour) made in personal loans.

This doesn't tell us much we didn't already know. We knew from Libor and the mis-selling of personal protection insurance that cheating people has become peer-normalised among the main banks, and we know this has been going on since at least 2005. There has been a moral deficit since then, and the crash didn't make a dent in it. We also know, from those epic fines issued by the Financial Services Authority (now the FCA) over Libor, that much of the punishment is as good as meaningless. Money was just taken from one bank and distributed among the others. This only works if just one of them is crooked. When they all are, it's just a kitty.

Looking specifically at PPI, we could also see the counter-intuitive but obvious point that banks aren't charging enough for their services: current accounts cost money to administer. But rather than admit this, they would prefer to outwardly compete with one another, vie to see who can be the most free, while recouping the money by sleight of hand (swingeing overdraft charges), irresponsible lending or outright cheating (mis-sold PPI). This is what a market with only four or five big players looks like: amazing value in the top line, all the profit draining from somewhere you can't see.

We spend so much time talking about this titanic clash between the free market and the social state – yet ignore the fact that most of our major "markets" no longer operate as such. This is an oligarchy whose only governing authority is the administrator of wrist-slaps, and whose principles begin and end with the preservation of its jointly and severally managed profit. Which is to say that they're not competing against each other; they collaborate brilliantly – which would be sweet to watch were it not for the fact that they are working together the better to screw us.

When you criticise a bank, you are often accused of the crime of "minding profit". I don't mind profit. But the system as it stands has come untethered from all the principles by which profit justifies itself. Buyers and sellers are only equal parties working towards mutually beneficial deals when both have all the relevant information. Generally we have no information and discover what the banks are up to roughly six years later, if at all. All I think when I read about the Barclays personal loan mistakes is, "Who will be next?"

In the end, who can blame them? They won't change until we will. I stayed with NatWest for 22 years; I joined it for the porcelain pigs! It has, or should have, no corporate identity beyond that it is part of RBS. That bank has all the garden variety failures that affect me personally as a customer – you can check them on a scorecard produced by Move Your Money – as well as occupying the hot epicentre of an FT diagram which details the causes of the 2008 financial crash.

That was a complicated disaster, caused by bad lending, bad investments, risky funding structures, low capital, and mergers and acquisitions. RBS alone had a finger in every pie chart (it is actually a Venn diagram). So this institution is at the very heart of an event that has caused misery for millions of people, not to mention lobotomised our political culture – and I'm still its customer. I'm effectively voting for it every time I get paid. It makes no sense at all; the loyalty is bizarre.

Some research has been done on the often lifelong fidelity we have to our banks, but it's not conclusive. Our parents are strongly influential in our choice of bank; it's possible we'd feel as though we were divorcing them by switching. And yet I know plenty of people who would happily divorce their parents and still won't switch. I put it down to the plasticity of the brain at bank-choosing age, the way we come to associate our particular institution with financial authority (over us), generosity (with overdrafts), trustworthiness … then these thoughts harden. We can be up to our chins in evidence to the contrary and we will still invest them with the respect we'd accord our university.

Anyway, I overcame all that and moved to Handelsbanken to coincide with the 7-Day Switch, which launched on Monday. Banks are required to finish the process of transferring your account in seven working days; it's remarkably low-effort from the consumer's point of view, but you should bear in mind that I'm not very far through it. I chose the bank because it has a devolved power structure in which the person in your branch makes the decisions, a countervail to the hollowing-out of the standard workplace in which fewer and fewer people are allowed to make decisions so that everybody can be paid as little as possible.

But I have reservations. It has a monthly £30 charge, and someone has already told me that this is like telling people to feed their children organic rack of lamb, and I make them sick. Which I think is fair. More on this another time. The important thing is to move your money; move it, or stop complaining.

Twitter: @zoesqwilliams
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
<<formTiddler NewArticleTemplate>>''Walgreens CFO tug of war between IT legacy systems and tech that could 'take us to glory'''
Linda Tucci, Executive Editor
Published: 16 Jan 2014

Wade D. Miquelon, CFO,president, International, Walgreen Co.Wade D. Miquelon
CFO, president, International,
Walgreen Co.
A few minutes on the other side of a tape recorder with Walgreen Co.'s Wade Miquelon makes one thing clear: the fast-talking, 49-year-old chief financial officer of the largest drugstore chain in the United States has a lot more on his mind than balancing the books. Since joining the Deerfield, Ill.-based drug retailing chain in 2008, Miquelon has been a strategic player in Walgreens' reinvention from a corner drugstore to an international healthcare delivery provider. He helped lead the company's recent $6.7 billion investment in Alliance Boots, the European pharmacy retailer, as well as a spate of other strategic acquisitions, including the Duane Reade chain and Drugstore.com.

With a degree in civil engineering from Purdue University and a master's degree in business administration from Washington University in St. Louis, Miquelon also demonstrates a keen understanding of the role IT systems and technology play in the 113-year-old company's path forward. Since his arrival, Walgreens has tripled its investment in technology.

SearchCIO caught up with Miquelon at the MIT Sloan CFO Summit in Newton, Mass., where he participated in a panel on business agility. In the first part of this two-part interview, Miquelon discusses his relationship with Walgreens CIO Tim Theriault, how the two  think about technology (IT legacy systems are a big issue), and how he gets others to think as strategically as he does about capturing business value.

Do you work closely with your CIO?

Wade Miquelon: When you look at the broad organization there are really only two parts that touch every single project, every single initiative -- finance and IT. We partner in lots of areas, not only on deployment initiatives requiring capital, but also on organizational redesign, headcounts, streamlining, all of that.

And who do you both report to?

Miquelon: I report to the CEO, as does the CIO. … We also work together on innovation. I have all the M&A [mergers and acquisitions], the business development, venture capital fund. Because a lot of innovation is happening in technology -- maybe not in IT directly but in technology related to the IT domain -- Tim has that hat, so we partner a lot on those matters: Is this an interesting company? Should we take a stake in it? How do we monetize it? What is the business model? How can we bring the technology in-house?

It sounds then like your CIO plays a role beyond keeping the lights on.

Miquelon: For sure. He has IT in the broadest sense, with the exception of our e-commerce business division. When it comes to new technology that can automate a pharmacy or tele-health that can bring visual health to all points of care, or medical devices, for example -- that is all in his domain.

You have a degree in civil engineering -- that must help a little bit in communicating with your CIO and IT department.

Miquelon: I have an engineering background, and that does help in dealing with technical people. Tim, before this, ran half of Northern Trust -- I believe he ran the client wealth part of the bank. So that also gives him a bit of a unique background in the fact that he tends to be very customer-centric.

What are the biggest -- or toughest -- technology decisions your company had to make in the past year?

Miquelon: One area is that we have a lot of mega systems that are IT legacy systems. So, for example, in 1986 we put in three huge state-of-the-art systems: our point-of-sale [POS] system, our data server system, as well as the system that manages our entire pharmacy. Last year, we replaced two of them. The POS system, for example, is about a $400 million cost just to put the new system in our stores. The other legacy system was our data servers.

Another is what I would call 'leaning-forward technology.' We're developing 'HealthCloud,' which is quite an extensive and expensive health system that links to HIT [health information technology] and billing systems and can reach out to hospitals and to physicians.  We've had to balance between these core legacy systems that pay our bills every day and these other ones that we think might take us to glory in the future. And it is that tug of war that is tough.

IT metrics: Business value, ability to execute

How do you make the decision to replace IT legacy systems and go in a different direction?

Miquelon:  We try to be driven by the business logic and business value. One example is our point-of-sale system. It was literally taking days to train a clerk to use it; it was slow, we couldn't integrate the data.

We wanted to roll out our Balance Rewards customer-loyalty program. If we used the old system it probably would have taken two or three minutes to enroll each person -- we've enrolled 90 million people; instead it has taken less than 20 seconds. We can integrate that data.

Then the question became if we can really do it and do it with excellence, then we're going to free up a lot of time with our employees; we will be able to drive a better customer experience and launch all sorts of capabilities. I have to say it was a homerun.  The system was done on time and on budget.

With our data servers system, we basically had servers that were 25 and 30 years old, and if they went out, then we could be out of business. You could say, 'What likelihood would we have of a black swan event?' But if it ever happens, we could damage the company. So the question was, 'Can we do the project and do it with excellence?' And we did.

We have other legacy systems that you could argue we need to update and refresh. But the problem with some of them is that they are so massive and so integrated that it is not even an issue of whether or not we can or should afford it; the issue is how do you do it and make sure that when you pull all these things apart and put them back together, it is going to work. But I think it is really forcing IT and finance and accounting to work together -- we're partners -- to really say what is the business case here and what value will it create and what are the milestones along the way?

How do you come to the metrics that allow you to make that decision with IT so everyone understands what the measures are?

Miquelon: I think IT is probably one of the hardest areas to quantify. I know people have tried to do an ROI, a return on investment, for IT spending, and sometimes some of that maybe over-complicates the issue. You can use a whole set of assumptions and come to numbers that look good. But I think sometimes with IT, you need to break it down into smaller components and maybe multiple measures.

Uncrossing the Wires: Starting and sustaining conversation on technology value

So for any given project there are probably four or five key measures that we can say, 'If we could do this and this and that, then we think it makes sense.' I'll use the POS system as an example: If we could put in a POS system for $400 million and it could work seamlessly so that you didn't even have to train on it -- a new clerk could just log  on -- and it could do transactions this fast, and we could enroll Balance Rewards  members in 20 seconds, and we could use it to push and pull data as a screen to train employees, then for a company our size, that would be a really good investment.

I think ERP systems for finance could be like that. We're doing some new ERP implementations, and IT is obviously our core partner in that. (It has various systems, but Oracle is part of the main engine.) It's replacing a lot of legacy systems. For a company that is going to be $130 billion, what's the value of having financial core systems that are contemporary and work and allow us to [do] things like global consolidation? It's hard to put an IRR [internal rate of return] on that, but I can put [it] down if you can do it for these costs and we can deliver these metrics, then I know it is the right thing to do.

'Chunking' the cutting-edge tech projects

With your forward-leaning technologies -- for example, your HealthCloud -- how are you thinking about those in terms of value?

Miquelon: It's a private cloud, but it will be interfacing with middleware so we can talk to anybody in their language, versus just in ours. This is probably one of the hardest ones to value. The way we're thinking about it is by trying to chunk it. By that, I mean: 'What's Phase 1? What are low-hanging fruit modules that, if we could roll out, we believe we could utilize and monetize?' And then we get value from Phase 1 and the organization can get excited about spending the next level of budget for Phase 2, which then integrates with Phase 1, but also allows us to monetize something else.

For example, in the Phase 1 cloud, it gave us the ability to do vaccinations much more broadly in terms of the billing and all the backbone processes. And now we are not only the largest vaccinator of flu shots, but also all other vaccinations. 

The fact that you're turning yourself into a health care delivery company is kind of mind-boggling.

Miquelon: If we can do a flu shot for half the cost of a physician or a third the cost of the hospital, and you can walk in and walk out, it makes sense. We're going to be able to do lab testing with a drop of blood for half the cost of Medicare.

@@Good ideas vs. 'value creation,' CFO teaches strategic thinking

Could you elaborate on the point you made in your talk about the need for CFOs to educate employees on "value creation" -- on getting from interesting ideas to value creation? How do you do that?

Miquelon: For me it starts with teaching people how to think strategically. In the context of a business, I think there are standard frameworks that are very helpful. I like the [Harvard Business School Prof. Michael] Porter framework: What are our goals and aspirations? How do we play? How do we win? What are the capabilities?  And then understanding how to make sure it is integrated and reinforced. That takes days and days if not weeks of study, but everyone in an organization can learn to think that way. And the CFO can help drive that training and teaching, because you don't want one person in a company to be a chief strategy officer -- what you want is everybody to think strategically.

Once you go through that framework, then you can help people to learn how to create value and how to capture value. And they're different. With one specialty patient, for example, we saved a payer almost $1 million by the interventions we were able to make. We got $8 for doing that. That is a case where we created value, but we didn't capture any of it. I think helping people understand both is critical, because you'll get a lot of ideas that are great, but then you have to ask what will they pay us for it? Or, will they come more often? And the answer may be 'No.' … It's really just logic, and spending time with people to walk them through that logic so they can make it their own.

Logic can get in the way for people who think only in terms of their function or line of business. @@

Miquelon: You make a good point. If someone's logic is, 'My job is to create awesome IT systems,' I would say, 'No, your job is to create awesome IT systems when they enable the creation of value.' If you are developing an awesome IT system [that] has no link to the core business, is not supported by the business itself, and there's no way to monetize it, it's kind of like [a] tree falling in the forest with no one there to hear it -- is there a sound?

You've been at Walgreens since 2008. Would you say the IT function has changed over that time? Has the IT organization become more strategic in helping Walgreens realize its goals?

Wade Miquelon: For sure. The prior IT head is still with us and she did a very nice job and is now an executive in HR. And she started the journey. Let's put it this way: When I walked into the organization in 2008, I think we were woefully under-invested in IT. Through her initial leadership, but certainly through Tim's, we spend far more time now on IT than we did before.

How much more, would you say?

Miquelon: I'd say close to triple. Also, the IT budgets are embedded in the business budgets, so the businesses are willing to pay for that.

Do you have a formal chargeback process?

Everybody's trying to disrupt everybody. If you're not paranoid and looking over your shoulder, you're probably insane.
Wade Miquelon, CFO, Walgreens

Miquelon: We do. The central IT function -- the stuff that is not related to the businesses -- is growing by a couple percent. But the total IT budget that is related to the business, and [what] the business is willing to pay for, is growing substantially more than that over the past five or six years. And that's important, as I said, because we had to play some catch-up.

Our business model has also gotten more complex. When we were just a retailer, a certain kind of system was good enough, but when you get into healthcare and when you get into e-commerce and when you get into the things that we're doing globally, these systems don't cut it anymore. So we also have to morph our resources to morph our business model.

Now that you're capturing all this data, what are your chief concerns when it comes to collecting, and what opportunities accrue from analyzing that data?

Miquelon: The No.1 concern is that we meet all the privacy and other regulations for patients and consumers, because, at the end of the day, we have 40 million people coming through our doors and most of them are giving [us] their healthcare information to some degree. And the moment we don't manage their trust is a big problem.

But having said that, the data we have also enables tremendous opportunities for interventions to help people. So how do we find that sweet spot? That's one piece and that's on the healthcare side.

On the consumer side, it is about how we get more tailored offerings to our customers. We have almost 90 million people in our mobile Balance Rewards program; we have their information; we're using their information to customize offerings. Their redemptions can go up from a couple percent, but we've had over 20% redemptions when we've been able to target [the offerings].

But do you have those long receipts that CVS has?

Miquelon: No, we don't have those at all. These tailored redemptions are just on your mobile phone. But we're going to be living in a world where things come tailored to you and every offering is linked to your mobile phone and maybe linked to your mobile wallet; these things will happen over time because they make sense.

I recently talked to guy who was doing work for Staples, and one of their issues is the logistics of getting data to the store soon enough so a decision can be made in real time.

Miquelon: The supply chain is a terrific place where technically you can have your cake and eat it too. I'll give you an example. When I was back at Procter & Gamble, one of their senior supply chain execs gave a speech on 'the bottle that never stops.' He basically said that from the time we order a shampoo bottle from a supplier, to the time we fill it in the plant, to the time it travels to the distribution center, to the time we put it on a shelf, to the time a customer finally buys [it] and brings it home, you're talking anywhere from nine to 15 months. But imagine a world where the bottle never stops -- it comes right from the supplier and does not go to the distribution center, but right from the manufacturing plant to the shelf just in time for it to get pulled off. The time can be compressed to 30 days -- and think what it would mean for your supply chain, for inventory, for your ability to innovate, for your customer service; it is astronomical.

But this supply chain notion, enabled through IT, is a big idea. The technical term in supply chain circles is "customer-driven supply chain." So rather than push what we think we need to push out to a shelf, we're going to go all the way from the customer and the information we have, from the point-of-sale systems, and that is going to pull it through much faster.

A CEO advises CIOs on keeping relevant

Meet Zipcar's data-driven CMO

For Atlanta Falcons, it's omnichannel or bust

CIO, CMO at HoneyBaked Ham cooks up ways to serve customers

How do you make a customer-driven supply chain?

Miquelon: With our partnership with AmerisourceBergen, we are outsourcing our whole supply chain to them, everything at once, which is a massive amount of volume, but they are setting up an infrastructure where they are going to come to every store every single day.

So imagine what that does. We should never have an out-of-stock drug. We can have a lot less inventory in stores. And we can also enable completely new business models, such as what we call multichannel specialty, that is, specialty patients buying high-value drugs from us that they can get through the mail or at any one of our 24-hour stores. It changes the business model forever.

'Everybody is trying to disrupt everybody'

Where would you say you're in that continuum compared to other businesses using this model?

Miquelon: I'm sure the Wal-Marts are ahead of us, because they've been at it longer and have gobs and gobs of money they can throw at it. They also have around 3,000 stores, where we have 8,000; so they have fewerstores but much bigger volume. So every time we have to put in a Wi-Fi or a T-line or whatever, it's more expensive on a ratio per sales per store. And then there are folks like Amazon, which grew up as a data and supply chain company. But relative to many of our other competitors, I think we're really leading the way.

There was some talk at the conference about disruptive innovation. You're disrupting healthcare. Do you worry about anyone disrupting you? Is Amazon going to go into the drugstore business next?

Miquelon: Everybody's trying to disrupt everybody. For example, for a couple of years there was a lot of fear that mail -- mandatory mail programs -- would disrupt pharmacy. That was true for a while, but now mail is shrinking, and the reason why is that we can provide a cost-competitive advantage. Many customers want choice and many also want access to a pharmacist; and we can also do mail.

Another one is the Internet -- Amazon and others. You would be crazy not to worry about that. But most of the things we do, we're competitively priced, we're convenient, we're in healthcare and wellness care. A lot of things we do, we touch people physically; we have a large home brand portfolio that you can't get anywhere else. So, I think we're in pretty good stead there, but I would never say never. We also have a big online business. We bought Drugstore.com. So in the space we play in we try to have an 'omni-channel' approach, as we call it, so you provide people with choice. But if you're not paranoid and looking over your shoulder, you're probably insane.

But to your point, in some of these things, such as primary care, we're not trying to disrupt the primary care doc. We want to be a player on the team. We say, 'You own the medical home; you own the patient, but when you need someone to do a vaccination, we can do it for you cheaply; when you need an intervention with a diabetic patient, we can do it for you and feed the information back to you.' In that environment, the physician can make more, we can make a good living, the patient can be healthier, and the ultimate payer can pay less for the person. Those are 'win, win, win' sweet spots.

This is the last question. If you would wave your magic wand and have your IT team do anything for Walgreens next year, what would it be?

Miquelon: I'll finish where I started. Together we have this enterprise view that not many people in the company will have. Our people touch every product, every organization, every initiative. So we have to understand where our people are working on things that are not going to create and capture value -- and therefore call it out and redirect resources. And we have to know where our people are working on things that are going to create and capture value. And if we aren't putting all the wood behind the arrow in those cases, we should redeploy some of those other resources so they can implement [value-capturing projects]flawlessly, have a business model attached to [them], and we can go on and monetize [them] productively.

It is that value creation/capture journey that usually comes down to working on 1,000 different things and making the right choices.<data>{"author":"Linda Tucci","articletitle":"Walgreens CFO tug of war between IT legacy systems and tech that could 'take us to glory'","pagenumbers":"20140116","journalinfo":"SearchCIO"}</data>
<<formTiddler NewArticleTemplate>>''A CIO's journey to IT transformation begins with 10 steps''
Niel Nickolaisen

This has been quite a year for changes in IT. I sometimes feel like an overmatched boxer in the ring. As soon as I think I have a good handle on the changing state of technology and my CIO role, something new comes along and lands another punch on my jaw. And, as the pace of technology change continues to accelerate, the hits will keep coming. Here is what I learned in 2013 and where I think IT transformation will be in 2014.

In spite of our concerns about and uneasiness with the cloud, it is a certainty. This past year, I made a single hardware purchase. That purchase was to expand my storage. I also vowed that this one would be my last storage purchase as we move our never- and rarely-accessed data to slow and cheap storage in the cloud. I did not make a single server purchase while still handling a significant growth in employees and customers.

My legacy complexity only gets in the way of our IT agility. My stated goal is for IT to be faster than the organization. We have accomplished that except where our work touches my un-architected, overly complex, and highly customized legacy environment. My plans for 2014 include dedicating resources to blowing up and rebuilding that environment.

For the first time in the history of the world, we are the persons and teams who can help the organization own the future.

I can use analytics to prove the value of IT. In early 2013, we experimented with and piloted advanced customer analytics. At the risk of sounding too arrogant, we knocked it out of the park. The results of these analyses have changed how the organization thinks and operates. In parallel, everyone really believes that we IT-types are amazing. We can already measure the impact of these projects on customer retention. We will continue to focus on and innovate our analytics in 2014 and, probably, forever.

In 2013, we made significant strides in shifting how many resources we apply to new projects and innovation. Through a combination of prioritization and standardization, we were able to allocate just over 50% of our IT resources to new projects. In an environment in which the entire organization is now dependent on IT and demands more from IT, we have to get out of the business of maintaining and enhancing our legacy systems and processes. With so much new stuff coming our way, we simply do not have the time to keep our focus on the old stuff. For the first time in the history of the world, we are the persons and teams who can help the organization own the future. We cannot seize this opportunity if we spend our time making business rule changes to how we process payables!

Along those lines, 2014 is the time to become transformational leaders. The organization needs us to be effective in leading change, delivering value and moving into the future (because the future is all about technology). A friend recently asked me what I meant by "transformational leaders." To me, being transformational means that I:

** Recognize that my role is to create a culture where innovation and motivation thrive.
** Accept the reality that I, by myself, will never have the answers the organization needs.
** Thus, believe that collaboration is the only meaningful way to deal with both ambiguity and market dynamics.
** Focus innovation on the few areas that lead to competitive advantage.
** Create a culture of trust and be trustworthy.
** Create a culture of ownership and never take ownership away.
** Continuously improve processes through simplification and standardization.
** Can clearly articulate the why of what must be done -- the why is the vision that others will follow.
** Hold myself and others accountable, but blame and fix processes (rather than individuals or teams) if things do not go as planned.
** Think "outside /in" by understanding the lives and needs of customers.

The pace of 2013 was crazy. I expect the pace of 2014 to be insane followed by whatever is beyond insane in 2015.

''About the author:''
Niel Nickolaisen is CIO at Western Governors University in Salt Lake City. He is a frequent speaker, presenter and writer on IT's dual role enabling strategy and delivering operational excellence. Write to him at nnick@wgu.edu.<data>{"articletitle":"A CIO's journey to IT transformation begins with 10 steps","author":"Niel Nickolaisen","journalinfo":"CIO","pagenumbers":"201312"}</data>
[img[http://www.tutorialspoint.com/images/cmmi-staged.jpg]]<<formTiddler NewArticleTemplate>>''CMMI Maturity Levels''

A maturity level is a well-defined evolutionary plateau toward achieving a mature software process. Each maturity level provides a layer in the foundation for continuous process improvement.

In CMMI models with a staged representation, there are five maturity levels designated by the numbers 1 through 5

Quantitatively Managed

CMMI Staged Represenation- Maturity Levels

CMMI Staged Approach
Now we will give more detail about each maturity level. Next section will list down all the process areas related to these maturity levels.

Maturity Level Details:
Maturity levels consist of a predefined set of process areas. The maturity levels are measured by the achievement of the specific and generic goals that apply to each predefined set of process areas. The following sections describe the characteristics of each maturity level in detail.

Maturity Level 1 - Initial
At maturity level 1, processes are usually ad hoc and chaotic. The organization usually does not provide a stable environment. Success in these organizations depends on the competence and heroics of the people in the organization and not on the use of proven processes.

Maturity level 1 organizations often produce products and services that work; however, they frequently exceed the budget and schedule of their projects.

Maturity level 1 organizations are characterized by a tendency to over commit, abandon processes in the time of crisis, and not be able to repeat their past successes.

Maturity Level 2 - Managed
At maturity level 2, an organization has achieved all the specific and generic goals of the maturity level 2 process areas. In other words, the projects of the organization have ensured that requirements are managed and that processes are planned, performed, measured, and controlled.

The process discipline reflected by maturity level 2 helps to ensure that existing practices are retained during times of stress. When these practices are in place, projects are performed and managed according to their documented plans.

At maturity level 2, requirements, processes, work products, and services are managed. The status of the work products and the delivery of services are visible to management at defined points.

Commitments are established among relevant stakeholders and are revised as needed. Work products are reviewed with stakeholders and are controlled.

The work products and services satisfy their specified requirements, standards, and objectives.

Maturity Level 3 - Defined
At maturity level 3, an organization has achieved all the specific and generic goals of the process areas assigned to maturity levels 2 and 3.

At maturity level 3, processes are well characterized and understood, and are described in standards, procedures, tools, and methods.

A critical distinction between maturity level 2 and maturity level 3 is the scope of standards, process descriptions, and procedures. At maturity level 2, the standards, process descriptions, and procedures may be quite different in each specific instance of the process (for example, on a particular project). At maturity level 3, the standards, process descriptions, and procedures for a project are tailored from the organization's set of standard processes to suit a particular project or organizational unit. The organization's set of standard processes includes the processes addressed at maturity level 2 and maturity level 3. As a result, the processes that are performed across the organization are consistent except for the differences allowed by the tailoring guidelines.

Another critical distinction is that at maturity level 3, processes are typically described in more detail and more rigorously than at maturity level 2. At maturity level 3, processes are managed more proactively using an understanding of the interrelationships of the process activities and detailed measures of the process, its work products, and its services.

Maturity Level 4 - Quantitatively Managed
At maturity level 4, an organization has achieved all the specific goals of the process areas assigned to maturity levels 2, 3, and 4 and the generic goals assigned to maturity levels 2 and 3.

At maturity level 4 Subprocesses are selected that significantly contribute to overall process performance. These selected subprocesses are controlled using statistical and other quantitative techniques.

Quantitative objectives for quality and process performance are established and used as criteria in managing processes. Quantitative objectives are based on the needs of the customer, end users, organization, and process implementers. Quality and process performance are understood in statistical terms and are managed throughout the life of the processes.

For these processes, detailed measures of process performance are collected and statistically analyzed. Special causes of process variation are identified and, where appropriate, the sources of special causes are corrected to prevent future occurrences.

Quality and process performance measures are incorporated into the organization.s measurement repository to support fact-based decision making in the future.

A critical distinction between maturity level 3 and maturity level 4 is the predictability of process performance. At maturity level 4, the performance of processes is controlled using statistical and other quantitative techniques, and is quantitatively predictable. At maturity level 3, processes are only qualitatively predictable.

Maturity Level 5 - Optimizing
At maturity level 5, an organization has achieved all the specific goals of the process areas assigned to maturity levels 2, 3, 4, and 5 and the generic goals assigned to maturity levels 2 and 3.

Processes are continually improved based on a quantitative understanding of the common causes of variation inherent in processes.

Maturity level 5 focuses on continually improving process performance through both incremental and innovative technological improvements.

Quantitative process-improvement objectives for the organization are established, continually revised to reflect changing business objectives, and used as criteria in managing process improvement.

The effects of deployed process improvements are measured and evaluated against the quantitative process-improvement objectives. Both the defined processes and the organization's set of standard processes are targets of measurable improvement activities.

Optimizing processes that are agile and innovative depends on the participation of an empowered workforce aligned with the business values and objectives of the organization. The organization's ability to rapidly respond to changes and opportunities is enhanced by finding ways to accelerate and share learning. Improvement of the processes is inherently part of everybody's role, resulting in a cycle of continual improvement.

A critical distinction between maturity level 4 and maturity level 5 is the type of process variation addressed. At maturity level 4, processes are concerned with addressing special causes of process variation and providing statistical predictability of the results. Though processes may produce predictable results, the results may be insufficient to achieve the established objectives. At maturity level 5, processes are concerned with addressing common causes of process variation and changing the process (that is, shifting the mean of the process performance) to improve process performance (while maintaining statistical predictability) to achieve the established quantitative process-improvement objectives.

Maturity Levels Should Not be Skipped:
Each maturity level provides a necessary foundation for effective implementation of processes at the next level.

Higher level processes have less chance of success without the discipline provided by lower levels.

The effect of innovation can be obscured in a noisy process.

Higher maturity level processes may be performed by organizations at lower maturity levels, with the risk of not being consistently applied in a crisis.

Maturity Levels and Process Areas:
Here is a list of all the corresponding process areas defined for a S/W organization. These process areas may be different for different organization.

This section is just giving names of the related process areas, for more detail about these Process Areas go through CMMI Process Areas Chapter.

Level	Focus	Key Process Area	Result
Optimizing	Continuous Process Improvement	
Organizational Innovation and Deployment

Causal Analysis and Resolution

Highest Quality /
Lowest Risk
Quantitatively Managed	Quantitatively Managed	
Organizational Process Performance

Quantitative Project Management

Higher Quality /
Lower Risk
Defined	Process Standardization	
Requirements Development

Technical Solution

Product Integration



Organizational Process Focus

Organizational Process Definition

Organizational Training

Integrated Project Mgmt (with IPPD extras)

Risk Management

Decision Analysis and Resolution

Integrated Teaming (IPPD only)

Org. Environment for Integration (IPPD only)

Integrated Supplier Management (SS only)

Medium Quality /
Medium Risk
Managed	Basic Project Management	
Requirements Management

Project Planning

Project Monitoring and Control

Supplier Agreement Management

Measurement and Analysis

Process and Product Quality Assurance

Configuration Management

Low Quality /
High Risk
Initial	Process is informal and Adhoc	 	Lowest Quality /
Highest Risk
What is Next:
<<formTiddler NewArticleTemplate>>The purpose of this article is to provide a basic overview of CMMi for Software Development, in the form of a definition of CMMi and an explanation of how the official CMMi-DEV Version 1.2 documentation is organized. 

CMMi� stands for Capability Maturity Model� Integration and it is a process improvement maturity model that has been developed by the Software Engineering Institute, SEI, at Carnegie Mellon. It is important to note that CMMi defines what processes and activities need to be done and not how these processes and activities are done. The goal of CMMi is process improvement and CMMi can be thought of as a Software Process Improvement, SPI, framework. 

This article explains the CMMi for Development CMMi-DEV. CMMi� for Development, Version 1.2, contains 573 pages and is organized around 22 process areas that represent the core processes for software development.

The 22 process areas of CMMi for Development are:-

CMMI� for Development, Version 1.2 (CMMI-DEV, V1.2)
Causal Analysis and Resolution (CAR)	 Configuration Management (CM)	 Decision Analysis and Resolution (DAR)	 Integrated Project Management +IPPD (IPM+IPPD)
Measurement and Analysis (MA)	 Organizational Innovation and Deployment (OID)	 Organizational Process Definition +IPPD (OPD+IPPD)	 Organizational Process Focus (OPF)
Organizational Process Performance (OPP)	 Organizational Training (OT)	 Product Integration (PI)	 Project Monitoring and Control (PMC)
Project Planning (PP)	 Process and Product Quality Assurance (PPQA)	 Quantitative Project Management (QPM)	 Requirements Development (RD)
Requirements Management (REQM)	 Risk Management (RSKM)	 Supplier Agreement Management (SAM)	 Technical Solution (TS)
Validation (VAL)	 Verification (VER)	.	.


For each process area a list of practices (or capabilities) is given. The idea being that a software development organization improves their capability by implementing the practices documented. There are a number of levels of capability which are achieved by applying more definition and control to the key development processes. The level of capability (of a given software development organization) can be assessed by an independent auditor, usually external. 

By way of example the practices (which are grouped by goals) for the Requirements Management (REQM) process area are:- 

Specific Goal 1 (SG 1) Manage Requirements.
Specific practice 1.1 (SP 1.1) Obtain an Understanding of Requirements.
Specific practice 1.2 (SP 1.2) Obtain Commitment to Requirements.
Specific practice 1.3 (SP 1.3) Manage Requirements Changes.
Specific practice 1.4 (SP 1.4) Maintain Bidirectional Traceability of Requirements.
Specific practice 1.5 (SP 1.5) Identify Inconsistencies Between Project Work and Requirements.
Note that the practices only define what is needed to be done and not how, for example SP 1.4 Maintain Bidirectional Traceability of Requirements, can be achieved using a Traceability Matrix but only the goal and practices are stated. SP 1.4 could also be achieved using a database of cross references or some other mechanism, the intent of CMMi is to describe what capabilities a software development process should have and not prescribe how those capabilities are achieved. This gives organizations the flexibility to implement an appropriate solution to achieve the capabilities in their unique environments. 

For any level of process capability, beyond the basic incomplete or initial (discussed later), all of the specific practices have to be implemented. In addition to the Specific Practices (SP), as illustrated above, there are Generic Practices (GP). It is the generic practices that determine what capability level an organization has reached, with respect to a given process. 

Extending the Manage Requirements process area, to include the generic practices, we would include the following (arranged by goal, or in this case generic goal (GG)):- 
Generic Goal 1 (GG 1) Achieve Specific Goals. 
Generic Practice 1.1 (GP 1.1) Perform Specific Practices.
Generic Goal 2 (GG 2) Institutionalize a Managed Process.
Generic Practice 2.1 (GP 2.1) Establish an Organizational Policy.
Generic Practice 2.2 (GP 2.2) Plan the Process.
Generic Practice 2.3 (GP 2.3) Provide Resources.
Generic Practice 2.4 (GP 2.4) Assign Responsibility.
Generic Practice 2.5 (GP 2.5) Train People.
Generic Practice 2.6 (GP 2.6) Manage Configurations.
Generic Practice 2.7 (GP 2.7) Identify and Involve Relevant Stakeholders.
Generic Practice 2.8 (GP 2.8) Monitor and Control the Process.
Generic Practice 2.9 (GP 2.9) Objectively Evaluate Adherence.
Generic Practice 2.10 (GP 2.10) Review Status with Higher Level Management.
Generic Goal 3 (GG 3) Institutionalize a Defined Process.
Generic Practice 3.1 (GP 3.1) Establish a Defined Process.
Generic Practice 3.2 (GP 3.2) Collect Improvement Information.
Generic Goal 4 (GG 4) Institutionalize a Quantitatively Managed Process.
Generic Practice 4.1 (GP 4.1) Establish Quantitative Objectives for the Process.
Generic Practice 4.2 (GP 4.2) Stabilize Sub process Performance.
Generic Goal 5 (GG 5) Institutionalize an Optimizing Process.
Generic Practice 5.1 (GP 5.1) Ensure Continuous Process Improvement.
Generic Practice 5.2 (GP 5.2) Correct Root Causes of Problems.
A clear pattern can be seen, with reference to the Manage Requirements process area, across all the 22 process areas of CMMi. That is each process area has specific goals with practices that must be implemented. When the specific practices are implement then the first generic goal is achieved, the first generic goal in all the process areas is perform specific practices. This will get the organization to a level 2 capability. Then to gain higher capability levels the organization needs to apply the generic practices which will bring the process under increasing control, moving from capability 0, incomplete, thru to capability 5, optimizing. 

The following table maps the capability level with the generic practices that have been implemented. 

Capability level	Practices implemented
0 - Incomplete	 The specific practices are not fully implemented.
1 - Performed	 The specific practices for a given process area have been implemented, that is generic goal 1 has been achieved.
2 - Managed	 Generic goal 2 (GG 2) Institutionalize a Managed Process, is implemented. Note the levels are incremental, that is they build on each other so level 2 implies level 1 and level 2.
3 - Defined	 Generic goal 3 (GG 3) Institutionalize a Defined Process, is implemented.
4 - Quantitatively Managed	 Generic goal 4 (GG 4) Institutionalize a Quantitatively Managed process, is implemented.
5 - Optimizing	 Generic goal 5 (GG 5) Institutionalize an Optimizing process, is implemented.


The above capability mapping for all 22 processes is the same as the example Requirements Management process area. The specific goals and practices will be unique to the process area whilst the generic goals and practices will be similar, hence the terms specific and generic. 

One major complication for the reader of CMMi-DEV is that there are 2 maturity (or capability) hierarchies. This is because there are 2 separate implementation paths for CMMi. The first path is known as continuous and is described above. The second implementation path is known as staged and refers to an implementation path under which the order of which process areas are subjected to process improvement is important. The staged implementation path prescribes a set of process areas that need to be implemented for each capability level. Also the staged implementation has maturity levels in place of capability levels. 

The same principles, as for the continuous implementation method described above, apply to a staged implementation. In all cases the specific practices need to be implemented then the maturity level increases as the generic goals and practices are implemented. The process area definitions as well as the specific goals are the same for both staged and continuous implementation paths. 

For more information on the staged implementation method, as well as a detailed description of CMM-DEV, see the official CMMI-DEV V1.2 documentation. 
<<formTiddler NewArticleTemplate>><data>{"primtopic":"CMMi","synopsis":"This is a CMMi Primer"}</data>''CMMI IS EASY''



Many organizations use the Capability Maturity Model Integration (CMMI) for Development (CMMI-DEV), for Services (CMMI-SVC), or for Acquisition (CMMI-ACQ) to guide them as they grow and mature their processes and to support continuous process improvement. But due to a misunderstanding of what the CMMI truly is, some avoid it because they do not want to “adopt” or “implement” another process when theirs are already working for them. The CMMI is a model, not a process to be implemented. It reflects the types of things (or “specific practices”) that mature organizations do. It says, “If you do these things, then you are a mature organization, too.” How mature depends on how well you do them compared against the objective criteria in the CMMI. It is a tool used to detect the practices that maybe you don’t do, or don’t do well. Improve those weaknesses and you are taking steps towards process maturity.


There is a lot of clutter in the CMMI guidance. If you first understand the basics – the background noise that is prevalent in all other areas of the model – you will be able to swiftly move through the parts that count to your daily operations.

The CMMI identifies objective criteria for performing mature processes. It defines Capability Levels based on which of these criteria are met. In a nutshell, simply doing something means you are at Capability Level 1. Make it something that is managed… something that is planned and executed according to policy, resourced/staffed correctly, monitored, controlled, reviewed, and enforced… and you are at Capability Level 2. Now define them more rigorously, institutionalize them so there are organization-wide standards used across the board, and you are at Capability Level 3. The idea is that if you get a feel for how a mature process is managed and defined, you can then apply that to all the Process Areas in the model. Isn’t that common sense? A good process is planned, executed, and resourced properly. A good process is checked to ensure compliance. A mature organization will collect data about the performance of processes so resources don’t waste time on processes that don’t work, etc.

Generic Goals and Generic Practices go into a ton of detail on what Managed and Defined processes look like, but in my opinion, you can skip this part until you have established your processes… how you will accomplish the different process areas and specific practices in the model. Then you can circle back and make sure you are meeting the requisite Generic Goals. Until then, keep this in the background and don’t try to address it all at once.


Finally, the meat of the model is in the Process Areas (e.g. Project Planning), which are broken down into Specific Goals (e.g. establish estimates), which are broken down into Specific Practices (e.g. estimate the scope of the project). Each specific practice is described in one or more paragraphs and lists example work products and subpractices. The most important things in the CMMI are the specific practices, the one-line statements that you either have a process for doing or not. Do you already “estimate the scope of the project?”  If so, the description of that practice, the example work products and subpractices, even the goal or process area it belongs to, are all irrelevant.

The specific practices are the meat of the CMMI. Approaching your process improvement effort from the specific practice angle will allow you to cut through the clutter and circle back to the rest later if and when you need it. In fact, as you work with the model on your performance of specific practices, the rest starts making more sense and becomes almost intuitive.

OK, in reality, you will not always be able to fully understand each specific practice by reading only the one-line statement. All that extra content can be useful, but it can also mislead you. The example work products are not “required” work products. The subpractices are not “required” subpractices. If you are not sure how you would “estimate the scope of the project,” then by all means, check out the guidance, get some ideas, and do what works for you. But be forewarned… you can’t un-see them. Do not attempt to implement the work products and subpractices as written unless you truly believe they are the best fit for your organization’s culture.


So how does the CMMI help you determine your process maturity? Again, keeping the focus on the specific practices, you can make this simple. You want to make sure you perform each specific practice (Capability Level 1) and it is managed (Capability Level 2) and/or defined (Capability Level 3) as described above.

Putting these Capability Levels together allows you to rate yourself at a Maturity Level. Here’s how that works: The CMMI identifies which Process Areas are required to be performed at each Maturity Level. CMMI-DEV requires seven Process Areas for Maturity Level 2 (ML2). If all of the specific practices of these Process Areas are performed at Capability Level 2, then you are at ML2. The rest of the Maturity Levels require that the specific practices be performed at Capability Level 3, the only difference being which ones are required for a given level. ML3 adds 11 process areas for a total of 18, ML4 adds two more for a total of 20, and ML5 adds two more for a total of 22 process areas.


Do you need the CMMI to do great work? No, you don’t. You probably already have great processes in place and may feel that you don’t need a third party to tell your business if those processes are working for you or not. But think of it this way… the CMMI is a process mirror. It gives you insight into how your existing processes meet objective “maturity” standards. It will show you the good, the bad, and the ugly. If you truly are a high performance organization, you understand the value of objective feedback.

Get the gist? You can perform the specific practices in the model at different levels. The ability to see the current capability levels of each of your practices make it a good resource for improvement. You are not throwing spaghetti at the wall to see what sticks. You have an objective view of your weaknesses and a clear path to the next level… a standard to achieve.

A CMMI Institute SCAMPI appraisal can provide you with an independent report of your maturity level, weaknesses, and recommendations for further improvement. The SCAMPI appraisal is a formal, disciplined process, and can be costly. Successful appraisals are often used in proposals for new business and are increasingly becoming prerequisites on certain types of contracts (large government IT contracts, for example). If you do not need a formal appraisal and are only interested for process improvement’s sake, a good CMMI consultant can help assess your organization’s process maturity.


If you are seeking a certain Maturity Level rating for the wrong reasons, then it doesn’t matter how to go about it. You can hire a consultant that will tell you how to do your processes, or even offer pre-packaged processes for you to implement. You may be able to sustain that long enough to “pass” an appraisal, but the benefits will not be lasting for your organization.

A much better approach is looking at how you do business now and sticking with what works within your business’ culture. For example, you probably already do “estimate the scope of the project.”  To one organization, that may mean using a complex Work Breakdown Structure and predicting estimated hours for every task from start to finish. To you, it may mean estimating only broad portions in number of months, and approximating resources. Maybe you further break down those estimates only when it is important to do so, not before, like at the start of a sprint or iteration. As long as the process is managed and/or defined, and it works for your organization, then how you do it is irrelevant.

Try this exercise: Pick a Process Area and assume you already do each specific practice. Convince yourself that because your processes already work, you must already do this. Then challenge yourself to identify how and why it happens at Capability Level 2 or 3. Identify your weaknesses… the practices at your lowest Capability Level or ones that you do not yet perform. Think of the consequences. Do you have trouble today because those practices are not managed or defined? Do you notice that some projects perform better than others, but there is little consistency across projects or departments? And how would things be different if you increased the Capability Levels of those practices?

You are probably further along than you think.


Here are the key takeaways:

No third party model knows how to run your organization better than you do.
The CMMI can reflect what needs improvement in your organization and under what conditions your process can be considered mature.
If you are interested in improving the performance of your processes, if you have a process quality issue you want to solve, or if you want to provide evidence of your process maturity to prospective clients, the CMMI (and a SCAMPI Appraisal) is a great tool to help you reach your goals.
Be confident. If your process is mostly working for you already, you will not have to change much to see drastic improvement.
Consider engaging with a consultant, because the details of the CMMI can get overwhelming. Find one that has a modern perspective with experience in agile or lean processes, not one that pushes a prescribed “CMMI process.”
We have been using the CMMI at NMR Consulting to improve our processes and have never had more visibility and insight into our operations. This is a good thing.


The CMMI Institute: http://cmmiinstitute.com/
Certified Consultants and Appraisers:  http://cmmiinstitute.com/cmmi-getting-started/working-with-consultants/
Models (CMMI-DEV, SVC, and ACQ):  http://cmmiinstitute.com/cmmi-solutions/
“Agile” CMMI
On Google:  http://www.google.com/#q=agile+cmmi
On Bing:  http://www.bing.com/search?q=agile+cmmi

Lou Estrada is a Technical Program Manager for NMR Consulting with over 10 years’ experience in a leadership position on custom software development teams. He understands the technical, operational, and managerial aspects of software development, and has pursued process excellence throughout his career. Lou has implemented process improvements for several customers, teams, and projects. Most recently, he has implemented organization-wide software processes using the CMMI as a model for process improvement.	
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"Finextra","pagenumbers":"20140110","primtopic":"Payment systems","synopsis":"Use of cheques diminishing rapidly in Australia"}</data>''Aussie cheques are dying - but APCA throws a lifeline''

10 January 2014

Referencing the move by Barclays in the UK to introduce mobile cheque imaging in response to the reversal of banking industry plans to kill off cheques by 2018, APCA CEO Chris Hamilton recently said that type of technology could be seen in Australia in the next few years. 

But any vendors involved in implementing Check21 in the US last decade and looking to hawk their expertise down under shouldn't get too excited. Aussie banks have not yet shown any interest in cheque imaging, and particularly given the scale of investment required, are more likely to stand on the sidelines as cheques die a drawn-out death.

The monthly decline in cheque volumes over ten years to June 2013 represents a 67% drop. The trend line suggests that based on current rate of decline, and assuming there is no levelling out before it reaches zero, there will be no cheques used in Australia by the end of 2017.

Cheque values remain more resilient, suggesting that higher value business cheques are more persistent than lower value personal cheques. But in its most recent Milestones report , APCA reckons that the new real-time payments infrastructure under development will further reduce business cheque usage. 

The design and plan phase for the New Payments Platform (NPP) Program has been completed, and the steering committee plans to release details of the vendor sourcing process later this month.
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"New York Times","pagenumbers":"200809","primtopic":"Rock climbing characters","synopsis":"Chongo is a Yosemite institution","author":"Michael Brick","articletitle":"\"Pushing the limit\""}</data>TimesPeople
The New York Times
September 30, 2008
Pushing the Limit
For Rock-Climbing Guru, the Sky Is His Roof

SACRAMENTO — He was known as the king of the Yosemite lifers, that proud band of rock climbers, tightrope walkers and seekers who made camp on the margins of the law, sleeping under the black oaks and sequoias and California stars.

On his shoulders he carried an 80-pound constellation of canvas stowage, books and sweatpants, bottled water and mushy food, a sleeping bag and a reserve sleeping bag meant for some encountered companion of the road.

To the government, he was Charles Victor Tucker III, scourge of Yosemite National Park, fixture of the lodge cafeteria. To acquaintances, he was Chuck, harmless and stoned jester of the mountains. And to climbers the world over he remains Chongo, the Monkey Man, named for the sticky soles he had once fashioned from Mexican rubber.

“I learned a lot from Chongo,” said Ivo Ninov, 32, an accomplished guide from Bulgaria, “because he was the father of big wall climbing.”

But the fullness of Chongo’s legacy would appear only through his disappearance from rock climbing, a passage from sylvan to urban wilds that has made him a stranger to his sport and an outcast from his home, now reduced to sleeping under a tractor-trailer. Along the way, he would find a new kind of homelessness, and a new sense of mission.

Even among outliers, Chongo, 57, had always diverged. In a time of corporate sponsorships, he lived on charity, scavenging and bartering handmade wares. In a time of brand-name gear, he rigged worthy contraptions from found parts. In a time of speed-climbing records, he gained renown for his comically deliberate ascents. Once, he stretched an assault on El Capitan across two weeks, including three days spent pausing to consider some half-forgotten existential puzzle.
<<notes heading:'Rays Notes'>> 

Dumb jokes congealed around his legend, for he projected a familiar and comforting sort of weirdness. Around a campfire or a cafeteria table, tourists and weekend warriors could find in Chongo a certain box to cross off, the obligatory aging hippie recounting unintentionally hilarious misadventures, denouncing the prison-industrial complex and rhapsodizing on junk science.

Chongo would claim, for example, to remember the fear he had felt at his own birth. He would say he did not believe in the afterlife, partly out of a feeling that to do so demeaned our plane of existence, but also because he reasoned that certain principles of quantum mechanics negated such a concept.

“He has (supposedly) lived in Mexico, spent years in college, spent years in jail, been a computer programmer, been shot, done some serious partying, written books, climbed big walls, resoled shoes, made clothing, been there, and done that,” one online diarist wrote. “Most of it’s true; some of it is fabricated lore.”

As natural recreation in America gave way to luxury resorts, adventure travel and extreme sports, tales of Chongo grew outsize. He remained fiercely true to his vision of the outdoor spirit. While others burned out, joined the establishment or cashed in on televised feats of daredevilry, Chongo spent his days at Yosemite, revising manifestos on climbing, physics and philosophy.

“He’s kind of like this force of energy that people gather around,” said Pam Gutsch, a rock climber from Nevada. “Maybe it’s based on this philosophical idea of Chongo. He’s kind of a center. He’s not the top climber, but he’s a climber, and he can discuss it with anybody.”

Nearly three years ago, Chongo abandoned climbing altogether. Rumors of his whereabouts began to trade around the big rocks and rope-walking fixtures of the Western states. Expelled from Yosemite, he found his way to Sacramento, where he beds down in a trailer yard, eats lunch at a day shelter and types articles on science in the ramshackle office of a homeless advocacy group.

Yosemite’s Ethos

After nature itself, Yosemite National Park owes much of its grandeur to John Muir, the Scottish conservationist who claimed to have sought directions “to any place that is wild.”

In his 1912 guidebook, Muir likened the towering rock formations known as Half Dome, Sentinel Rock and El Capitan to the sight of a temple lighted from above.

“But no temple made with hands can compare with Yosemite,” he wrote. “Every rock in its walls seems to glow with life.”

A century later, paved roads now carve long stone tunnels through the mountains, bringing carloads of visitors to hotels with wireless Internet access, conference rooms and wedding facilities. Those who lay claim to Muir’s philosophical inheritance have long protested the commercial development. In the late 1960s, hippies living in the park began to draw the attention of the superintendent, Lawrence C. Hadley, described in news accounts of the day as “a brawny, soft-spoken man with tattoos on his arms.”

On July 4, 1970, around 7:30 p.m., park rangers sought to disperse a crowd of several hundred from Stoneman Meadow.

“For the next three hours, they raised hell,” Hadley later told reporters, “carrying on, boozed up, pounding their bongo drums. A lot of them seemed to be high on dope.”

Calling in support from nearby police departments, the rangers cleared the meadow and detained nearly 200 people. The young campers who had been whiling away their days climbing rocks and balancing on chains would long remember the confrontation. But the sports they were pioneering would lead down similar paths, split by accusations of commercial exploitation.

Some, like Dean Fidelman, 52, would sleep in the park intermittently for years. Fidelman, a photographer who sells calendars depicting nude women climbing big rocks, still practices a form of rope-walking for exercise, meditation and pleasure.

“It’s very noncommercial, there’s nothing here to sell,” Fidelman said, standing by a slack-line tied between two trees. But, he added, “Then you have sponsored climbers. They come in, they do their thing and then they leave. And they have a photographer.”

Younger athletes like Dean Potter and Steph Davis, a married couple who are among the most successful climbers in the world, have lucrative deals with apparel companies. Their exploits have been chronicled in magazines and documentary films.

“People who have been climbing a long time, like Chongo, might say, ‘Oh, it’s becoming more mainstream,’ ” Davis said. “At the same time, it might help climbers get more recognition.”

‘He Was the Connection’

Chongo parted his hair in the aimless manner of a river, a slapdash press of gray tangling down his neckline turning dun. Hash marks made a small gridiron of his forehead and wrinkles like ripples emanated from the corners of his lips to his gaunt, high cheekbones. Leathery skin, knowing eyes and a dilettante’s smile gave him the cabalistic twinkle of a movie pirate.

He seemed to have found his conversational stride sometime in the early 1980s, incorporating skater slang terms like bitchin’ and rad into his vocabulary long after they had fallen from fashion.

He draped his 5-foot-8, 155-pound frame in layers of cotton, the better to adapt to temperature changes without adding much weight. Around his neck he carried a cellphone that looked as if it had come skidding to his feet from the window of a moving car.

By his own account, Chongo was born on an American military base in Japan, son of an engineer, the oldest of seven children. He attended Van Nuys High School in Los Angeles’s San Fernando Valley, took a single calculus course at the University of Arizona and worked for a few years as a computing contractor. He started rock climbing as a teenager, learning to use a basic piton and hammer at Stony Point and Tahquitz Rock in Southern California.

“I finally got to know what I was doing in my 30s,” he said. “And knowing what I was doing was knowing a lot. A lot of people claim to know what they’re doing. No matter how well you plan, things can still go wrong.”

In the 1980s, Chongo moved to Mexico City, he said. He later told climbers that he had found the odd rubber he used to resole their shoes in the violent Tepito barrio, a claim that gained credence from his proficient Spanish. He stayed there for eight years.

“There were a lot of pretty girls in Mexico, and I’ve got blue eyes,” he said, “so that kept me down there.”

Returning across the border, Chongo eventually made his way to Yosemite and found a favorite climb in the gorgeous, temperate and arduous Steck-Salathé route up the north face of Sentinel Rock. He learned the form of tightrope walking that was developing into the sports now known as slack-lining and high-lining.

“I saw these guys walking on a chain,” he said. “I just knew that was something I could do. I knew that was a game I could play.”

In the 1990s, Chongo started making the campgrounds and forests of Yosemite his permanent home. He befriended serious climbers, helping newcomers meet partners and borrow gear.

“Pretty fast, all the dirtbag climbers started knowing Chongo,” Ninov said, “and he was the connection.”

Chongo earned respect as a journeyman climber, with accomplishments like rope-walking on the Lost Arrow Spire, but he gained more attention as a tinkerer. Climbers trusted him to resole their shoes. They studied his jury-rigged ropes and harnesses. But when they spoke of the spiritual aspects of rock climbing, Chongo played the spoiler.

“You go spend all this money to do something that basically only improves the world by improving your outlook on it,” he would say, “and if you don’t take it and do something with it, it’s narcissistic.”

Chongo’s innovations and eccentricities came to seem intertwined. Once he designed a complex set of tools allowing him to, in essence, hitchhike up the face of El Capitan. He stayed out on the rock for days on end, asking passing climbers to pull up sections of his gear.

“He had all these systems where he could haul all these massive loads with these multipulley systems he had made up,” Davis said. “Just stuff to live on the wall for an indefinite time period.”

The same shenanigans that endeared Chongo to rock climbers drew less favorable attention from the authorities. On July 9, 1993, park rangers issued him a warning for exceeding the seven-day limit at the Sunnyside Campground. Though many people lived in the park for extended periods, few made such brazen spectacles of themselves as Chongo.

In January 1995, park rangers began to suspect him of running an unauthorized textile business from his tent at the Hidden Valley campground. Learning his nickname, they began including it in police reports as an alias.

Under the rangers’ scrutiny, Chongo’s determination to live at Yosemite only increased. He sought out places in the forest to unroll his sleeping bag, or else camped dangling from the great rock formations, out of reach in plain sight.

Again and again, rangers cited him for camping violations like commandeering a bear locker to store his effects. His residence appeared in court records as “transient climber.”

The transient part was accurate. But Chongo was actually devoting less and less time to rock climbing, turning his attention instead to writing. In 1996, he completed the first edition of “The Complete Book of Big Wall Climbing,” a staggering brain dump of instruction and rumination, 576 pages divided into 21 chapters captioned with Roman numerals and Melvillian headings like Raising Anchor, Quarters and The Hold.

He charged $100 for the book and found plenty of takers. Beginning climbers took his oddball wisdom as a guide to technique, etiquette and culture. Every spring, as the California foothills grew thick with weekenders from San Francisco, Silicon Valley and beyond, demand for the book produced new sales.

“He’s a draw; rock climbers know who he is,” said Debbie Collins, who publishes the books from her print shop in Altadena, Calif. “It’s like he’s got the whole thing in his head. He keeps revising later editions to fix a period or a single word.”

At the same time, Chongo was growing disenchanted with the sport. The park was crowded with tourists, more than 3.4 million in 2000 compared with 2.2 million in 1970. Apparel companies were paying the top climbers to use their gear. The communal spirit was buckling beneath a new emphasis on setting speed records. And as a popular pastime, climbing was moving indoors, to manmade rocks with grooves of plastic. Some of these were erected in shopping malls.

Reading widely, conversing liberally and smoking frequently, Chongo turned his attention to popular physics. Encouraged by sales of the big-wall climbing books, he began to fashion treatises on science.

Reluctantly, he embraced his vagrancy as a sort of gimmick. Though he aimed to be taken seriously, he tentatively titled his magnum opus “The Homeless Interpretation of Quantum Mechanics.”

The science books did not sell.

“He’s spent five years on this,” Collins said. “I try to get it through his head that the audience for physics books is so tiny. He’s got delusions of grandeur.”

The Law Catches Up

On any given day in the first years of the new century, Chongo could be found at a corner table of the Yosemite lodge cafeteria, agonizing over the details of his manuscripts.

Between tomes on science, he produced entertainments like “The Quotable Chongo on How to Be Bitchin’,” a slim volume of aphorisms including “Perfection is mandatory.”

But his greatest exertions went toward completing “The Homeless Interpretation of Quantum Mechanics,” a single-spaced work of unbroken text contemplating humanity, infinity, gravitational forces, space, time and destiny. Its final paragraphs spilled across the back cover, giving the effect of a speaker whose microphone has been cut off. It opened with a poem:

All the dreams

all the schemes

and all the beautiful scenes, that ever were

First never were

Then were forever

Then never, ever were again

In April 2000, park workers found Chongo in their offices making copies. He was charged with misappropriation of property. The next year, rangers impounded his property, 100 pounds of food, bedding and climbing gear stored at the base of the Sea of Dreams route on El Capitan.

“Tucker, who is more commonly known as ‘Chongo,’ ” the rangers wrote, “has told various rangers he has been climbing Sea of Dreams for more than a year and a half, and has had climbing equipment, which is clearly visible from the Valley floor, hanging on this route during this period.”

At first, the rangers tried reasoning with Chongo. But as the years went on, positions hardened on both sides. The rangers issued more violation notices, and Chongo gave them less information.

“I’ve asked Tucker on many occasions where he stays,” Ranger Jack J. Hoeflich wrote in a report. “Tucker is evasive, ignores the question, or states that he can’t tell me.”

In 2004, the authorities set out to prove that Chongo was living unlawfully at Yosemite. He had registered to camp exactly 30 times that year, suspiciously matching the annual limit. On Nov. 17, the rangers started recording every sighting of Chongo for comparison to registration records.

But short of confessing, Chongo did little to disguise his residence. He viewed Yosemite as his rightful home. He voted on a provisional ballot from the park. He rented a post office box. He even bragged to rangers that “if one simply writes, Chongo, Yosemite, CA on a letter, then he will receive it.”

As winter 2004 set in, the rangers began compiling evidence to charge Chongo with four misdemeanor violations of camping regulations, each carrying a maximum penalty of six months in jail. In a police report supporting the case, Ranger Edward Visnovske detailed five years of his observations.

“It is assumed that Tucker has lived most of his life this way, looking for ‘loopholes’ in society to allow him to exist without a job or a home as we know them,” Visnovske wrote. “Tucker had become a master of counter-surveillance and would go through incredible routines to insure that he was not being followed.”

The case of United States of America vs. Charles V. Tucker opened before federal Magistrate Judge William M. Wunderlich of the Eastern District of California on Oct. 5, 2005. In his small courtroom near Yosemite Village, the judge heard two days of testimony.

“When he had his trial here, we had his courthouse packed every day,” said Fidelman, the photographer. “He means something to a lot of people here.”

Several climbers, including Dean Potter, testified for the defense. Seeking to discredit the prosecution’s circumstantial evidence of illegal camping, Potter and others swore they had driven Chongo in and out of the park, putting him up in their homes for weeks on end.

Chongo was convicted on three of the four counts. He left Yosemite National Park by bus.

A New View of the Stars

Along the American River through central Sacramento, the Dos Rios Triangle neighborhood gives way to a nameless expanse of industrial parks, depots, drainage systems and halfway houses where the homeless, the formerly homeless and the soon-to-be homeless pass from station to station.

Across from a pornography shop, the Sisters of Mercy operate an expansive day shelter called Loaves & Fishes. From inside a trailer, the Sacramento Homeless Organizing Committee publishes the Homeward Street Journal, chronicling advocacy efforts. Its back pages carry advertisements, cartoons, obituaries, poetry and, in recent issues, a full-page column on topics like special relativity, credited to “the homeless science writer, Chongo.”

To the regular crowd at Loaves & Fishes, Chongo has become a familiar figure, discussing his thoughts on quantum mechanics and giving demonstrations of slack-lining. He has returned to Yosemite only briefly. Jerry Maciulla, 53, who works part-time in the shelter’s storage shed, said he was aware that Chongo “was supposedly a world-class rock climber.”

“I know what he’s talking about, but I wouldn’t try it now that I’ve got a wife and two kids,” Maciulla said. “You’re taking your life in your hands with those sports.”

But others have found Chongo’s place in sports history of smaller consequence than his gentle approach to everyday troubles. He has forged friendships, or at least truces, with security guards at several transit yards, warehouse facilities and other places considered prime for clandestine bivouacking. In this manner, he has helped negotiate safe harbor for homeless men like John Kraintz, 54, a skeletal figure who wears a rubber band in his beard and sways from side to side when he speaks.

“He’s sort of a guru, sort of a teacher who sort of raises a bar that needs a lot of raising,” Kraintz said. “Inspiration in a place where there’s a lack of hope.”

From the trailer office, Chongo emerged one morning on crutches, which he used to propel himself across the courtyard.

“This place is kind of where you can go and the cops don’t mess with you,” he said. “I’ve learned a lot about the true homeless lifestyle here. This is the jail fodder. It used to be you could go out and stay at these places I stayed at, but as time went on, they made laws against that. You couldn’t just go out and rock-climb and not consume.”

In the dining room, volunteers were spooning out meals designed to provide the full caloric content for an entire day, nacho pie with meat, beans and olives, sliced bread with thick slabs of butter, salad, oranges, Fig Newtons and Gatorade.

Picking at his meal, Chongo spoke of his time climbing rocks at Yosemite.

“I provided a great deal of inspiration to a lot of people to pursue a narcissistic activity, and I wonder if I’ve done good,” he said. Though camping in the park had been a kind of homelessness, he said, “I didn’t understand what it meant. I didn’t realize I was automatically a member of this community.”

Later, as the shelter locked its gates, Chongo hauled his pack through the procession trudging toward the riverbeds, night shelters and overpasses. He passed a man strapped with an ankle monitor, another marcher in the homeless parade.

“I love to sleep outdoors,” Chongo said. “Fresh air is best.”

At an abandoned parking lot by the Alkali Flats train station, he dropped his knapsack and his crutches and climbed onto a cable drooping between two 4-foot-high poles, momentarily converting this small piece of the urban landscape into a slack-line. He took a tentative step, found his balance and then danced ahead with no partner as the wire tautened behind his weight.
Chongo, it seems, is one of the last of that Race of Hippies who grew out of The Beat movement during the Flower Power season of the 1960's.

His rock climbing style is an interesting counter-point to the current "speed climbing" craze...perhaps in his eccentric way he has found a whole philosophy of life half-way up El Capitan.
|Description:|Closes the tiddler if you click new tiddler then cancel. Default behaviour is to leave it open|
|Version:|3.0.1 ($Rev: 3861 $)|
|Date:|$Date: 2008-03-08 10:53:09 +1000 (Sat, 08 Mar 2008) $|
|Author:|Simon Baird <simon.baird@gmail.com>|

	handler_mptw_orig_closeUnsaved: config.commands.cancelTiddler.handler,

	handler: function(event,src,title) {
		if (!store.tiddlerExists(title) && !store.isShadowTiddler(title))
	 	return false;



<<formTiddler NewArticleTemplate>><data>{"journalinfo":"Search CIO","pagenumbers":"201401","primtopic":"cloud computing","synopsis":"Price is not the only benefit of cloud computing","author":"Karen Goulart","articletitle":"For cloud computing use, business needs trump cost savings as top driver"}</data>''For cloud computing use, business needs trump cost savings as top driver''

Karen Goulart, Senior Features Writer
Published: 08 Jan 2014

When it comes to public cloud computing use in 2014, it's all about the business.

Among 830 IT leaders who responded to the biannual TechTarget Fall 2013 Cloud Pulse survey, nearly half (45%) indicated "business needs" as their top reason for adopting public cloud technologies. 

The response marked a change from two years ago, when respondents overwhelmingly chose cost savings (73%) as the top driver for their use of public cloud services. Only 29% singled out cost savings in the fall 2013 survey. 

CIOs and analysts contacted by SearchCIO said the survey findings are in line with their experience and what they see coming in 2014. It's a sign in part, they said, of the evolving role of the CIO at many companies, from chief dictator of IT services to a business strategist and technology partner to users. 

Indeed, CIOs have little choice but to strongly consider cloud as the vehicle of choice for meeting business needs, they said. IT departments need to take advantage of the agility cloud computing affords. And, as important, they need to guide the sometimes willy-nilly and potentially risky cloud purchases made by "shadow IT" -- a practice that has grown in recent years because of the availability and marketing of cloud services to business users.

Laura Patterson, CIO for the University of Michigan, exemplifies the change in attitude.

At Michigan, she saw firsthand that employees were looking for better, faster options outside of what IT was offering. One hot item: the adoption of commercial cloud storage platforms without contractual protection for university data.

Understanding the need but recognizing the risk, Patterson's team adopted cloud storage and file-sharing services from Box.com. They were able to quickly put the service in place. Building an on-premises service wasn't really an option -- the time it would have taken to complete would have meant more potentially dangerous adoption of consumer-grade services.

"Our logic was that we could provide the cloud service without making an infrastructure investment," she said. If, at the end of the contract, the service wasn't being adopted, her IT department could simply discontinue it without having sunk costs into infrastructure and development. But, she noted, money was not a motivator.

"Our decision to adopt Box.com for personal storage, collaboration and file sharing was driven by a business need to provide a storage [service] quickly, not by cost savings," she said.

Cost savings vs. agility? Cloud provides both
The ultimate story these surveys are starting to tell is there's a realization happening that there's a bigger picture than simply saving a penny here or there, and that is a very good thing.
Tim Crawford, strategic adviser, AVOA

Since cloud began emerging into mainstream computing in 2008, conversations always began with and centered on cost, said former CIO and current CIO adviser Tim Crawford of Rolling Hills Estates, Calif.-based CIO consultancy Avoa. That has changed. "I think there's finally a realization that not everything is about immediate cost savings with a technology," he said.

As the Cloud Pulse and other surveys suggest, Crawford said, CIOs and IT leaders are seeing cloud as less of an "out there" option and more of an everyday technology. "The ultimate story these surveys are starting to tell is there's a realization happening that there's a bigger picture than simply saving a penny here or there," he said. "And that is a very good thing."

The shift rings true for analyst James Staten at Cambridge, Mass.-based Forrester Research Inc. All recent surveys by the consultancy point to speed as the No. 1 reason to adopt cloud, he said. And it's nearly always the business that is asking for it. If CIOs and IT leaders responding to the Cloud Pulse survey are now focusing on cloud for its potential value to the business, "that's a strong recognition that they finally 'get it,'" Staten said.

Still, going from "getting it" to actually reaping business value from the technology can be a long process. A 2013 forecast by Stamford, Conn.-based Gartner Inc., based on the consultancy's global survey of more than 2,000 CIOs, suggested that on average, enterprises realize only 43% of the business potential of technologies, including cloud computing.

Ed Anderson, analyst and research director with Gartner, is optimistic that the percentage will soon climb. In the coming year, companies will be "turning up the dial" on cloud use in terms of enthusiasm, confidence and adoption rates, he predicted. "This is the year we're going to see it taken to the next level … incorporating cloud into broader technology plans."

That doesn't mean cost is out of the picture. Most IT leaders today will say they're adopting cloud technologies for the business advantages, but "they still love the potential cost benefits of cloud," he said.

The keyword there is "potential," those interviewed stressed. As CIOs have come to learn, there are other costs associated with cloud. They may include retraining employees, business process redesign or integration of cloud with their traditional systems, Anderson noted. But even then, the question is whether the additional costs are offset by the business benefits. "If CIOs see enough value from a business perspective [and] that it's worth the move, they'll make it."
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"NYTimes","articletitle":"\"Coffee Linked to Lower Dementia Risk\"","author":"Nicholas Bakalar","pagenumbers":"200901","synopsis":"More than 5 cups of coffee per day reduces risk of Dementia","primtopic":"Coffee helps prevent Alzheimers"}</data>Coffee Linked to Lower Dementia Risk

Published: January 23, 2009

Drinking coffee may do more than just keep you awake. A new study suggests an intriguing potential link to mental health later in life, as well.

A team of Swedish and Danish researchers tracked coffee consumption in a group of 1,409 middle-age men and women for an average of 21 years. During that time, 61 participants developed dementia, 48 with Alzheimer’s disease.

After controlling for numerous socioeconomic and health factors, including high cholesterol and high blood pressure, the scientists found that the subjects who had reported drinking three to five cups of coffee daily were 65 percent less likely to have developed dementia, compared with those who drank two cups or less. People who drank more than five cups a day also were at reduced risk of dementia, the researchers said, but there were not enough people in this group to draw statistically significant conclusions.

Dr. Miia Kivipelto, an associate professor of neurology at the Karolinska Institute in Stockholm and lead author of the study, does not as yet advocate drinking coffee as a preventive health measure. “This is an observational study,” she said. “We have no evidence that for people who are not drinking coffee, taking up drinking will have a protective effect.”

Dr. Kivipelto and her colleagues suggest several possibilities for why coffee might reduce the risk of dementia later in life. First, earlier studies have linked coffee consumption with a decreased risk of type 2 diabetes, which in turn has been associated with a greater risk of dementia. In animal studies, caffeine has been shown to reduce the formation of amyloid plaques in the brain, one of the hallmarks of Alzheimer’s disease. Finally, coffee may have an antioxidant effect in the bloodstream, reducing vascular risk factors for dementia.

Dr. Kivipelto noted that previous studies have shown that coffee drinking may also be linked to a reduced risk of Parkinson’s disease.

The new study, published this month in The Journal of Alzheimer’s Disease, is unusual in that more than 70 percent of the original group of 2,000 people randomly selected for tracking were available for re-examination 21 years later. The dietary information had been collected at the beginning of the study, which reduced the possibility of errors introduced by people inaccurately recalling their consumption. Still, the authors acknowledge that any self-reported data is subject to inaccuracies. 
<<notes heading:'Rays Notes'>> 
Name: MptwTeal
Background: #fff
Foreground: #000
PrimaryPale: #B5D1DF
PrimaryLight: #618FA9
PrimaryMid: #1a3844
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #f8f8f8
TertiaryLight: #bbb
TertiaryMid: #999
TertiaryDark: #888
Error: #f88
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"Finextra","articletitle":"Retail and financial services groups from cybersecurity partnership","pagenumbers":"20140212","primtopic":"Banks and Merchants partnering to protect against fraud"}</data>''Retail and financial services groups from cybersecurity partnership''

In the wake of the Target data breach, a collection of merchant and financial trade associations have joined forces, promising to work to together to tackle cybersecurity threats. The two industries have long been at odds over who takes the blame and bears the costs associated with cyber attacks. 

The recent Target hack has already cost banks over $172 million in re-issued cards and a recent analysis by Jefferies suggested that the retailer could be on the receiving end of a $1 billion breach bill from the payment industry.

The National Association of Federal Credit Unions recently urged Congress to crack down on data security weaknesses among merchants, arguing that its members are picking up the tab for poor standards. 

However, the two sides are now stepping up cooperation efforts through a partnership involving 14 trade associations, led by the Retail Industry Leaders Association and the Financial Services Roundtable.

In a statement, the group say that the payments ecosystem operates best when cyber threats are tackled collaboratively, with retailers, banks, card companies, processors, and security and technology vendors sharing information to ward off attacks and protect data. 

The partners also insist that "innovative technologies must be implemented, such as systems that will transmit payment data in a way that is unique and dynamic to reduce the risks".

Camden Fine, president and CEO, Independent Community Bankers of America, says: "Data protection is a shared responsibility of everyone involved in the payments processing chain. Consumer confidence in the payments system is vital for retailers, networks, processors, telecom providers, and card issuers and is at the heart of the customer-bank relationship."

The associations will now set up various working groups to focus on areas such as increasing threat information sharing, innovative technologies, and national data breach laws.
<<formTiddler NewArticleTemplate>>''Code of Ethics''

Each and every one of you will agree, the maintenance of an ethical culture is of utmost importance to any institution because it will at least make one pause to think before knowingly doing something wrong. An ethical culture is even more important to a Bank because the success or failure of one is largely dependant on the maintenance of public confidence and having an ethical culture will encourage the staff to do what is perceived as right. It will also act as a deterrent towards doing wrong.

In order to make that task easier it has been decided to adopt a “Code of Ethics for Officers of Commercial Bank.” It must be appreciated, as much as we need to display our technical superiority and efficiency, it’s even more important to base our day to day decisions on sound ethical principles. We also need to always remember that what we do is not only being keenly watched by our own subordinates, but also by the other stakeholders and the society at large. While requesting all staff members to strictly abide by its requirements, I make a special appeal to all the senior staff, to always set high ethical standards, which the others would feel obliged to follow. I trust the contents of the Code would help our staff, to develop and maintain a high ethical culture.


(1) Preamble

The establishment and maintenance of an ethical culture is important for any Organisation. It is particularly so, for a Bank where maintaining and fostering public trust and confidence is of critical importance. In establishing and maintaining an ethical culture in the Bank, the examples set by the Members of our Board of Directors, the Corporate Management, Executives and Senior Staff would exert a powerful influence on all employees.
Money is the basic commodity revolving around the business of Banking. In dealing with money temptations abound. Hence, adopting the highest ethical standards to fight off the lure of additional wealth, temptations and conflicts of interests arising from maintaining close customer relationships, to face industry challenges resulting from globalisation, innovations and diversifications, is of critical importance to the progress of the Bank. Striving to achieve targets under intense competition also puts Bank Officers under pressure which could lead to malpractices and illegalities.
It is critical to maintain high ethical standards in decision making at the higher levels of management. It should be ensured that all necessary safeguards are in place to avoid situations of impairment of decisions due to various circumstances such as relationships, friendships, inducements, gratifications or conflicting interests.
While it is important for all employees to use their personal and business relationships to canvass business opportunities and to obtain advantages in negotiating business deals or transactions for the Bank, they should avoid situations that may lead to impairment of business decisions and create conflicts of interest by declaring their connections, relationships and other underlying circumstances to their Superior Officers where appropriate.

(2) Importance of Business Ethics

Business ethics is defined as “the process of evaluating decisions, with respect to the moral standards of society”. Core ethical values include honesty, integrity, fairness, responsible citizenship and accountability. Putting it differently, business ethics means “choosing the good over the bad, the right over the wrong, the fair over the unfair, the truth over the untruth”.
Observing high ethical standards goes beyond observing the law which is a basic professional requirement. The Bank must also pay close attention to moral concerns in order to make the right ethical decisions on a day-to-day basis. Upholding of an ethical culture in banking is of critical importance to regulators, the Bank, employees and customers alike. It brings about a wide range of benefits.
- Ethical banking practices help safeguard depositors’ interests, maintain the stability of the system and preserve the reputation of the Bank.
- The adherence of the highest ethical standards by the staff of the Bank can prevent breaches of the law and the corrupt practices. This will, in turn, protect stakeholders’ interests and enhance the Bank’s competitiveness and brand image.
- The cultivation of strong moral values amongst employees can empower them to come up with suitable solutions when facing ethical dilemmas. Ethical business practices are essential ingredients of professionalism. It is also the prerequisite for effective staff management. A bank officer should therefore make every effort to ensure that his staff conduct their business in accordance with extremely high ethical standards.
- Customers’ interests will be better protected through trustworthy and ethical banking practices. Hence, only persons of integrity should be entrusted with this responsibility. If not, public confidence would quickly be eroded and the very stability of the banking system as a whole, would be undermined.

(3) Risks Involved

Corruption facilitates and protects crimes in Banks. Most of the corruption related offences involve staff who solicit or accept gratifications as rewards for taking or refraining from taking, a particular action.
Following are a few of the common offences involving gratifications :
a) Approving substandard/unqualified/ineligible applications for credit facilities, falsifying supporting information, granting unjustifiable terms and unnecessarily expediting the process of loan requests.
b) Accepting false documents, inflated valuations, not complying with title examination requirements and releasing or substituting securities without necessary approval.
c) Knowingly considering credit applications involving bogus business transactions.
d) Disclosing confidential information to unauthorised persons/sources.
e) Participating in money laundering or conspiring to hide suspicious transactions from law enforcement authorities.
f) Unfair allocation of jobs for contractors or suppliers, showing favour in placing orders, making excessive purchases and disclosing confidential information on tenders.

(4) Banks Code of Ethics

The Code spells out the expected standards of behaviour and sets the operating principles to be followed.
It is necessary to ensure that the standards of behaviour expected of Management and employees are followed in its letter and spirit. Every Officer should ensure that the Bank at all times maintains high ethical standards and adequate internal control measures are in place guarding against unethical practices and irregularities.
To make the Code effective, it would be necessary :

a) To apply core-values and principles embodied consistently.
b) For Management to display the fullest support to the Code and serve as role models for compliance.
c) To ensure that all personnel strictly comply with the Code.
d) That fair rewarding and punishment be effected under a transparent system.
e) To communicate the contents to all employees and even make the Code available to those outside the Bank.
f) To review and revise regularly.

(a) Expected Standards of Behaviour – Ethical Issues - Do’s and Don’ts

1. Where interests conflict with that of the Bank or its customers, a disclosure to be made and Superior Officer’s advice to be sought.
2. No loans should be approved by any staff for immediate family members or relatives or to Companies in which they have personal interests.
3. Staff should not receive credit from third parties on abnormally favoured basis.
4. Staff should not offer bribes or other illegal gratifications to obtain business or other favours.
5. Staff should not solicit or accept bribes or other illegal gratifications from outside parties to consider, expedite or afford unjustifiable favours in business transactions.
6. Supervisory and Managerial staff should not influence or pressurise subordinate staff in decision making.
7. Staff should not make decisions on the influence or pressure, of superiors or outsiders. If such an influence or pressure is made, the name of the party influencing/pressurising should be indicated in the relevant paper.
8. If, for furthering Banks business interests, offering of a reward is necessitated, staff should ensure that it does not breach the law and is offered with the necessary approval.
9. Staff should not solicit personal favours or benefits using official position.
10. Staff should not divulge customer information to third parties except in accordance with the law. Employees whose spouses and dependents are employed at competitor Banks should exercise greater care about wittingly or unwittingly disclosing confidential and sensitive information about one’s Bank and its customers.
11. Sharing of confidential or proprietary information within the Bank should only be for legitimate business purposes.
12. Staff should not deal in shares or other securities based on sensitive information possessed as a result of employment.
13. Staff should not take up any outside employment.
14. Staff should not compromise decision making in lending and other business contracts of the Bank due to influence of gratifications, friendships, relationships or other circumstances. A friendship/relationship for the purpose of this Code is defined as an acquaintance or a relationship between parties to a contract or transaction as a result of which, normally expected standards of assessment would be reduced and/or precautions and safeguards normally taken are overlooked and/or services and courtesies normally not extended are permitted and/or conditions, restrictions and qualifications generally imposed are relaxed.
15. Staff should not place themselves in a position of obligation, by accepting special favors, extravagant/high value gifts, offers for staff picnics or overseas travel, frequent excessive entertainment and favours offered for their immediate family members and other favours or considerations, from persons with whom they have business dealings.

(b) Identification of Malpractices and follow up action

- Senior staff should be vigilant for any malpractices of their subordinates. Special attention should be paid to subordinates’ behaviour as well as other symptoms of malpractices in areas of work.
- Some of the behavioural symptoms requiring attention would be :

Reluctance to accept transfers, promotions, change of duties or working hours or non availing of Annual Leave and non delegation of work
Unusual relationships with subordinates, clients or clients’ staff or sudden changes in life styles and behavioural patterns, incommensurate with income and assets.
Presentation of documents for authorisation in large, unrelated batches at busy times or at times during which authorisation power has been delegated to others.
- Symptoms of possible malpractices involving staff and third parties in the areas of lending, trade transactions, account operations etc. need to be detected and reported.
- A Manager should know his staff and the customers well and should be vigilant to identify and detect such warning signals.

(c) Reporting Malpractices

One of the benefits of abiding with a “Code of Ethics” is the timely detection and reporting of malpractices.
While all Senior Staff are essentially required to diligently involve in the detection/reporting of malpractices, it is necessary to reiterate the importance of “Whistle Blowing”.
All employees at every level should be encouraged to report malpractices observed to their Heads of Department/Senior Management or the Compliance Officer. In such circumstances, total confidentiality pertaining to the reporters anonymity and protection from any harassment should be assured. The Compliance Officer, when malpractices are reported to him, should draw the attention to the issues at the appropriate levels of authority and if required, take up the issues with the Managing Director and/or Chairman of the Bank.
All employees should be prepared to “Blow the Whistle”, if and when they come across any unethical activities which they are powerless to stop.
Where unable to stop others from doing the wrong thing, staff must have the courage to “blow the whistle” by bringing them to the notice of higher authorities in the Bank.
Upholding ethical behaviour should be a part of the Bank’s culture, where staff members would not hesitate to “blow the whistle” when an unethical act is observed, even though such act is strictly within the law.
After reporting malpractices to the Department Heads/Senior Management or the Compliance Officer, if adequate action is not taken, the employees are further encouraged to refer the issues to the Managing Director and/or Chairman of the Bank, if necessary.
Therefore, while it is important to avoid making frivolous allegations, staff should report malpractices observed even if the evidence cannot be fully substantiated. They should also check and follow the Bank’s procedure in making a complaint and confine the complaint only to those who need to deal with it.
It is necessary for the staff to understand that they would become a party to it if they do not report a malpractice upon detection.

Complaints when received should be dealt with quickly and follow up action taken as necessary, through disciplinary procedures or through law enforcement agencies as applicable.
Where there are doubts to be cleared, the employees are encouraged to consult either the Heads of the Department, Senior Officers or the Compliance Officer.

|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|Description|automatically insert formatted comments into tiddler content|
>see [[CommentPluginInfo]]
>see [[CommentPluginInfo]]
2008.05.17 [2.9.0] optional 'overwrite' param replaces existing comment when stored as separate tiddler
| please see [[CommentPluginInfo]] for previous revision details |
2006.04.20 [1.0.0] initial release
version.extensions.CommentPlugin= {major: 2, minor: 9, revision: 0, date: new Date(2008,5,17)};

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
		var target=(params[0]&&params[0].length&&params[0]!="here")?params[0]:tid;  // target title
		var overwrite=(params[1]&&params[1].toLowerCase()=="overwrite"); if (overwrite) params.shift();
		var reverse=(params[1]&&params[1].toLowerCase()=="reverse"); if (reverse) params.shift();
		var tags=(params[1]&&params[1].length)?params[1]:this.tags; // target tags
		var fmt=(params[2]&&params[2].length)?params[2]:this.fmt; // output format
		var datefmt=(params[3]&&params[3].length)?params[3]:this.datefmt; // date format
		var html=this.html;
		var subjtxt=""; var msgtxt="";
		/*********** TBD: set previous subj/msg into form (for DiscussionPlugin "edit")
		if (overwrite) {
			var txt=store.getTiddlerText(target,"");
			// TBD: get subject text
			// TBD: get msg txt
		span.innerHTML=html; // append comment form to content
	html: "<form style='display:inline;margin:0;padding:0;'>\
		<div style='display:%nosubject%'>\
		<input type='text' name='subject' title='enter subject text' style='width:100%' value='%subjtxt%'>\
		<div style='display:%nomessage%'>\
		<textarea name='message' rows='7' title='enter message text' \
		<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 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\";\
	addComment: function(here,reverse,target,newtags,fmt,datefmt,subject,message,overwrite) {
		var UTC=new Date().convertToYYYYMMDDHHMMSSMMM();
		var rand=Math.random().toString();
		var who=config.options.txtUserName;
		var when=new Date().formatString(datefmt);
		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;
		var pos=text.indexOf(this.marker);
		if (pos==-1) pos=text.length; // no marker - insert at end
		else if (reverse) pos+=this.marker.length; // reverse order by inserting AFTER marker
		var newtxt=overwrite?out:(text.substr(0,pos)+out+text.substr(pos));
		if (document.getElementById(story.idPrefix+target))
		if (here!=target && document.getElementById(story.idPrefix+here))
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|Description|Documentation for CommentPlugin|
<<comment TiddlerName overwrite reverse tags format dateformat>>
*''~TiddlerName'' //(optional)//<br>specifies the 'target' tiddler into which the comments should be written.  If omitted, the tiddler in which the {{{<<comment>>}}} macro is contained is used by default.  //Note: when specifying additional macro parameters, you can use a blank ~TiddlerName (e.g., {{{""}}}) or the keyword //{{{"here"}}}// as a 'placeholder' to allow the current 'containing tiddler' to be used by default.//  The specified target can also include special //named substitution markers// to automatically generate a unique title for each target tiddler by dynamically inserting  values to construct the target ~TiddlerName, where:
**%tiddler%=containing tiddler title,
**%random%=random decimal number (.123456789),
**%who%=current TiddlyWiki username,
**%subject%=comment subject text.
*''overwrite'' //(optional)//<br>By default, comments are added to the current content of a tiddler (if it already exists).  When the ''overwrite'' keyword parameter is present, the comment text completely replaces the previous contents of an existing tiddler.  ''Warning: extreme caution should always be applied when using the overwrite option, as all existing content of a tiddler will be discarded whenever a comment is written to that tiddler''. 
*''reverse'' //(optional)//<br>specifies the order in which new comments are added to the target tiddler.  By default, new comments are added //following// existing comments (if any).  When this parameter is present, new comments will be inserted //before// existing comments, resulting in a reverse-chronological display (i.e, newest comment shown first).
*''tags'' //(optional)//<br>specifies one or more space-separated tags to add to the target tiddler whenever a comment is written.  Note that the list of tags should be enclosed in "..." so that it is processed as a single parameter.  Also, to specify tags when writing comments to the current tiddler, use a blank placeholder for the TiddlerName (e.g., "")
*''format'' //(optional)//<br>specifies a custom output format that overrides the default output format defined via {{{config.macros.comment.fmt}}} and is used when inserting comments into the target tiddler.  The format uses //named substitution markers//, where:
**%tiddler%=containing tiddler title,
**%when%=formatted date/time,
**%message%=comment body text.
*''dateformat'' //(optional)//<br>specifies a custom date/timestamp output used within the comment format above.  When present, this parameter overrides the default date/timestamp format defined via {{{config.macros.comment.datefmt}}}.  See the ''Configuration'' section below for additional details.

To indicate the location within the target tiddler where new comments are to be saved, embed a marker: {{{/%comment%/}}}, in the tiddler source.  Each new comment is inserted immediately preceding the marker, resulting in a time-ordered sequence of comments.  If no comment marker is present in the target tiddler, new comments are automatically appended to the end of that tiddler's content.
To configure the behavior and formats used by [[CommentPlugin]], place one or more of the following javascript statements in a tiddler tagged with <<tag systemConfig>>: //(note: the default values for each setting are shown)//
>when set to {{{true}}}, all new comments to be inserted //following// the comment marker instead of preceding it, resulting in a reverse chronological display order.  If no comment marker is present in the target tiddler source, the 'reverse' option is ignored and new comments are always appended to the end of the target tiddler.
config.macros.comment.fmt="__''%subject%''__\n^^posted by %who% on %when%^^\n<<<\n%message%\n<<<\n";
>defines the comment output format to be inserted into the tiddler, where: %when%=date/time, %who%=username, %subject%=subject, and %message% is the body of the comment.  //Note: if you omit %subject% from the output format, the subject input field on the comment form will be automatically suppressed.  Similarly, omitting %message% from the output format suppresses the message input field.  This can be useful when using the {{{<<comment>>}}} macro to create simple activity logs that only require a short, one-line subject rather than entering extended message content.//
config.macros.comment.datefmt="DDD, MMM DDth, YYYY at hh12:0mm:0ss am";
>defines the date/timestamp output used within the comment format above.
>defines an optional space-separated, list of tags to be added to the target tiddler whenever a comment is written.  This is most useful when the target tiddler is different from the tiddler containing the {{{<<comment>>}}} macro, to make it easy to locate that tiddler later on.

Note: as of revision 2.0.0, dependencies on [[NestedSlidersPlugin]], [[MoveablePanelPlugin]], [[InlineJavascriptPlugin]] and [[ExpandSlidersScript]] have been eliminated.  As a result, the comment form and generated comment output are no longer automatically contained within sliders and the "view all/close all" command is not automatically included.  To recreate the previous output format and comment interface, use the following syntax in the tiddler in which you want to place your comments:
+++^40em^[add a note]...
<<moveablePanel>>add a note
<<comment here "" "+++!!!!![%when% (%who%): %subject%]>...\n%message%\n===\n">>===
 | <<tiddler ExpandSlidersScript with: here "view all" "close all">>
2008.05.17 [2.9.0] added support for optional 'overwrite' macro param to replace existing comment (for use when comment is stored as separate tiddler)
2008.04.21 [2.8.0] replaced use of %n markers with special 'named' markers: %tiddler%, %UTC%, %random%, %who%, %when%, %subject% and %message% to avoid conflict with TW core processing of tiddler content.  Also, added support for 'reverse' macro param.
2008.04.17 [2.7.0] added support for constructing target by inserting UTC timestamp, random number, username and/or subject text into target tiddler title
2008.04.15 [2.6.0] added support for custom format and dateformat parameters to override global default formats
2008.04.15 [2.5.1] make sure tiddlers are displayed before attempting to refresh them
2008.04.15 [2.5.0] refresh tiddler containing comment macro after adding new comment to target tiddler (if different)
2008.04.14 [2.4.0] added optional tag list parameter for tagging the target tiddler when comments are written
2008.04.14 [2.3.0] if %2 (subject) or %3 (message) are omitted from format string, suppress display and validation of corresponding form elements.
2008.04.13 [2.2.0] added optional ~TiddlerName param to specify target tiddler for writing comments
2008.04.10 [2.1.0] converted from inline script to plugin
2008.04.05 [2.0.0] removed dependencies on NestedSlidersPlugin, MoveablePanelPlugin, ExpandSlidersScript
2007.10.24 [1.2.0] added config.options.txtCommentDateFormat
2007.07.05 [1.1.0] added 'view all/close all' toolbar item plus code cleanup
2007.06.28 [1.0.2] added tiddler.fields to saveTiddler() call (preserves custom fields)
2007.05.26 [1.0.1] added support for optional 'reverse' keyword.
2006.04.20 [1.0.0] initial release
config.macros.comment.fmt="__''%subject%''__\n^^posted by %who% on %when%^^\n<<<\n%message%\n<<<\n";
config.macros.comment.datefmt="DDD, MMM DDth, YYYY at hh12:0mm:0ss am";

[img[http://blog.drcc.co.uk/wp-content/uploads/2011/01/3066995907_b1b481034c_m1.jpg]] [img[http://blog.drcc.co.uk/wp-content/uploads/2010/09/drcc-diagram2.jpg]]<<formTiddler NewArticleTemplate>>''How does content strategy differ from corporate communications strategy?''

7 January 2011

by Diana Railton

Since posting Content strategy: the essential link, a few people have asked what the difference is between content strategy and corporate communications strategy. Are they not the same?

The answer is no, certainly not. But the two are integral and complementary, rather like a Russian doll.

Neither a corporate communications strategy nor a content strategy has a set format. Outputs differ between organisations and strategists, especially while content strategy develops as a discipline.

The aim of a communications strategy is to support an organisation’s business strategy and goals. Based on a full needs analysis, the communications strategy is usually very broad. Content strategy is one of several supporting strategies.

In a large organisation, corporate communications is a huge adaptable field, made up of many varied activities and disciplines. Among them are advertising, brand management, public relations, media relations, investor relations, internal communications and corporate social responsibility. Each normally has its own strategy that supports the main communications strategy.

A detailed strategy consists of plans and tactics to achieve specific measurable results. To quote Ahava Leibtag, ‘it is about having a vision for what the future will look like and creating a step-by-step process of how you’re going to get there’.

All corporate communication activities depend on a wide array of communication channels. Many are new, web based, and growing in sophistication. Never before have organisations needed to plan and manage their content so carefully.

Enter content strategy.

Content strategy is effectively a gatekeeper between communication activities and channels, as the diagram in my earlier post shows. I’ve added it at the end of this post too since it illustrates many of the points I’m going to make.

The main purpose of content strategy is to plan ahead to ensure that content on different channels serves the organisation well and adds measurable value – in keeping with the communications strategy.

As a discipline, content strategy has come into its own when applied to websites and intranets. A huge number of content providers share these channels for a wide variety of purposes. Without a systematic plan for creating, delivering, governing and curating content, chaos can ensue.

In developing a wider strategic framework and road map for content throughout an organisation, we can use many of the same principles.

''Channels matrix''
A channels matrix is a diagram or list of the main communication channels available to your organisation. It can be complex to put together but, for strategic planning, serves its weight in gold.

The matrix provides a base for your organisation’s content strategy. Repeating my earlier definition, inspired by Kristina Halvorson and other web content strategists, this is:

* a plan for creating, delivering and governing your content, with specific measurable outcomes
* a rationale for providing content through the most appropriate channels to support your organisation’s goals and meet your audiences’ needs
* a repeatable system that manages your content throughout its lifecycle

In the matrix you can group types of channel, such as web, print, email, mobile, social media and face to face. You can show ‘web convergence’ – and how different channels interlink. For example, a speech may be videoed, the video goes on a website or YouTube, while other social media channels provide links and comments.

Using the matrix, you can provide guidance on the pros and cons of using particular channels. You can illustrate ways of mixing and matching them for different types of content. For example, if you want to make a news announcement, consider using channels a, b and c simultaneously. If you’re involved in content marketing, think about channels x, y and z – and so on.

You can also provide practical information about the teams in charge of certain channels – and the content strategy that relates to them. Although channels share many aspects of content strategy, finer details will vary. Content strategy for a website or intranet, for example, will be different to Twitter.

''Communication planning''
Content strategy is essentially a higher-level form of communication planning, content governance and quality control through specific channels.

It lends itself especially well to written or recorded communications. Both multimedia and social media fall into this category.

But content strategy can also help real-time, face-to-face, interactive communication, where there is an element of planning and control – such as presentations, interviews and team briefings.

Content strategy can also support the communications strategy with contingency plans for crisis communication. The channels and content procedures are ready and waiting – it’s a case of choosing and using the right ones, at the right time, in the right way.

''Goals and deliverables''
A content strategy will have a set of goals, ‘deliverables’ and key performance indicators. Some echo the communications strategy. Others will be supplementary and particular to different communication channels.

Aligned to the communications strategy, deliverables for a content strategy will usually include providing reference and guidance for content creators on:

* target audiences and personas
* key messages to underlie all corporate communications
* brand tone of voice
* content style guides, checklists and templates, illustrating how content for different channels needs tailoring differently

Liaising with content managers, a content strategy team can also keep a central content dashboard. This would track and monitor what content is currently showing on major channels, helping to ensure that the channels are working well together.

Content schedules (or ‘editorial calendars’) will differ channel by channel, as do content lifecycles. Most schedules should include timescales for reviewing, updating, deleting or archiving content.

Content needs regular auditing, analysing and measuring to ensure it’s adding sufficient value. What is it costing and what return on investment is it providing to the organisation?

As corporate communicators we should strive to answer these questions strategically. Content strategy provides a methodology to help us do so.

What do you think?

 <data>{"articletitle":"How does content strategy differ from corporate communications strategy?","journalinfo":"2011","author":"Diana Railton"}</data>
This is a list of useful and interesting sites that offer examples of External and Internal Communications material, best practices and plans.

''Broad Articles''
|http://en.wikipedia.org/wiki/Corporate_communication|Primer of Corporate Comms|
|http://en.wikipedia.org/wiki/Employer_branding|Relationship between employee and customer relationship|
''Internal Comms''
|http://internaladvantage.com/|Singapore based consultancy specialising in Internal Comms|

''External Comms''
<<formTiddler NewArticleTemplate>><data>{"author":"George Monbiot","journalinfo":"The Guardian","pagenumbers":"20131111","primtopic":"Power","synopsis":"Politicians allow lobbyists to control them","articletitle":"It's business that really rules us now"}</data>It's business that really rules us now
Lobbying is the least of it: corporate interests have captured the entire democratic process. No wonder so many have given up on politics

George Monbiot
The Guardian, Monday 11 November 2013 20.31 GMT

It's the reason for the collapse of democratic choice. It's the source of our growing disillusionment with politics. It's the great unmentionable. Corporate power. The media will scarcely whisper its name. It is howlingly absent from parliamentary debates. Until we name it and confront it, politics is a waste of time.

The political role of business corporations is generally interpreted as that of lobbyists, seeking to influence government policy. In reality they belong on the inside. They are part of the nexus of power that creates policy. They face no significant resistance, from either government or opposition, as their interests have now been woven into the fabric of all three main political parties in Britain.

Most of the scandals that leave people in despair about politics arise from this source. On Monday, for instance, the Guardian revealed that the government's subsidy system for gas-burning power stations is being designed by an executive from the Dublin-based company ESB International, who has been seconded into the Department of Energy. What does ESB do? Oh, it builds gas-burning power stations.

On the same day we learned that a government minister, Nick Boles, has privately assured the gambling company Ladbrokes that it needn't worry about attempts by local authorities to stop the spread of betting shops. His new law will prevent councils from taking action.

Last week we discovered that G4S's contract to run immigration removal centres will be expanded, even though all further business with the state was supposed to be frozen while allegations of fraud were investigated.

Every week we learn that systemic failures on the part of government contractors are no barrier to obtaining further work, that the promise of efficiency, improvements and value for money delivered by outsourcing and privatisation have failed to materialise.

The monitoring which was meant to keep these companies honest is haphazard, the penalties almost nonexistent, the rewards can be stupendous, dizzying, corrupting. Yet none of this deters the government. Since 2008, the outsourcing of public services has doubled, to £20bn. It is due to rise to £100bn by 2015.

This policy becomes explicable only when you recognise where power really lies. The role of the self-hating state is to deliver itself to big business. In doing so it creates a tollbooth economy: a system of corporate turnpikes, operated by companies with effective monopolies.

It's hardly surprising that the lobbying bill – now stalled by the House of Lords – offered almost no checks on the power of corporate lobbyists, while hog-tying the charities who criticise them. But it's not just that ministers are not discouraged from hobnobbing with corporate executives: they are now obliged to do so.

Thanks to an initiative by Lord Green, large companies have ministerial "buddies", who have to meet them when the companies request it. There were 698 of these meetings during the first 18 months of the scheme, called by corporations these ministers are supposed be regulating. Lord Green, by the way, is currently a government trade minister. Before that he was chairman of HSBC, presiding over the bank while it laundered vast amounts of money stashed by Mexican drugs barons. Ministers, lobbyists – can you tell them apart?

That the words corporate power seldom feature in the corporate press is not altogether surprising. It's more disturbing to see those parts of the media that are not owned by Rupert Murdoch or Lord Rothermere acting as if they are.

For example, for five days every week the BBC's Today programme starts with a business report in which only insiders are interviewed. They are treated with a deference otherwise reserved for God on Thought for the Day. There's even a slot called Friday Boss, in which the programme's usual rules of engagement are set aside and its reporters grovel before the corporate idol. Imagine the outcry if Today had a segment called Friday Trade Unionist or Friday Corporate Critic.

This, in my view, is a much graver breach of BBC guidelines than giving unchallenged airtime to one political party but not others, as the bosses are the people who possess real power – those, in other words, whom the BBC has the greatest duty to accost. Research conducted by the Cardiff school of journalism shows business representatives now receive 11% of airtime on the BBC's 6 o'clock news (this has risen from 7% in 2007), while trade unionists receive 0.6% (which has fallen from 1.4%). Balance? Impartiality? The BBC puts a match to its principles every day.

And where, beyond the Green party, Plaid Cymru, a few ageing Labour backbenchers, is the political resistance? After the article I wrote last week, about the grave threat the transatlantic trade and investment partnership presents to parliamentary sovereignty and democratic choice, several correspondents asked me what response there has been from the Labour party. It's easy to answer: nothing.

Tony Blair and Gordon Brown purged the party of any residue of opposition to corporations and the people who run them. That's what New Labour was all about. Now opposition MPs stare mutely as their powers are given away to a system of offshore arbitration panels run by corporate lawyers.

Since Blair, parliament operates much as Congress in the United States does: the lefthand glove puppet argues with the righthand glove puppet, but neither side will turn around to face the corporate capital that controls almost all our politics. This is why the assertion that parliamentary democracy has been reduced to a self-important farce has resonated so widely over the past fortnight.

So I don't blame people for giving up on politics. I haven't given up yet, but I find it ever harder to explain why. When a state-corporate nexus of power has bypassed democracy and made a mockery of the voting process, when an unreformed political funding system ensures that parties can be bought and sold, when politicians of the three main parties stand and watch as public services are divvied up by a grubby cabal of privateers, what is left of this system that inspires us to participate?

Twitter: @georgemonbiot A fully referenced version of this article can be found at monbiot.com
Here are some useful sites:
|http://www.inntron.com/core_banking.html|Top 40 suppliers, and their products|
<<formTiddler NewArticleTemplate>>''Corporate Communication Games''

by Tara Duggan, Demand Media

Leadership expert Stephen Covey says trust is an essential component of effective communication. Building trust among employees in a small business typically involves providing opportunities for them to get to know each other better. Corporate communication games offer a perfect chance to exchange information, develop new skills, try out new techniques and have some fun.

Productivity improves when employees work together effectively. To practice good communication, a facilitator can organize a drawing game. This involves dividing a group into pairs, having them sit back to back and giving one a person an index card with a shape and the other a pad and pencil. The person holding the shape gives instructions to the other person. The facilitator stops the game after 10 minutes and displays all the results. To conclude the game, he conducts a vote to determine the best drawing. Participation in this game allows people to experience describing and interpreting under pressure.

Playing a survival game forces a group to communicate and agree on critical issues. To play, a facilitator divides a large group into smaller teams and provides each group with a scenario, such as a plane crash on a deserted island. The object of the game is to select 12 items. Participants have to figure out how to make decisions, rank alternatives and prioritize actions. The team that identifies 12 items first wins the game.

In many corporate environments, employees work in different locations. Good communication does not have to occur only in person. Learning to tell a collaborative story develops good communication skills. During an audio conference call, a facilitator begins this game by setting the scene and states the first sentence. Then, she designates someone to add the next sentence until everyone gets to add something to the story. At the end of the story, the participants vote on the best addition. The winner starts the next story. Participants learn to listen carefully.

Some conflict is inevitable in small-business operations. Innovation and creativity typically require discussion and collaboration. Good communication prevents minor spats from turning into events that damage personal relationships and negatively impact productivity. To practice, a facilitator divides a large group into smaller teams of three people. The facilitator directs each group to choose a volatile topic. One person states his view for three minutes. Then, the second person listens and disagrees with one or more points for the next three minutes. The third person observes, provides feedback to the participants for the final three minutes and selects a winner, deciding who presented his case with more conviction. Then, they switch roles and repeat the exercise. Role-playing exercises allow people to practice in simulated settings before they have to perform for real.<data>{"author":"Tara Duggan","articletitle":"Corporate Communication Games","journalinfo":"Demand Media","pagenumbers":"2013"}</data>
<<formTiddler NewArticleTemplate>>''Difference Between Corporate & Marketing Communications''

by Maxwell Wallace, Demand Media

Corporate and marketing communication are two different types of messages created by companies and organizations. Corporate and marketing communication are targeted at distinct audiences with varying intent. Corporate messages are structured to convey the attitudes, beliefs and goals of an organization or company as an institution, while marketing messages are meant to informing the consuming public of a good or service.

''Corporate Communcation Defined''
Corporate communication is broadly defined as a corporation's attempt to inform or persuade the public, including all its consumers, private investors and the media. Corporate communication represents the very voice with which corporate institutions interact with the outside world and is inclusive of communications regarding investor relations, government relations, labor relations and employee development. Where marketing communication is intended to focus on a particular product or service offered by a company, corporate communication is distinctly focused on news, strategies or opinions of the corporation that makes that product or service.

''Marketing Communication Defined''
Marketing communication is created to influence consumers to purchase a particular product or service. Marketing messages are often specifically tailored to particular groups of the consuming public broken down by age, sex and gender. Companies create marketing messages based on the perceived preferences of these groups, or demographics. Marketing messages also vary widely from product to product. Corporations that produce a wide variety of products and services across numerous markets create diverse marketing campaigns across myriad demographics.

''Major Differences''
The major differences between corporate and marketing communications lie in the audience each type of communication is intended to target and the particular entity each message is intended to represent. Where corporate communication is intended to represent the uniform opinions, strategies and motivations of a singular corporate entity, marketing communications are designed uniquely to influence consumers to purchase the goods and services that corporate entity produces.

''Other Considerations''
Corporate and marketing communications should not be confused with other channels of corporate communicaiton, particularly public and community relations. Public relations is broadly defined as a corporate body's attempt to influence and control the perception of their organization in the eyes of the general public. Community relations represents the interaction of a corporate entity or institution with the citizens who live and work in and around its place of business.<data>{"author":"Maxwell Wallace","articletitle":"Difference Between Corporate & Marketing Communications","journalinfo":"Demand Media"}</data>
<<formTiddler NewArticleTemplate>>What Is a Corporate Communication Strategy Framework?
by Ian Linton, Demand Media  Google

A corporate communication strategy framework is a tool for planning communication with your employees, customers, suppliers and investors. You can use the framework to build a better understanding of your company and enhance your reputation with people whose attitudes and actions influence the success of your business.

The communication strategy framework identifies each of the groups you must influence and describes the attitudes you want them to have. Employees and prospective employees should have confidence in your company and consider it a great place to work. Customers should believe you meet their needs with quality products and excellent service. Suppliers should feel that working with you is good for their business. Investors should be confident that your company is well managed and has good prospects for the future.

To develop your communication plan, find out more about the actual attitudes of each group and compare the results with your target. Research the publications that each group reads and check them to find references to your company or your products. Look for similar information on social networking sites. Ask sales representatives for their views on customers’ attitudes. By identifying areas where your company is misunderstood or unknown, you can establish communication tasks and set priorities.

The framework provides you with a clear view of the people you have to influence and the scale of the work involved in meeting your communication goals. You can now develop a communication strategy that aligns with your business strategy. If your business strategy is to expand by attracting more customers or entering new markets, your communication strategy must focus on building positive attitudes among customers and prospects. You may need to adopt a strategy of expanding your operations to meet strong demand from the market. Your communication strategy should focus on attracting high-caliber employees and convincing investors to back your company.

To put the communication strategy into action, the framework should include information about how to reach the important groups and the messages that will appeal to them. To communicate with customers, for example, use your research on the publications they read and plan a series of press releases on new product developments, quality initiatives or improvements in different aspects of customer service. Key messages would include “we are an innovative company,” “we take quality seriously” and “we are committed to excellence in customer service.”<data>{"author":"Ian Linton","articletitle":"What Is a Corporate Communication Strategy Framework?"}</data>
|''Description:''|Extension of TiddlyWiki syntax to support [[Creole|http://www.wikicreole.org/]] text formatting|
|''Source:''|http://martinswiki.com/prereleases.html#CreoleFormatterPlugin - for pre-release|
|''Author:''|MartinBudden (mjbudden (at) gmail (dot) com)|
|''Status:''|alpha pre-release|
|''Date:''|Dec 21, 2006|
|''Comments:''|Please make comments at http://groups.google.co.uk/group/TiddlyWikiDev|
|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|

This is an early release of the CreoleFormatterPlugin, which extends the TiddlyWiki syntax to support Creole
text formatting. See [[testCreoleFormat]] for an example.

The Creole formatter is different from the other formatters in that Tiddlers are not required to be
tagged: instead the Creole format adds formatting that augments TiddlyWiki's format.

The Creole formatter adds the following:
# {{{**}}} for bold
# {{{== Heading 2==}}} with 2 to 6 equals signs for headings
# {{{[[link|title]]}}} format for links (rather than TW's {{{[[title|link]]}}}).

Since Creole augments rather than replaces TW's formatting there is a problem of how to resolve a prettyLink:
the formatter has some intelligence to determine if whether a link is a TW style link or a Creole style link.
Additionally a tiddler can be tagged 'titleThenLinkFormat' or 'linkThenTitleFormat' to force resolution one
way or the other.

See: http://www.wikicreole.org/wiki/Home

Please report any defects you find at http://groups.google.co.uk/group/TiddlyWikiDev

This is an early alpha release, with (at least) the following known issues:
# Creole image format not yet supported


// Ensure that the CreoleFormatterPlugin is only installed once.
if(!version.extensions.CreoleFormatterPlugin) {
version.extensions.CreoleFormatterPlugin = {installed:true};

if(version.major < 2 || (version.major == 2 && version.minor < 1)) {
	alertAndThrow('CreoleFormatterPlugin requires TiddlyWiki 2.1 or later.');

creoleFormatter = {}; // 'namespace' for local functions

creoleFormatter.heading = {
	name: 'creoleHeading',
	match: '^={2,6}(?!=)',
	termRegExp: /(={0,6}\n+)/mg,
	handler: function(w) {w.subWikifyTerm(createTiddlyElement(w.output,'h' + w.matchLength),this.termRegExp);}

creoleFormatter.bold = {
	name: 'creoleBold',
	match: '\\*\\*',
	termRegExp: /(\*\*|(?=\n\n))/mg,
	element: 'strong',
	handler: config.formatterHelpers.createElementAndWikify

creoleFormatter.explicitLink = {
	name: 'creoleExplicitLink',
	match: '\\[\\[',
	lookaheadRegExp: /\[\[(.*?)(?:\|(.*?))?\]\]/mg,
	handler: function(w)
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			var e;
			var link = lookaheadMatch[1];
			var text = lookaheadMatch[2];
			if(text) {
				// both text and link defined, so try and workout which is which
				var wlRegExp = new RegExp(config.textPrimitives.wikiLink,'mg');
				wlRegExp.lastIndex = 0;
				if(w.tiddler.isTagged('titleThenLinkFormat')) {
					// format is [[text|link]]
					link = text;
					text = lookaheadMatch[1];
					e = config.formatterHelpers.isExternalLink(link) ? createExternalLink(w.output,link) : createTiddlyLink(w.output,link,false,null,w.isStatic);
				} else if(w.tiddler.isTagged('linkThenTitleFormat')) {
					// standard format is [[link|text]]
					e = config.formatterHelpers.isExternalLink(link) ? createExternalLink(w.output,link) : createTiddlyLink(w.output,link,false,null,w.isStatic);
				} else if(config.formatterHelpers.isExternalLink(link)) {
					e = createExternalLink(w.output,link);
				} else if(config.formatterHelpers.isExternalLink(text)) {
					link = text;
					text = lookaheadMatch[1];
					e = createExternalLink(w.output,link);
				} else if(store.tiddlerExists(link)) {
					e = createTiddlyLink(w.output,link,false,null,w.isStatic);
				} else if(store.tiddlerExists(text)) {
					link = text;
					text = lookaheadMatch[1];
					e = createTiddlyLink(w.output,link,false,null,w.isStatic);
				} else if(wlRegExp.exec(text)) {
					//text is a WikiWord, so assume its a tiddler link
					link = text;
					text = lookaheadMatch[1];
					e = createTiddlyLink(w.output,link,false,null,w.isStatic);
				} else {
					// assume standard link format
					e = config.formatterHelpers.isExternalLink(link) ? createExternalLink(w.output,link) : createTiddlyLink(w.output,link,false,null,w.isStatic);
			} else {
				text = link;
				e = config.formatterHelpers.isExternalLink(link) ? createExternalLink(w.output,link) : createTiddlyLink(w.output,link,false,null,w.isStatic);
			w.nextMatch = this.lookaheadRegExp.lastIndex;
	}//# end handler

// replace formatters where necessary
for(var i in config.formatters) {
	// replace formatters as required
	if(config.formatters[i].name == 'prettyLink') {
		config.formatters[i] = creoleFormatter.explicitLink;
	} else if(config.formatters[i].name == 'italicByChar') {
		config.formatters[i].termRegExp = /(\/\/|(?=\n\n))/mg;
	} else if(config.formatters[i].name == 'list') {
		// require a space after the list character (required for '*' which otherwise clashes with bold
		config.formatters[i].match = '^[\\*#;:]+ ';

// add new formatters

}// end of 'install only once'
<<formTiddler NewArticleTemplate>>''Hurdles to Cross Cultural Business Communication''

By Neil Payne

International businesses are facing new challenges to their internal communication structures due to major reforms brought about through internationalization, downsizing, mergers, acquisitions and joint ventures.

Lack of investment in cross cultural training and language tuition often leads to deficient internal cohesion. The loss of clients/customers, poor staff retention, lack of competitive edge, internal conflicts/power struggles, poor working relations, misunderstandings, stress, poor productivity and lack of co-operation are all by-products of poor cross cultural communication.

Cross cultural communications consultants work with international companies to minimise the above consequences of poor cross cultural awareness. Through such cooperation, consultancies like Kwintessential have recognised common hurdles to effective cross cultural communication within companies.

Here we outline a few examples of these obstacles to cross cultural co-operation:

''Lack of Communication''
It may seem obvious to state that non-communication is probably the biggest contributor to poor communication. Yet it continues to prove itself as the major problem within most companies.

Lack of communication with staff is not solely due to lack of spoken dialogue. Rather it relates to access to information.
For example, not giving feedback (negative or positive), informing staff of decisions and actions that will affect their roles or failure to properly communicate expectations are all ways in which information can be withheld from staff. This will eventually result in an alienated staff base that feels divided from management and superiors.

If managers are too selective in providing information, this can cause suspicion and jealousy among staff and will eventually result in internal strife instead of cohesion.

A management which does not and will not communicate and interact physically with staff demonstrates a lack of interest, trust and respect.
In the West it is often the case that communication lines are vertical. Staff report up to managers and managers up to senior levels and so on. Ideally lines of communication should run both ways. Those with a subordinate place in the communication process tend to feel estranged, indifferent and possibly even belligerent.

Lack of communication in all its forms is unhealthy. Companies and managers must be aware of how, what and to whom they are communicating.

Communication difficulties through language come in two forms:
//Use of inappropriate language//
Language carries with it subliminal meanings and messages transmitted through vocabulary, stress and tone. The wrong use of words or emotions hidden behind phrases can send messages that affect staff self-perception, confidence and attitude. Critical language causes poor interpersonal relationships and low self-confidence whereas supportive language and tones has the opposite effect.
//Foreign Languages//
These days, offices may have native speakers of over 50 languages all under one roof. It is important that the main language of the office is established, whether it be English, French or Spanish. Once this is constituted all employees should only converse in the main language. This avoids exclusion of staff who can not understand other languages. In addition, a company should ensure that all its employees are fully conversant in the main language. Language tuition should be seen as a necessity not a luxury.

International businesses with a highly diverse workforce in terms of nationality and cultural background face challenges from the differences in language, values, belief systems, business ethics, business practices, behaviour, etiquette and expectations.

Cross cultural differences can negatively impact a business in a variety of ways, whether in team cohesion or in staff productivity. As we have seen above, different methods of communication are just one area in which cross cultural differences are manifested.

In such multicultural companies, objective help may be needed through a cross cultural consultant who will show teams and individuals how to manage communication and work together more cohesively and productively.

''Company Culture''
Company culture pertains to the internal culture of a company in terms of how it is managed. For example, does the company view its different departments such as sales, production, administration and HR as closed or open systems? A closed system is one in which a total lack of synergy exists between a sales and production department due to the structure and communication lines between the two. A consequence of such compartmentalization is that managers of departments have a tendency to become territorial. It is vital that team work, team building and team spirit are encouraged in order to create open systems.

Such measures are especially valid in joint ventures and mergers whereby co-operation between two or more companies requires their total commitment to an open system.

Understandably many companies are primarily focused on the financial and strategic side of company operations. International businesses are now realising that many of their business problems have roots in man-management and communication.

In summary, we can conclude that the biggest hurdle to effective cross cultural communication is a reluctance to invest in the expertise and resources needed to overcome the problems as outlined above. Cross cultural hurdles are easily negotiable with some objective and well-qualified assistance.<data>{"author":"Neil Payne","articletitle":"Hurdles to Cross Cultural Business Communication","pagenumbers":"2013","journalinfo":"http://www.leehopkins.com/"}</data>
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"The Guardian","pagenumbers":"20131121","articletitle":"How safe are the world's cities for cyclists?","synopsis":"Some cites are more cyclist friendly than others","primtopic":"City cycling"}</data>How safe are the world's cities for cyclists?
The deaths of six cyclists in the past two weeks has highlighted the dangers of taking to London's busy streets. But what is it like to cycle in other major cities around the world? From Amsterdam to Delhi, our writers report from the bike lanes

Richard Orange, Anu Anand, Philip Oltermann, Jonathan Kaiman, Pete Jordan, Kim Willsher, Shaun Walker, Lizzy Davies, Patrick Kingsley, Matt Seaton, Harriet Sherwood, Rory Carroll and David Byrne
The Guardian, Wednesday 20 November 2013 19.51 GMT

''Malmo cycling''
Malmö, with its dedicated cycle paths and huge take-up, is something of a cycling heaven. Photograph: Alamy

When I arrived in Malmö two years ago, it was the free bicycle pumps, installed in convenient places on cycle paths, which showed me that, when it comes to cycling in Sweden, Malmö leads the way. Sweden's third-largest city is laced with 500km (310 miles) of cycle lanes, more even than in Copenhagen, a short hop across the Öresunds Bridge. About a quarter of all journeys in the city are already made by bike. That is an estimated 100,000 trips a day for the its 307,000 inhabitants. Stockholmers, by contrast, use bikes for fewer than 10% of trips.

When I take my daughter to day care in the morning on the back of my bike, the cycle lanes are packed with parents and commuters. Almost all my friends own cargo bikes, which they use to ferry their young families to day care, or to do the weekly shop. Remarkably, in the 10 years from 2003 to 2012, the city has seen only 16 cyclists killed in an accident involving a car.

Olle Evenäs, a traffic planner for Malmö, puts this down to the way the city has built its cycle lanes. "In Malmö we have two-way cycle lanes, every single track, which isn't the case in Copenhagen. We never have painted lanes as cycle tracks; we always have a dedicated surface which is separated from the car traffic by a divider and up a level from car traffic."

The law-abiding nature of the people also helps cut down on fatalities. For Swedes, cycling in the wrong direction on a cycle path or, worse still, on a pavement intended for pedestrians, elicits the sort of outrage people in the UK reserve for those dumping their rubbish on the pavement.

The city continues to try to cut car use, aiming to increase cycling's share of journeys to 30% by 2018. To do this it is spending almost 20m Swedish kroner a year (£19m) on various cycling programmes, with at least 400m kroner earmarked for 2012-19. "This is the money we know we have for sure, but we are going to be spending even more than that," says Evenäs.
Richard Orange

''Dehli cycling''
Cyclists in Delhi must compete with rickshaws and the city's seven million cars. Photograph: Roberto Schmidt/AFP/Getty Images

Size is power on India's roads and in the caste system of transport, cyclists rank just a notch above pedestrians and stray animals. Buses and SUVs rarely, if ever, give way to lesser mortals. Indeed, pedestrians attempting to cross a road here, even with children in tow, are invariably honked at while drivers speed towards them.

By and large, cycling is not a lifestyle choice for the middle classes. Rather, it is the default mode of transport for those who cannot afford anything else. Labourers, deliverymen and semi-skilled workers such as plumbers and carpenters use bicycles. They are India's struggling masses, not its moneyed elite.

In 2012, according to India's National Crime Records Bureau, a total of 168,301 people died on its roads. In New Delhi, that includes 78 cyclists and 501 pedestrians. There are nominal cycle lanes on some of the capital's main thoroughfares, but with seven million cars jostling for space, those lanes are often cannibalised by motorised rickshaws and scooters, leaving no safe space for bicyclists. Cyclists rarely wear helmets and there are no viable emergency services to ferry accident victims to hospitals.

In recent years, some intrepid middle-class Indian and foreign expatriate cyclists have begun to brave Delhi's roads. Recognisable by their expensive bicycles, helmets and high-visibility vests, they can sometimes be spotted along the quieter avenues of colonial New Delhi. One company, Delhi by Cycle, has even set up two-wheeled tours through the narrow, twisting lanes of the old city. But they start before dawn, before cars, motorbikes, cycle rickshaws, pushcarts, cows and the ever-present crush of pedestrians appear.

If cycling in London is dangerous, Delhi is like having a near-death experience every single time. 
Anu Anand

''Berlin cycling''
Cyclists are well-catered for in Berlin, but it still saw 15 cyclist deaths in 2012. Photograph: Adam Berry/Getty Images

In many ways, Berlin is a cyclists' paradise. Most major roads have clearly marked cycling lanes, either on the pavement or on the road itself. The age range of cyclists is broader than in London: with old ladies and kids sharing lanes with bike couriers in Lycra, road behaviour tends to be less aggressive. Some major junctions even have a special set of traffic lights for cyclists, allowing them a head start ahead of motorists.

That doesn't mean there are no problems. Fifteen cyclists died in 2012, seven of them through collisions with lorries; 4,533 more were injured over the same period. According to the German Cycling Club (ADFC), one of the most common causes of accidents are cars turning into side streets at high speed and cutting off cyclists in the lanes to their right. Berlin's many tram lines can also be a hazard: the track grooves are perfect for trapping the wheel of your average city bike.

In spite of being notoriously cash-strapped, Berlin has taken steps to make cycling safer. This month, the city authorities launched an online survey in order to help identify trouble spots. On radsicherheit.berlin.de, users can mark dangerous junctions, blocked paths and road potholes, as well as recording "near-misses" that they didn't log with the police at the time.

But Berlin also expects its cyclists to stick to the rules more than London does. One reason for this is self-policing: try going down a cycling path on the wrong side of the road, even in an alternative district such as Kreuzberg, and you will soon be bellowed at by other cyclists or by pedestrians. Cycling offences are not just punished with on-the-spot fines: any fine over €45 (£37.50) also comes with points that show up on your driving licence (which means that, in theory, you can end up with points on your licence before you have even passed your driving test).

And, unlike Britain, Germany has a drink-drive limit for cyclists: a blood alcohol content of 0.16%, though some regions have recently tried to lower the limit to the same as that for cars (0.05%). This also explains the German word for a shandy: Radler or "cyclist", because it just about keeps you sober enough to stay on your bike.
Philip Oltermann

''Beijing cycling''
Beijing hopes to have a quarter of its residents cycling by 2015. Photograph: Mark Ralston/AFP/Getty Images

Beijing was once a city of bikes. Now it's a city of traffic. There are more than 5m cars in Beijing, and they have transformed its once-generous thoroughfares into a noxious, honking mass.

Cycling helps me rise above the noise. I bike 5km (3 miles) to work every day, weaving through Ming dynasty-era alleyways, gliding past shadowy government offices, darting among flatbed tricycles hauling mysterious metal tanks. The Chinese capital is notorious for its air pollution, and my commute isn't always pleasant. But when the smog lifts and the city snaps into focus, it's the highlight of my day.

Along with the freedom comes a fair amount of risk. According to official statistics, cyclists were involved in more than 10,000 of China's 67,759 traffic accident-related deaths in 2009. Scooters blast through red lights; cars park on the pavements. Nobody wears a helmet.

Last winter, I was riding to work when I collided with an auto-rickshaw. They are the sharks of the city's bike lanes – vault-sized motorised boxes that are almost as powerful as small cars, but are not required to play by the same rules. It was on the wrong side of the road. I veered left; the driver veered right; I hit the side of the carriage and fell over. The driver, a middle-aged man with oily hair, decided to play the defensive – he was clearly from the countryside, and if the accident was serious, my medical bills could have wiped out his savings. He pointed his finger at me, yelling. A crowd began to gather. I shot him a middle finger and pedaled away, my right knee bleeding, my handlebars askew.

In 2010, the Beijing government announced hopes that by 2015, nearly a fourth of the city's residents would use cycling as their primary mode of transportation. It doesn't seem likely. The city is too much of a sprawl, its traffic too unruly.

There are other reasons, too. On Monday night, I returned to a restaurant where I had parked my one-speed Giant overnight, only to find it missing. A passerby saw me looking, and asked how long I'd left it outside. "Too long, I guess," I said. "You should know better," she replied. "This is China."
Jonathan Kaiman

''Amsterdam cycling''
Amsterdam has long had a reputation for 'traffic anarchy', but if it's chaos, it works extremely well. Photograph: David R. Frazier Photolibrary/Alamy

Over the course of my 11 years of daily biking in Amsterdam, I have never worn the helmet I brought with me from the US. No one needs a helmet here. Instead of putting the onus on the cyclists to protect themselves, in Amsterdam the onus is on society to provide a safe environment to ride in. Here, everyone bikes: the young, the old, the tourists. It usually takes me less than an hour to spot three pregnant cyclists.

I had never realised how stressed I was while biking in America until I biked with relative ease in Amsterdam. Despite the decades-old reputation of Amsterdam's cyclists for being "traffic anarchists" – riding through red lights, biking without lights at night, and so on – it is a chaos that works incredibly well.

Most motorists here are also cyclists, which enables them to better anticipate the behaviour of cyclists in traffic. Driving instructors teach new motorists to use their right hand to open their door, which forces the driver to turn, putting them in a better position to see if a cyclist is approaching from behind.

Amsterdam is by no means perfect. Cycling fatalities do occur – estimates say about six a year - but on nothing like the scale that they do in the British capital. And the Dutch do not rest on their laurels with the infrastructure they have created over the past 30 years. I am always pleasantly amazed by how the city continues to be improved.
Pete Jordan

''Paris Cycling''
Paris has taken its Vélib' scheme of hire bikes to its heart. Photograph: Christopher Thomond for the Guardian

Paris is extremely proud of the fact it was the first capital to introduce a city-wide free bicycle scheme. Known as Vélib', a combination of the words vélo (bike) and liberté (freedom), it was introduced in 2007 by Socialist mayor Bertrand Delanoë. Now approaching retirement, Delanoë considers it one of the great triumphs of his term in office. By 2012, when Vélib' was celebrating its fifth birthday, there were around 23,000 of the heavy grey bicycles in circulation, more than double the number when it was launched. There are now 1,700 bicycle "stations" – 1,400 of them in Paris itself and 300 in surrounding towns. In 2007, there were just 750. Under the Socialists, the French capital has installed 652km (405 miles) of dedicated cycle routes for the 224,000 Parisians who have signed up to Vélib', a figure that will rise to 700km by the end of 2014.

Launching several thousand bicycles onto the city's roads in 2007 caused widespread safety concerns, but they have proven largely unfounded. While cycling around the Arc de Triomphe can be a perilous exercise, with cars coming from all directions following the now largely outdated "priorité à droite" rule, the number of accidents involving cyclists between 2007 and 2012 was relatively low: 12 have died, eight of them while using a Vélib'. More than 660 have been injured, according to police, though most of the injuries were reported as "not serious". In 2010, 43 people died in accidents on Paris's streets and boulevards: two cyclists, 18 pedestrians, 17 motorcyclists and scooter riders and six vehicle drivers or passengers, according to the Paris Préfecture de Police. In 2011, not a single cyclist died. Accident investigators say because there are more cyclists around, other road users have become more used to them and are giving them "greater respect".

The rules of the road – "I don't ride on the pavement, I respect traffic lights and stop signs, I don't carry passengers and I don't ignore no entry signs" – are posted on each Vélib' bike.
Kim Willsher

''Moscow cycling''
Moscow's bike-hire scheme works well in summer – but is mothballed for the harsh winter months. Photograph: Christian Petersen/Getty Images

With 10-lane highways cutting through its centre, roads covered in snow and ice for much of the year, and drivers who – to put it charitably – do not always obey the letter of the law, Moscow has never been much of a city for cyclists. Those who can afford a car brave the legendary traffic jams, while those that cannot use the ruthlessly efficient metro system.

In recent years, however, as the chaos of post-communist wild capitalism has subsided and thoughts have turned in some quarters to issues such as quality of life and urban planning, bicycles have become a more visible part of Moscow's fabric. This year, a local equivalent of Boris bikes was even introduced, with the Bank of Moscow funding 1,000 bikes and 74 rental points across the centre of the city. It was free to use them for up to half an hour, and just 60p for an hour after that, for those who paid an initial registration fee. The bikes have been removed with the onset of winter, but over the summer season nearly 50,000 Muscovites registered for the scheme.

Nevertheless, the bikes were still mainly used for cycling along Moscow's embankments, through its newly renovated parks and along the pedestrianised boulevard ring that runs through the centre. Actually using a bike as a means of getting from A to B along normal roads is still a matter for the brave and the foolhardy, and cyclists on the roads are a rare sight indeed.
Shaun Walker

''Rome cycling''
Rome's cyclists hope that their bike-friendly mayor can deliver. Photograph: Filippo Monteforte/AFP/Getty Images

With its fabled seven hills, cobbled streets and notoriously chaotic traffic, Rome is not an obvious cycling paradise. A bike-sharing scheme launched in 2008 has been an abject failure. And, for what it's worth, helmets and hi-vis have never been included in any Italian's definition of bella figura.

Despite the risks to both health and image, however, many Romans are choosing to brave the roads and get on their bikes. For the first time in decades, more bikes were sold than cars in the recession-hit Italy of 2011, a trend reflected predominantly in the north but also on the traffic-clogged streets of the capital.

Many of those who do brave it insist the city's off-putting image is unfair: it is hard for cars to speed around the narrow, winding streets of the historic centre, they say. Moreover, Roman motorists, whatever their other defects, are used to looking out for people on two-wheels - it's just that those wheels tend to belong to a Vespa or Piaggio.

But tragedies, of course, do happen. Last year, five people died in accidents involving bicycles, according to the city authorities; one person the year before that; three in 2010, and four in 2009. In July, a 60-year-old man called Domenico Calabrò was fatally injured in a collision with a car on the city's south-eastern outskirts.

The man who now finds himself at the centre of the city's cycling future is the mayor, Ignazio Marino, who was elected in June and has repeatedly spoken of the need to make Rome a more bike-friendly capital. He says he is considering various projects in order to boost cycle use, including the creation of parking lots for 10,000 bikes, a new, more successful cycle-sharing scheme, and 20km more cycle paths to add to the patchy existing network. Marino is himself a keen cyclist, often seen whizzing around town, security staff in tow, on a white Lombardo. Even for him, however, it hasn't been straight-forward: in July, he fell off.

Cycling activists are pleased that their new "first citizen" is a bike-lover, but are still waiting to see if he will keep his promises, says Fausto Bonafaccia, president of the BiciRoma association. "The cycle path situation is improper for a city like Rome, the capital of Italy, where vegetation, disjointedness and potholes represent daily obstacles for those who want to travel by bike," he says.

"Road safety … does not meet the minimum standards befitting a civilised country and cyclists are always at risk of having an accident in the Roman traffic."
Lizzy Davies

''Cairo cycling''
Cairo's most fearless road users must be its bakery delivery cyclists. Photograph: Carsten Koall/Getty Images

Tell a local that you cycle in Cairo, and more often than not you will be met with a wide-eyed stare. Driving a car is dangerous and frustrating enough, with 42 annual road deaths per 100,000 Egyptians, according to the World Health Organisation. Britain has just 2.75.

Cairo's roads are chaotic, with cars paying little attention to road markings, and gridlocked streets common by mid-afternoon. Lane discipline is not a recognised concept, drivers often reverse down multi-lane highways, and cars will not stop for pedestrians seeking to cross a road until they step out into the speeding traffic.

In this environment, there is little concept of cycling as a means of getting across the city. Needless to say, there are no cycle lanes. Many deliverymen do use bikes to pedal around their neighbourhoods – perhaps Cairo's most fearless road-users are the cycling bakers who careen through traffic jams balancing vast trays of bread on their heads. But very few commuters cycle, put off by the perceived danger and the lack of infrastructure. For some professionals, bikes are associated with the working class, and so have a social stigma – while some female cyclists report harassment from passersby.

But the city's few energetic bike advocates say that cyclists are slowly on the rise. When the Cairo Cycling Club was founded five years ago, it had just four members. Now it organises weekly recreational group rides through quieter districts that have sometimes attracted hundreds of cyclists. In two provincial cities near Cairo, the authorities are planning to encourage more cycling along some main roads.

There are no exact figures, either for the number of Cairene cyclists or the number of annual cycling-related fatalities. But Ahmed el-Dorghamy, one of Cairo's most vocal cycling proponents, says there are more than 20,000 users of Egyptian online cycling groups.

"The idea we want to get across is that it's not just a sporting activity," he told the BBC last year. "It can also be a means of transport in some areas of Cairo."
Patrick Kingsley

''New York cycling''
New York's busy streets might seem daunting, but things are improving for cyclists. Photograph: Joseph Mcnally/Getty Images
New York

If you commute by bike in New York City, you are still regarded by colleagues as something of a daredevil. And if you don't wear a helmet, they frankly think you are reckless. Mind you, this is a country where they wear helmets for the game they call football (which, actually, does have a serious head-injury problem).

But perceptions lag behind reality. New York has become a much more cycle-friendly city over the past decade or so of the Bloomberg administration. Cyclist fatalities have held steady over that time: in a good year, perhaps just a dozen; in a bad year, double that number. But bike use has tripled since 2000 and, with several hundred miles of new bike lanes put in, it is still growing fast. So, according to the City's "cycling risk indicator", the danger of serious injury has plummeted by 73% (between 2000 and 2011).

And New York is truly a bikeable city. Manhattan and the other boroughs are reasonably flat, and car ownership is the lowest of any American city. The views can be spectacular, whether you are flying down one of the big avenues in a canyon of Gotham skyscrapers or taking the riverside bike path along the Hudson on the west side. Earlier this year, the city got the Citibike bike-share scheme, our equivalent of Boris bikes. Despite teething troubles, the five-month-old rollout is mostly judged a great success – not least because it has not yet resulted in a single fatality.

Not everything is rosy. Transportation Alternatives, NYC's leading pro-bike campaign, has worked hard recently to make more of an issue of how poorly fatal accidents involving pedestrians or cyclists are often investigated by the NYPD. Just last weekend, an article in the New York Times asked provocatively: "Is it OK to kill cyclists?" But I take heart simply from the fact that the question is being asked: the mindset is changing.

My main tip from the mean streets: just watch out for the yellow cabs – they never pull over to drop people off, and passengers will fling the doors open on either side.
Matt Seaton is the Guardian's former cycling columnist and is now an editor at the New York Times.

''Tel Aviv cycling''
Tel Aviv's flat, wide-open spaces are ideal for cycling. Photograph: Bloomberg via Getty Images
Tel Aviv

It is flat, sunny and boasts a sweeping promenade hugging long golden beaches. There are 120km of cycle paths threading throughout the city, 1,500 public bikes for hire at an hourly rate, and 3,000 bicycle parking slots. Welcome to Tel Aviv, cycling heaven.

That, at least, is the city council's vision. As part of a plan to turn Tel Aviv into a car-free city, it has promoted two-wheel transport, with the introduction two years ago of Tel-O-Fun, an Israeli version of Boris bikes, available for hire at around £8 for two and a half hours. A network of cycle paths has been established along roads and through parks, and an annual city bike ride attracted 20,000 participants in September (though 42 cyclists were injured). Helmets are encouraged, but not a legal requirement.

According to a poll last year, 14% of residents say it's their main form of transport.

But not everyone is in heaven. "A lot of the cycle paths are just painted areas of the pavement, interrupted by bus stops and with pedestrians wandering over them," says Ruthie Pliskin, a PhD student who cycles to university every day. "Even the paved ones along the roads are often blocked by parked cars. They're very narrow, and sometimes it's not even clear which direction you are supposed to cycle."

Despite the city council's efforts, Pliskin says cycling is still a dangerous activity in Tel Aviv. "But it has the potential to be a great cycling city – even if you do need eight showers a day in the summer."
Harriet Sherwood

''Los Angeles''

Drivers rule Los Angeles, yet on balance the city is surprisingly safe for cycling. An expanding network of bicycle lanes is slowly making parts of LA friendlier to two wheels, turning a once eccentric form of transport almost hip.

About two cyclists are killed in traffic-related collisions in LA county each month, out of a total population of 10 million. Per capita, that is a lot better than many other big population centres in the US and elsewhere. The bad news is that 3% of road accident fatalities are cyclists, way above the US's national figure of 1.7%.

Mayor Antonio Villaraigosa became evangelical after he fell and broke his arm swerving from a taxi that cut him off on Venice boulevard in 2010. Within two years the city built 123 miles of new bikeways, nearly eight times the rate of the previous 40 years. There are now more than 430 miles of bike paths across the city. Not all cheered. Hollywood complained that a bright green, 6ft-wide lane, which runs for 1.4 miles through downtown's historic core, ruined the area's utility as an Anytown, USA, location. Worse, camera lights reflected the green on to everything else, including actors' faces.

California's governor, Jerry Brown, rejected a law obliging motorists to give cyclists at least 3ft of room while passing, or slow down. But advocacy groups such as the LA County Bicycle Coalition, and rider packs known as Midnight Ridazz and Wolfpack Hustle, and programmes such as CicLAvia, appear to be slowly winning the argument. LA's new mayor, Eric Garcetti, has pledged to continue bike-friendly policies.

You still need strong nerves to cycle here. About 22 cyclists a year are killed or badly hurt in LA's epidemic of hit-and-runs – there are 20,000 cases annually. Veterans warn that one of the most perilous places is Beverly Hills: few lanes and inconsiderate drivers.
Rory Carroll

David Byrne
David Byrne riding his bike in Ride, Rise, Roar.
''Why I like cycling in New York City''
By David Byrne

I ride everyday in New York City unless it's pouring rain or snow or the roads are icy – and that's actually not often. I now know where the protected bike lanes are and I will go a block or two out of my way to use them. The protected ones make a huge difference, though the occasional delivery or municipal vehicle parks in them. Even the non-protected lanes – the ones in green and white paint that run alongside the traffic – feel much more secure. Having used bikes in London, I'm used to a lack of road space being allocated to cyclists. But it is, yes, a little scary sometimes back in London.

We used to do scary quite well in NYC, but we've mostly gotten over it. One does have to beware of limo and hire-car drivers who feel they are carrying people more important than us, and watch out for New Jersey plates, as they've rarely seen cyclists and pedestrians where they come from. Bike delivery guys riding the wrong way are another hazard, but maybe they'll fall in line eventually as well. NYC is easy – it's dense and fairly flat. The new bike-share program needs to expand and is already hugely popular. I see men in suits using it, so for me that means the whole thing has passed the tipping point and resistance is futile – best now to figure out how to make it all work.

• This article was amended on 20 November 2013. A reference to deaths in road traffic accidents in Moscow in 2012 was incorrect and has been removed.
|''Version:''|1.0.6 (2006-08-26)|
|''Author:''|UdoBorkowski (ub [at] abego-software [dot] de)|
|''Licence:''|[[BSD open source license]]|
|''TiddlyWiki:''|1.2.38+, 2.0|
|''Browser:''|Firefox 1.0.4+; InternetExplorer 6.0|
Enhance your tiddlers with structured data (such as strings, booleans, numbers, or even arrays and compound objects) that can be easily accessed and modified through named fields (in JavaScript code).

Such tiddler data can be used in various applications. E.g. you may create tables that collect data from various tiddlers. 

''//Example: "Table with all December Expenses"//''
        'tiddler.tags.contains("expense") && tiddler.data("month") == "Dec"'
        '"|[["+tiddler.title+"]]|"+tiddler.data("descr")+"| "+tiddler.data("amount")+"|\n"'
//(This assumes that expenses are stored in tiddlers tagged with "expense".)//
        'tiddler.tags.contains("expense") && tiddler.data("month") == "Dec"'
        '"|[["+tiddler.title+"]]|"+tiddler.data("descr")+"| "+tiddler.data("amount")+"|\n"'
For other examples see DataTiddlerExamples.

''Access and Modify Tiddler Data''

You can "attach" data to every tiddler by assigning a JavaScript value (such as a string, boolean, number, or even arrays and compound objects) to named fields. 

These values can be accessed and modified through the following Tiddler methods:
|{{{data(field)}}}|{{{t.data("age")}}}|Returns the value of the given data field of the tiddler. When no such field is defined or its value is undefined {{{undefined}}} is returned.|
|{{{data(field,defaultValue)}}}|{{{t.data("isVIP",false)}}}|Returns the value of the given data field of the tiddler. When no such field is defined or its value is undefined the defaultValue is returned.|
|{{{data()}}}|{{{t.data()}}}|Returns the data object of the tiddler, with a property for every field. The properties of the returned data object may only be read and not be modified. To modify the data use DataTiddler.setData(...) or the corresponding Tiddler method.|
|{{{setData(field,value)}}}|{{{t.setData("age",42)}}}|Sets the value of the given data field of the tiddler to the value. When the value is {{{undefined}}} the field is removed.|
|{{{setData(field,value,defaultValue)}}}|{{{t.setData("isVIP",flag,false)}}}|Sets the value of the given data field of the tiddler to the value. When the value is equal to the defaultValue no value is set (and the field is removed).|

Alternatively you may use the following functions to access and modify the data. In this case the tiddler argument is either a tiddler or the name of a tiddler.
|{{{DataTiddler.getData(tiddler,field)}}}|Returns the value of the given data field of the tiddler. When no such field is defined or its value is undefined {{{undefined}}} is returned.|
|{{{DataTiddler.getData(tiddler,field,defaultValue)}}}|Returns the value of the given data field of the tiddler. When no such field is defined or its value is undefined the defaultValue is returned.|
|{{{DataTiddler.getDataObject(tiddler)}}}|Returns the data object of the tiddler, with a property for every field. The properties of the returned data object may only be read and not be modified. To modify the data use DataTiddler.setData(...) or the corresponding Tiddler method.|
|{{{DataTiddler.setData(tiddler,field,value)}}}|Sets the value of the given data field of the tiddler to the value. When the value is {{{undefined}}} the field is removed.|
|{{{DataTiddler.setData(tiddler,field,value,defaultValue)}}}|Sets the value of the given data field of the tiddler to the value. When the value is equal to the defaultValue no value is set (and the field is removed).|
//(For details on the various functions see the detailed comments in the source code.)//

''Data Representation in a Tiddler''

The data of a tiddler is stored as plain text in the tiddler's content/text, inside a "data" section that is framed by a {{{<data>...</data>}}} block. Inside the data section the information is stored in the [[JSON format|http://www.crockford.com/JSON/index.html]]. 

//''Data Section Example:''//
<data>{"isVIP":true,"user":"John Brown","age":34}</data>

The data section is not displayed when viewing the tiddler (see also "The showData Macro").

Beside the data section a tiddler may have all kind of other content.

Typically you will not access the data section text directly but use the methods given above. Nevertheless you may retrieve the text of the data section's content through the {{{DataTiddler.getDataText(tiddler)}}} function.

''Saving Changes''

The "setData" methods respect the "ForceMinorUpdate" and "AutoSave" configuration values. I.e. when "ForceMinorUpdate" is true changing a value using setData will not affect the "modifier" and "modified" attributes. With "AutoSave" set to true every setData will directly save the changes after a setData.


No notifications are sent when a tiddler's data value is changed through the "setData" methods. 

''Escape Data Section''
In case that you want to use the text {{{<data>}}} or {{{</data>}}} in a tiddler text you must prefix the text with a tilde ('~'). Otherwise it may be wrongly considered as the data section. The tiddler text {{{~<data>}}} is displayed as {{{<data>}}}.

''The showData Macro''

By default the data of a tiddler (that is stored in the {{{<data>...</data>}}} section of the tiddler) is not displayed. If you want to display this data you may used the {{{<<showData ...>>}}} macro:

|>|{{{<<}}}''showData '' [''JSON''] [//tiddlerName//] {{{>>}}}|
|''JSON''|By default the data is rendered as a table with a "Name" and "Value" column. When defining ''JSON'' the data is rendered in JSON format|
|//tiddlerName//|Defines the tiddler holding the data to be displayed. When no tiddler is given the tiddler containing the showData macro is used. When the tiddler name contains spaces you must quote the name (or use the {{{[[...]]}}} syntax.)|
|>|~~Syntax formatting: Keywords in ''bold'', optional parts in [...]. 'or' means that exactly one of the two alternatives must exist.~~|

!Revision history
* v1.0.6 (2006-08-26) 
** Removed misleading comment
* v1.0.5 (2006-02-27) (Internal Release Only)
** Internal
*** Make "JSLint" conform
* v1.0.4 (2006-02-05)
** Bugfix: showData fails in TiddlyWiki 2.0
* v1.0.3 (2006-01-06)
** Support TiddlyWiki 2.0
* v1.0.2 (2005-12-22)
** Enhancements:
*** Handle texts "<data>" or "</data>" more robust when used in a tiddler text or as a field value.
*** Improved (JSON) error messages.
** Bugs fixed: 
*** References are not updated when using the DataTiddler.
*** Changes to compound objects are not always saved.
*** "~</data>" is not rendered correctly (expected "</data>")
* v1.0.1 (2005-12-13)
** Features: 
*** The showData macro supports an optional "tiddlername" argument to specify the tiddler containing the data to be displayed
** Bugs fixed: 
*** A script immediately following a data section is deleted when the data is changed. (Thanks to GeoffS for reporting.)
* v1.0.0 (2005-12-12)
** initial version

//                           DataTiddlerPlugin

// Ensure that the DataTiddler Plugin is only installed once.
if (!version.extensions.DataTiddlerPlugin) {

version.extensions.DataTiddlerPlugin = {
    major: 1, minor: 0, revision: 6,
    date: new Date(2006, 7, 26), 
    type: 'plugin',
    source: "http://tiddlywiki.abego-software.de/#DataTiddlerPlugin"

// For backward compatibility with v1.2.x
if (!window.story) window.story=window; 
if (!TiddlyWiki.prototype.getTiddler) {
	TiddlyWiki.prototype.getTiddler = function(title) { 
		var t = this.tiddlers[title]; 
		return (t !== undefined && t instanceof Tiddler) ? t : null; 

// DataTiddler Class

// ---------------------------------------------------------------------------
// Configurations and constants 
// ---------------------------------------------------------------------------

function DataTiddler() {

DataTiddler = {
    // Function to stringify a JavaScript value, producing the text for the data section content.
    // (Must match the implementation of DataTiddler.parse.)
    stringify : null,

    // Function to parse the text for the data section content, producing a JavaScript value.
    // (Must match the implementation of DataTiddler.stringify.)
    parse : null

// Ensure access for IE
window.DataTiddler = DataTiddler;

// ---------------------------------------------------------------------------
// Data Accessor and Mutator
// ---------------------------------------------------------------------------

// Returns the value of the given data field of the tiddler.
// When no such field is defined or its value is undefined
// the defaultValue is returned.
// @param tiddler either a tiddler name or a tiddler
DataTiddler.getData = function(tiddler, field, defaultValue) {
    var t = (typeof tiddler == "string") ? store.getTiddler(tiddler) : tiddler;
    if (!(t instanceof Tiddler)) {
        throw "Tiddler expected. Got "+tiddler;

    return DataTiddler.getTiddlerDataValue(t, field, defaultValue);

// Sets the value of the given data field of the tiddler to
// the value. When the value is equal to the defaultValue
// no value is set (and the field is removed)
// Changing data of a tiddler will not trigger notifications.
// @param tiddler either a tiddler name or a tiddler
DataTiddler.setData = function(tiddler, field, value, defaultValue) {
    var t = (typeof tiddler == "string") ? store.getTiddler(tiddler) : tiddler;
    if (!(t instanceof Tiddler)) {
        throw "Tiddler expected. Got "+tiddler+ "("+t+")";

    DataTiddler.setTiddlerDataValue(t, field, value, defaultValue);

// Returns the data object of the tiddler, with a property for every field.
// The properties of the returned data object may only be read and
// not be modified. To modify the data use DataTiddler.setData(...) 
// or the corresponding Tiddler method.
// If no data section is defined a new (empty) object is returned.
// @param tiddler either a tiddler name or a Tiddler
DataTiddler.getDataObject = function(tiddler) {
    var t = (typeof tiddler == "string") ? store.getTiddler(tiddler) : tiddler;
    if (!(t instanceof Tiddler)) {
        throw "Tiddler expected. Got "+tiddler;

    return DataTiddler.getTiddlerDataObject(t);

// Returns the text of the content of the data section of the tiddler.
// When no data section is defined for the tiddler null is returned 
// @param tiddler either a tiddler name or a Tiddler
// @return [may be null]
DataTiddler.getDataText = function(tiddler) {
    var t = (typeof tiddler == "string") ? store.getTiddler(tiddler) : tiddler;
    if (!(t instanceof Tiddler)) {
        throw "Tiddler expected. Got "+tiddler;

    return DataTiddler.readDataSectionText(t);

// ---------------------------------------------------------------------------
// Internal helper methods (must not be used by code from outside this plugin)
// ---------------------------------------------------------------------------

// Internal.
// The original JSONError is not very user friendly, 
// especially it does not define a toString() method
// Therefore we extend it here.
DataTiddler.extendJSONError = function(ex) {
	if (ex.name == 'JSONError') {
        ex.toString = function() {
			return ex.name + ": "+ex.message+" ("+ex.text+")";
	return ex;

// Internal.
// @param t a Tiddler
DataTiddler.getTiddlerDataObject = function(t) {
    if (t.dataObject === undefined) {
        var data = DataTiddler.readData(t);
        t.dataObject = (data) ? data : {};
    return t.dataObject;

// Internal.
// @param tiddler a Tiddler
DataTiddler.getTiddlerDataValue = function(tiddler, field, defaultValue) {
    var value = DataTiddler.getTiddlerDataObject(tiddler)[field];
    return (value === undefined) ? defaultValue : value;

// Internal.
// @param tiddler a Tiddler
DataTiddler.setTiddlerDataValue = function(tiddler, field, value, defaultValue) {
    var data = DataTiddler.getTiddlerDataObject(tiddler);
    var oldValue = data[field];
    if (value == defaultValue) {
        if (oldValue !== undefined) {
            delete data[field];
    data[field] = value;

// Internal.
// Reads the data section from the tiddler's content and returns its text
// (as a String).
// Returns null when no data is defined.
// @param tiddler a Tiddler
// @return [may be null]
DataTiddler.readDataSectionText = function(tiddler) {
    var matches = DataTiddler.getDataTiddlerMatches(tiddler);
    if (matches === null || !matches[2]) {
        return null;
    return matches[2];

// Internal.
// Reads the data section from the tiddler's content and returns it
// (as an internalized object).
// Returns null when no data is defined.
// @param tiddler a Tiddler
// @return [may be null]
DataTiddler.readData = function(tiddler) {
    var text = DataTiddler.readDataSectionText(tiddler);
	try {
	    return text ? DataTiddler.parse(text) : null;
	} catch(ex) {
		throw DataTiddler.extendJSONError(ex);

// Internal.
// Returns the serialized text of the data of the given tiddler, as it
// should be stored in the data section.
// @param tiddler a Tiddler
DataTiddler.getDataTextOfTiddler = function(tiddler) {
    var data = DataTiddler.getTiddlerDataObject(tiddler);
    return DataTiddler.stringify(data);

// Internal.
DataTiddler.indexOfNonEscapedText = function(s, subString, startIndex) {
	var index = s.indexOf(subString, startIndex);
	while ((index > 0) && (s[index-1] == '~')) { 
		index = s.indexOf(subString, index+1);
	return index;

// Internal.
DataTiddler.getDataSectionInfo = function(text) {
	// Special care must be taken to handle "<data>" and "</data>" texts inside
	// a data section. 
	// Also take care not to use an escaped <data> (i.e. "~<data>") as the start 
	// of a data section. (Same for </data>)

    // NOTE: we are explicitly searching for a data section that contains a JSON
    // string, i.e. framed with braces. This way we are little bit more robust in
    // case the tiddler contains unescaped texts "<data>" or "</data>". This must
    // be changed when using a different stringifier.

	var startTagText = "<data>{";
	var endTagText = "}</data>";

	var startPos = 0;

	// Find the first not escaped "<data>".
	var startDataTagIndex = DataTiddler.indexOfNonEscapedText(text, startTagText, 0);
	if (startDataTagIndex < 0) {
		return null;

	// Find the *last* not escaped "</data>".
	var endDataTagIndex = text.indexOf(endTagText, startDataTagIndex);
	if (endDataTagIndex < 0) {
		return null;
	var nextEndDataTagIndex;
	while ((nextEndDataTagIndex = text.indexOf(endTagText, endDataTagIndex+1)) >= 0) {
		endDataTagIndex = nextEndDataTagIndex;

	return {
		prefixEnd: startDataTagIndex, 
		dataStart: startDataTagIndex+(startTagText.length)-1, 
		dataEnd: endDataTagIndex, 
		suffixStart: endDataTagIndex+(endTagText.length)

// Internal.
// Returns the "matches" of a content of a DataTiddler on the
// "data" regular expression. Return null when no data is defined
// in the tiddler content.
// Group 1: text before data section (prefix)
// Group 2: content of data section
// Group 3: text behind data section (suffix)
// @param tiddler a Tiddler
// @return [may be null] null when the tiddler contains no data section, otherwise see above.
DataTiddler.getDataTiddlerMatches = function(tiddler) {
	var text = tiddler.text;
	var info = DataTiddler.getDataSectionInfo(text);
	if (!info) {
		return null;

	var prefix = text.substr(0,info.prefixEnd);
	var data = text.substr(info.dataStart, info.dataEnd-info.dataStart+1);
	var suffix = text.substr(info.suffixStart);
	return [text, prefix, data, suffix];

// Internal.
// Saves the data in a <data> block of the given tiddler (as a minor change). 
// The "chkAutoSave" and "chkForceMinorUpdate" options are respected. 
// I.e. the TiddlyWiki *file* is only saved when AutoSave is on.
// Notifications are not send. 
// This method should only be called when the data really has changed. 
// @param tiddler
//             the tiddler to be saved.
DataTiddler.save = function(tiddler) {

    var matches = DataTiddler.getDataTiddlerMatches(tiddler);

    var prefix;
    var suffix;
    if (matches === null) {
        prefix = tiddler.text;
        suffix = "";
    } else {
        prefix = matches[1];
        suffix = matches[3];

    var dataText = DataTiddler.getDataTextOfTiddler(tiddler);
    var newText = 
            (dataText !== null) 
                ? prefix + "<data>" + dataText + "</data>" + suffix
                : prefix + suffix;
    if (newText != tiddler.text) {
        // make the change in the tiddlers text
        // ... see DataTiddler.MyTiddlerChangedFunction
        tiddler.isDataTiddlerChange = true;
        // ... do the action change
                config.options.chkForceMinorUpdate? undefined : new Date(),

        // ... see DataTiddler.MyTiddlerChangedFunction
        delete tiddler.isDataTiddlerChange;

        // Mark the store as dirty.
        store.dirty = true;
        // AutoSave if option is selected
        if(config.options.chkAutoSave) {

// Internal.
DataTiddler.MyTiddlerChangedFunction = function() {
    // Remove the data object from the tiddler when the tiddler is changed
    // by code other than DataTiddler code. 
    // This is necessary since the data object is just a "cached version" 
    // of the data defined in the data section of the tiddler and the 
    // "external" change may have changed the content of the data section.
    // Thus we are not sure if the data object reflects the data section 
    // contents. 
    // By deleting the data object we ensure that the data object is 
    // reconstructed the next time it is needed, with the data defined by
    // the data section in the tiddler's text.
    // To indicate that a change is a "DataTiddler change" a temporary
    // property "isDataTiddlerChange" is added to the tiddler.
    if (this.dataObject && !this.isDataTiddlerChange) {
        delete this.dataObject;
    // call the original code.
	DataTiddler.originalTiddlerChangedFunction.apply(this, arguments);

// Formatters

// This formatter ensures that "~<data>" is rendered as "<data>". This is used to 
// escape the "<data>" of a data section, just in case someone really wants to use
// "<data>" as a text in a tiddler and not start a data section.
// Same for </data>.
config.formatters.push( {
    name: "data-escape",
    match: "~<\\/?data>",

    handler: function(w) {
            w.outputText(w.output,w.matchStart + 1,w.nextMatch);
} );

// This formatter ensures that <data>...</data> sections are not rendered.
config.formatters.push( {
    name: "data",
    match: "<data>",

    handler: function(w) {
		var info = DataTiddler.getDataSectionInfo(w.source);
		if (info && info.prefixEnd == w.matchStart) {
            w.nextMatch = info.suffixStart;
		} else {
} );

// Tiddler Class Extension

// "Hijack" the changed method ---------------------------------------------------

DataTiddler.originalTiddlerChangedFunction = Tiddler.prototype.changed;
Tiddler.prototype.changed = DataTiddler.MyTiddlerChangedFunction;

// Define accessor methods -------------------------------------------------------

// Returns the value of the given data field of the tiddler. When no such field 
// is defined or its value is undefined the defaultValue is returned.
// When field is undefined (or null) the data object is returned. (See 
// DataTiddler.getDataObject.)
// @param field [may be null, undefined]
// @param defaultValue [may be null, undefined]
// @return [may be null, undefined]
Tiddler.prototype.data = function(field, defaultValue) {
    return (field) 
         ? DataTiddler.getTiddlerDataValue(this, field, defaultValue)
         : DataTiddler.getTiddlerDataObject(this);

// Sets the value of the given data field of the tiddler to the value. When the 
// value is equal to the defaultValue no value is set (and the field is removed).
// @param value [may be null, undefined]
// @param defaultValue [may be null, undefined]
Tiddler.prototype.setData = function(field, value, defaultValue) {
    DataTiddler.setTiddlerDataValue(this, field, value, defaultValue);

// showData Macro

config.macros.showData = {
     // Standard Properties
     label: "showData",
     prompt: "Display the values stored in the data section of the tiddler"

config.macros.showData.handler = function(place,macroName,params) {
    // --- Parsing ------------------------------------------

    var i = 0; // index running over the params
    // Parse the optional "JSON"
    var showInJSONFormat = false;
    if ((i < params.length) && params[i] == "JSON") {
        showInJSONFormat = true;
    var tiddlerName = story.findContainingTiddler(place).id.substr(7);
    if (i < params.length) {
        tiddlerName = params[i];

    // --- Processing ------------------------------------------
    try {
        if (showInJSONFormat) {
            this.renderDataInJSONFormat(place, tiddlerName);
        } else {
            this.renderDataAsTable(place, tiddlerName);
    } catch (e) {
        this.createErrorElement(place, e);

config.macros.showData.renderDataInJSONFormat = function(place,tiddlerName) {
    var text = DataTiddler.getDataText(tiddlerName);
    if (text) {

config.macros.showData.renderDataAsTable = function(place,tiddlerName) {
    var text = "|!Name|!Value|\n";
    var data = DataTiddler.getDataObject(tiddlerName);
    if (data) {
        for (var i in data) {
            var value = data[i];
            text += "|"+i+"|"+DataTiddler.stringify(value)+"|\n";
    wikify(text, place);

// Internal.
// Creates an element that holds an error message
config.macros.showData.createErrorElement = function(place, exception) {
    var message = (exception.description) ? exception.description : exception.toString();
    return createTiddlyElement(place,"span",null,"showDataError","<<showData ...>>: "+message);

// ---------------------------------------------------------------------------
// Stylesheet Extensions (may be overridden by local StyleSheet)
// ---------------------------------------------------------------------------
    ".showDataError{color: #ffffff;background-color: #880000;}",

} // of "install only once"
// Used Globals (for JSLint) ==============

// ... TiddlyWiki Core
/*global 	createTiddlyElement, saveChanges, store, story, wikify */
// ... DataTiddler
/*global 	DataTiddler */
// ... JSON
/*global 	JSON */

!JSON Code, used to serialize the data
Copyright (c) 2005 JSON.org

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The Software shall be used for Good, not Evil.


    The global object JSON contains two methods.

    JSON.stringify(value) takes a JavaScript value and produces a JSON text.
    The value must not be cyclical.

    JSON.parse(text) takes a JSON text and produces a JavaScript value. It will
    throw a 'JSONError' exception if there is an error.
var JSON = {
    copyright: '(c)2005 JSON.org',
    license: 'http://www.crockford.com/JSON/license.html',
    Stringify a JavaScript value, producing a JSON text.
    stringify: function (v) {
        var a = [];

    Emit a string.
        function e(s) {
            a[a.length] = s;

    Convert a value.
        function g(x) {
            var c, i, l, v;

            switch (typeof x) {
            case 'object':
                if (x) {
                    if (x instanceof Array) {
                        l = a.length;
                        for (i = 0; i < x.length; i += 1) {
                            v = x[i];
                            if (typeof v != 'undefined' &&
                                    typeof v != 'function') {
                                if (l < a.length) {
                    } else if (typeof x.toString != 'undefined') {
                        l = a.length;
                        for (i in x) {
                            v = x[i];
                            if (x.hasOwnProperty(i) &&
                                    typeof v != 'undefined' &&
                                    typeof v != 'function') {
                                if (l < a.length) {
                        return e('}');
            case 'number':
                e(isFinite(x) ? +x : 'null');
            case 'string':
                l = x.length;
                for (i = 0; i < l; i += 1) {
                    c = x.charAt(i);
                    if (c >= ' ') {
                        if (c == '\\' || c == '"') {
                    } else {
                        switch (c) {
                            case '\b':
                            case '\f':
                            case '\n':
                            case '\r':
                            case '\t':
                                c = c.charCodeAt();
                                e('\\u00' + Math.floor(c / 16).toString(16) +
                                    (c % 16).toString(16));
            case 'boolean':
        return a.join('');
    Parse a JSON text, producing a JavaScript value.
    parse: function (text) {
        var p = /^\s*(([,:{}\[\]])|"(\\.|[^\x00-\x1f"\\])*"|-?\d+(\.\d*)?([eE][+-]?\d+)?|true|false|null)\s*/,

        function error(m, t) {
            throw {
                name: 'JSONError',
                message: m,
                text: t || operator || token

        function next(b) {
            if (b && b != operator) {
                error("Expected '" + b + "'");
            if (text) {
                var t = p.exec(text);
                if (t) {
                    if (t[2]) {
                        token = null;
                        operator = t[2];
                    } else {
                        operator = null;
                        try {
                            token = eval(t[1]);
                        } catch (e) {
                            error("Bad token", t[1]);
                    text = text.substring(t[0].length);
                } else {
                    error("Unrecognized token", text);
            } else {
                token = operator = undefined;

        function val() {
            var k, o;
            switch (operator) {
            case '{':
                o = {};
                if (operator != '}') {
                    for (;;) {
                        if (operator || typeof token != 'string') {
                            error("Missing key");
                        k = token;
                        o[k] = val();
                        if (operator != ',') {
                return o;
            case '[':
                o = [];
                if (operator != ']') {
                    for (;;) {
                        if (operator != ',') {
                return o;
                if (operator !== null) {
                    error("Missing value");
                k = token;
                return k;
        return val();

!Setup the data serialization

DataTiddler.format = "JSON";
DataTiddler.stringify = JSON.stringify;
DataTiddler.parse = JSON.parse;


[img[http://static.guim.co.uk/sys-images/Observer/Pix/pictures/2013/12/14/1387015279605/Henry-Porter-workplace-009.jpg]]<<formTiddler NewArticleTemplate>><data>{"journalinfo":"The Guardian","pagenumbers":"20131214","primtopic":"Creativity","synopsis":"Conformity is killing creativity","articletitle":"Deadly conformity is killing our creativity","author":"Henry Porter"}</data>''Deadly conformity is killing our creativity''

Let's mess about more

People's lives would be more fulfilling if they were given greater freedom in the workplace

Henry Porter
The Observer, Saturday 14 December 2013 19.05 GMT

I began to notice the creativity of the manager of the Pret a Manger coffee shop, close to where I live, after he showed extraordinary kindness to a woman with Down's syndrome in her 20s. Well, maybe it wasn't that remarkable, but it was certainly natural and spontaneous and beautifully done.

Having been asked by her carer, the woman cleared their tray and tipped the rubbish into the bin. Then she spotted a chocolate energy bar and gave a pleading look to her carer, who shook her head gravely – probably the right decision because she was a little overweight. Next on her wish list was some attention from the manager, who stepped from behind the counter and gave her a big, affectionate hug.

It was moving and she was evidently delighted, so I took a comment card from the holder on the wall and wrote a note to the CEO of Pret telling him he had a gem on his staff.

The company told me that they would give the manager some kind of reward and since then I have taken a secret pleasure at being the unseen agency of a little good fortune. However, this is not the whole point. The manager, who is not British born, as you may have guessed from his complete lack of embarrassment, never rests.

Ten days ago, I found him on the floor with two-dozen paper coffee cups figuring out how to make a Christmas star from the cups and red lids. I have to say it didn't look too promising, but the next time I went in, there was a Christmas tree made entirely of cups and lids, which wasn't bad at all.

The Pret man came to mind when last week I heard the latest report from the Office of National Statistics which suggests we are currently using just 15% of our intelligence during work and that the nation's human capital – a slightly artificial construct of skills, knowledge and continuous learning – is way down on five years ago. There appears to be a slump in the nation's creativity.

And what has the Pret man got to do with this trend? Well, the way he does his job embodies several of the necessary requirements for creativity: the confidence to experiment, openness and time to play. Clearly the company allows his character to express itself but you can well imagine the grimmer coffee shop chains seeing his restless experimentation and goodwill as being a challenge, maybe even a threat to the orderly running of the business.

Two weeks ago, I wrote here about the British commitment to single issue causes and how all the originality with which these are prosecuted fails to be expressed in the political life of the nation. It seems that the same is true of our working lives. It is just short of a tragedy that, on average, people are only required to use 15% of their intelligence at work – depressing for each one of us, for the economic health of the nation and the general sense of well being.

We could be so much more and have lives that were greatly more fulfilled if we only started to find ways of allowing people to be a little more creative in whatever they do. I am not talking about web companies and media agencies, where a creative environment is a priority, but all those humdrum offices we find ourselves in, where the power structures, politics, sexism, fear, orthodoxy, imaginary pressure and bloody stupid rules prevent us from making the most of what we are, or becoming what we could be.

A few months ago, I was at a large meeting of about 25 people, which after a couple of hours produced very little. We were all there for the same purpose and believed in the same thing, but some stood on ceremony, others were too afraid to speak openly or kept their powder dry so they could better fix things by email later. Then a group went to the pub. They were at play, inhibitions fell away and ideas started flowing, and this was because there were no hierarchies; no one was defending their position; and, crucially, people listened with respect and encouragement. The golden moment is usually short-lived, especially in a pub, but that kind of open exchange, in which no one dominates and the default cynicism of British life is absent, can be terrifically creative, as well as fun.

Play and lack of pressure are vital. When writing a novel (greatly overrated as a romantic and enjoyable activity, by the way) I always hit the buffers at some point and think the book is utter rubbish. The trick when this happens is to get less serious about what you're doing and recognise that one less novel in the world is not going to make a heap of difference. You're there to have fun and you hope that will communicate itself to the reader.

So you take your eye off the ball for a bit, go for a walk, see friends or simply play. I mess around with a couple of mechanical insects that I hope will one day mate and have babies. Richard Feynman, the charismatic physicist and one of the great teachers and thinkers of the past 100 years, gave his mind a rest from profound deliberation by life drawing, reading biology papers and playing the bongo drums.

Sooner, rather than later, the subconscious, which has been left to get on with the problem in its own way, produces the thing that you want, or you didn't even know was there. And that applies to unpressured groups of people, who are at play but maybe also a little focused, and ingenuity wells up from the subconscious and people find themselves speaking the idea before they knew they'd had it – the idea that is born on the lips, as Pepys once said.

There are countless inspiring videos about creativity on the web, like Elizabeth Gilbert's Ted talk of 2009 Sir Ken Robinson's of 2006 and the excellent lecture by John Cleese from 20 years ago. All of them come to the same conclusions about the importance of play, the absence of a fear of failure; openness and lack of pressure.

I would add to these the quality that my friend and the founder of Charter 88 and openDemocracy Anthony Barnett emphasises: generosity of spirit. And that takes us back to the manager of Pret a Manger, who, I believe, would not be nearly as creative if he were not so generous and kind-hearted.

Where does that leave us? Well, apart from encouraging the well-appreciated conditions for creativity in the workplace, we perhaps need to understand that the structures for taking decisions and driving things forward are not the same ones we should use to find innovation and make the most of the unexploited 85% of our intelligence. Power and hierarchies are the enemy of creativity.
[img[http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2013/12/13/1386961748155/Visitors-take-pictures-of-009.jpg]]<<formTiddler NewArticleTemplate>><data>{"primtopic":"Are cell-phones ruining the Art","author":"Stuart Jeffries","articletitle":"The death of photography: are camera phones destroying an artform?","journalinfo":"The Guardian","pagenumbers":"20131213"}</data>''The death of photography: are camera phones destroying an artform?''

From presidential selfies to never-ending Instagram feeds, the world is now drowning in images. Celebrated photographers debate the impact of this mass democratisation on their craft

Stuart Jeffries
The Guardian, Friday 13 December 2013 19.53 GMT

Visitors take pictures of tidal waves under the influence of Typhoon Usagi in Hangzhou

"It's really weird," says Antonio Olmos. "Photography has never been so popular, but it's getting destroyed. There have never been so many photographs taken, but photography is dying."

I'd asked the 50-year-old, award-winning, London-based Mexican photographer what he thinks is going to happen to the medium after a week in which it has come more unflatteringly into focus than ever before. This was the week in which the most reproduced photograph was a photograph of someone (Helle Thorning-Schmidt) taking a photograph (a selfie of the Danish prime minister with two men becoming known as Helle's Angels, David Cameron and Barack Obama) at Nelson Mandela's memorial service. It was an image that seemed to typify the narcissistic nature of smartphone photography.

But here's the twist. That photograph of a trio of politicians was captured by Agence France Presse photographer Roberto Schmidt using a digital SLR camera and a huge 600mm lens, and press photographers hardly ever use iPhones. But should they? Today the chief victims of the cameraphone are makers of point-and-shoot cameras. Only two years ago Annie Leibovitz helped put the nails in the coffin of such middle-market cameras by saying that the iPhone was the "snapshot camera of today". But tomorrow? Maybe cameraphone functionality will become so superb that all you losers who spent four- and five-figure sums on digital SLRs will be overcome with buyers' remorse and press snappers will be shooting with the same cameras as the rest of us.

This was also the week in which psychologists argued there is a "photo-taking impairment effect". That means if we take a photo of something we're less likely to remember it than if we'd looked at it with our eyes. "When people rely on technology to remember for them," argued psychologist Linda Henkel of Fairfield University in Connecticut, "counting on the camera to record the event and thus not needing to attend to it fully themselves – it can have a negative impact on how well they remember their experiences."

We're used to the complaint that we're taking pictures rather than living in the moment, and that makes us experientially poorer. But Henkel's study seems to go further, suggesting we don't even remember the stuff we take pictures of, making the snap-happy nature of modern photography doubly mindless.

"People taking photographs of their food in a restaurant instead of eating it," says Olmos. "People taking photographs of the Mona Lisa instead of looking at it. I think the iPhone is taking people away from their experiences."

But what does Olmos mean by saying photography is dying? He argues that in the 1850s the rise of photography made many painters, who had previously made nice livings from painting family portraits, redundant. Now it's the turn of professional photographers to join the scrap heap. "Photographers are getting destroyed by the rise of iPhones. The photographers who used to make £1,000 for a weekend taking wedding pictures are the ones facing the squeeze. Increasingly we don't need photographers – we can do just as well ourselves."

But doesn't that mean that some photographers are becoming obsolete, rather than that photography itself is dying? Isn't what we're witnessing a revolution in photography, thanks to digital technology, that makes it more democratic? "In one sense yes. I used to be sent on assignment to Iraq, Afghanistan and to photograph the Intifada – partly because there weren't any local photographers. Now thanks to digital technology, there are locals taking images at least as good as I can.

"Don't get me wrong. I love iPhones and Instagram," says Olmos. "But what I worry about is that Kodak used to employ 40,000 people in good jobs. What have they been replaced by? Twelve people at Instagram."

Progress often has casualties, I suggest. "I don't oppose progress in photography," he replies. "I'm pleased there aren't darkrooms and suspicious toxic chemicals you guiltily throw down the sink. I'm pleased there are no longer photography companies who got silver out of Congo by bribing Mobuto for their film, as used to happen."

But there's a stronger reason that makes Olmos argue photography is dying. "The iPhone has a crap lens. You can take a beautiful picture on the iPhone and blow it up for a print and it looks terrible."

But who needs prints in a paper-free world? "For me the print is the ultimate expression of photography," he retorts. "When I do street photography courses, I get people to print pictures – often for the first time. The idea is to slow them down, to make them make – not just take – photographs."

Guardian photographer Eamonn McCabe agrees: "At the risk of sounding like one of those bores defending vinyl over CDs, I think there's a depth to a print you don't get with digital." He recently looked up an old print of a picture he took of novelist and Nobel Laureate Doris Lessing, who died last month. "It was a black and white print I took with a Hasselblad, a tripod and a lot of window. It took me back to the days when photography didn't make people like me lazy."

Why is digital lazy? "It's a scattergun approach. You snap away thinking, 'One of these shots will work', rather than concentrate on capturing the image."

McCabe used to take two rolls of 24 exposures on a typical assignment. "Now I can shoot 1,000 pictures in one of these sessions on digital – and I give myself a massive editing problem as a result. I don't think photography's dead, it's just become lazy. People are taking lots of pictures but nobody's looking at them."

For a more positive sense of what digital and cameraphone technology has done to photography, I speak to Nick Knight, the British fashion photographer who's just done two big assignments entirely on iPhone – a book of 60 images celebrating the work of the late fashion editor Isabella Blow, and a campaign for designer clothes brand Diesel. "I work frequently on the iPhone. It's almost become my camera of choice."

Indeed, Knight reckons the democratising revolution catalysed by improved mobile phone cameras is as radical as what happened in the 1960s when fashion photographer David Bailey binned his tripod and started using a handheld camera. "It gave him freedom and changed artistically what photography was. The same is true for me with the iPhone. For years I would shoot on an 8x10 camera, which wasn't intended to be moved. Now I have freedom."

But what about the "crap" iPhone lens? "Who cares? The image isn't sharp? Big deal! One of my favorite photographers is Robert Capa, whose pictures are a bit blurry sometimes – I love them because he's captured a moment.

"What I'm into is visual connection to what I'm taking, not pin-sharp clarity. It's absurd for people to think all photos need to be high-resolution – what matters, artistically, is not how many pixels it has, but if the image works. People fetishise the technology in photography more than any other medium. You don't get anybody but paintbrush nerds fixating on what brush the Chapman brothers use. The machinery you create your art on is irrelevant."

Not quite. The iPhone has revolutionised Knight's photography and he knows it. "I can wrap an image around a sphere, I can take out the black or white values of a picture. I couldn't tell you how it works, but it thrills me."

But isn't that a loss? As McCabe says: "We don't engage with the camera any more. We don't know how it works."

"I don't care about all that," says Knight. What he's engaged by is how photography has become truly democratic. "When I was a kid there was just one camera per family, if that. Now everybody has one and uses it all the time. That's great." But why? Knight has been researching images of punk bands lately. "There are hardly any images, and all of them are from on stage. Compare that with now – at a Kanye West gig you see a sea of cameras, and there's a database of images. I think that's fantastic – the new medium is much more democratic."

But doesn't incessant picture-taking, as psychologists argue, make us forget? "That's old rubbish," says Knight. "Like that old nonsense about how sitting too close to the TV will infuse you with x-rays. My dad went around a lot of the time shooting with a video camera when I was a kid. Now we have lots of great old home videos as a result. So what if someone stands in front of a Matisse and takes a picture to look at on the bus home? I think that's great if they want to."

But it's hard for professional photographers not to feel threatened. "Staff photographers are an increasingly scarce commodity, thanks to aggressive cost-cutting by newspapers and magazines, and amateur photographers are exploiting technological advances to produce stunning images, often using no more than their mobile phones," says Magda Rakita, a 37-year-old student at London's University of the Arts and a professional photographer.

"But technological advances work to our advantage, too. They allow professional photographers to share our work quickly and widely, and tell stories in engaging, innovative ways. Think, for example, of multimedia productions, iPad applications or eBooks, as well as the ability to make work accessible through Facebook, Twitter or Instagram. The latter mediums can be hugely significant tools for photographers and storytellers working with marginalised groups who, until recently, would not have had the opportunity of participating in the wider discussion and challenging mainstream views."

But what about earning a living? She says: "Creating your audience is essential in a new financial model that increasingly relies on crowdfunding."

In any case, established photographers don't necessarily have to worry about the democratisation of their medium. "I'll survive in this profession because I have skills," says Olmos. "I'm a storyteller in images; my compositions are better than most people's. Just because you've got a microprocessor in your computer doesn't make you a writer. And just because you've got an Instagram app on your phone you aren't a great photographer."
[[About this Tiddlywiki]]
''Internet'' http://en.wikipedia.org/wiki/Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite (TCP/IP) to serve several billion users worldwide. It is a network of networks that consists of millions of private, public, academic, business, and government networks, of local to global scope, that are linked by a broad array of electronic, wireless, and optical networking technologies. The Internet carries an extensive range of information resources and services, such as the inter-linked hypertext documents of the World Wide Web (WWW), the infrastructure to support email, and peer-to-peer networks.

''World Wide Web'' http://en.wikipedia.org/wiki/World_Wide_Web
The World Wide Web (abbreviated as WWW or W3, commonly known as the web) is a system of interlinked hypertext documents accessed via the Internet. With a web browser, one can view web pages that may contain text, images, videos, and other multimedia and navigate between them via hyperlinks.

''Intranet'' http://en.wikipedia.org/wiki/Intranet
An Intranet is a computer network that uses Internet Protocol technology to share information, operational systems, or computing services within an organization.
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"Tech Target","pagenumbers":"20130910","primtopic":"Maturity Model for Big data","synopsis":"There is much to learn about Big Data","articletitle":"\"TDWI at work on maturity model for big data analytics\"","author":"Jack Vaughan"}</data>TDWI at work on maturity model for big data analytics
Jack Vaughan
Published: 09 Sep 2013

While big data analytics is still new enough to evoke the aura of the Wild West, some companies have been at it long enough to develop true competencies. To capture and benchmark the evolving best practices of such companies, The Data Warehousing Institute is undertaking a new study, according to Fern Halper, author and research director for advanced analytics at The Data Warehousing Institute.

Early patterns are emerging. Halper said people addressing big data analytics tend to come at the problem from two distinct directions. Traditional companies focus one way, while Internet-based firms and smaller companies focus in another.

"The Internet companies are all about getting something done; they are about moving as fast as they can. That can be good, but it can come back to bite you," she said. "The larger companies are moving slower; they may build a proof of concept and it may take longer to permeate the organization."

Data managers at Internet or Web applications companies know they ultimately need to put more formal processes in place to handle big data analytics -- corporate compliance is often a driver -- but the shift in direction can be hard to manage if they are growing rapidly, according to Halper.

Internet companies are about … moving as fast as they can. That can be good, but it can come back to bite you.

Fern Halper,
research director, TDWI

Data managers at traditional enterprises also face hurdles moving big data analytics from initial deployments to wider uses. "It is hard to get from narrow, early adoption to broader corporate adoption for big data analytics," she said.

Maturity model has five dimensions
Halper, who earlier this year co-authored Big Data for Dummies with Judith Hurwitz, Alan Nugent and Marcia Kaufman, said The Data Warehousing Institute (TDWI) looks at big data analytics as the application of analytical techniques not just to big sets of data, but also to highly varied types of data. In fact, data shops that are adept at handling large data sets in transactional and relational form still have a lot to learn when they take on more varied information types, such as unstructured data, as part of new initiatives.

As part of the effort to create TDWI's Big Data Maturity Model, Halper talked with users and vendors, looking at five specific dimensions of the big data maturation process: organization, infrastructure, data management, analytics and governance.

She said a benchmark survey will be published on the TDWI site in October, and users will be able to go in, answer questions, and see where they stand relative to their peers in terms of maturity of big data analytics.

Jack Vaughan is SearchDataManagement.com's news and site editor. Email him at jvaughan@techtarget.com.
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
Why Diets Fail (Because You're Addicted to Sugar): Science Explains How to End Cravings, Lose Weight, and Get Healthy
by Nichole M. Avena, John R. Talbott
[img[http://images.bertrams.com/ProductImages/services/GetImage?Source=BERT&Quality=WEB&Component=FRONTCOVER&EAN13=9781607744863]]<<formTiddler NewArticleTemplate>><data>{"journalinfo":"The Guardian","articletitle":"Dieting makes you fatter","author":"Amy Fleming","primtopic":"Dieting","synopsis":"Dieting makes you fatter because you are addicted to sugar"}</data>''Dieting makes you fatter''

 Amy Fleming

The Guardian, Sunday 12 January 2014 19.00 GMT

Studies show that most people who diet actually end up heavier. Photograph: Ocean/Corbis
In recent years there has been a considerable backlash against the diet industry. The fact that we pour around £2bn into its coffers each year, while our waistlines continue to swell, has not gone unnoticed. Nor has the fact that many of those who profit from the industry are also peddling the very foods blamed for causing obesity. And yet, every January, masses of intelligent people will fall hook, line and sinker for the claims of some aggressive new weight-loss manifesto.

And so a timely title among 2014's crop of eating plans is Why Diets Fail, jointly penned by John Talbott (who usually writes about finance) and Nicole Avena, a neuroscientist working on the controversial hypothesis that sugar is clinically addictive. The pair teamed up after Talbott kicked his sugar habit and felt he had found a permanent "magic cure" for not only being overweight, but also lethargy, snappiness and anxiety.

Instead of a diet, the book offers a slow-burn programme for overcoming sugar dependency, while its opening chapters provide more weight to the growing public acceptance that conventional diets don't work. We shouldn't wholly blame ourselves when we crash out of a diet, say the authors, partly because: "Just being on a diet sets you up for failure." Saying that you are going on a diet implies that you will come off said diet at some point; you just need to tough it out for a bit and then you can get back to normal – in other words, consuming more calories than you expend. Long-term results do not this way lie.

There is plenty of evidence that quick-fix approaches to weight loss will never solve the problem: in fact, they are more likely to make you fatter. A review of 31 long-term dieting studies showed that most people who diet actually end up heavier. One possible explanation is that hormonal changes resulting from restrictive diets mess with our appetites. An Australian study in 2011 showed that hormone levels had still not normalised a full year after its subjects' diets. "Leptin [a hormone that regulates appetite] falls and ghrelin [a hormone that stimulates appetite] rises after weight loss," says its author, Joseph Proietto.

Participants in a Columbia University study, who had dieted to shed 10% of their bodyweight, and were therefore low in leptin, were presented with a "parade" of foods while hooked up to an fMRI scanner, which looks at brain activity. It showed they were responding to the foods with the emotional parts of their brains. They were then given leptin, and their frontal "executive" lobes regained control.

Psychologically and behaviourally, write Avena and Talbott, it is much easier to enact small changes over time than to try to "jump start" our eating habits. They cite a study that compared a 20-week diet with the same programme implemented gradually, over 40 weeks. People in the 40-week group lost more weight and were better able to maintain their weight loss over time.

They point out that if you try to teach a dog a three-staged trick in one go: "Learning might never occur." Whereas if you teach step one first, and then start rewarding the poor mutt only after it has completed two stages, and then finally reward it only for doing all three actions in order, the dog will learn the trick without getting confused or overwhelmed. This conditioning strategy is called shaping – and it works on humans, too.

The crux of the book's case against diets is that many of us are addicted to sugar, and so our only hope of staying slim is to overcome this. The authors say that we often believe personal behaviours are the primary reason why people are overweight, "rather than the amount of junk food available or other environmental factors". And it compares this "unfortunate" self-blame with that of alcoholics and gamblers, asserting that personal responsibility is "part of a larger, more complicated puzzle, and some things are beyond our control". Avena's work has shown that the brain's reward centres light up in response to sugary food in the same way they do to hard drugs, and that giving up sugar can elicit similar withdrawal symptoms, too.

Avena and Talbott write that, just as with other addictions, some people's genes make them more susceptible to the temptations of fattening foods. But applying the term "addiction" to food is contested by some scientists. Marion Hetherington, of the University of Leeds, says: "I don't believe genetics can explain the issue with dieting success, except that it will be more difficult for some people to lose weight since they are more susceptible to tempting food cues." Addiction, in her view, is not a helpful word because: "It can deflect focus on the cause of overeating from the person to the environment. For example, foods are addictive, so this creates food addicts."

Avena tells me that she doesn't think overweight people are necessarily slaves to their genes, although: "Having the genetic tendency to be an overeater or to be obese does mean that some people might have to work harder to resist urges to eat."

Which does she think is the most influential factor in obesity: genetics, personal responsibility or the abundance of sugary and fatty foods? "They are equally to blame," she replies magnanimously. Whether or not you agree with the addiction tag, it will be interesting to see whether treating sugar cravings as such can help to beat them.
<<formTiddler NewArticleTemplate>>Does Exercise Really Keep Us Healthy?

While exercise can boost mood, its health benefits have been oversold.

Moderate exercise can reduce the risk of diabetes in people at risk. Exercise may reduce the risk of heart disease and breast and colon cancers.

Though the evidence is mixed, exercise may also provide benefits for people with osteoporosis.

Physical activity alone will not lead to sustained weight loss or reduce blood pressure or cholesterol.

Exercise has long been touted as the panacea for everything that ails you. For better health, simply walk for 20 or 30 minutes a day, boosters say — and you don’t even have to do it all at once. Count a few minutes here and a few there, and just add them up. Or wear a pedometer and keep track of your steps. However you manage it, you will lose weight, get your blood pressure under control and reduce your risk of osteoporosis.

If only it were so simple. While exercise has undeniable benefits, many, if not most, of its powers have been oversold. Sure, it can be fun. It can make you feel energized. And it may lift your mood. But before you turn to a fitness program as the solution to your particular health or weight concern, consider what science has found.

Moderate exercise, such as walking, can reduce the risk of diabetes in obese and sedentary people whose blood sugar is starting to rise. That outcome was shown in a large federal study in which participants were randomly assigned either to an exercise and diet program, to take a diabetes drug or to serve as controls. Despite trying hard, those who dieted and worked out lost very little weight. But they did manage to maintain a regular walking program, and fewer of them went on to develop diabetes.

Exercise also may reduce the risk of heart disease, though the evidence is surprisingly mixed. There seems to be a threshold effect: Most of the heart protection appears to be realized by people who go from being sedentary to being moderately active, usually by walking regularly. More intense exercise has been shown to provide only slightly greater benefits. Yet the data from several large studies have not always been clear, because those who exercise tend to be very different from those who do not.

Active people are much less likely to smoke; they’re thinner and they eat differently than their sedentary peers. They also tend to be more educated, and education is one of the strongest predictors of good health in general and a longer life. As a result, it is impossible to know with confidence whether exercise prevents heart disease or whether people who are less likely to get heart disease are also more likely to be exercising.

Scientists have much the same problem evaluating exercise and cancer. The same sort of studies that were done for heart disease find that people who exercised had lower rates of colon and breast cancer. But whether that result is cause or effect is not well established.

Exercise is often said to stave off osteoporosis. Yet even weight-bearing activities like walking, running or lifting weights has not been shown to have that effect. Still, in rigorous studies in which elderly people were randomly assigned either to exercise or maintain their normal routine, the exercisers were less likely to fall, perhaps because they got stronger or developed better balance. Since falls can lead to fractures in people with osteoporosis, exercise may prevent broken bones — but only indirectly.

And what about weight loss? Lifting weights builds muscles but will not make you burn more calories. The muscle you gain is minuscule compared with the total amount of skeletal muscle in the body. And muscle has a very low metabolic rate when it’s at rest. (You can’t flex your biceps all the time.)

Jack Wilmore, an exercise physiologist at Texas A & M University, calculated that the average amount of muscle that men gained after a serious 12-week weight-lifting program was 2 kilograms, or 4.4 pounds. That added muscle would increase the metabolic rate by only 24 calories a day.

Exercise alone, in the absence of weight loss, has not been shown to reduce blood pressure. Nor does it make much difference in cholesterol levels. Weight loss can lower blood pressure and cholesterol levels, but if you want to lose weight, you have to diet as well as exercise. Exercise alone has not been shown to bring sustained weight loss.Just ask Steven Blair, an exercise researcher at the University of South Carolina. He runs every day and even runs marathons. But, he adds, “I was short, fat and bald when I started running, and I’m still short, fat and bald. Weight control is difficult for me. I fight the losing battle.”

The difficulty, Dr. Blair says, is that it’s much easier to eat 1,000 calories than to burn off 1,000 calories with exercise. As he relates, “An old football coach used to say, ‘I have all my assistants running five miles a day, but they eat 10 miles a day.’”

Publish date: 1/8/08<data>{"author":"Gina Kolata","articletitle":"\"Does Exercise Really Keep Us Healthy?\"","journalinfo":"NYTimes","pagenumbers":"200901","synopsis":"There is little evidence that exercise actually delivers direct health benefits"}</data>
<<notes heading:'Rays Notes'>> 
<<formTiddler NewArticleTemplate>>InnovoMarketing

''Elements of a Bank Marketing Plan''

by Lori Philo-Cook on April 27, 2013

Okay, I will admit that I can  go a little overboard on my marketing plans. I am the kind of person who likes to make lists and organize just about everything. So, I believe in developing a comprehensive marketing plan that is a real blueprint for the coming year. And, I usually add to it as we go.
For people who like short and sweet, it may be a bit much. But, it’s worked great for me and the banks where I’ve managed marketing. So, with that bit of insight out of the way, let’s talk about the elements of a comprehensive marketing plan and you can decide for yourself which elements make sense for your bank’s plan.

Elements I Recommend Be a Part of Your Bank Marketing Plan:
 Market Position Statement
The Role of Marketing
Marketing Functions
Marketing Functions by Position
Overall Marketing Plan
Detailed Project Plans
Major Marketing Projects Calendar
Marketing Budget
Other Items that You May Include in Your Plan:
The bank’s statement of values and mission statement
A market analysis for each of your markets (if this is not a part of bank’s business plan)
Analysis of your products, services, delivery channels
Current market research, customer service surveys and other bank research you have available.
Overall, ongoing marketing goals, reviewed and updated annually
Event calendars (employee, customer, community and shareholder)
Logo/brand guidelines
Brand positioning, brand promise and brand personality (usually incorporated into the Market Position Statement)

1. Market Position Statement
This is a basic description of what your bank stands for and how you are different from your competitors. This statement is developed in conjunction with your bank’s senior management and serves as a basis for all that you do. Here are some key questions to ask when developing your Market Position Statement:

Characteristics of your bank/approach to doing business?
What is your bank/brand personality?
What differentiates you from your competitors?
Which communities? Geographic areas?
Who do you serve? Key market segments?
Your primary products and services?
Use of technology/level of innovation?
Pricing strategy?
Bank management style?
Special expertise of employees?
Focus of your training/focus of your employee recognition?
2. The Role of Marketing at X Bank
This is an overview of how marketing works at your bank and what falls under marketing. As you know, marketing’s role varies widely from bank to bank. If the role at your bank is not clearly defined, your managers’ perceptions will default to whatever was practiced at their last employer. Once you have a final statement approved by your President, ask him/her to endorse it publicly. Provide a copy to all bank officers and have it included in HR’s new officer packet. This document will change over time as marketing changes and your management’s vision for Marketing evolves.
What functions fall under Marketing?
What authority does Marketing have?
What has to be reviewed by Marketing?
What has to be approved by Marketing?
Basically, how does marketing work at your bank?
3. Marketing Functions at X Bank
This is a simple visual diagram of the primary functions that fall under marketing at your bank. See my separate post on marketing functions for more info.

4. Marketing Functions by Position
 If you have other marketing staff, it is helpful to create a visual diagram of what each person in your department does.
Clarifies roles.
Prevents things from dropping thru the cracks.
Helps bank staff know who to go to when manager is not available.
Saves time for marketing staff and bank managers.
5. Overall Marketing Plan
This plan outlines your department’s major focus for the year. Senior management will rarely take the time to read an epistle (I know this from experience) so limit this one to 3-5 pages, if possible. It is really a big picture view your primary goals and projects for the year.  Save the details for your specific implementation plans that you develop later.
List the primary goals your bank has for the coming year that apply to marketing.
Briefly address how marketing will support each of these goals.
List other major marketing goals for year.
Briefly describe marketing’s major projects and key initiatives that support these goals.
 List any major changes you plan to make within marketing.
6. Major Marketing Projects Calendar
I highly recommend that you create a quarterly calendar listing all major projects for your department. Each month, it provides a quick overview of all projects by category. This type of calendar is central to everything you do in marketing. It also serves as a guide as you develop your budget and prepare your written plans.
Better Marketing Management
Ensures you have a promotion plan for every month and all of your communication vehicles are covered
Reduces scheduling conflicts
Helps marketing plan ahead and schedule work
You can easily move projects to other months
Great budgeting tool
Better In-bank Communications
Department heads know what to expect each month
Clearly demonstrates the breadth of marketing responsibilities.
7. Project Implementation Plans
These are basically detailed plans for all of your major projects, and they serve as implementation guides. Complex plans often include task lists outlining key tasks, responsibilities and deadlines. Within these plans you should answer all the basic questions: Why? What are the goals? What are you going to do to meet those goals? How? When? What resources will be needed? How will you market/communicate to employees, customers, etc.? How will you measure success? There are several approaches you can take in developing these plans.
Plans based on the marketing function
(Public Relations Plan, Advertising Plan, Sales Support Plan, Research Plan, etc.)
Plans based on products/product groups/delivery channels
(Personal Deposit Accounts Promotion Plan, Personal Loans Promotion Plan, Business Services Plan, Online/Mobile Services Plan, etc.)
Plans bases on key market segments
(Senior citizens, homebuyers, ethnic groups, small business, agricultural, retail merchants, etc.)
Plans for major projects and initiatives
(Customer Appreciation BBQ Plan, Implementing an Onboarding Program, Introducing a New Website, Opening a New Branch, etc.)
It’s likely you will use more than one of these approaches, depending on your priorities for the year. For example, you may create an overall public relations plan as well as individual major event plans. While this will take a lot of effort the first year. But, for annual projects, each year you will simply review and update the plan, which simplifies the process.

8. Marketing Budget
Developing a detailed marketing budget is an important way to plan for all of your expenses. Some banks just give marketing an overall dollar amount and others want you to document every planned expense. Regardless of how your bank does it, you are still responsible for managing to the bottom line. I prefer developing a detailed budget for each marketing account and then monitoring actual expenses compared to budget. Once you put this system in place, it is easy to track variances and plan for each new budget year.

Items that Will Help You Prepare a Detailed, Realistic Marketing Budget

Your Major Marketing Projects Calendar
Notes from you meetings with the key users of your marketing services
Marketing planning session notes
Last year’s project files and notes on ways to improve
Your “Future Ideas File” full of ideas you’ve gathered over the past 12 months
 Last year’s budget and actual expenses (also helpful to keep copies of actual invoices for two years for reference)
Estimates and bids for any new proposals
 Inventory reports and usage patterns so you know what you need to re-order as well as updated bids on any ongoing inventory items
Benefits of a Comprehensive Budget
With real numbers, senior management can make budget decisions based on the value versus actual cost. Is this project worth it to the bank?
As you build accurate budgets (no padding), management will develop confidence in the numbers you provide in the future.
When your management adds a new program or campaign, you’ll be able to quickly gauge the impact on the budget and how much you will need to cut in other areas.
Common Marketing Budget Approaches
There are several ways that banks determine how much money they will allocate for marketing.
Common Methods Used to Create Bank Marketing Budgets
Common Methods Used to Create Bank Marketing Budgets

Objective and Task Method: The budget is developed based on the bank’s business goals as they related to marketing, major projects for the year and what marketing needs to accomplish. This is the method most marketers prefer. The amounts vary from year to year, depending on what is in the department’s to-do list.
 Percentage Method: This is an arbitrary number usually based on a percentage of assets (1/10th of 1%) or a percentage of revenue (10-12% of annual revenue) if the bank is not planning any major growth initiatives.
Competitive Parity Method: Budget is roughly based on what key competitors are spending, as estimated by your bank. This does not take into account differences in markets, bank strategies, goals, etc.
Incremental Method: Budget is set using a base amount plus an incremental increase each year, depending on inflation, current growth rate, or some other factor.
Some Combination: Commonly, banks use the percentage method to establish a target amount and then use the objective/task to determine how funds will be allocated within that amount.
 <data>{"author":" Lori Philo-Cook","articletitle":"Elements of a Bank Marketing Plan","journalinfo":"innovomarketing.com","pagenumbers":"201401","primtopic":"Bank Marketing Plan"}</data>
|Description:|Adds a New tiddler button in the tag drop down|
|Version:|3.2 ($Rev: 3861 $)|
|Date:|$Date: 2008-03-08 10:53:09 +1000 (Sat, 08 Mar 2008) $|
|Author:|Simon Baird <simon.baird@gmail.com>|

window.onClickTag_mptw_orig = window.onClickTag;
window.onClickTag = function(e) {
	var tag = this.getAttribute("tag");
	var title = this.getAttribute("tiddler");
	// Thanks Saq, you're a genius :)
	var popup = Popup.stack[Popup.stack.length-1].popup;
	wikify("<<newTiddler label:'New tiddler' tag:'"+tag+"'>>",createTiddlyElement(popup,"li"));
	return false;


|Created by|SaqImtiaz|
Resize tiddler text on the fly. The text size is remembered between sessions by use of a cookie.
You can customize the maximum and minimum allowed sizes.
(only affects tiddler content text, not any other text)

Also, you can load a TW file with a font-size specified in the url.
Eg: http://tw.lewcid.org/#font:110

Try using the font-size buttons in the sidebar, or in the MainMenu above.

Copy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW.
Then put {{{<<fontSize "font-size:">>}}} in your SideBarOptions tiddler, or anywhere else that you might like.

{{{<<fontSize>>}}} results in <<fontSize>>
{{{<<fontSize font-size: >>}}} results in <<fontSize font-size:>>

The buttons and prefix text are wrapped in a span with class fontResizer, for easy css styling.
To change the default font-size, and the maximum and minimum font-size allowed, edit the config.fontSize.settings section of the code below.

This plugin assumes that the initial font-size is 100% and then increases or decreases the size by 10%. This stepsize of 10% can also be customized.

*27-07-06, version 1.0 : prevented double clicks from triggering editing of containing tiddler.
*25-07-06,  version 0.9



//configuration settings
config.fontSize.settings =
            defaultSize : 100,  // all sizes in %
            maxSize : 200,
            minSize : 40,
            stepSize : 10

//startup code
var fontSettings = config.fontSize.settings;

if (!config.options.txtFontSize)
            {config.options.txtFontSize = fontSettings.defaultSize;
setStylesheet(".tiddler .viewer {font-size:"+config.options.txtFontSize+"%;}\n","fontResizerStyles");
setStylesheet("#contentWrapper .fontResizer .button {display:inline;font-size:105%; font-weight:bold; margin:0 1px; padding: 0 3px; text-align:center !important;}\n .fontResizer {margin:0 0.5em;}","fontResizerButtonStyles");

config.macros.fontSize.handler = function (place,macroName,params,wikifier,paramString,tiddler)

               var sp = createTiddlyElement(place,"span",null,"fontResizer");
               if (params[0])
               createTiddlyButton(sp,"+","increase font-size",this.incFont);
               createTiddlyButton(sp,"=","reset font-size",this.resetFont);
               createTiddlyButton(sp,"–","decrease font-size",this.decFont);

config.macros.fontSize.onDblClick = function (e)
             if (!e) var e = window.event;
             e.cancelBubble = true;
             if (e.stopPropagation) e.stopPropagation();
             return false;

config.macros.fontSize.setFont = function ()
               setStylesheet(".tiddler .viewer {font-size:"+config.options.txtFontSize+"%;}\n","fontResizerStyles");

               if (config.options.txtFontSize < fontSettings.maxSize)
                  config.options.txtFontSize = (config.options.txtFontSize*1)+fontSettings.stepSize;


               if (config.options.txtFontSize > fontSettings.minSize)
                  config.options.txtFontSize = (config.options.txtFontSize*1) - fontSettings.stepSize;



config.paramifiers.font =
               onstart: function(v)
                   config.options.txtFontSize = v;
FontSizePlugin has been updated to prevent double clicks of the button from triggering editing of the containing tiddler.
Here are some examples that show the usage of the write action in the ForEachTiddlerMacro.

//''Select and Sort Examples''//
* InClauseExamples
* WhereClauseExamples
* SortClauseExamples
* ScriptClauseExamples
//''Action Examples''//
* AddToListActionExamples
* WriteActionExamples

Of cause you may also combine the examples, e.g. taking the whereClause of one example, the sortClause of a second and the action of a third.
//~~(Part of the [[ForEachTiddlerPlugin]])~~//

Create customizable lists, tables etc. for your selections of tiddlers. Specify the tiddlers to include and their order through a powerful language.

|>|{{{<<}}}''forEachTiddler'' [''in'' //tiddlyWikiPath//] [''where'' //whereCondition//] [''sortBy'' //sortExpression// [''ascending'' //or// ''descending'']] [''script'' //scriptText//] [//action// [//actionParameters//]]{{{>>}}}|
|//tiddlyWikiPath//|The filepath to the TiddlyWiki the macro should work on. When missing the current TiddlyWiki is used.|
|//whereCondition//|(quoted) JavaScript boolean expression. May refer to the build-in variables {{{tiddler}}} and {{{context}}}.|
|//sortExpression//|(quoted) JavaScript expression returning "comparable" objects (using '{{{<}}}','{{{>}}}','{{{==}}}'. May refer to the build-in variables {{{tiddler}}} and {{{context}}}.|
|//scriptText//|(quoted) JavaScript text. Typically defines JavaScript functions that are called by the various JavaScript expressions (whereClause, sortClause, action arguments,...)|
|//action//|The action that should be performed on every selected tiddler, in the given order. By default the actions [[addToList|AddToListAction]] and [[write|WriteAction]] are supported. When no action is specified [[addToList|AddToListAction]] is used.|
|//actionParameters//|(action specific) parameters the action may refer while processing the tiddlers (see action descriptions for details). <<tiddler [[JavaScript in actionParameters]]>>|
|>|~~Syntax formatting: Keywords in ''bold'', optional parts in [...]. 'or' means that exactly one of the two alternatives must exist.~~|

''Using JavaScript''

To give you a lot of flexibility the [[ForEachTiddlerMacro]] uses JavaScript in its arguments. Even if you are not that familiar with JavaScript you may find forEachTiddler useful. Just have a look at the various ready-to-use [[ForEachTiddlerExamples]] and adapt them to your needs.

''The Elements of the Macro''

The arguments of the ForEachTiddlerMacro consist of multiple parts, each of them being optional.

<<slider chkFETInClause [[inClause]] "inClause" "inClause">>
<<slider chkFETWhereClause [[whereClause]] "whereClause" "whereClause">>
<<slider chkFETSortClause [[sortClause]] "sortClause" "sortClause">>
<<slider chkFETScriptClause [[scriptClause]] "scriptClause" "scriptClause">>
<<slider chkFETActions [[Action Specification]] "Action Specification" "Action Specification">>

''Using Macros and ">" inside the forEachTiddler Macro''

You may use other macro calls into the expression, especially in the actionParameters. To avoid that the {{{>>}}} of such a macro call is misinterpreted as the end of the {{{<<forEachTiddler...>>}}} macro you must escape the {{{>>}}} of the inner macro with {{{$))}}} E.g. if you want to use {{{<<tiddler ...>>}}} inside the {{{forEachTiddler}}} macro you have to write {{{<<tiddler ...$))}}}.

In addition it is necessary to escape single {{{>}}} with the text {{{$)}}}.

''Using {{{<<tiddler ... with: ...>>}}} to re-use ForEachTiddler definitions''

Sometimes you may want to use a certain ForEachTiddler definition in slight variations. E.g. you may want to list either the tiddlers tagged with "ToDo" and in the other case with "Done". To do so you may use "Tiddler parameters". Here an example:

Replace the variable part of the ForEachTiddler definition with $1 ($2,... $9 are supported). E.g. you may create the tiddler "ListTaggedTiddlers" like this

Now you can use the ListTaggedTiddlers for various specific tags, using the {{{<<tiddler ...>>}}} macro:
<<tiddler ListTaggedTiddlers with: "systemConfig">>
<<tiddler ListTaggedTiddlers with: "Plugin">>

See also [[ForEachTiddlerExamples]].
|''Version:''|1.0.8 (2007-04-12)|
|''Author:''|UdoBorkowski (ub [at] abego-software [dot] de)|
|''Licence:''|[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]|
|''Copyright:''|&copy; 2005-2007 [[abego Software|http://www.abego-software.de]]|
|''TiddlyWiki:''|1.2.38+, 2.0|
|''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|

Create customizable lists, tables etc. for your selections of tiddlers. Specify the tiddlers to include and their order through a powerful language.

|>|{{{<<}}}''forEachTiddler'' [''in'' //tiddlyWikiPath//] [''where'' //whereCondition//] [''sortBy'' //sortExpression// [''ascending'' //or// ''descending'']] [''script'' //scriptText//] [//action// [//actionParameters//]]{{{>>}}}|
|//tiddlyWikiPath//|The filepath to the TiddlyWiki the macro should work on. When missing the current TiddlyWiki is used.|
|//whereCondition//|(quoted) JavaScript boolean expression. May refer to the build-in variables {{{tiddler}}} and  {{{context}}}.|
|//sortExpression//|(quoted) JavaScript expression returning "comparable" objects (using '{{{<}}}','{{{>}}}','{{{==}}}'. May refer to the build-in variables {{{tiddler}}} and  {{{context}}}.|
|//scriptText//|(quoted) JavaScript text. Typically defines JavaScript functions that are called by the various JavaScript expressions (whereClause, sortClause, action arguments,...)|
|//action//|The action that should be performed on every selected tiddler, in the given order. By default the actions [[addToList|AddToListAction]] and [[write|WriteAction]] are supported. When no action is specified [[addToList|AddToListAction]]  is used.|
|//actionParameters//|(action specific) parameters the action may refer while processing the tiddlers (see action descriptions for details). <<tiddler [[JavaScript in actionParameters]]>>|
|>|~~Syntax formatting: Keywords in ''bold'', optional parts in [...]. 'or' means that exactly one of the two alternatives must exist.~~|

See details see [[ForEachTiddlerMacro]] and [[ForEachTiddlerExamples]].

!Revision history
* v1.0.8 (2007-04-12)
** Adapted to latest TiddlyWiki 2.2 Beta importTiddlyWiki API (introduced with changeset 2004). TiddlyWiki 2.2 Beta builds prior to changeset 2004 are no longer supported (but TiddlyWiki 2.1 and earlier, of cause)
* v1.0.7 (2007-03-28)
** Also support "pre" formatted TiddlyWikis (introduced with TW 2.2) (when using "in" clause to work on external tiddlers)
* v1.0.6 (2006-09-16)
** Context provides "viewerTiddler", i.e. the tiddler used to view the macro. Most times this is equal to the "inTiddler", but when using the "tiddler" macro both may be different.
** Support "begin", "end" and "none" expressions in "write" action
* v1.0.5 (2006-02-05)
** Pass tiddler containing the macro with wikify, context object also holds reference to tiddler containing the macro ("inTiddler"). Thanks to SimonBaird.
** Support Firefox
** Internal
*** Make "JSLint" conform
*** "Only install once"
* v1.0.4 (2006-01-06)
** Support TiddlyWiki 2.0
* v1.0.3 (2005-12-22)
** Features: 
*** Write output to a file supports multi-byte environments (Thanks to Bram Chen) 
*** Provide API to access the forEachTiddler functionality directly through JavaScript (see getTiddlers and performMacro)
** Enhancements:
*** Improved error messages on InternetExplorer.
* v1.0.2 (2005-12-10)
** Features: 
*** context object also holds reference to store (TiddlyWiki)
** Fixed Bugs: 
*** ForEachTiddler 1.0.1 has broken support on win32 Opera 8.51 (Thanks to BrunoSabin for reporting)
* v1.0.1 (2005-12-08)
** Features: 
*** Access tiddlers stored in separated TiddlyWikis through the "in" option. I.e. you are no longer limited to only work on the "current TiddlyWiki".
*** Write output to an external file using the "toFile" option of the "write" action. With this option you may write your customized tiddler exports.
*** Use the "script" section to define "helper" JavaScript functions etc. to be used in the various JavaScript expressions (whereClause, sortClause, action arguments,...).
*** Access and store context information for the current forEachTiddler invocation (through the build-in "context" object) .
*** Improved script evaluation (for where/sort clause and write scripts).
* v1.0.0 (2005-11-20)
** initial version


//		   ForEachTiddlerPlugin

// Only install once
if (!version.extensions.ForEachTiddlerPlugin) {

if (!window.abego) window.abego = {};

version.extensions.ForEachTiddlerPlugin = {
	major: 1, minor: 0, revision: 8, 
	date: new Date(2007,3,12), 
	source: "http://tiddlywiki.abego-software.de/#ForEachTiddlerPlugin",
	licence: "[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]",
	copyright: "Copyright (c) abego Software GmbH, 2005-2007 (www.abego-software.de)"

// For backward compatibility with TW 1.2.x
if (!TiddlyWiki.prototype.forEachTiddler) {
	TiddlyWiki.prototype.forEachTiddler = function(callback) {
		for(var t in this.tiddlers) {

// forEachTiddler Macro

version.extensions.forEachTiddler = {
	major: 1, minor: 0, revision: 8, date: new Date(2007,3,12), provider: "http://tiddlywiki.abego-software.de"};

// ---------------------------------------------------------------------------
// Configurations and constants 
// ---------------------------------------------------------------------------

config.macros.forEachTiddler = {
	 // Standard Properties
	 label: "forEachTiddler",
	 prompt: "Perform actions on a (sorted) selection of tiddlers",

	 // actions
	 actions: {
		 addToList: {},
		 write: {}

// ---------------------------------------------------------------------------
//  The forEachTiddler Macro Handler 
// ---------------------------------------------------------------------------

config.macros.forEachTiddler.getContainingTiddler = function(e) {
	while(e && !hasClass(e,"tiddler"))
		e = e.parentNode;
	var title = e ? e.getAttribute("tiddler") : null; 
	return title ? store.getTiddler(title) : null;

config.macros.forEachTiddler.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
	// config.macros.forEachTiddler.traceMacroCall(place,macroName,params,wikifier,paramString,tiddler);

	if (!tiddler) tiddler = config.macros.forEachTiddler.getContainingTiddler(place);
	// --- Parsing ------------------------------------------

	var i = 0; // index running over the params
	// Parse the "in" clause
	var tiddlyWikiPath = undefined;
	if ((i < params.length) && params[i] == "in") {
		if (i >= params.length) {
			this.handleError(place, "TiddlyWiki path expected behind 'in'.");
		tiddlyWikiPath = this.paramEncode((i < params.length) ? params[i] : "");

	// Parse the where clause
	var whereClause ="true";
	if ((i < params.length) && params[i] == "where") {
		whereClause = this.paramEncode((i < params.length) ? params[i] : "");

	// Parse the sort stuff
	var sortClause = null;
	var sortAscending = true; 
	if ((i < params.length) && params[i] == "sortBy") {
		if (i >= params.length) {
			this.handleError(place, "sortClause missing behind 'sortBy'.");
		sortClause = this.paramEncode(params[i]);

		if ((i < params.length) && (params[i] == "ascending" || params[i] == "descending")) {
			 sortAscending = params[i] == "ascending";

	// Parse the script
	var scriptText = null;
	if ((i < params.length) && params[i] == "script") {
		scriptText = this.paramEncode((i < params.length) ? params[i] : "");

	// Parse the action. 
	// When we are already at the end use the default action
	var actionName = "addToList";
	if (i < params.length) {
	   if (!config.macros.forEachTiddler.actions[params[i]]) {
			this.handleError(place, "Unknown action '"+params[i]+"'.");
		} else {
			actionName = params[i]; 
	// Get the action parameter
	// (the parsing is done inside the individual action implementation.)
	var actionParameter = params.slice(i);

	// --- Processing ------------------------------------------
	try {
				place: place, 
				inTiddler: tiddler,
				whereClause: whereClause, 
				sortClause: sortClause, 
				sortAscending: sortAscending, 
				actionName: actionName, 
				actionParameter: actionParameter, 
				scriptText: scriptText, 
				tiddlyWikiPath: tiddlyWikiPath});

	} catch (e) {
		this.handleError(place, e);

// Returns an object with properties "tiddlers" and "context".
// tiddlers holds the (sorted) tiddlers selected by the parameter,
// context the context of the execution of the macro.
// The action is not yet performed.
// @parameter see performMacro
config.macros.forEachTiddler.getTiddlersAndContext = function(parameter) {

	var context = config.macros.forEachTiddler.createContext(parameter.place, parameter.whereClause, parameter.sortClause, parameter.sortAscending, parameter.actionName, parameter.actionParameter, parameter.scriptText, parameter.tiddlyWikiPath, parameter.inTiddler);

	var tiddlyWiki = parameter.tiddlyWikiPath ? this.loadTiddlyWiki(parameter.tiddlyWikiPath) : store;
	context["tiddlyWiki"] = tiddlyWiki;
	// Get the tiddlers, as defined by the whereClause
	var tiddlers = this.findTiddlers(parameter.whereClause, context, tiddlyWiki);
	context["tiddlers"] = tiddlers;

	// Sort the tiddlers, when sorting is required.
	if (parameter.sortClause) {
		this.sortTiddlers(tiddlers, parameter.sortClause, parameter.sortAscending, context);

	return {tiddlers: tiddlers, context: context};

// Returns the (sorted) tiddlers selected by the parameter.
// The action is not yet performed.
// @parameter see performMacro
config.macros.forEachTiddler.getTiddlers = function(parameter) {
	return this.getTiddlersAndContext(parameter).tiddlers;

// Performs the macros with the given parameter.
// @param parameter holds the parameter of the macro as separate properties.
//				  The following properties are supported:
//						place
//						whereClause
//						sortClause
//						sortAscending
//						actionName
//						actionParameter
//						scriptText
//						tiddlyWikiPath
//					All properties are optional. 
//					For most actions the place property must be defined.
config.macros.forEachTiddler.performMacro = function(parameter) {
	var tiddlersAndContext = this.getTiddlersAndContext(parameter);

	// Perform the action
	var actionName = parameter.actionName ? parameter.actionName : "addToList";
	var action = config.macros.forEachTiddler.actions[actionName];
	if (!action) {
		this.handleError(parameter.place, "Unknown action '"+actionName+"'.");

	var actionHandler = action.handler;
	actionHandler(parameter.place, tiddlersAndContext.tiddlers, parameter.actionParameter, tiddlersAndContext.context);

// ---------------------------------------------------------------------------
//  The actions 
// ---------------------------------------------------------------------------

// Internal.
// --- The addToList Action -----------------------------------------------
config.macros.forEachTiddler.actions.addToList.handler = function(place, tiddlers, parameter, context) {
	// Parse the parameter
	var p = 0;

	// Check for extra parameters
	if (parameter.length > p) {
		config.macros.forEachTiddler.createExtraParameterErrorElement(place, "addToList", parameter, p);

	// Perform the action.
	var list = document.createElement("ul");
	for (var i = 0; i < tiddlers.length; i++) {
		var tiddler = tiddlers[i];
		var listItem = document.createElement("li");
		createTiddlyLink(listItem, tiddler.title, true);

abego.parseNamedParameter = function(name, parameter, i) {
	var beginExpression = null;
	if ((i < parameter.length) && parameter[i] == name) {
		if (i >= parameter.length) {
			throw "Missing text behind '%0'".format([name]);
		return config.macros.forEachTiddler.paramEncode(parameter[i]);
	return null;

// Internal.
// --- The write Action ---------------------------------------------------
config.macros.forEachTiddler.actions.write.handler = function(place, tiddlers, parameter, context) {
	// Parse the parameter
	var p = 0;
	if (p >= parameter.length) {
		this.handleError(place, "Missing expression behind 'write'.");

	var textExpression = config.macros.forEachTiddler.paramEncode(parameter[p]);

	// Parse the "begin" option
	var beginExpression = abego.parseNamedParameter("begin", parameter, p);
	if (beginExpression !== null) 
		p += 2;
	var endExpression = abego.parseNamedParameter("end", parameter, p);
	if (endExpression !== null) 
		p += 2;
	var noneExpression = abego.parseNamedParameter("none", parameter, p);
	if (noneExpression !== null) 
		p += 2;

	// Parse the "toFile" option
	var filename = null;
	var lineSeparator = undefined;
	if ((p < parameter.length) && parameter[p] == "toFile") {
		if (p >= parameter.length) {
			this.handleError(place, "Filename expected behind 'toFile' of 'write' action.");
		filename = config.macros.forEachTiddler.getLocalPath(config.macros.forEachTiddler.paramEncode(parameter[p]));
		if ((p < parameter.length) && parameter[p] == "withLineSeparator") {
			if (p >= parameter.length) {
				this.handleError(place, "Line separator text expected behind 'withLineSeparator' of 'write' action.");
			lineSeparator = config.macros.forEachTiddler.paramEncode(parameter[p]);
	// Check for extra parameters
	if (parameter.length > p) {
		config.macros.forEachTiddler.createExtraParameterErrorElement(place, "write", parameter, p);

	// Perform the action.
	var func = config.macros.forEachTiddler.getEvalTiddlerFunction(textExpression, context);
	var count = tiddlers.length;
	var text = "";
	if (count > 0 && beginExpression)
		text += config.macros.forEachTiddler.getEvalTiddlerFunction(beginExpression, context)(undefined, context, count, undefined);
	for (var i = 0; i < count; i++) {
		var tiddler = tiddlers[i];
		text += func(tiddler, context, count, i);
	if (count > 0 && endExpression)
		text += config.macros.forEachTiddler.getEvalTiddlerFunction(endExpression, context)(undefined, context, count, undefined);

	if (count == 0 && noneExpression) 
		text += config.macros.forEachTiddler.getEvalTiddlerFunction(noneExpression, context)(undefined, context, count, undefined);

	if (filename) {
		if (lineSeparator !== undefined) {
			lineSeparator = lineSeparator.replace(/\\n/mg, "\n").replace(/\\r/mg, "\r");
			text = text.replace(/\n/mg,lineSeparator);
		saveFile(filename, convertUnicodeToUTF8(text));
	} else {
		var wrapper = createTiddlyElement(place, "span");
		wikify(text, wrapper, null/* highlightRegExp */, context.inTiddler);

// ---------------------------------------------------------------------------
//  Helpers
// ---------------------------------------------------------------------------

// Internal.
config.macros.forEachTiddler.createContext = function(placeParam, whereClauseParam, sortClauseParam, sortAscendingParam, actionNameParam, actionParameterParam, scriptText, tiddlyWikiPathParam, inTiddlerParam) {
	return {
		place : placeParam, 
		whereClause : whereClauseParam, 
		sortClause : sortClauseParam, 
		sortAscending : sortAscendingParam, 
		script : scriptText,
		actionName : actionNameParam, 
		actionParameter : actionParameterParam,
		tiddlyWikiPath : tiddlyWikiPathParam,
		inTiddler : inTiddlerParam, // the tiddler containing the <<forEachTiddler ...>> macro call.
		viewerTiddler : config.macros.forEachTiddler.getContainingTiddler(placeParam) // the tiddler showing the forEachTiddler result

// Internal.
// Returns a TiddlyWiki with the tiddlers loaded from the TiddlyWiki of 
// the given path.
config.macros.forEachTiddler.loadTiddlyWiki = function(path, idPrefix) {
	if (!idPrefix) {
		idPrefix = "store";
	var lenPrefix = idPrefix.length;
	// Read the content of the given file
	var content = loadFile(this.getLocalPath(path));
	if(content === null) {
		throw "TiddlyWiki '"+path+"' not found.";
	var tiddlyWiki = new TiddlyWiki();

	// Starting with TW 2.2 there is a helper function to import the tiddlers
	if (tiddlyWiki.importTiddlyWiki) {
		if (!tiddlyWiki.importTiddlyWiki(content))
			throw "File '"+path+"' is not a TiddlyWiki.";
		tiddlyWiki.dirty = false;
		return tiddlyWiki;
	// The legacy code, for TW < 2.2
	// Locate the storeArea div's
	var posOpeningDiv = content.indexOf(startSaveArea);
	var posClosingDiv = content.lastIndexOf(endSaveArea);
	if((posOpeningDiv == -1) || (posClosingDiv == -1)) {
		throw "File '"+path+"' is not a TiddlyWiki.";
	var storageText = content.substr(posOpeningDiv + startSaveArea.length, posClosingDiv);
	// Create a "div" element that contains the storage text
	var myStorageDiv = document.createElement("div");
	myStorageDiv.innerHTML = storageText;
	// Create all tiddlers in a new TiddlyWiki
	// (following code is modified copy of TiddlyWiki.prototype.loadFromDiv)
	var store = myStorageDiv.childNodes;
	for(var t = 0; t < store.length; t++) {
		var e = store[t];
		var title = null;
			title = e.getAttribute("tiddler");
		if(!title && e.id && e.id.substr(0,lenPrefix) == idPrefix)
			title = e.id.substr(lenPrefix);
		if(title && title !== "") {
			var tiddler = tiddlyWiki.createTiddler(title);
	tiddlyWiki.dirty = false;

	return tiddlyWiki;

// Internal.
// Returns a function that has a function body returning the given javaScriptExpression.
// The function has the parameters:
//	 (tiddler, context, count, index)
config.macros.forEachTiddler.getEvalTiddlerFunction = function (javaScriptExpression, context) {
	var script = context["script"];
	var functionText = "var theFunction = function(tiddler, context, count, index) { return "+javaScriptExpression+"}";
	var fullText = (script ? script+";" : "")+functionText+";theFunction;";
	return eval(fullText);

// Internal.
config.macros.forEachTiddler.findTiddlers = function(whereClause, context, tiddlyWiki) {
	var result = [];
	var func = config.macros.forEachTiddler.getEvalTiddlerFunction(whereClause, context);
	tiddlyWiki.forEachTiddler(function(title,tiddler) {
		if (func(tiddler, context, undefined, undefined)) {
	return result;

// Internal.
config.macros.forEachTiddler.createExtraParameterErrorElement = function(place, actionName, parameter, firstUnusedIndex) {
	var message = "Extra parameter behind '"+actionName+"':";
	for (var i = firstUnusedIndex; i < parameter.length; i++) {
		message += " "+parameter[i];
	this.handleError(place, message);

// Internal.
config.macros.forEachTiddler.sortAscending = function(tiddlerA, tiddlerB) {
	var result = 
		(tiddlerA.forEachTiddlerSortValue == tiddlerB.forEachTiddlerSortValue) 
			? 0
			: (tiddlerA.forEachTiddlerSortValue < tiddlerB.forEachTiddlerSortValue)
			   ? -1 
			   : +1; 
	return result;

// Internal.
config.macros.forEachTiddler.sortDescending = function(tiddlerA, tiddlerB) {
	var result = 
		(tiddlerA.forEachTiddlerSortValue == tiddlerB.forEachTiddlerSortValue) 
			? 0
			: (tiddlerA.forEachTiddlerSortValue < tiddlerB.forEachTiddlerSortValue)
			   ? +1 
			   : -1; 
	return result;

// Internal.
config.macros.forEachTiddler.sortTiddlers = function(tiddlers, sortClause, ascending, context) {
	// To avoid evaluating the sortClause whenever two items are compared 
	// we pre-calculate the sortValue for every item in the array and store it in a 
	// temporary property ("forEachTiddlerSortValue") of the tiddlers.
	var func = config.macros.forEachTiddler.getEvalTiddlerFunction(sortClause, context);
	var count = tiddlers.length;
	var i;
	for (i = 0; i < count; i++) {
		var tiddler = tiddlers[i];
		tiddler.forEachTiddlerSortValue = func(tiddler,context, undefined, undefined);

	// Do the sorting
	tiddlers.sort(ascending ? this.sortAscending : this.sortDescending);

	// Delete the temporary property that holds the sortValue.	
	for (i = 0; i < tiddlers.length; i++) {
		delete tiddlers[i].forEachTiddlerSortValue;

// Internal.
config.macros.forEachTiddler.trace = function(message) {

// Internal.
config.macros.forEachTiddler.traceMacroCall = function(place,macroName,params) {
	var message ="<<"+macroName;
	for (var i = 0; i < params.length; i++) {
		message += " "+params[i];
	message += ">>";

// Internal.
// Creates an element that holds an error message
config.macros.forEachTiddler.createErrorElement = function(place, exception) {
	var message = (exception.description) ? exception.description : exception.toString();
	return createTiddlyElement(place,"span",null,"forEachTiddlerError","<<forEachTiddler ...>>: "+message);

// Internal.
// @param place [may be null]
config.macros.forEachTiddler.handleError = function(place, exception) {
	if (place) {
		this.createErrorElement(place, exception);
	} else {
		throw exception;

// Internal.
// Encodes the given string.
// Replaces 
//	 "$))" to ">>"
//	 "$)" to ">"
config.macros.forEachTiddler.paramEncode = function(s) {
	var reGTGT = new RegExp("\\$\\)\\)","mg");
	var reGT = new RegExp("\\$\\)","mg");
	return s.replace(reGTGT, ">>").replace(reGT, ">");

// Internal.
// Returns the given original path (that is a file path, starting with "file:")
// as a path to a local file, in the systems native file format.
// Location information in the originalPath (i.e. the "#" and stuff following)
// is stripped.
config.macros.forEachTiddler.getLocalPath = function(originalPath) {
	// Remove any location part of the URL
	var hashPos = originalPath.indexOf("#");
	if(hashPos != -1)
		originalPath = originalPath.substr(0,hashPos);
	// Convert to a native file format assuming
	// "file:///x:/path/path/path..." - pc local file --> "x:\path\path\path..."
	// "file://///server/share/path/path/path..." - FireFox pc network file --> "\\server\share\path\path\path..."
	// "file:///path/path/path..." - mac/unix local file --> "/path/path/path..."
	// "file://server/share/path/path/path..." - pc network file --> "\\server\share\path\path\path..."
	var localPath;
	if(originalPath.charAt(9) == ":") // pc local file
		localPath = unescape(originalPath.substr(8)).replace(new RegExp("/","g"),"\\");
	else if(originalPath.indexOf("file://///") === 0) // FireFox pc network file
		localPath = "\\\\" + unescape(originalPath.substr(10)).replace(new RegExp("/","g"),"\\");
	else if(originalPath.indexOf("file:///") === 0) // mac/unix local file
		localPath = unescape(originalPath.substr(7));
	else if(originalPath.indexOf("file:/") === 0) // mac/unix local file
		localPath = unescape(originalPath.substr(5));
	else // pc network file
		localPath = "\\\\" + unescape(originalPath.substr(7)).replace(new RegExp("/","g"),"\\");	
	return localPath;

// ---------------------------------------------------------------------------
// Stylesheet Extensions (may be overridden by local StyleSheet)
// ---------------------------------------------------------------------------
	".forEachTiddlerError{color: #ffffff;background-color: #880000;}",

// End of forEachTiddler Macro

// String.startsWith Function
// Returns true if the string starts with the given prefix, false otherwise.
version.extensions["String.startsWith"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
String.prototype.startsWith = function(prefix) {
	var n =  prefix.length;
	return (this.length >= n) && (this.slice(0, n) == prefix);

// String.endsWith Function
// Returns true if the string ends with the given suffix, false otherwise.
version.extensions["String.endsWith"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
String.prototype.endsWith = function(suffix) {
	var n = suffix.length;
	return (this.length >= n) && (this.right(n) == suffix);

// String.contains Function
// Returns true when the string contains the given substring, false otherwise.
version.extensions["String.contains"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
String.prototype.contains = function(substring) {
	return this.indexOf(substring) >= 0;

// Array.indexOf Function
// Returns the index of the first occurance of the given item in the array or 
// -1 when no such item exists.
// @param item [may be null]
version.extensions["Array.indexOf"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
Array.prototype.indexOf = function(item) {
	for (var i = 0; i < this.length; i++) {
		if (this[i] == item) {
			return i;
	return -1;

// Array.contains Function
// Returns true when the array contains the given item, otherwise false. 
// @param item [may be null]
version.extensions["Array.contains"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
Array.prototype.contains = function(item) {
	return (this.indexOf(item) >= 0);

// Array.containsAny Function
// Returns true when the array contains at least one of the elements 
// of the item. Otherwise (or when items contains no elements) false is returned.
version.extensions["Array.containsAny"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
Array.prototype.containsAny = function(items) {
	for(var i = 0; i < items.length; i++) {
		if (this.contains(items[i])) {
			return true;
	return false;

// Array.containsAll Function
// Returns true when the array contains all the items, otherwise false.
// When items is null false is returned (even if the array contains a null).
// @param items [may be null] 
version.extensions["Array.containsAll"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
Array.prototype.containsAll = function(items) {
	for(var i = 0; i < items.length; i++) {
		if (!this.contains(items[i])) {
			return false;
	return true;

} // of "install only once"

// Used Globals (for JSLint) ==============
// ... DOM
/*global 	document */
// ... TiddlyWiki Core
/*global 	convertUnicodeToUTF8, createTiddlyElement, createTiddlyLink, 
			displayMessage, endSaveArea, hasClass, loadFile, saveFile, 
			startSaveArea, store, wikify */

!Licence and Copyright
Copyright (c) abego Software ~GmbH, 2005 ([[www.abego-software.de|http://www.abego-software.de]])

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

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

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

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


The [[FormTiddlerPlugin]] allows you to enter your data in a form and store the form's data in your tiddlers.

(For more information on tiddler data see the [[DataTiddlerPlugin]].)

//''Define ~FormTemplate''//

When you want to enter data in a form you first have to define a [[FormTemplate]] tiddler. A FormTemplate tiddler is a tiddler that contains named HTML INPUT elements (such as textfields, password fields, lists etc.) that define the stuff that should be edited in the form. E.g. you may have a FormTemplate that looks like this:

 <input name=userName type=text /><br/>
 <input name=pwd type=password /><br/>

The correspond HTML text looks like this
 <input name=userName type=text /><br/>
 <input name=pwd type=password /><br/>

The name of the INPUT element is also the name of the data field it is editing. E.g. a text field defined like this: 
<input name=userName type=text />
will edit the data field "userName" of the tiddler.

You are free to layout the INPUT elements as you like, but don't add a "form" element around them and don't define 'onchange' handlers, since this will be done automatically by the {{{<<formTiddler ...>>}}} macro.

//''Use ~FormTemplates (through the {{{<<formTiddler ...>>}}} macro)''//

In a second step you add the {{{<<formTiddler ...>>}}} macro to tiddlers that should be edited. In the macro you are referencing the [[FormTemplate]] that should be used to edit the tiddler's data. You may refer to the same FormTemplate tiddler in as many tiddlers as you like. Every such tiddler displays the same INPUT elements as the FormTemplate, but with the "data" of each individual tiddler.

In addition you may more than one {{{<<formTiddler...>>}}} macro call in one tiddler. Just make sure that the names of the elements in the referenced FormTemplate tiddlers do not collide. This feature may be useful if you want to construct a larger input form from a set of smaller FormTemplates.

You can easily create tiddlers with an embedded {{{<<formTiddler...>>}}} macro call using the [[<<newTiddlerWithForm...>>|NewTiddlerWithFormMacro]] macro. The macro shows a button similar to the "new tiddler" button and creates the requested tiddler, ready to enter data. For details see NewTiddlerWithFormMacro.

//''"Structured" and "Free" Data''//

Typically you will edit a tiddler that uses the {{{<<formTiddler...>>}}} macro through the form. But you are free to also edit the tiddler "as usual", through the build-in edit feature. I.e. you may mix "structured data" (as entered through the form) with "free data". I.e. on a "Contact" tiddler you may add an image to the tiddler, or add extra links to related persons. Or you add more tags. Just make sure that you don't modify the {{{<data>...</data>}}} section of the tiddler, since this contains the data maintained by the form.

Also notice that since the data entered in the forms is stored in the tiddler's text (in the {{{<data>...</data>}}} section) using the "search" feature will also find the texts you entered in the forms (even though it will not hilite the texts in the fields).


Using the [[FormTiddlerPlugin]] it is easy to manage things like:
* [[Contacts]]
* [[Bugreports]]
* ~ToDo Lists
* and many more.

Since a FormTemplate is typically used for many tiddlers of the same kind you may also consider using the ForEachTiddlerMacro to collect data across multiple tiddlers (e.g. to get a list of all contacts, a summary page for the bug reports etc.)

(See also [[FormTiddler Examples]])

//''HTML Elements''//

For those not that familiar with the HTML INPUT elements here a short overview with HTML snippets. 
|!Type|!HTML Example|!Comment|
|button|{{{<input name=btn type=button value="Just a button" />}}}|no data|
|checkbox|{{{<input name=isVIP type=checkbox />is VIP}}}||
|file|{{{<input name=attachment type=file />}}}|The "file" input element typically does not restore the path of the previously selected file. Nevertheless the path of the file is stored in the tiddler.|
|hidden|{{{<input name=hiddenValue type=hidden value="This is a hidden value" />}}}||
|password|{{{<input name=pwd type=password />}}}|The data entered in a "password" field is stored as clear text in the tiddler.|
|radio|{{{<input name=level type=radio value="Beginner" />Beginner<input name=level type=radio value="Expert" />Expert<input name=level type=radio value="Guru" />Guru}}}||
|reset|{{{<input name=btnReset type=reset />}}}|no data|
|select-one|{{{<select name=browser ><option>Firefox<option>Internet Explorer<option>Opera<option>Other</select >}}}||
|select-multiple|{{{<select name=music MULTIPLE ><option> R&B <option> Jazz <option> Blues <option> New Age</select >}}}||
|submit|{{{<input name=btnSubmit type=submit />}}}|no data|
|text|{{{<input name=userName type=text/>}}}||
|textarea|{{{<TEXTAREA name=notes rows=4 cols=80 ></TEXTAREA>}}}||

For details consult the Web or a textbook on HTML editing.
The {{{<<formTiddler ...>>}}} macro defined by the FormTiddlerPlugin. 

When a tiddler T1 references the (FormTemplate) tiddler T2 in the FormTiddlerMacro, the data of T1 can be edited through the INPUT elements defined by T2.
|''Version:''|1.0.5 (2006-02-24)|
|''Author:''|UdoBorkowski (ub [at] abego-software [dot] de)|
|''Licence:''|[[BSD open source license]]|
|''Macros:''|formTiddler, checkForDataTiddlerPlugin, newTiddlerWithForm|
|''TiddlyWiki:''|1.2.38+, 2.0|
|''Browser:''|Firefox 1.0.4+; InternetExplorer 6.0|
Use form-based tiddlers to enter your tiddler data using text fields, listboxes, checkboxes etc. (All standard HTML Form input elements supported).

|>|{{{<<}}}''formTiddler'' //tiddlerName//{{{>>}}}|
|//tiddlerName//|The name of the FormTemplate tiddler to be used to edit the data of the tiddler containing the macro.|

|>|{{{<<}}}''newTiddlerWithForm'' //formTemplateName// //buttonLabel// [//titleExpression// [''askUser'']] {{{>>}}}|
|//formTemplateName//|The name of the tiddler that defines the form the new tiddler should use.|
|//buttonLabel//|The label of the button|
|//titleExpression//|A (quoted) JavaScript String expression that defines the title (/name) of the new tiddler.|
|''askUser''|Typically the user is not asked for the title when a title is specified (and not yet used). When ''askUser'' is given the user will be asked in any case. This may be used when the calculated title is just a suggestion that must be confirmed by the user|
|>|~~Syntax formatting: Keywords in ''bold'', optional parts in [...]. 'or' means that exactly one of the two alternatives must exist.~~|

For details and how to use the macros see the [[introduction|FormTiddler Introduction]] and the [[examples|FormTiddler Examples]].

!Revision history
* v1.0.5 (2006-02-24)
** Removed "debugger;" instruction
* v1.0.4 (2006-02-07)
** Bug: On IE no data is written to data section when field values changed (thanks to KenGirard for reporting)
* v1.0.3 (2006-02-05)
** Bug: {{{"No form template specified in <<formTiddler>>"}}} when using formTiddler macro on InternetExplorer (thanks to KenGirard for reporting)
* v1.0.2 (2006-01-06)
** Support TiddlyWiki 2.0
* v1.0.1 (2005-12-22)
** Features: 
*** Support InternetExplorer
*** Added newTiddlerWithForm Macro
* v1.0.0 (2005-12-14)
** initial version


// FormTiddlerPlugin

version.extensions.FormTiddlerPlugin = {
 major: 1, minor: 0, revision: 5,
 date: new Date(2006, 2, 24), 
 type: 'plugin',
 source: "http://tiddlywiki.abego-software.de/#FormTiddlerPlugin"

// For backward compatibility with v1.2.x
if (!window.story) window.story=window; 
if (!TiddlyWiki.prototype.getTiddler) TiddlyWiki.prototype.getTiddler = function(title) { return t = this.tiddlers[title]; return (t != undefined && t instanceof Tiddler) ? t : null; } 

// formTiddler Macro

// -------------------------------------------------------------------------------
// Configurations and constants 
// -------------------------------------------------------------------------------

config.macros.formTiddler = {
 // Standard Properties
 label: "formTiddler",
 version: {major: 1, minor: 0, revision: 4, date: new Date(2006, 2, 7)},
 prompt: "Edit tiddler data using forms",

 // Define the "setters" that set the values of INPUT elements of a given type
 // (must match the corresponding "getter")
 setter: { 
 button: function(e, value) {/*contains no data */ },
 checkbox: function(e, value) {e.checked = value;},
 file: function(e, value) {try {e.value = value;} catch(e) {/* ignore, possibly security error*/}},
 hidden: function(e, value) {e.value = value;},
 password: function(e, value) {e.value = value;},
 radio: function(e, value) {e.checked = (e.value == value);},
 reset: function(e, value) {/*contains no data */ },
 "select-one": function(e, value) {config.macros.formTiddler.setSelectOneValue(e,value);},
 "select-multiple": function(e, value) {config.macros.formTiddler.setSelectMultipleValue(e,value);},
 submit: function(e, value) {/*contains no data */},
 text: function(e, value) {e.value = value;},
 textarea: function(e, value) {e.value = value;}

 // Define the "getters" that return the value of INPUT elements of a given type
 // Return undefined to not store any data.
 getter: { 
 button: function(e, value) {return undefined;},
 checkbox: function(e, value) {return e.checked;},
 file: function(e, value) {return e.value;},
 hidden: function(e, value) {return e.value;},
 password: function(e, value) {return e.value;},
 radio: function(e, value) {return e.checked ? e.value : undefined;},
 reset: function(e, value) {return undefined;},
 "select-one": function(e, value) {return config.macros.formTiddler.getSelectOneValue(e);},
 "select-multiple": function(e, value) {return config.macros.formTiddler.getSelectMultipleValue(e);},
 submit: function(e, value) {return undefined;},
 text: function(e, value) {return e.value;},
 textarea: function(e, value) {return e.value;}

// -------------------------------------------------------------------------------
// The formTiddler Macro Handler 
// -------------------------------------------------------------------------------

config.macros.formTiddler.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
 if (!config.macros.formTiddler.checkForExtensions(place, macroName)) {
 // --- Parsing ------------------------------------------

 var i = 0; // index running over the params

 // get the name of the form template tiddler
 var formTemplateName = undefined;
 if (i < params.length) {
 formTemplateName = params[i];

 if (!formTemplateName) {
 config.macros.formTiddler.createErrorElement(place, "No form template specified in <<" + macroName + ">>.");

 // --- Processing ------------------------------------------

 // Get the form template text. 
 // (This contains the INPUT elements for the form.)
 var formTemplateTiddler = store.getTiddler(formTemplateName);
 if (!formTemplateTiddler) {
 config.macros.formTiddler.createErrorElement(place, "Form template '" + formTemplateName + "' not found.");
 var templateText = formTemplateTiddler.text;
 if(!templateText) {
 // Shortcut: when template text is empty we do nothing.

 // Get the name of the tiddler containing this "formTiddler" macro
 // (i.e. the tiddler, that will be edited and that contains the data)
 var tiddlerName = config.macros.formTiddler.getContainingTiddlerName(place);

 // Append a "form" element. 
 var formName = "form"+formTemplateName+"__"+tiddlerName;
 var e = document.createElement("form");
 e.setAttribute("name", formName);

 // "Embed" the elements defined by the templateText (i.e. the INPUT elements) 
 // into the "form" element we just created
 wikify(templateText, e);

 // Initialize the INPUT elements.
 config.macros.formTiddler.initValuesAndHandlersInFormElements(formName, DataTiddler.getDataObject(tiddlerName));

// -------------------------------------------------------------------------------
// Form Data Access 
// -------------------------------------------------------------------------------

// Internal.
// Initialize the INPUT elements of the form with the values of their "matching"
// data fields in the tiddler. Also setup the onChange handler to ensure that
// changes in the INPUT elements are stored in the tiddler's data.
config.macros.formTiddler.initValuesAndHandlersInFormElements = function(formName, data) {
 // config.macros.formTiddler.trace("initValuesAndHandlersInFormElements(formName="+formName+", data="+data+")");

 // find the form
 var form = config.macros.formTiddler.findForm(formName);
 if (!form) {

 try {
 var elems = form.elements;
 for (var i = 0; i < elems.length; i++) {
 var c = elems[i];
 var setter = config.macros.formTiddler.setter[c.type];
 if (setter) {
 var value = data[c.name];
 if (value != null) {
 setter(c, value);
 c.onchange = onFormTiddlerChange;
 } else {
 config.macros.formTiddler.displayFormTiddlerError("No setter defined for INPUT element of type '"+c.type+"'. (Element '"+c.name+"' in form '"+formName+"')");
 } catch(e) {
 config.macros.formTiddler.displayFormTiddlerError("Error when updating elements with new formData. "+e);

// Internal.
// @return [may be null]
config.macros.formTiddler.findForm = function(formName) {
 // We must manually iterate through the document's forms, since
 // IE does not support the "document[formName]" approach

 var forms = window.document.forms;
 for (var i = 0; i < forms.length; i++) {
 var form = forms[i];
 if (form.name == formName) {
 return form;

 return null;

// Internal.
config.macros.formTiddler.setSelectOneValue = function(element,value) {
 var n = element.options.length;
 for (var i = 0; i < n; i++) {
 element.options[i].selected = element.options[i].value == value;

// Internal.
config.macros.formTiddler.setSelectMultipleValue = function(element,value) {
 var values = {};
 for (var i = 0; i < value.length; i++) {
 values[value[i]] = true;
 var n = element.length;
 for (var i = 0; i < n; i++) {
 element.options[i].selected = !(!values[element.options[i].value]);

// Internal.
config.macros.formTiddler.getSelectOneValue = function(element) {
 var i = element.selectedIndex;
 return (i >= 0) ? element.options[i].value : null;

// Internal.
config.macros.formTiddler.getSelectMultipleValue = function(element) {
 var values = [];
 var n = element.length;
 for (var i = 0; i < n; i++) {
 if (element.options[i].selected) {
 return values;

// -------------------------------------------------------------------------------
// Helpers 
// -------------------------------------------------------------------------------

// Internal.
config.macros.formTiddler.checkForExtensions = function(place,macroName) {
 if (!version.extensions.DataTiddlerPlugin) {
 config.macros.formTiddler.createErrorElement(place, "<<" + macroName + ">> requires the DataTiddlerPlugin. (You can get it from http://tiddlywiki.abego-software.de/#DataTiddlerPlugin)");
 return false;
 return true;

// Internal.
// Displays a trace message in the "TiddlyWiki" message pane.
// (used for debugging)
config.macros.formTiddler.trace = function(s) {
 displayMessage("Trace: "+s);

// Internal.
// Display some error message in the "TiddlyWiki" message pane.
config.macros.formTiddler.displayFormTiddlerError = function(s) {
 alert("FormTiddlerPlugin Error: "+s);

// Internal.
// Creates an element that holds an error message
config.macros.formTiddler.createErrorElement = function(place, message) {
 return createTiddlyElement(place,"span",null,"formTiddlerError",message);

// Internal.
// Returns the name of the tiddler containing the given element.
config.macros.formTiddler.getContainingTiddlerName = function(element) {
 return story.findContainingTiddler(element).id.substr(7);

// -------------------------------------------------------------------------------
// Event Handlers 
// -------------------------------------------------------------------------------

// This function must be called by the INPUT elements whenever their
// data changes. Typically this is done through an "onChange" handler.
function onFormTiddlerChange (e) {
 // config.macros.formTiddler.trace("onFormTiddlerChange "+e);

 if (!e) var e = window.event;

 var target = resolveTarget(e);
 var tiddlerName = config.macros.formTiddler.getContainingTiddlerName(target);
 var getter = config.macros.formTiddler.getter[target.type];
 if (getter) {
 var value = getter(target);
 DataTiddler.setData(tiddlerName, target.name, value);
 } else {
 config.macros.formTiddler.displayFormTiddlerError("No getter defined for INPUT element of type '"+target.type+"'. (Element '"+target.name+"' used in tiddler '"+tiddlerName+"')");

// ensure that the function can be used in HTML event handler
window.onFormTiddlerChange = onFormTiddlerChange;

// -------------------------------------------------------------------------------
// Stylesheet Extensions (may be overridden by local StyleSheet)
// -------------------------------------------------------------------------------

 ".formTiddlerError{color: #ffffff;background-color: #880000;}",

// checkForDataTiddlerPlugin Macro

config.macros.checkForDataTiddlerPlugin = {
 // Standard Properties
 label: "checkForDataTiddlerPlugin",
 version: {major: 1, minor: 0, revision: 0, date: new Date(2005, 12, 14)},
 prompt: "Check if the DataTiddlerPlugin exists"

config.macros.checkForDataTiddlerPlugin.handler = function(place,macroName,params) {
 config.macros.formTiddler.checkForExtensions(place, config.macros.formTiddler.label);

// newTiddlerWithForm Macro

config.macros.newTiddlerWithForm = {
 // Standard Properties
 label: "newTiddlerWithForm",
 version: {major: 1, minor: 0, revision: 1, date: new Date(2006, 1, 6)},
 prompt: "Creates a new Tiddler with a <<formTiddler ...>> macro"

config.macros.newTiddlerWithForm.handler = function(place,macroName,params) {
 // --- Parsing ------------------------------------------

 var i = 0; // index running over the params

 // get the name of the form template tiddler
 var formTemplateName = undefined;
 if (i < params.length) {
 formTemplateName = params[i];

 if (!formTemplateName) {
 config.macros.formTiddler.createErrorElement(place, "No form template specified in <<" + macroName + ">>.");

 // get the button label
 var buttonLabel = undefined;
 if (i < params.length) {
 buttonLabel = params[i];

 if (!buttonLabel) {
 config.macros.formTiddler.createErrorElement(place, "No button label specified in <<" + macroName + ">>.");

 // get the (optional) tiddlerName script and "askUser"
 var tiddlerNameScript = undefined;
 var askUser = false;
 if (i < params.length) {
 tiddlerNameScript = params[i];

 if (i < params.length && params[i] == "askUser") {
 askUser = true;

 // --- Processing ------------------------------------------

 if(!readOnly) {
 var onClick = function() {
 var tiddlerName;
 if (tiddlerNameScript) {
 try {
 tiddlerName = eval(tiddlerNameScript);
 } catch (ex) {
 if (!tiddlerName || askUser) {
 tiddlerName = prompt("Please specify a tiddler name.", askUser ? tiddlerName : "");
 while (tiddlerName && store.getTiddler(tiddlerName)) {
 tiddlerName = prompt("A tiddler named '"+tiddlerName+"' already exists.\n\n"+"Please specify a tiddler name.", tiddlerName);

 // tiddlerName is either null (user canceled) or a name that is not yet in the store.
 if (tiddlerName) {
 var body = "<<formTiddler [["+formTemplateName+"]]>>";
 var tags = [];
 store.saveTiddler(tiddlerName,tiddlerName,body,config.options.txtUserName,new Date(),tags);



!Licence and Copyright
Copyright (c) abego Software ~GmbH, 2005 ([[www.abego-software.de|http://www.abego-software.de]])

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

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

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

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

<<formTiddler NewArticleTemplate>><data>{"author":"Carl Zimmer","articletitle":"\"Friendly Invaders\"","journalinfo":"New York Times","synopsis":"Introduced Species are not necessarily bad.","primtopic":"Bio-science","pagenumbers":"200808"}</data>!Friendly Invaders
Published: September 8, 2008

New Zealand is home to 2,065 native plants found nowhere else on Earth. They range from magnificent towering kauri trees to tiny flowers that form tightly packed mounds called vegetable sheep.

When Europeans began arriving in New Zealand, they brought with them alien plants — crops, garden plants and stowaway weeds. Today, 22,000 non-native plants grow in New Zealand. Most of them can survive only with the loving care of gardeners and farmers. But 2,069 have become naturalized: they have spread out across the islands on their own. There are more naturalized invasive plant species in New Zealand than native species.

It sounds like the makings of an ecological disaster: an epidemic of invasive species that wipes out the delicate native species in its path. But in a paper published in August in The Proceedings of the National Academy of Sciences, Dov Sax, an ecologist at Brown University, and Steven D. Gaines, a marine biologist at the University of California, Santa Barbara, point out that the invasion has not led to a mass extinction of native plants. The number of documented extinctions of native New Zealand plant species is a grand total of three.

Exotic species receive lots of attention and create lots of worry. Some scientists consider biological invasions among the top two or three forces driving species into extinction. But Dr. Sax, Dr. Gaines and several other researchers argue that attitudes about exotic species are too simplistic. While some invasions are indeed devastating, they often do not set off extinctions. They can even spur the evolution of new diversity.

“I hate the ‘exotics are evil’ bit, because it’s so unscientific,” Dr. Sax said.

Dr. Sax and his colleagues are at odds with many other experts on invasive species. Their critics argue that the speed with which species are being moved around the planet, combined with other kinds of stress on the environment, is having a major impact.

There is little doubt that some invasive species have driven native species extinct. But Dr. Sax argues that they are far more likely to be predators than competitors.

In their new paper, Dr. Sax and Dr. Gaines analyze all of the documented extinctions of vertebrates that have been linked to invasive species. Four-fifths of those extinctions were because of introduced predators like foxes, cats and rats. The Nile perch was introduced into Lake Victoria in 1954 for food. It then began wiping out native fish by eating them.

“If you can eat something, you can eat it everywhere it lives,” Dr. Sax said.

But Dr. Sax and Dr. Gaines argue that competition from exotic species shows little sign of causing extinctions. This finding is at odds with traditional concepts of ecology, Dr. Sax said. Ecosystems have often been seen as having a certain number of niches that species can occupy. Once an ecosystem’s niches are full, new species can take them over only if old species become extinct.

But as real ecosystems take on exotic species, they do not show any sign of being saturated, Dr. Sax said. In their paper, Dr. Sax and Dr. Gaines analyze the rise of exotic species on six islands and island chains. Invasive plants have become naturalized at a steady pace over the last two centuries, with no sign of slowing down. In fact, the total diversity of these islands has doubled.

Fish also show this pattern, said James Brown of the University of New Mexico. He said that whenever he visits a river where exotic fish have been introduced, “I ask, ‘Have you seen any extinctions of the natives?’ ” “The first response you get is, ‘Not yet,’ as if the extinction of the natives is an inevitable consequence. There’s this article of faith that the net effect is negative.”

Dr. Brown does not think that faith is warranted. In Hawaii, for example, 40 new species of freshwater fish have become established, and the 5 native species are still present. Dr. Brown and his colleagues acknowledge that invasive species can push native species out of much of their original habitat. But they argue that native species are not becoming extinct, because they compete better than the invasive species in certain refuges.

These scientists also point out that exotics can actually spur the evolution of new diversity. A North American plant called saltmarsh cordgrass was introduced into England in the 19th century, where it interbred with the native small cordgrass. Their hybrid offspring could not reproduce with either original species, producing a new species called common cordgrass.

Long before humans moved plants around, many plants hybridized into new species by this process. “Something like a third of the plant species you see around you formed that way,” Dr. Sax said.

Biological invasions also set off bursts of natural selection. House sparrows, for example, have moved to North America from Europe and have spread across the whole continent. “Natural selection will start to change them,” Dr. Sax said. “If you give that process enough time, they will become new species.”

“The natives themselves are also likely to adapt,” Dr. Sax added. Some of the fastest rates of evolution ever documented have taken place in native species adapting to exotics. Some populations of soapberry bugs in Florida, for example, have shifted from feeding on a native plant, the balloon vine, to the goldenrain tree, introduced from Asia by landscapers in the 1950s. In five decades, the smaller goldenrain seeds have driven the evolution of smaller mouthparts in the bugs, along with a host of other changes.

In Australia, the introduction of cane toads in the 1930s has also spurred evolution in native animals. “Now that you have cane toads in Australia, there’s a strong advantage for snakes that can eat them,” said Mark Vellend, of the University of British Columbia. Cane toads are protected by powerful toxins in their skin that can kill predators that try to eat them. But in parts of the country where the toads now live, black snakes are resistant to the toxins in their skin. In the parts where the toad has yet to reach, the snakes are still vulnerable.

Dr. Brown argues that huge negative effects of invasions are not documented in the fossil record, either. “You see over and over and over again that this is never the case,” he said. Species have invaded new habitats when passageways between oceans have opened up or when continents have collided.

“The overall pattern almost always is that there’s some net increase in diversity,” Dr. Brown said. “That seems to be because these communities of species don’t completely fill all the niches. The exotics can fit in there.”

In a recent paper in the journal Science, Peter Roopnarine of the California Academy of Sciences and Geerat Vermeij of the University of California, Davis, looked at the history of invasions among species of mollusks, a group that includes mussels, clams and whelks. About 3.5 million years ago, the mollusks of the North Pacific staged a major invasion of the North Atlantic. Before then, the Arctic Ocean had created a barrier, because the mussels could not survive in the dark, nutrient-poor water under the ice.

A period of global warming made the Arctic less forbidding. Yet the migration did not lead to a significant drop in the diversity of the Atlantic native mussels. Instead, the Atlantic’s diversity rose. Along with the extra exotic species, new species may have arisen through hybridization.

The Arctic Ocean is now warming again, this time because of human activity. Computer projections indicate it will become ice-free at least part of the year by 2050. Dr. Roopnarine and Dr. Vermeij predicted that today’s mollusks would make the same transoceanic journey they did 3.5 million years ago. They also expect the invasion to increase, rather than decrease, diversity.

But critics, including Anthony Ricciardi of McGill University in Montreal, argue that today’s biological invasions are fundamentally different from those of the past.

“What’s happening now is a major form of global change,” Dr. Ricciardi said. “Invasions and extinctions have always been around, but under human influence species are being transported faster than ever before and to remote areas they could never reach. You couldn’t get 35 European mammals in New Zealand by natural mechanisms. They couldn’t jump from one end of the world to another by themselves.”

It is estimated that humans move 7,000 species a day. In the process, species are being thrown together in combinations that have never been seen before. “We’re seeing the assembly of new food webs,” said Phil Cassey of the University of Birmingham in England. Those new combinations may allow biological invasions to drive species extinct in unexpected ways.

Botulism, for example, is killing tens of thousands of birds around the Great Lakes. Studies indicate that two invasive species triggered the outbreak. The quagga mussel, introduced from Ukraine, filters the water for food, making it clearer. The sunlight that penetrates the lakes allows algae to bloom, and dead algae trigger an explosion of oxygen-consuming bacteria. As the oxygen level drops, the botulism-causing bacteria can multiply. The quagga mussels take up the bacteria, and they in turn are eaten by another invasive species: a fish known as the round goby. When birds eat round gobies, they become infected and die.

“If you pour on more species, you don’t just increase the probability that one is going to arrive that’s going to have a high impact,” Dr. Ricciardi said. “You also get the possibility of some species that triggers a change in the rules of existence.”

Dr. Ricciardi argues that biological invasions are different today for another reason: they are occurring as humans are putting other kinds of stress on ecosystems. “Invasions will interact with climate change and habitat loss,” he said. “. We’re going to see some unanticipated synergies.”

Both sides agree, however, that decisions about invasive species should be based on more than just a tally of positive and negative effects on diversity. Invasive weeds can make it harder to raise crops and graze livestock, for example. The Asian long-horned beetle is infesting forests across the United States and is expected to harm millions of acres of hardwood trees. Zebra mussels have clogged water supply systems in the Midwestern United States. Exotic species can also harm humans’ health. “West Nile virus, influenza — these things are invasions,” Dr. Ricciardi said.

On the other hand, some invasive species are quite important. In the United States, many crops are pollinated by honeybees originally introduced from Europe.

“It’s not that this is all good or all bad, and I’m not sure science should be the arbiter,” Dr. Brown said. “Placing values on these things is the job of society as a whole.”
<<notes heading:'Rays Notes'>>
|Created by|SaqImtiaz|
Toggle between viewing tiddlers fullscreen and normally. Very handy for when you need more viewing space.

Click the ↕ button in the toolbar for this tiddler. Click it again to turn off fullscreen.

Copy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW.
Edit the ViewTemplate to add the fullscreen command to the toolbar.

*25-07-06: ver 1.1
*20-07-06: ver 1.0

var lewcidFullScreen = false;

config.commands.fullscreen =
            text:" ↕ ",
            tooltip:"Fullscreen mode"

config.commands.fullscreen.handler = function (event,src,title)
            if (lewcidFullScreen == false)
                lewcidFullScreen = true;
                setStylesheet('#sidebar, .header, #mainMenu{display:none;} #displayArea{margin:0em 0 0 0 !important;}',"lewcidFullScreenStyle");
                lewcidFullScreen = false;
                setStylesheet(' ',"lewcidFullScreenStyle");

config.macros.fullscreen.handler =  function(place,macroName,params,wikifier,paramString,tiddler)
        var label = params[0]||" ↕ ";
        var tooltip = params[1]||"Fullscreen mode";

var lewcid_fullscreen_closeTiddler = Story.prototype.closeTiddler;
Story.prototype.closeTiddler =function(title,animate,slowly)
           if (story.isEmpty() && lewcidFullScreen == true)

Slider.prototype.lewcidStop = Slider.prototype.stop;
Slider.prototype.stop = function()
           if (story.isEmpty() && lewcidFullScreen == true)
<<formTiddler NewArticleTemplate>>Google's big data infrastructure: Don't try this at home?
Jack Vaughan

While Google Inc.'s homebrewed data infrastructure software is not exactly "Hadoop," it influenced the creation of the Hadoop platform. The company has long been known for its army of programmer wizards and its talent for creating distributed programs.

Some of Google's data workings were on display at a recent Boston Chapter meeting of TDWI that took place at Boston Children's Hospital in Boston, Mass. The discussion was led by Jeromy Carriere, who is a "technical lead" at Google.

Carriere started out with a few fun facts. Big data processing at Google is, well, big. For example, the company has reported sorts of over a petabyte of records in just a bit more than six hours. That job ran on 8,000 computers, and a few disk drives were probably killed during the experiment.

Google also had to build infrastructure management tools to support large-scale data pipelines, according to Carriere. Writing MapReduce programs was the easy part. "What is hard is versioning, deployment and configuration," he said. To handle those tasks and many others, the company employs a large cadre of system engineers. If infrastructure is plumbing, the engineers might be called ''plumbers of the future.''

Should we leave the plumbing to the plumbers?

Google's system engineers are typically well versed in system administration issues, according to Carriere. "We don't have a wall," he said, referring to the often cited adage about developers "throwing software over the wall" for sys admins to fix.

Google's relationship to open source software is unique. It's a build-don't-buy house, but it is better known for publishing influential technical papers than it is for formally supporting open source efforts.

Google's technical papers about Google File System (GFS) and Google MapReduce formed the basis for open source Apache Hadoop Distributed File System (HDFS) and MapReduce -- two major building blocks of Hadoop. Additionally, Google's BigTable led the way to Apache Hadoop HBase.

Behind much of Google's work is a drive to improve on existing relational data warehouse approaches and apply those processes to distributed environments. It is a pretty amazing effort.

Working in the data analytics vineyard
Google has been working in the data analytics vineyard for a long time -- and there is a great deal of interest in how the well-known company manages the information it collects. Google has an exceptional -- and well-funded -- data developer culture and its ability to create distribute data architecture outpaces most enterprises.

"It made a lot of sense for the Googles of the world to invent their own software to handle their volume of unstructured data," said Rick Sherman, founder of consultancy Athena IT Solutions in Maynard, Mass., and a TDWI Boston Chapter leader who also was at the event. But Sherman warned that the skills needed to run a Hadoop-style infrastructure are difficult to find. "If it is difficult for 'the Googles,' how does that bode for the mere mortals of the world?" he asked.

In the future, Sherman said, those skills may be found in the cloud. That will give companies an opportunity to leave the plumbing to the plumbers.

Jack Vaughan is SearchDataManagement's news and site editor. Email him at jvaughan@techtarget.com, and follow us on Twitter: @sDataManagement.<data>{"author":"Jack Vaughan","articletitle":"Google's big data infrastructure: Don't try this at home?","pagenumbers":"20131020","primtopic":"Google Big Data","synopsis":"Google pioneered big data management"}</data>
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"ZDNet","author":"Larry Dignan","primtopic":"Google buys  smart thermostats company","synopsis":"Google is getting into private homes deeper and deeper","articletitle":"Google's reach expands into your home more via $3.2 billion Nest acquisition","pagenumbers":"20140113"}</data>Google's reach expands into your home more via $3.2 billion Nest acquisition

Summary: Nest gives Google some design know-how as well as a lot of home energy data. Google's tentacles are spreading into your home even more.

By Larry Dignan for Between the Lines |	 January 13, 2014 -- 21:20 GMT (05:20 SGT)

Google said Monday that it will pay $3.2 billion in cash for Nest, which makes smart thermostats and smoke alarms. Rest assured that Google is hoping to plug smart homes together with Android devices, its developer ecosystem and treasure trove of data.

Nest launched in 2011 to strong reviews. Since its launch, Nest's smart thermostat has been replicated by larger players such as Honeywell.

Google CEO Larry Page said that Google is "excited to bring great experiences to more homes in more countries."

For Google, Nest founders Tony Fadell and Matt Rogers will bring some more design knowhow to the search giant, which has a hardware side of the business via Motorola. Fadell led the team at Apple that created the first 18 generations of the iPod and the first three generations of the iPhone. 

On the data front, Google could ultimately harness more information about individual homes and their energy usage. Nest, however, did indicate that home data would stay in its company under its privacy policy, which is owned by Google now, and only be used to improve products. Nest was poised to launch a developer program in early 2014. 

Consider the moving parts:

** Google has mobile access via your smartphones and various apps on multiple platforms.
** Google has multiple ways into your living room via Android and Chromecast, a streaming TV gadget, as well as tablets and PCs.
** The company had tried to monitor energy usage with utilities, but scrapped the plan in 2011.
** Google's Android will increasingly be in your car.
** And Google is working the robot market.

It remains to be seen how all of these efforts fit together, but it's clear that Google's tentacles are spreading.

Analysts said that Google's purchase highlights the importance of the connected home and Internet of things. Forrester Research analyst Frank Gillett said:

Google's acquisition of Nest affirms the growing strategic importance of the idea of the connected home. It also shows that Google increasingly believes in hardware/software solutions, such as Nest has built, rather than just building operating systems for other manufacturers to implement in smartphones, Chromebooks, and TVs.

In a blog post, Fadell said:

Google will help us fully realize our vision of the conscious home and allow us to change the world faster than we ever could if we continued to go it alone. We’ve had great momentum, but this is a rocket ship.

Google has the business resources, global scale and platform reach to accelerate Nest growth across hardware, software and services for the home globally. And our company visions are well aligned – we both believe in letting technology do the hard work behind the scenes so people can get on with the things that matter in life. Google is committed to helping Nest make a difference and together, we can help save more energy and keep people safe in their homes.
Google and Nest are familiar as Google Ventures has been an investor in Nest. Fadell added that Nest will continue to have its "distinct brand identity."
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"New York Times","pagenumbers":"200809","articletitle":"\"Technology doesn't dumb us down...\"","author":"Damon Darlin","synopsis":"Technology helps more than it hinder","primtopic":"Google & its manifesto"}</data>September 21, 2008
Technology Doesn’t Dumb Us Down. It Frees Our Minds.

EVERYONE has been talking about an article in The Atlantic magazine called “Is Google Making Us Stupid?” Some subset of that group has actually read the 4,175-word article, by Nicholas Carr.

To save you some time, I was going to give you a 100-word abridged version. But there are just too many distractions to read that much. So here is the 140-character Twitter version (Twitter is a hyperspeed form of blogging in which you write about your life in bursts of 140 characters or fewer, including spaces and punctuation marks):

Google makes deep reading impossible. Media changes. Our brains’ wiring changes too. Computers think for us, flattening our intelligence.

If you managed to wade through that, maybe you are thinking that Twitter, not Google, is the enemy of human intellectual progress.

With Twitter, people subscribe to your “tweets.” Those who can make life’s mundane details interesting garner a large audience. Several services have been created to compete with Twitter. Others have been started to help people manage the prodigious flow of information from Twitterers.

There is even a version, Yammer, for use inside companies. You follow the word bursts of particular employees. (“In the weekly staff meeting. Good bagels. Why is everyone wearing khakis? All staff must file their T.P.S. reports on time, O.K.?”) As if there weren’t already enough to distract us in the workplace between meetings, phone calls, instant messages, e-mail messages and those Google searches.

If people question the benefit of Google, which has largely liberated us from the time-wasting activities associated with finding information, there is outright hostility to a tool that condenses our lives into haiku. The co-founder of Twitter, Jack Dorsey, was asked by M.I.T.’s Technology Review magazine — in a tweet, of course — why when people who aren’t familiar with Twitter are told about it, they are “uncomprehending or angry.” His response was brief and unsatisfying: “People have to discover value for themselves. Especially w/ something as simple & subtle as Twitter. It’s what you make of it.”

It is hard to think of a technology that wasn’t feared when it was introduced. In his Atlantic article, Mr. Carr says that Socrates feared the impact that writing would have on man’s ability to think. The advent of the printing press summoned similar fears. It wouldn’t be the last time.

When Hewlett-Packard invented the HP-35, the first hand-held scientific calculator, in 1972, the device was banned from some engineering classrooms. Professors feared that engineers would use it as a crutch, that they would no longer understand the relationships that either penciled calculations or a slide rule somehow provided for proficient scientific thought.

But the HP-35 hardly stultified engineering skills. Instead, in the last 36 years those engineers have brought us iPods, cellphones, high-definition TV and, yes, Google and Twitter. It freed engineers from wasting time on mundane tasks so they could spend more time creating.

Many technological advances have that effect. Take tax software, for instance. The tedious job of filing a tax return no longer requires several evenings, but just a few hours. It gives us time for more productive activities.

But for all the new technologies that increase our productivity, there are others that demand more of our time. That is one of the dialectics of our era. With its maps and Internet access, the iPhone saves us time; with its downloadable games, we also carry a game machine in our pocket. The proportion of time-wasters to time-savers may only grow. In a knowledge-based society in which knowledge is free, attention becomes the valued commodity. Companies compete for eyeballs, that great metric born in the dot-com boom, and vie to create media that are sticky, another great term from this era. We are not paid for our attention span, but rewarded for it with yet more distractions and demands on our time.

THE pessimistic assumption that new technologies will somehow make our lives worse may be a function of occupation or training. Paul Saffo, the futurist, says he could divide the technology world into two kinds of people: engineers and natural scientists. He says the world outlook of the engineer is by nature optimistic. Every problem can be solved if you have the right tools and enough time and you pose the correct questions. Other people, who can be just as scientific, see the natural order of the world in terms of entropy, decline and death.

Those people aren’t necessarily wrong. But the engineer’s point of view puts trust in human improvement. Certainly there have been moments when that thinking has gone horribly awry — atonal music or molecular gastronomy. But over the course of human history, writing, printing, computing and Googling have only made it easier to think and communicate. 
<<notes heading:'Rays Notes'>> 
[img[http://static.guim.co.uk/sys-images/Observer/Pix/pictures/2013/11/5/1383666202356/john-hurt-1984-007.jpg]]<<formTiddler NewArticleTemplate>>Google and Facebook may be our best defenders against Big Brother
The big online companies are calling for urgent reforms to protect us from having data intercepted

Jemima Kiss
The Observer, Sunday 10 November 201

Over a few weeks' worth of bedtimes in the summer of 1984, my dad read me Nineteen Eighty-Four by George Orwell. Though the dystopian context would have been lost on nine-year old me, the pervasive malevolence and the futility of the struggle was not.

References to Orwell are never far off today, whether to Big Brother and the surveillance society, or doublethink and Room 101. The Orwellian dystopia is so familiar now to us – and so astonishingly real – that we might need a new cultural reference, a new literary vision to warn of what lies ahead.

It's the relentless creep of progress and development that inevitably makes our worst nightmares and most brilliant visions a reality. Fifty years ago, security expert Eugene Kaspersky told a conference last week, the public would have been protesting on the streets at the idea that cameras would be surveilling every public placeacross the country, all day, every day. Today, we just accept it.

At the same conference, Dublin's Web Summit, the vast audience in the hangar-sized hall was asked how many had abandoned consumer web companies in the wake of Edward Snowden's revelations. Three people put up their hands – and this among well-informed, technologically confident people.

The gap between the shock of these revelations and the call to action is perverse. The story is huge, multifaceted and complex, which excludes all but the most committed. For others, the truth about services on which they are utterly dependent – we are all utterly dependent – is too inconvenient to want to act; far easier to declare, "I'm not doing anything wrong," and, "I don't care if I'm being watched."

In truth, the call to action is not that we consumers abandon our online lives and seek out anonymity tools such as Tor, or start encrypting all our email using PGP. It's no bad thing that more sophisticated security techniques are seeping into the mainstream consciousness; gleeful pub conversations about our how mobile phones double as microphones and how even the subtle differences in the sound of typewriter keys can be decoded. Kaspersky has his own currency of expertise to maintain, and he too recounts how he won't store any compromising data on a computer at all.

This is borne out by the testimony of the tech investors at Web Summit too. "We're just not looking for privacy-aware services," said Brad Burnham of Union Square Ventures. "There are so many compelling examples of value being created by sharing data, from traffic jams to healthcare. The problem isn't privacy but trust. We can't retreat into the dark ages." That means spending time influencing policy, he concluded. Entrepreneurs were falling over themselves to testify to their fierce protection of customer data; taxi-app Hailo is building up records of payment details combined with location data for account holders, while Evernote records increasingly extensive personal notes covering everything from bank statements to work meetings. Both say they have not handed over customer data outside of specific warrants but as we now know, the NSA doesn't need permission – it will help itself. What are you sharing online?

The crisis is in public trust of both our governments – who, when it suits them, will seize the opportunity to criticise oppressive regimes who restrict free speech — and corporations whose reputation depends on credibility and trust. European nations have generally set up rigorous laws to protect their citizens from business, while its governments rely on the trust and goodwill of the public. In the US that situation is reversed, with citizens protected from government through the constitution, and business commercially dependent on trust, among other things. The lack of oversight and accountability has meant the security services never had to draw the line about what is acceptable, necessary, moral and legal.

This dynamic of corporate autonomy may end up creating the strongest fightback against the over-reaching security services, with Google and Yahoo's fury at the intercepts of their data networks and heavy lobbying in Washington. "We are outraged at the lengths to which the government seems to have gone to intercept data from our private fibre networks," said Google's chief legal officer David Drummond. "It underscores the need for urgent reform."

Surveillance is the undercurrent in every tech conversation now, a lens for understanding our vulnerability and exposure to every part of the online world. This is not a choice between catching terrorists and what David Cameron astonishingly described as some "la-di-da, airy fairy" views on free speech and the right to privacy. If we are happy to accept that our online lives are best represented by Google, Skype, Yahoo, Facebook and all the rest, despite the compromises we make on those commercial platforms, then we have to hope they have the best chance of clawing back our right to free expression and privacy, our right to relate the world around us without being watched.

Returning to Orwell, what will the state of our surveillance nation be in 2031? The worst that can happen is that the whole lot comes true.
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
<data>{"articletitle":"Google and Facebook may be our best defenders against Big Brother","author":"Jemima Kiss","journalinfo":"The Guardian","pagenumbers":"20131109"}</data>
<<formTiddler NewArticleTemplate>><data>{"synopsis":"","primtopic":"Point Counterpoint about Journalistic honesty","articletitle":"Is Glenn Greenwald the Future of News?","author":"BILL KELLER","journalinfo":"NYTimes","pagenumbers":"20131027"}</data>
October 27, 2013
Is Glenn Greenwald the Future of News?
Much of the speculation about the future of news focuses on the business model: How will we generate the revenues to pay the people who gather and disseminate the news? But the disruptive power of the Internet raises other profound questions about what journalism is becoming, about its essential character and values. This week’s column is a conversation — a (mostly) civil argument — between two very different views of how journalism fulfills its mission.

Glenn Greenwald broke what is probably the year’s biggest news story, Edward Snowden’s revelations of the vast surveillance apparatus constructed by the National Security Agency. He has also been an outspoken critic of the kind of journalism practiced at places like The New York Times, and an advocate of a more activist, more partisan kind of journalism. Earlier this month he announced he was joining a new journalistic venture, backed by eBay billionaire Pierre Omidyar, who has promised to invest $250 million and to “throw out all the old rules.” I invited Greenwald to join me in an online exchange about what, exactly, that means.

''Dear Glenn'',

We come at journalism from different traditions. I’ve spent a life working at newspapers that put a premium on aggressive but impartial reporting, that expect reporters and editors to keep their opinions to themselves unless they relocate (as I have done) to the pages clearly identified as the home of opinion. You come from a more activist tradition — first as a lawyer, then as a blogger and columnist, and soon as part of a new, independent journalistic venture financed by the eBay founder Pierre Omidyar. Your writing proceeds from a clearly stated point of view.

In a post on Reuters this summer, media critic Jack Shafer celebrated the tradition of partisan journalism — “From Tom Paine to Glenn Greenwald” — and contrasted it with what he called “the corporatist ideal.” He didn’t explain the phrase, but I don’t think he meant it in a nice way. Henry Farrell, who blogs for The Washington Post, wrote more recently that publications like The New York Times and The Guardian “have political relationships with governments, which make them nervous about publishing (and hence validating) certain kinds of information,” and he suggested that your new project with Omidyar would represent a welcome escape from such relationships.

I find much to admire in America’s history of crusading journalists, from the pamphleteers to the muckrakers to the New Journalism of the ’60s to the best of today’s activist bloggers. At their best, their fortitude and passion have stimulated genuine reforms (often, as in the Progressive Era, thanks to the journalists’ “political relationships with governments”). I hope the coverage you led of the National Security Agency’s hyperactive surveillance will lead to some overdue accountability.

But the kind of journalism The Times and other mainstream news organizations practice — at their best — includes an awful lot to be proud of, too, revelations from Watergate to torture and secret prisons to the malfeasance of the financial industry, and including some pre-Snowden revelations about the N.S.A.’s abuse of its authority. Those are highlights that leap to mind, but you’ll find examples in just about every day’s report. Journalists in this tradition have plenty of opinions, but by setting them aside to follow the facts — as a judge in court is supposed to set aside prejudices to follow the law and the evidence — they can often produce results that are more substantial and more credible. The mainstream press has had its failures — episodes of credulousness, false equivalency, sensationalism and inattention — for which we have been deservedly flogged. I expect you’ll say, not flogged enough. So I pass you the lash.

''Dear Bill'',

There’s no question that journalists at establishment media venues, certainly including The New York Times, have produced some superb reporting over the last couple of decades. I don’t think anyone contends that what has become (rather recently) the standard model for a reporter — concealing one’s subjective perspectives or what appears to be “opinions” — precludes good journalism.

But this model has also produced lots of atrocious journalism and some toxic habits that are weakening the profession. A journalist who is petrified of appearing to express any opinions will often steer clear of declarative sentences about what is true, opting instead for a cowardly and unhelpful “here’s-what-both-sides-say-and-I-won’t-resolve-the-conflicts” formulation. That rewards dishonesty on the part of political and corporate officials who know they can rely on “objective” reporters to amplify their falsehoods without challenge (i.e., reporting is reduced to “X says Y” rather than “X says Y and that’s false”).

Worse still, this suffocating constraint on how reporters are permitted to express themselves produces a self-neutering form of journalism that becomes as ineffectual as it is boring. A failure to call torture “torture” because government officials demand that a more pleasant euphemism be used, or lazily equating a demonstrably true assertion with a demonstrably false one, drains journalism of its passion, vibrancy, vitality and soul.

Worst of all, this model rests on a false conceit. Human beings are not objectivity-driven machines. We all intrinsically perceive and process the world through subjective prisms. What is the value in pretending otherwise?

The relevant distinction is not between journalists who have opinions and those who do not, because the latter category is mythical. The relevant distinction is between journalists who honestly disclose their subjective assumptions and political values and those who dishonestly pretend they have none or conceal them from their readers.

Moreover, all journalism is a form of activism. Every journalistic choice necessarily embraces highly subjective assumptions — cultural, political or nationalistic — and serves the interests of one faction or another. Former Bush D.O.J. lawyer Jack Goldsmith in 2011 praised what he called “the patriotism of the American press,” meaning their allegiance to protecting the interests and policies of the U.S. government. That may (or may not) be a noble thing to do, but it most definitely is not objective: it is quite subjective and classically “activist.”

But ultimately, the only real metric of journalism that should matter is accuracy and reliability. I personally think honestly disclosing rather than hiding one’s subjective values makes for more honest and trustworthy journalism. But no journalism — from the most stylistically “objective” to the most brazenly opinionated — has any real value unless it is grounded in facts, evidence, and verifiable data. The claim that overtly opinionated journalists cannot produce good journalism is every bit as invalid as the claim that the contrived form of perspective-free journalism cannot.

''Dear Glenn'',

I don’t think of it as reporters pretending they have no opinions. I think of it as reporters, as an occupational discipline, suspending their opinions and letting the evidence speak for itself. And it matters that this is not just an individual exercise, but an institutional discipline, with editors who are tasked to challenge writers if they have given short shrift to contrary facts or arguments readers might want to know.

The thing is, once you have publicly declared your “subjective assumptions and political values,” it’s human nature to want to defend them, and it becomes tempting to omit or minimize facts, or frame the argument, in ways that support your declared viewpoint. And some readers, knowing that you write from the left or right, will view your reporting with justified suspicion. Of course, they may do that anyway — discounting whatever they read because it appeared in the “liberal” New York Times — but I think most readers trust us more because they sense that we have done due diligence, not just made a case. (I once saw some opinion research in which Times readers were asked whether they regarded The Times as “liberal.” A majority said yes. They were then asked whether The Times was “fair.” A larger majority said yes. I guess I can live with that.) I work now in the realm of opinion, but as a news reporter and editor I defined my job not as telling readers what I think, or telling them what they ought to think, but telling them what they needed to know to decide for themselves. You are right, of course, that sometimes the results of that process are less exciting than a hearty polemic. Sometimes fair play becomes false equivalence, or feels like euphemism. But it’s simplistic to say, for example, unless you use the word “torture” you are failing a test of courage, or covering up evil. Of course, I regard waterboarding as torture. But if a journalist gives me a vivid description of waterboarding, notes the long line of monstrous regimes that have practiced it, and then lays out the legal debate over whether it violates a specific statute or international accord, I don’t care whether he uses the word or not. I’m happy — and fully equipped — to draw my own conclusion.

If Jack Goldsmith, the former Bush administration lawyer, had praised the American press for, in your words, “their allegiance to protecting the interests and policies of the U.S. government” then I would strongly disagree with him. We have published many stories that challenged the policies and professed interests of the government. But that’s not quite what Goldsmith says. He says that The Times and other major news outlets give serious consideration to arguments that publishing something will endanger national security — that is, might get someone killed. That is true. We listen respectfully to such claims, and then we make our own decision. If we are not convinced, we publish, sometimes over the fierce objections of the government. If we are convinced, we wait, or withhold details. The first time I ever faced such a decision was in 1997 when I was foreign editor, and a reporter learned of a dispute between Russia and Georgia, the former Soviet republic, over what to do with a cache of highly enriched uranium left behind after the breakup of the Soviet Union. The dispute was interesting news. But when the reporter checked, it turned out the stockpile was completely unsecured, available to any terrorist interested in constructing a dirty bomb. We were asked to hold the story until the material was fenced and guarded — and we did so. It was not a hard call.

So what would your policy be on publishing information that some would argue jeopardizes national security? (I realize this is not an entirely hypothetical question.) Would you even let them try to make the case?

''Dear Bill'',

Why would reporters who hide their opinions be less tempted by human nature to manipulate their reporting than those who are honest about their opinions? If anything, hiding one’s views gives a reporter more latitude to manipulate their reporting because the reader is unaware of those hidden views and thus unable to take them into account.

For instance, I did not know until well after the fact that [Times correspondent] John Burns harbored some quite favorable views about the attack on Iraq. He not only admitted in 2010 and 2011 that he failed to anticipate the massive carnage and destruction the invasion would wreak but also viewed the invading U.S. soldiers as “ministering angels” and “liberators.” Does that make him an activist rather than a journalist? I don’t think so. But as a reader, I really wish I would have known his hidden views at the time he was reporting on the war so that I could have taken them into account.

It is, I believe, very hard to argue that the ostensibly “objective” tone required by large media outlets builds public trust, given the very low esteem with which the public regards those media institutions. Far more than concerns about ideological bias, the collapse of media credibility stems from things like helping the U.S. government disseminate falsehoods that led to the Iraq War and, more generally, a glaring subservience to political power: pathologies exacerbated by the reportorial ban on any making clear, declarative statements about the words and actions of political officials out of fear that one will be accused of bias.

As for taking into account dangers posed to innocent life before publishing: nobody disputes that journalists should do this. But I don’t give added weight to the lives of innocent Americans as compared to the lives of innocent non-Americans, nor would I feel any special fealty to the U.S. government as opposed to other governments when deciding what to publish. When Goldsmith praised the “patriotism” of the American media, he meant that U.S. media outlets give special allegiance to the views and interests of the U.S. government.

One can, I guess, argue that this is how it should be. But whatever that mindset is, it is most certainly not “objective.” It is nationalistic, subjective and activist, which is my primary point: all journalism is subjective and a form of activism even if an attempt is made to pretend that this isn’t so.

I have no objection to the process whereby the White House is permitted to give input prior to the publication of sensitive secrets.

Indeed, WikiLeaks, advocates of radical transparency, went to the White House and sought guidance before publishing the Iraq and Afghanistan war logs, but the White House refused to respond, then had the temerity to criticize WikiLeaks for publishing material that it said should have been withheld. That pre-publication process is both journalistically sensible (journalists should get as much relevant information as they can before making publication decisions) and legally wise (every Espionage Act lawyer will say that such consultation can help prove journalistic intent when publishing such material). For all the N.S.A. reporting I’ve done — not just at The Guardian but with media outlets around the world — the White House was notified by editors before the fact of publication (though in the vast, vast majority of cases, their demands that information be suppressed were disregarded due to lack of specific reasons in favor of suppression).

My objection is not to that process itself but to specific instances where it leads to the suppression of information that ought to be public. Without intended rancor, I believe that the 2004 decision of The Times to withhold the Risen/Lichtblau N.S.A. story at the request of the Bush White House was one of the most egregious of such instances, but there are plenty of others.

In essence, I see the value of journalism as resting in a twofold mission: informing the public of accurate and vital information, and its unique ability to provide a truly adversarial check on those in power. Any unwritten rules that interfere with either of those two prongs are ones I see as antithetical to real journalism and ought to be disregarded.

''Dear Glenn'',

“Nationalistic,” your word for the “mindset” of the American press, is a label that carries some nasty freight. It is the dark side of the (equally facile) “patriotic.” It suggests blind allegiance and chauvinism. I assume you do not use it casually. And I can’t casually let it stand.

The New York Times is global in its newsgathering (31 bureaus outside the U.S.), in its staffing (for starters, our chief executive is British) and especially in its audience. But it is, from its roots, an American enterprise. That identity comes with benefits and obligations. The benefits include a constitution and culture that, compared with most of the world, favor press freedom. (That is why your editors at The Guardian have more than once sought us as partners in sensitive journalistic ventures — seeking shelter under our First Amendment from Britain’s Official Secrets Act.) The obligations include, above all, holding the government accountable when it violates our laws, betrays our values, or fails to live up to its responsibilities. We have spent considerable journalistic energy exposing corruption and oppression in other countries, but accountability begins at home.

Like any endeavor run by human beings, ours is imperfect, and sometimes we disappoint. Critics on the left, including you, were indignant to learn that we held the N.S.A. eavesdropping story for more than a year, until I was satisfied that the public interest outweighed any potential damage to national security. Critics on the right were even more furious when, in 2005, we published. Honorable people may disagree with such decisions, to publish or not to publish. But those judgments were the result of long, hard and independent calculation, a weighing of risks and responsibilities, not “fealty to the U.S. government.”

By the way, since you mention WikiLeaks, one of our principal concerns in turning those documents into news stories in 2010 was to avoid endangering innocent informants — not Americans, but dissidents, scholars, human rights advocates or ordinary civilians whose names were mentioned in the classified cables from foreign outposts. WikiLeaks’ attitude on that issue was callous indifference. According to David Leigh, The Guardian’s lead investigator on that story, Julian Assange said, “If they get killed, they’ve got it coming to them.” (Assange denies saying this, but David Leigh’s track record earns him considerable credibility.) Google executive Eric Schmidt says Assange told him he would have preferred no redactions. On several occasions I’ve said that Julian Assange and WikiLeaks should be entitled to the same press freedoms as The New York Times. But let’s not pretend they have the same sense of responsibility.

New subject?

Pierre Omidyar, your new employer, thinks he has seen the future of journalism, and it looks like you. In an NPR interview, Omidyar said that “trust in institutions is going down” and now “audiences want to connect with personalities.” So he is building a constellation of stars, “passion-fueled” soloists, crusading investigators. I know you don’t speak for Omidyar, but I have some questions about how you see this new world.

First, it has become a cliché of our business/profession/craft that journalists are supposed to build themselves as individual “brands.” But journalism — especially the hardest stuff, like investigative journalism — benefits immensely from institutional support, including a technical staff that knows how to make the most of a database, editors and fact-checkers who fortify the stories, graphic designers who help make complicated subjects comprehensible and, not least, lawyers who are steeped in freedom-of-information and First Amendment law. In the Snowden coverage, you worked within the institutional structure of The Guardian and, for a little while, The Times. So what’s so different about the new venture? Is it just a journalistic institution by another name?

Second, in an interview with my old friend David Cay Johnston you said coverage of governments and other big institutions is about to be radically changed because of the pervasiveness of digital content. Governments and businesses depend on vast troves of information. All it takes, you said, is access and a troubled conscience to create an Edward Snowden or a Bradley Manning. But it seems to me it takes one other thing: a willingness to risk everything. Manning is serving a 35-year prison sentence for the WikiLeaks disclosures, and Snowden faces a life in exile. The same digital tools that make it easy to leak also make it hard to avoid getting caught. That’s one reason, I think, the overwhelming preponderance of investigative reporting still comes for reporters who cultivate trusted sources over months or years, not from insiders who suddenly decide to entrust someone they’ve never met with a thumb drive full of secrets. Do you really think Snowden and Manning represent the future of investigative journalism?

And, third, will Pierre Omidyar’s New Thing be a political monoculture, or do you expect there will be right-wing Glenn Greenwalds on board?

Back to you.

''Dear Bill'',

To understand what I mean by “nationalistic,” let’s examine the example we’ve discussed: The N.Y.T.’s non-use of the word “torture” to describe Bush-era interrogation techniques. You say that the use of this word was unnecessary because you described the techniques in detail. That’s fine: but the N.Y.T. (along with other media outlets) did use the word “torture” without reservation for the same techniques — when used by countries that are adversaries of the U.S. That’s what I mean by “nationalism”: making journalistic choices to comport with and advance the interests of the U.S. government.

I don’t mean the term pejoratively (at least not entirely), just descriptively. It demonstrates that all journalism has a point of view and a set of interests it advances, even if efforts are made to conceal it.

On the difference between WikiLeaks and The N.Y.T.: The Guardian (along with The N.Y.T.) has a bitter and protracted feud with Assange (now that they’re done benefiting from his documents), so I personally would not assume their inherent credibility in disputes over what was or was not said in private. From everything I’ve seen, neither Assange nor WikiLeaks has any remote desire to endanger innocent people. Quite the opposite: they have diligently attempted to redact names of innocents, and sought White House input before publishing (which was inexcusably denied). Also, the only time a huge trove of unredacted documents was released was, ironically, when the journalist you mentioned (not one associated with WikiLeaks) published the archive password in his book.

But to the broader point: even if one were to assume for the sake of argument that WikiLeaks’ more aggressive transparency may occasionally result in excess disclosures (a proposition I reject), the more government-friendly posture of The N.Y.T. and similar outlets often produces quite harmful journalism of its own. It wasn’t WikiLeaks that laundered false official claims about Saddam’s W.M.D.’s and alliance with Al Qaeda on its front page under the guise of “news” to help start a heinous war. It isn’t WikiLeaks that routinely gives anonymity to U.S. officials to allow them to spread leader-glorifying mythologies or quite toxic smears of government critics without any accountability.

It isn’t WikiLeaks that prints incredibly incendiary accusations about American whistle-blowers without a shred of evidence. And it wasn’t WikiLeaks that allowed the American people to re-elect George Bush while knowing, but concealing, that he was eavesdropping on them in exactly the way the criminal law prohibited.

As for the new venture we’re building with Pierre Omidyar: we’re still developing what it will look like, how it will be structured and the like, so my ability to answer some of your questions is limited. But I can address a few of the questions you raise.

We absolutely believe that strong, experienced editors are vital to good journalism, and intend to have plenty of those. Editors are needed to ensure the highest level of factual accuracy, to verify key claims, and to help journalists make choices that avoid harm to innocents.

But they are not needed to impose obsolete stylistic rules, or to snuff out the unique voice and passion of the journalists, or to bar any sort of declarative statements when high-level officials prevaricate, or to mandate government-requested euphemisms in lieu of factually clear terms, or to vest official statements or official demands for suppression with superior status. In sum, editors should be there to empower and enable strong, highly factual, aggressive adversarial journalism, not to serve as roadblocks to neuter or suppress the journalism.

We intend to treat claims from the most powerful factions with skepticism, not reverence. Official assertions are our stating point to investigate (“Official A said X, Y and Z today: now let’s see if that’s true”), not the gospel around which we build our narratives (“X, Y and Z, official A says”).

With regard to sources, I really don’t understand the distinction you think you’re drawing between Snowden and more traditional sources.

Snowden came to journalists who work with newspapers that are among the most respected in the world. We didn’t just have “thumb drives” dumped in our laps: we worked for quite a long time to build a relationship of trust and to develop a framework to enable us to report these materials. How is that any different from Daniel Ellsberg’s decision to take the Pentagon Papers to The Times in the early 1970s?

All that said, you raise an interesting and important point about the dangers posed to sources. But it isn’t just people like Manning and Snowden who face prosecution and long prison terms. American whistle-blowers who went to more traditional media outlets — such as Tom Drake and Jeffery Sterling — also face serious felony charges from an administration which, as your paper’s former general counsel, James Goodale, has said, has been more vindictive in attacking the newsgathering process than any since Richard Nixon.

And even journalists in this process, such as your paper’s Pulitzer Prize-winning Jim Risen, face the very real threat of prison.

The climate of fear that has been deliberately cultivated means that, as The New Yorker’s Jane Mayer put it, the newsgathering process has come to a “standstill.” Many Times national security reporters, such as Scott Shane, have been issuing similar warnings: that sources are now afraid to use the traditional means of working with reporters because of the Obama administration’s aggression. Ubiquitous surveillance obviously compounds this problem greatly, since the collection of all metadata makes it almost impossible for a source and journalist to communicate without the government’s knowledge.

So yes: along with new privacy-enhancing technologies, I do think that brave, innovative whistle-blowers like Manning and Snowden are crucial to opening up some of this darkness and providing some sunlight. It shouldn’t take extreme courage and a willingness to go to prison for decades or even life to blow the whistle on bad government acts done in secret. But it does. And that is an immense problem for democracy, one that all journalists should be united in fighting. Reclaiming basic press freedoms in the U.S. is an important impetus for our new venture.

As for whether our new venture will be ideologically homogenized: the answer is “definitely not.” We welcome and want anyone devoted to true adversarial journalism regardless of where they fall on the political spectrum, and have already been speaking with conservatives journalists like that: real conservatives, not the East Coast rendition of “conservatives” such as David Brooks. Our driving ideology is accountability journalism grounded in rigorous factual accuracy.

''Dear Glenn'',

Your apparent contempt for David Brooks is revealing. Presumably what disqualifies him from your category of “real conservatives” is that he puts reason over passion and sometimes finds a middle ground. As Lenin despised liberals, as the Tea Party loathes moderate Republicans, you seem to reserve your sharpest scorn for moderation, for compromise. Look at today’s Washington and tell me how that’s working out.

We agree, of course, that the current administration’s affection for the Espionage Act and readiness to jail reporters who protect their sources have created a hostile climate for investigative reporting of all kinds. We agree that is deplorable and bad for democracy.

There are other things we agree on, too, but this exchange wasn’t meant to be a search for common ground, so before signing off, I’d like to return once more to what I think is our most essential disagreement.

You insist that “all journalism has a point of view and a set of interests it advances, even if efforts are made to conceal it.” And therefore there’s no point in attempting to be impartial. (I avoid the word “objective,” which suggests a mythical perfect state of truth.) Moreover, in case after case, where the mainstream media are involved, you are convinced that you, Glenn Greenwald, know what that controlling “set of interests” is. It’s never anything as innocent as a sense of fair play or a determination to let the reader decide; it must be some slavish fealty to powerful political forces.

I believe that impartiality is a worthwhile aspiration in journalism, even if it is not perfectly achieved. I believe that in most cases it gets you closer to the truth, because it imposes a discipline of testing all assumptions, very much including your own. That discipline does not come naturally. I believe journalism that starts from a publicly declared predisposition is less likely to get to the truth, and less likely to be convincing to those who are not already convinced. (Exhibit A: Fox News.) And yes, writers are more likely to manipulate the evidence to support a declared point of view than one that is privately held, because pride is on the line.

You rightly point out that this pursuit of fairness is a relatively new standard in American journalism. A reader doesn’t have to go back very far in the archives — including the archives of this paper — to find the kind of openly opinionated journalism you endorse. It has the “soul” you crave. But to a modern ear it often feels preachy, and suspect.

I believe the need for impartial journalism is greater than it has ever been, because we live now in a world of affinity-based media, where citizens can and do construct echo chambers of their own beliefs. It is altogether too easy to feel “informed” without ever encountering information that challenges our prejudices.

A few volleys back, you pointed out that polls show the American public has a low opinion of the news media. You declared — based on no evidence I can find — that this declining esteem is a result of “glaring subservience to political power.” Really? It seems more plausible to me that the erosion of respect for American media — a category that includes everything from my paper to USA Today to Rush Limbaugh to The National Enquirer to If-it-bleeds-it-leads local newscasts — can be explained by the fact that so much of it is trivial, shallow, sensational, redundant and, yes, ideological and polemical.

I’ll offer you the last word, and then we can leave the field to commenters, if any have made it this far.

Glenn, I wish you luck in the new venture, and I hope it inspires more billionaires to put money into journalism. I’ll offer one unsolicited piece of advice. There’s very little you’ve said about The Times in this exchange that hasn’t been said before in the pages of The Times, albeit in less loaded language. Self-criticism and correction, and I’ve had considerable experience of both, are no fun, but they are as healthy for journalism as independence and a reverence for the truth. Humility is as dear as passion. So my advice is: Learn to say, “We were wrong.”

''Dear Bill'',

I have just a couple of last, quick points.

My “contempt” for David Brooks is grounded in his years of extreme war cheerleading and veneration of an elite political class that has produced little beyond abject failure and corruption. I don’t see anything moderate about him at all. I was just simply pointing out that if you want to pride yourself on hiring conservatives to write for your paper, he is hardly representative of that movement.

I think there’s some semantic game-playing in how you chose to summarize our debate. My view of journalism absolutely requires both fairness and rigorous adherence to facts. But I think those values are promoted by being honest about one’s perspectives and subjective assumptions rather than donning a voice-of-god, view-from-nowhere tone that falsely implies that journalists reside above the normal viewpoints and faction-loyalties that plague the non-journalist and the dreaded “activist.”

Embedded in The New York Times’s institutional perspective and reporting methodologies are all sorts of quite debatable and subjective political and cultural assumptions about the world. And with some noble exceptions, The Times, by design or otherwise, has long served the interests of the same set of elite and powerful factions. Its reporting is no less “activist,” subjective or opinion-driven than the new media voices it sometimes condescendingly scorns.

Thanks for the best wishes and the thought-provoking exchange. I appreciate it.
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
<<formTiddler NewArticleTemplate>><data>{"articletitle":"\"Gregory Canoe Race - 2013\"","synopsis":"Jake wins Desert Canoe Classic","primtopic":"Endurance canoe race","pagenumbers":"20130707"}</data>Team shows Gregory Canoe Race who’s boss 
May 7, 2013, midnight
THE team of Boss Racing has won a three-way shootout to claim the Gregory Down River Canoe Marathon Canadian Challenge at the weekend, narrowly finishing ahead of Paddling Wilberries and Cobras.

Boss Racing, consisting of Tavis Cameron and Josh Pederson, finished the arduous 38km paddle in 3:58:44, barely two minutes ahead of Paddling Wilberries in second.

The two-man win was even more remarkable considering the second and third-placed teams had crews of six and eight paddlers, rotating frequently.

John Van Ryt barely missed out on re-writing the record books, finishing two seconds short of a course record in the masters men two category.

Jacob Storey took honours in the K1 open mens division, finishing the race in 3:09:57, comfortably six minutes ahead of second position.

North West Canoe Club president Alison Whitehead was thrilled with the entire weekend, praising the attendees and their willingness to help one another.

"We are really happy with the whole weekend, the entire Gregory community really came on board with food ready at the finish line," she said.

"It was a terrific atmosphere, everyone was just so eager to help each other out...it was a great group of people who came out and assisted to make it the terrific weekend it was."

Entrants from as far as New South Wales and Victoria hit the water on Sunday for the annual event, and despite not taking its usual place over the long weekend, record numbers were recorded.

Fifty-four boats hit the water, with 126 paddlers signed up for the iconic desert canoe race.

"It worked out really well, we were flooded with registrations in the first 40 minutes," Whitehead explained. "The enthusiasm of the kids really rubbed off on everyone, they were the big talking point of the weekend. "As the kids were being taught, experienced paddlers listened in to pick up hints...it was just a lovely, friendly, family atmosphere."

Gregory Downs River Canoe Marathon results

n Canadian Challenge

Boss Racing 3:58:44

Paddling Wilberries 4:00:41

Cobras 4:02:53

n Men's open

T. Cridland 3:46:03

S. Stedman 3:47:33

L. Murdoch 4:18:51

n Short Race

T. Russo & G. Finch 1:42:25

S. Johnston 1:51:07

C. Whitehead & M. Anthony 2:07:01

n Men's Open

*J. Storey 3:09:57*

S. Jenje 3:15:18

C. Bennett 3:40:45

n Men's Masters 1

M. Blundell & S. Innes 2:53:41

n Men's Masters 2

J. Van Ryt 3:12:28

G. Lovell 3:17:01

T. McClelland 4:07:02

n Men's Masters 3

G. Pearce 3:15:44

J. Wilkinson 3:17:03

T. Poole 3:29:09

n Men's Masters 4

J. Stuart 3:41:44

G. Alford 4:11:06

G. Fittler 4:42:53

n Mixed TK2 Challenge

E. Peters & M. Flower 3:22:49

P. Bennett & D. Storer 3:49:15
[img[http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2013/11/4/1383590799675/Artists-impression-of-pla-009.jpg]]<<formTiddler NewArticleTemplate>><data>{"journalinfo":"The Guardian","pagenumbers":"20131104","synopsis":"There are many planets that should be inhabitable","author":"Alok Jha","articletitle":"Two billion planets in our galaxy may be suitable for life","primtopic":"The Universe"}</data>Two billion planets in our galaxy may be suitable for life
Data from Kepler space observatory suggests planets capable of supporting life are far more common than previously thought

Alok Jha, science correspondent
theguardian.com, Monday 4 November 2013 20.00 GMT

One in five sun-like stars may host planets in their habitable zone where liquid water could sustain life. Illustration: Reuters
Our galaxy probably contains at least two billion planets that, like Earth, have liquid water on their surfaces and orbit around their parent stars in the "habitable zone" for life. The nearest, according to astronomers, could be a mere 12 light years away.

A new study, published today in the Proceedings of the National Academy of Sciences, suggests that Earth-like planets capable of supporting life are far more common than previously thought. Using measurements from Nasa's Kepler space observatory, scientists led by Erik Petigura the University of California, Berkely, estimated that 22% of our galaxy's sun-like stars had rocky planets circling them that were within the zone that meant they got roughly the same amount of light energy as Earth gets from the sun. There are around 100bn stars in our galaxy, of which 10% are like the sun.

So far Kepler has studied more than 150,000 stars and identified more than 3,000 candidate planets, but many of these are "gas giants", similar to Jupiter, that orbit close to their parent stars. If there is life out there, it is far more likely to have evolved on rocky planets with liquid water on their surfaces, similar to Earth.

To get their results, Petigura's team looked for planets in Kepler data that had a radius up to double that of Earth. They searched for planets that orbited far enough from their star that liquid water would not evaporate, but not so far that the water would all freeze.

Subhanjoy Mohanty, an astrophysicist at Imperial College London who was not involved with the study, said: "This is the first estimate of the frequency of Earth-like planets around sun-like stars, in orbits large enough to lie in the habitable zone of their stars. The finding that roughly one in five sun-like stars may host such planets is an incredibly important one, probably exceeding the expectations of most cautious astronomers."

He added that the latest analysis increased the chances that there might be life somewhere among the stars. "Previous analyses of Kepler data had shown that red dwarfs – the most common type of star in the galaxy, making up about 80% of the stellar population – very frequently harbour Earth-size planets, including in their habitable zones. This new study shows that the same is true as well around stars more like our own sun. This is certainly an added impetus for planned future missions which will study the atmospheres of these potentially habitable planets, enabling us to investigate whether they are in fact habitable or not, and also whether their atmospheres show actual biosignatures of existing life."

Nasa also announced on Monday that the Kepler probe would be given a new lease of life, following fears that it would have to end its mission after only four years in space. In May 2013, scientists discovered that one of the gyroscopic wheels – known as "reaction wheels" – that kept the probe pointing in the right direction had stopped working and, try as they might, Nasa engineers could not get it working again. Unable to point itself at the stars with any accuracy, the probe could no longer be used to collect data about the position of new exoplanets.

But it looks as though there could be a solution that reorients the probe to look along the plane of the galaxy, which will allow it to remain stable with only two of its reaction wheels working. "The old saying 'necessity is the mother of invention' has rung true here, with engineers and scientists from Nasa and the spacecraft manufacturers having figured out this way to, we hope, recover much of the performance we thought we had lost. We are very excited," said Bill Chaplin, an astrophysicist at the University of Birmingham in the UK.

If all goes well, the new Kepler mission – dubbed "K2" – will look for planets around smaller stars than the sun, and will also study the stars themselves. "There are a wealth of fantastically interesting targets for astrophysics that can be observed in the ecliptic plane, which were not accessible in the original Kepler field, notably brighter clusters of stars – where the common origins and distances to these stars make the clusters excellent laboratories for testing our understanding of stars – and young, star-forming regions," said Chaplin.
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"Data Storage","pagenumbers":"20130906","primtopic":"Hadoop","articletitle":"\"Hadoop explained\""}</data>DEFINITION
Hadoop Distributed File System (HDFS)

The Hadoop Distributed File System (HDFS) is the primary storage system used by Hadoop applications.

HDFS is a distributed file system that provides high-performance access to data across Hadoop clusters. Like other Hadoop-related technologies, HDFS has become a key tool for managing pools of big data and supporting big data analytics applications.

Because HDFS typically is deployed on low-cost commodity hardware, server failures are common. The file system is designed to be highly fault-tolerant, however, by facilitating the rapid transfer of data between compute nodes and enabling Hadoop systems to continue running if a node fails. That decreases the risk of catastrophic failure, even in the event that numerous nodes fail.

When HDFS takes in data, it breaks the information down into separate pieces and distributes them to different nodes in a cluster, allowing for parallel processing. The file system also copies each piece of data multiple times and distributes the copies to individual nodes, placing at least one copy on a different server rack than the others. As a result, the data on nodes that crash can be found elsewhere within a cluster, which allows processing to continue while the failure is resolved.

HDFS is built to support applications with large data sets, including individual files that reach into the terabytes. It uses a master/slave architecture, with each cluster consisting of a single NameNode that manages file system operations and supporting DataNodes that manage data storage on individual compute nodes.

''RELATED GLOSSARY TERMS:'' law of large numbers, correlation, data-driven decision management (DDDM), visual analytics, correlation coefficient, data science, data-driven disaster, Amazon RedShift, graph database, Hadoop
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"Search data Management","pagenumbers":"20131111","primtopic":"Hadoop can drop the cost of mainframe storage","author":"Jack Vaughan","articletitle":"Hadoop role eyed in mainframe modernization — and migration"}</data>Hadoop role eyed in mainframe modernization -- and migration
Jack Vaughan

Because it runs on commodity server clusters, the Hadoop framework offers cloud-like scalable computing that threatens the IT status quo. Hadoop potentially could slow the growth of the enterprise data warehouse by providing lower-cost data processing. It may also make incursions in a more surprising place -- mainframe modernization, a sometimes sleepy world that may be due for a shakeup of its own.

Many organizations would like to curb the amount of data being processed on their mainframes to help reduce IT expenses. Some would also like to correlate mainframe operations data with unstructured and semi-structured forms of data for analytical uses -- for example, associating hotel room bookings with social media comments, or matching customer account data with transcripts of call-center support calls. Hadoop can play a part in both the curbing and correlating scenarios.

Mutual customers primarily drove mainframe data integration specialist Syncsort and Hadoop upstart Cloudera to forge a recently announced technology partnership to bring mainframe data to Hadoop clusters for use in big-data analytics applications. At the Strata + Hadoop World 2013 conference in New York last week, these and other technology and services providers discussed the notion of bridging the gap between big data and big iron.

It can be hard sometimes to pull IT and data managers in New York away from their fevered trading floors, but the idea of updating the mainframe with Hadoop extensions may have drawn more than a few Wall Street wonks to the Strata event in midtown Manhattan. These people typically aren't looking to pull the plugs on either their mainframes or their data warehouses. But they may be looking to cap the data growth on those platforms, if Hadoop proves capable of picking up the processing slack.

Syncsort and Cloudera aren't alone in efforts to insert Hadoop into mainframe environments. MetaScale, a spin-off of Sears Holdings, has built a consulting services practice that includes a mainframe-to-Hadoop application migration methodology; the approach uses Hadoop's associated Pig query platform to run high-volume query applications. Sears officials report that they have even been able to turn off a mainframe or two based on their progress in offloading processing to Hadoop.

''From here to legacy''
Such offloading is also of interest to other users, especially in mainframe-bastion industries such as finance and insurance. In an interview at the Strata event, Syncsort President Josh Rogers said it's an increasingly common use case for Hadoop in the enterprise.

With the data warehouse, Rogers said, a drive to reduce extract, transform and load (ETL) processing is especially in play. Very often a large portion of the overall processing work may involve ETL functions -- more than 30%, he said. Those workloads are a ready target for clustered Hadoop servers that can put the data loading stage ahead of the transformation one to support extract, load and transform (ELT) schemes. Putting off the transformation step reduces up-front processing. And when the time comes for it, Hadoop has proved to be quite adept at high-speed data transformations.

Rogers and others claim the cost of storage can be vastly lower on Hadoop clusters versus mainframes or data warehouses, sometimes sliding to $1,000 per terabyte compared with as much as $100,000 per terabyte. In describing the partnership with Cloudera, Syncsort CEO Lonne Jaffe said, "We've created a button you can push to suck in the expensive workloads."

Jaffe points out that some mainframe modernization efforts have stalled because they're risky and expensive. Even if they succeed, he noted, users often end up with nothing more than an original application that has simply been moved as-is to another platform. That could mean an opening for Hadoop.

''Hadoop as additive for big iron''
Ironically, moving some mainframe processing work to Hadoop platforms could bring new vitality to the legacy systems by fostering an analytics partnership between the two technologies, as IT analyst John Webster suggests.

"People want to get data from the traditional [mainframe] data sources that they have been using forever, especially customer data and transaction data, and to marry that with the other kinds of data just now becoming available," said Webster, a senior partner at Evaluator Group. "That is where interest in Hadoop comes in."

As a result, customers are driving Hadoop distribution providers to support reloads of mainframe data in combination with other types of data, according to Webster.

In the big data era, data processing architectures are more fluid every day. It may have been expected that the mainframe would be touched by change as a result. Service-oriented architecture, or SOA, which put mainframe applications in an all-purpose wrapper of Web services and XML, was a major form of mainframe modernization in recent years, but it seems to have reached a plateau. Hadoop innovations could enliven the venerable platform -- and accelerate its evolution -- once again.

Jack Vaughan is SearchDataManagement's news and site editor. Email him at jvaughan@techtarget.com, and follow us on Twitter: @sDataManagement.
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"wikipedia","articletitle":"Hartals","primtopic":"Strikes and Blockades"}</data>''Hartal''
From Wikipedia, the free encyclopedia

Hortal (Bengali: হরতাল hôrtal, Hindi: हड़ताल haṛtāl, Urdu: ہڑتال‎ haṛtāl, Malayalam: ഹര്‍ത്താല്‍, Tamil: ஹர்த்தால்) is a term in many South Asian languages for strike action, first used during the Indian Independence Movement. It is mass protest often involving a total shutdown of workplaces, offices, shops, courts of law as a form of civil disobedience. In addition to being a general strike, it involves the voluntary closing of schools and places of business.

It is a mode of appealing to the sympathies of a government to change an unpopular or unacceptable decision.[1] The term comes from Gujarati (હડતાળ haḍtāḷ or હડતાલ haḍtāl), signifying the closing down of shops and warehouses with the object of realizing a demand. 

Mahatma Gandhi, who hailed from Gujarat, used the term to refer to his anti-British general strikes, effectively institutionalizing the term. 

The contemporary origins of such a form of public protest dates back to the British colonial rule in India. Repressive actions infringing on human rights by the colonial British Government and princely states against countrywide peaceful movement for ending British rule in India often triggered such localized public protest.

Hartals are still common in ''Bangladesh'',[2] Pakistan, India, and in northern and eastern Sri Lanka, where it is often used to refer specifically to the 1953 Hartal of Ceylon. In Malaysia, the word was used to refer to various general strikes in the 1940s, 50s and 60s, such as the All-Malaya Hartal of 1947 and the Penang Hartal of 1967.

Another variant which is common in Hindi-speaking regions is the bhukh hartal which translates as hunger strike.

The word is also used in humorous sense to mean abstaining from work.
|Description:|Allows conditional inclusion/exclusion in templates|
|Version:|3.1 ($Rev: 3919 $)|
|Date:|$Date: 2008-03-13 02:03:12 +1000 (Thu, 13 Mar 2008) $|
|Author:|Simon Baird <simon.baird@gmail.com>|
For use in ViewTemplate and EditTemplate. Example usage:
{{{<div macro="showWhenTagged Task">[[TaskToolbar]]</div>}}}
{{{<div macro="showWhen tiddler.modifier == 'BartSimpson'"><img src="bart.gif"/></div>}}}

window.hideWhenLastTest = false;

window.removeElementWhen = function(test,place) {
	window.hideWhenLastTest = test;
	if (test) {


	hideWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( eval(paramString), place);

	showWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !eval(paramString), place);

	hideWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.tags.containsAll(params), place);

	showWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !tiddler.tags.containsAll(params), place);

	hideWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.tags.containsAny(params), place);

	showWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !tiddler.tags.containsAny(params), place);

	hideWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.tags.containsAll(params), place);

	showWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !tiddler.tags.containsAll(params), place);

	hideWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0]), place);

	showWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !(store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0])), place);

	hideWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.title == params[0], place);

	showWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.title != params[0], place);

	'else': { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !window.hideWhenLastTest, place);



[img[http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2014/1/9/1389267954630/The-Third-Battle-Of-Ypres-011.jpg]]<<formTiddler NewArticleTemplate>><data>{"primtopic":"what causes big wars","synopsis":"USA and China should talk continually","articletitle":"Echoes of 1914: are today's conflicts a case of history repeating itself?","author":"Christopher Clark","journalinfo":"The Guardian","pagenumbers":"201401"}</data>''Echoes of 1914: are today's conflicts a case of history repeating itself?''

On the centenary of the first world war, it's hard not to see the parallels with current events, says historian Christopher Clark

Christopher Clark
The Guardian, Wednesday 15 January 2014 19.00 GMT

In the spring of 2011, I was in the middle of writing a chapter about the Italo-Turkish war of 1911, which began when the Kingdom of Italy attacked and invaded the Ottoman territory known today as Libya. This war, now almost totally forgotten, was the first in which aircraft went up in reconnaissance to signal enemy positions to artillery batteries; it was also the first to see aerial bombardments, using bombs thrown from Italian aeroplanes and airships. Scarcely had I begun writing, but there was news once again of air strikes on Libya. Exactly 100 years later, bombs were falling on Libyan towns and the headlines were full of the same names – Tripoli, Benghazi, Sirte, Derna, Tobruk, Zawiya, Misrata – as the newspapers of 1911.

The correspondences were uncanny, but what did they mean? The answer is anything but clear. The conflict of 2011 was fundamentally different from its predecessor. The Italo-Turkish war of 1911 triggered the chain of opportunist assaults on Ottoman south-eastern Europe known as the first Balkan war, sweeping away the geopolitical balances that had enabled local conflicts to be contained. It was a milestone (one of many) on the road to a war that would consume first Europe and then much of the world.

There was and is little reason to suppose that the air strikes of 2011 will bring such terrible consequences in their wake. History does not repeat itself, but, as Mark Twain remarked, it does occasionally rhyme. What do these rhymes mean? They may merely be symptomatic of a culture obsessed with anniversaries and remembrance. But we should not exclude the possibility that such moments of historical deja vu reveal authentic affinities between two moments in time.

In recent years, the affinities have piled up. It is becoming a truism that the world increasingly resembles the world of 1914. Having left behind the bipolar stability of the cold war, we are struggling to make sense of a system that is increasingly multipolar, opaque and unpredictable. As in 1914, a rising power confronts a weary (though not necessarily declining) hegemon. Crises rage unchecked in strategically sensitive regions of the world – in some of these, like the current standoff over the Senkaku islands in the western Pacific, great power interests are engaged. No one who – from the standpoint of the early 21st century – follows the course of the summer crisis of 1914 can fail to be struck by the contemporary resonances. It began with a squad of suicide bombers and a cavalcade of automobiles. Behind the outrage at Sarajevo was an organisation with a cult of sacrifice, death and revenge; but this organisation was scattered in cells across political borders; it was unaccountable, its links to any sovereign government were oblique, hidden.

Even the furore over WikiLeaks, espionage and Chinese cyber-attacks has its early 20th-century counterparts: French foreign policy was compromised in the previous pre-war years by targeted high-level intelligence leaks; the British worried about Russian espionage in central Asia and in early summer 1914 a spy at the Russian embassy in London kept Berlin appraised of the latest naval talks between Britain and Russia. The most scandalous case of all was that of Colonel Alfred Redl, who rose to head Austrian counter-intelligence but was himself an agent for the Russians and gave them high-quality military intelligence until he was arrested and allowed to kill himself in May 1913.

Is history trying to tell us something, and if so, what?

In summer 2008, after a brief war between Russia and Georgia over South Ossetia, the Russian ambassador to Nato, Dmitri Rogozin, claimed to discern in the drama unfolding in the Caucasus a replay of the July crisis of 1914. He even expressed the hope that Mikheil Saakashvili, Georgia's president (whom he regarded as the aggressor in the quarrel), would not go down in history as "the new Gavrilo Princip" – a reference to the young Bosnian Serb who assassinated the Austrian heir to the throne and his wife on 28 June 1914. In the aftermath of those killings, Serbia's conflict with Austria-Hungary had drawn in Russia, transforming a local conflict into a world war. If Georgia succeeded in securing the support of Nato, could the same happen?

These dark omens were never realised. Nato thought better of hitching its wagon to the star of the hot-headed Georgian president. After a limited US naval demonstration in the Black Sea, the crisis died away. Georgia was not early 20th-century Serbia, Nato was not tsarist Russia, and Saakashvili was not Gavrilo Princip. Rogozin's attempt to bolt the present on to a lop-sided analogy with the past was not an honest attempt at historically grounded prognosis, but a warning to the west to stay out of the conflict. It was both historically imprecise and hermeneutically empty.

Even in better informed and less manipulative hands, historical analogies resist unequivocal interpretation.

The problem is only partly that the fit between the past and the present is never perfect or even close. More fundamental is the problem that the meaning of past events is just as elusive – and just as susceptible to debate – as their meaning in the present. Take the case of China, for example. Is the China of today an analogue of the imperial Germany of 1914, as is often claimed?

Even if we decide that it is, what lessons should we draw from the parallel? If we take the view that German aggression above all else started the first world war, we may conclude the US should take a hard line against contemporary Chinese importuning. But if we see in the war of 1914-1918, as I do, the consequence of interactions between a plurality of powers, each of which was willing to resort to violence in support of its interests, then we might also infer we need to devise better ways of integrating new great powers into the international system. At the very least, 1914 remains (as it was for President John F Kennedy during the Cuba missile crisis of 1963) a cautionary tale about how very wrong international politics can go, and how fast, and with what terrible consequences.

It remains important that we challenge manipulative or reductive readings of the past when these are mobilised in support of present-day political objectives. The recourse to history is most enlightening when we understand our conversations about the past are as open-ended as our reflections on the present should be. History is still "the great instructor of public life", as Cicero said. Being blind to the future, we have no other. But it is an eccentric educator.

History's wisdom comes to us not in the form of pre-packaged lessons but of oracles, whose relevance to our current predicaments has to be puzzled over.

Christopher Clark is professor of modern European history at the University of Cambridge and a fellow of St Catharine's College. He is the author of The Sleepwalkers: how Europe went to war in 1914
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"Internal Advantage","pagenumbers":"2013","articletitle":"How internal communication can support business performance and competitive advantage","author":"blog"}</data>''How internal communication can support business performance and competitive advantage''

Posted on May 25, 2013

Now, more than ever, effective internal communication can contribute to business performance and competitive advantage. How?

Focus - clear and compelling communications are crucial for launching new vision and strategies and driving business change, but also for staying focused long term. They need to be woven into not only formal channels but the fabric of the everyday to help line managers and employees keep that line of sight and stay focused on their goals.

Connected - Silos are tricky things; no sooner have you patted yourself on the back for breaking them down they can reform somewhere else or at the end of a business cycle – agile internal communications with the right breadth and depth across businesses and functions can keep the organisation more connected and help business leaders (and especially project leaders) stay focused on the strategy and business goals and avoid silos and spin offs reforming.
Collaboration - several years ago we were talking about how to get employees to adopt social media tools like Yammer, MS Communicator and SharePoint but many communicators themselves couldn’t see the woods for the technology. These days its about the content; which forms a major part of the organisational dialogue. The trick is harnessing that content to support business goals and employee productivity while at the same time leaving it enough space to grow organically within your chosen parameters. Managed effectively, the social media dialogue within an organisation can support a knowledge management, job/development mentoring, instant feedback for leaders, employees focus groups or panels, to name but a few.

When conducting an internal analysis of an organisation you typically look at its resources, capabilities and core competencies and then set these against the external analysis to determine its competitive advantage. Internal business analysis would benefit from looking closer at how well the organisation communicates internally – whether that be between leadership and employees, across business units and functions (or sadly often silos) or amongst employees; peer-to-peer.

Internal communication can bring the sum of an organisation’s strengths together.  Business strategies and changes fail again and again because employees do not understand how they relate to their day-to-day roles. Business silos see companies miss opportunities and duplicate efforts despite stellar capabilities in-house. Employees struggle to navigate complex organisations to benefit from peer knowledge or unharnessed  social media dialogue actually lowers productivity.

Effective internal communication can unlock internal advantage to support business performance and competitive advantage. 
<<formTiddler NewArticleTemplate>><data>{"author":"John William Toigo","articletitle":"\"How essential is Hadoop for Big Data solutions\"","primtopic":"Hadoop and Big Data","synopsis":"Hadoop can be useful, but has problems"}</data>How essential is a Hadoop infrastructure to a big data environment?
Jon William Toigo

How essential is a Hadoop infrastructure in a big data environment?

Because Hadoop came into vogue at the same time big data did, they became synonymous. [But] they're two different things. Hadoop is a parallel programming model that is implemented on a bunch of low-cost clustered processors, and it's intended to support data-intensive distributed applications. That's what Hadoop is all about. It existed prior to the fascination with big data that we're hearing about today. But since Hadoop was out there, it was seized on as sort of an architecture for building big data infrastructure. It rests on Google's MapReduce algorithms, which are a way to distribute an application across clusters. Google's file system, operating system, MapReduce applications and Hadoop Distributed File System [HDFS] are mostly built on Java, which introduces its own set of problems. Hadoop also claims to provide resiliency through internodal failover. With most clusters, if one node fails, it's supposed to fail over to another cluster.

I'm not sure I'm entirely comfortable with Hadoop going forward. And there's general agreement that there are several aspects to a Hadoop infrastructure that really need work if it's ever going to be enterprise-ready. For one thing, core to Hadoop are something called NameNodes, which store metadata about the Hadoop cluster: what each one of the devices in the cluster are, what each one's capabilities are, what they'll be doing, what kind of workload they can handle. That information is not replicated anywhere; it only exists in one place. So it's a single point of failure in a Hadoop infrastructure. And that needs to be addressed if you're going to be doing serious processing on a Hadoop cluster. Another one is JobTracker. JobTracker is a component that manages MapReduce tasks and assigns workloads to different servers, preferably those that are closest to the data being analyzed by that particular process. And again, JobTracker is a single point of failure. It only exists on one server in the cluster. These are just obvious things that are problematic about the architectures with Hadoop today.

The technology of Hadoop itself is not simple. If you're going to deploy it, you're going to need some competent programmers, and they have to understand a variety of things that you wouldn't normally expect a single programmer to have in one kit. They have to know Pig, which is short for Pig Latin, and it's associated with the runtime environment of Hadoop. And they also have to understand Hive, which is a specialty interface for SQL Server databases that allows SQL data to be included in the Hadoop infrastructure. And, of course, they're going to have to understand Java, specifically Jaql, which is JavaScript's object notation language. It's hard enough these days to find programmers who are competent enough to do PHP, and now you're asking for somebody with a mix of fairly exotic languages under their belt.

So the first thing I said is you have some single points of failure. Second, Hadoop requires some specialized skills that may not be available in the skills market that's out there. Third, you're going to have problems with performance. Every company that's deployed Hadoop has had problems with the performance of the operations that Hadoop performs -- the big data analytics that are going on above it. Some of the problem has to do with badly written application code, but some of it has to do with the infrastructure itself. A lot of companies are throwing more money at additional server clusters, direct-attached storage and additional software tools, all with the intention of improving the speeds and feeds of the Hadoop infrastructure.

And, of course, management of the infrastructure is a bear. Hadoop infrastructure management is something a patch of folks are trying to address with a technology they're calling ZooKeeper, and a number of other vendors are trying to address with custom-built, build-around products they're offering. The problem is that there isn't a really good management paradigm right now for Hadoop, and to keep it all up and running is a pain in the butt.

Forbes magazine did an article a little while ago that expressed another big concern I'll share with you: Hadoop is all about the infrastructure that may undertake a big data project. It basically concerns itself with how data is processed. Now business folks don't understand processing -- they couldn't give a hoot about how you process big data. They just want the business entitlement, and they want it fast. The writer of this article correctly observed that Hadoop may be great for processing data at scale, which is what its claim is; however, it is in no way optimized to give you quick ad-hoc analysis or real-time analytics. So it doesn't serve the business process; all it does is perform a certain valuable function underneath, and it's just one way to host all the data.

That gets to the heart of the matter, and the real question ends up being: What are we going to use big data for? And I'm not sure anybody knows that yet, except for folks in marketing who just want to use it to target their products or services more specifically to a particular customer.
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
<<formTiddler NewArticleTemplate>><data>{"author":"James Meikle","journalinfo":"The Guardian","pagenumbers":"20130910","primtopic":"Human evolution","synopsis":"Humans stopped evolving as soon as they stopped infant deaths","articletitle":"\"Sir David Attenborough warns things will only get worse\"","url":"http://www.theguardian.com/tv-and-radio/2013/sep/10/david-attenborough-human-evolution-stopped"}</data>Sir David Attenborough warns things will only get worse
People should be persuaded against having large families, says the broadcaster and naturalist

James Meikle
The Guardian, Tuesday 10 September 2013

Sir David Attenborough has said that he is not optimistic about the future and that people should be persuaded against having large families.

The broadcaster and naturalist, who earlier this year described humans as "a plague on Earth", also said he believed humans have stopped evolving physically and genetically because of birth control and abortion, but that cultural evolution is proceeding "with extraordinary swiftness".

"We stopped natural selection as soon as we started being able to rear 90-95% of our babies that are born. We are the only species to have put a halt to natural selection, of its own free will, as it were," he tells this week's Radio Times.

"Stopping natural selection is not as important, or depressing, as it might sound – because our evolution is now cultural … We can inherit a knowledge of computers or television, electronics, aeroplanes and so on."

Attenborough said he was not optimistic about the future and "things are going to get worse".

"I don't think we are going to become extinct. We're very clever and extremely resourceful – and we will find ways of preserving ourselves, of that I'm sure. But whether our lives will be as rich as they are now is another question.

"We may reduce in numbers; that would actually be a help, though the chances of it happening within the next century is very small. I should think it's impossible, in fact."

The broadcaster, who is a patron of the charity Population Matters, which promotes family planning and campaigns for sustainable consumption, also appeared to express qualified support for the one-child policy in China.

He said: "It's the degree to which it has been enforced which is terrible, and there's no question it's produced all kinds of personal tragedies. There's no question about that. On the other hand, the Chinese themselves recognise that had they not done so there would be several million more mouths in the world today than there are now."

He added: "If you were able to persuade people that it is irresponsible to have large families in this day and age, and if material wealth and material conditions are such that people value their materialistic life and don't suffer as a consequence, then that's all to the good. But I'm not particularly optimistic about the future. I think we're lucky to be living when we are, because things are going to get worse."

Attenborough's next screen venture, a two-programme study of the rise of animals, begins on BBC2 on 20 September. The BBC has already announced future projects involving the much-loved face and voice of natural history. "If I was earning my money by hewing coal I would be very glad indeed to stop," said Attenborough, who had a pacemaker fitted to regulate his heart in June.

"But I'm not. I'm swanning round the world looking at the most fabulously interesting things. Such good fortune."

He also told the magazine: "I'm luckier than my grandfather, who didn't move more than five miles from the village in which he was born. I have all kinds of pleasures and luxuries that I appreciate and I'm very, very fortunate. I think that applies to the majority of people – in this country, at any rate.

"But I think that in another 100 years people will look back at a world that was less crowded, full of natural wonders, and healthier."
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
<<formTiddler NewArticleTemplate>><data>{"primtopic":"AI","synopsis":"Commercialising Watson will be difficult","author":"Jack Vaughan","articletitle":"For IBM Watson, no easy answers on commercial cognitive computing","journalinfo":"SearchStorage","pagenumbers":"201401"}</data>''For IBM Watson, no easy answers on commercial cognitive computing''

Jack Vaughan

The IBM Watson supercomputer has garnered a lot of attention in recent years, but it's entering a particularly critical passage now. What happens next could influence the future paths of data analytics generally, and IBM specifically -- for better or for worse.

This week, IBM showed its plan to move Watson forward. Virginia Rometty, the company's chairman, president and CEO, said IBM would invest more than $1 billion in a new business group dedicated to commercializing Watson. That figure includes $100 million for venture investments to create an ecosystem of application developers and other business partners. The challenge, though, will be to take highly technical machine learning software from the lab -- and the game show milieu -- to the business mainstream.

In 2011, Watson was carefully programmed as a specialized cognitive system with distinctive natural-language processing prowess. It was fed a large helping of information, and it went on to gain fame as something of a technology showcase for IBM. In effect, the company proved a machine could learn about human language and knowledge in amounts that were sufficient to beat vaunted Jeopardy! champions Ken Jennings and Brad Rutter in a two-match series of the TV quiz show.

Subsequently, IBM worked to expand Watson's domains of expertise to include healthcare, with a big emphasis on oncology and curing cancer, and, more recently, somewhat more mundane undertakings such as financial planning and customer service.

What happens next could influence the future paths of data analytics generally, and IBM specifically -- for better or for worse.
Watson's ability to learn as it interacts with humans and to predictively infer reasonable possibilities shows promise in analytical applications that challenge humans. IBM calls this cognitive computing, although the process also resembles expert systems work that it and others have long pursued. But replicating Watson's Jeopardy! success on the commercial stage hasn't been easy. For one thing, the questions that the system is called upon to answer are of a different ilk.

Game changer for Watson
"Jeopardy! has very clear parameters," said Adrian Bowles, principal at market research and analysis company Storm Insights Inc. He noted that the Jeopardy! Watson system was sequestered and could not search the Web or other data sources after the games began.

And issues of language aside, Jeopardy! facts can be pretty straightforward. In healthcare applications and other real-world scenarios, Watson will work much differently, Bowles said. In turn, the system will require the organizations that use it to work differently.

Bowles said that Watson provides users with measures of the confidence it has in its own answers. We've seen these confidence measures in weather reports, Gartner Inc.'s IT predictions and data analytics wunderkind Nate Silver's best-seller The Signal and the Noise, but working with confidence indexes is not first nature to many business leaders.

"Watson is a cognitive system that gives answers in context," Bowles said. "It's not just about building a database. It will change the way we think about applications. In a way, it is going to make people think about thinking."

Avoiding the AI graveyard
The IBM Watson technology is pretty heady stuff. And there's the rub. IBM will have to take care not to oversell it. That has happened to similar advanced technology before, going all the way back to the artificial intelligence (AI) systems that sprang up three decades ago. The AI market turned out to be something of a graveyard for overblown technology hopes.

"Making machines that beat humans at chess or a TV game show is much easier than solving problems in the messy real world," said Curt Monash, president of Monash Research and editor and publisher of DBMS2 and other blogs. "Watson doesn't seem to have yet overcome the problem that derailed 1980s AI technology, namely a reliance on small pieces of domain knowledge."

Watson capabilities, such as automated knowledge ingestion, could eventually get the job done, Monash conceded. "But it doesn't seem to be there yet," he said.

What's becoming clear is that IBM itself has to change its way of thinking to successfully bring Watson to market in a way that large numbers of customers will adopt. Signs suggest that Big Blue has gotten that message and is adapting its strategy.

Early Watsons were big honking machines - supercomputers in name. But the company is quickly reducing Watson's footprint and deploying it as a cloud service. It's also finding ways to incorporate its data analytics technologies into Watson products, and vice versa. And IBM's efforts to build a Watson developer community shows a marked change from AI efforts in the days of yore.

Like Watson combing through the questions to the Jeopardy! answer "Nicholas II was the last ruling czar of this royal family" - or the answer to the question, "Does this kid have tonsillitis?" - IBM has to find the right answers to the challenge of commercializing cognitive computing. Will what it's doing be enough? If only IBM Watson could answer that one.

Jack Vaughan is SearchDataManagement's news and site editor. Email him at jvaughan@techtarget.com, and follow us on Twitter: @sDataManagement.
[img[http://www.cloudfx.com/images/IT-Operations-and-Management/Cloud-ITSM-&-Operational-Readiness.png]]<<formTiddler NewArticleTemplate>>''ITIL AND ITSM EXPLAINED''

ITIL is the foundation

Developed in recognition of organizations' growing dependency on IT, ITIL provides a framework of best practice guidance for IT Service Management that has become the most widely used and accepted approach to IT service management in the world. Physically ITIL consists of a series of books and supporting documents fundamentally organized into two functional areas:

IT Service Support - consisting of configuration management, change management, release management, incident management, problem management, and service desk (a function)
IT Service Delivery - consisting of availability management, IT service continuity, capacity management, service level management, and financial management for IT Services
ITIL aims to improve the overall quality of service to the business within imposed constraints while improving the overall effectiveness and efficiency of IT.

ITIL isn't enough

The fact is, while ITIL provides a wealth of guidance and best practices for implementing successful IT Operations Management, ITIL alone isn't enough. To be effective:

ITIL needs to be mapped to each individual organization and the specific requirements imposed by the IT infrastructure, systems, and applications that they manage
IT operations tooling must be standardized, processes well defined, repeatable and, to the greatest extent possible, automated
The IT organization needs to adopt a Service Orientation to the delivery of ITIL-based operations, moving from ad-hoc relationships to a customer service provider model
Accordingly, IT services should be provided through a standard interface including a published menu of services which end-users select and consume
This is where ITSM (IT Service Management) becomes critical.

Why you need ITSM

Formally, ITSM is an international standard (ISO/IEC 20000) that addresses the establishment and maintenance of ITIL processes and the mechanism to ensure their relevance and improvement. ITSM employs ITIL documented best practices and in most cases extends into additional areas such as enhanced processes and implementation to provide additional value-added functionality.

In practice, ITSM refers to the alignment of IT Services delivery with the needs of the business, and can be measured by examining the IT organization's approach and maturity in delivering IT Services to end-users within a customer service provider orientation. An effective ITSM capability is the foundation of the successful delivery of IT Services.

The IT operations management challenge
While the framework and standards for effective ITSM-based operational processes and management frequently exist, all too often they are not fully understood or adopted by organizations, or have only been adopted in piecemeal fashion, or may not be enforced, or may be undermined by political or other organizational factors. As a result, it is not uncommon to see the following problems with the IT operations of many large organisations:

Unclear definition, standardization and adoption of ITIL best practices and ITSM processes
Blind adherence to framework adoption with insufficient customisation to an organization's specific needs
Over-reliance on, or over-confidence in, tools to achieve service levels - but no backing service or process orientation
Lack of IT operational processes, or non-integrated process implementation (silo based: Server Team, Storage Team, Network Team, etc.)
No group-wide guidelines and process documentation
Unclear definition of roles and responsibilities
Service levels are not clearly defined and/or users are not satisfied with the level of support
No ability to accurately track performance

Shift to Cloud

Now consider the industry-wide shift to Cloud based (especially Private Cloud) deployment models. If there is no clear ITSM-based operations process and management capability in place already, how can an organisation expect the shift to Cloud based deployment to do anything other than exacerbate current operational management problems?

According to a new survey, more than half of IT professionals (51 percent) do not think their current IT Service Management (ITSM) processes are mature enough to effectively manage Cloud based services. 26 percent believe their organisations aren't ready, while the remaining 23 percent are unsure (source: Axios Systems, 2011).

Without a doubt, existing problems will be amplified, while new problems will emerge, owing to the increased sophistication of Cloud deployment and the potential for new problems to creep in as the organization digests the new way of running IT.
Furthermore, consider how the shift to Cloud impacts current operational processes. Even organizations which have faithfully implemented ITIL best practices and ITSM refinements will find that those practices and methods will change dramatically once a Cloud is implemented.

Consider the example of procurement of a new server. Traditionally that might have been triggered by a capacity management best practice, which identified the need for more capacity, leading to best practice-based approval and procurement processes, followed by physical delivery, installation, configuration and setup. This would have led to a test of best practices, a change of management processes to accommodate the new hardware, and a configuration management process to register the new asset. Now compare that to the Cloud analogue of creating a new virtual machine or server which in its simplest form, can consist of a single mouse-click, costs almost nothing, is instantly available, and automatically added to inventory.
[img[http://www.aiim.org/images/WhatIs/Information_Management.jpg]]<<formTiddler NewArticleTemplate>>''What is Information Management?''

Information, as we know it today, includes both electronic and physical information. The organizational structure must be capable of managing this information throughout the information lifecycle regardless of source or format (data, paper documents, electronic documents, audio, video, etc.) for delivery through multiple channels that may include cell phones and web interfaces.

''What is Information Management''

According to Wikipedia, Information management (IM) is the collection and management of information from one or more sources and the distribution of that information to one or more audiences. This sometimes involves those who have a stake in, or a right to that information. Management means the organization of and control over the structure, processing and delivery of information.

Get vendor neutral training in technologies and global best practices for managing and utilizing information assets.

AIIM agrees with this definition. Information, as we know it today, includes both electronic and physical information. The organizational structure must be capable of managing this information throughout the information lifecycle regardless of source or format (data, paper documents, electronic documents, audio, social business, video, etc.) for delivery through multiple channels that may include cell phones and web interfaces. Given these criteria, we can then say that the focus of IM is the ability of organizations to capture, manage, preserve, store and deliver the right information to the right people at the right time.

''Information Management''

Information management environments are comprised of legacy information resident in line of business applications, Enterprise Content Management (ECM), Electronic Records Management (ERM), Business Process Management (BPM), Taxonomy and Metadata, Knowledge Management (KM), Web Content Management (WCM), Document Management (DM) and Social Media Governance technology solutions and best practices. Information management requires the adoption and adherence to guiding principles that include:

** Information assets are corporate assets. This principle should be acknowledged or agreed upon across the organization otherwise any business case and support for IM will be weak.

**Information must be made available and shared. Of course not all information is open to anyone, but in principle the sharing of information helps the use and exploitation of corporate knowledge.

** Information the organization needs to keep is managed and retained corporately. In other words the retention and archiving, of information. If you save a document today, you expect it to be secured and still available to you tomorrow.

Information management is a corporate responsibility that needs to be addressed and followed from the upper most senior levels of management to the front line worker. Organizations must be held and must hold its employees accountable to capture, manage, store, share, preserve and deliver information appropriately and responsibly. Part of that responsibility lies in training the organization to become familiar with the policies, processes, technologies and best practices in IM.

- See more at: http://www.aiim.org/what-is-information-management#sthash.QXfBtYdZ.dpuf<data>{"articletitle":"What is Information Management?","journalinfo":"AiiM. org","primtopic":"Information Management","synopsis":"All Corporations should be managing information as a asset"}</data>
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|Description|Insert Javascript executable code directly into your tiddler content.|

[Snip - see plugin documentation at the link above]

This feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]
version.extensions.inlineJavascript= {major: 1, minor: 6, revision: 0, date: new Date(2007,2,19)};

config.formatters.push( {
	name: "inlineJavascript",
	match: "\\<script",
	lookahead: "\\<script(?: src=\\\"((?:.|\\n)*?)\\\")?(?: label=\\\"((?:.|\\n)*?)\\\")?(?: title=\\\"((?:.|\\n)*?)\\\")?( show)?\\>((?:.|\\n)*?)\\</script\\>",

	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) {
			if (lookaheadMatch[1]) { // load a script library
				// make script tag, set src, add to body to execute, then remove for cleanup
				var script = document.createElement("script"); script.src = lookaheadMatch[1];
				document.body.appendChild(script); document.body.removeChild(script);
			if (lookaheadMatch[5]) { // there is script code
				if (lookaheadMatch[4]) // show inline script code in tiddler output
				if (lookaheadMatch[2]) { // create a link to an 'onclick' script
					// add a link, define click handler, save code in link (pass 'place'), set link attributes
					var link=createTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",lookaheadMatch[2]);
					link.code="function _out(place){"+lookaheadMatch[5]+"\n};_out(this);"
				else { // run inline script code
					var code="function _out(place){"+lookaheadMatch[5]+"\n};_out(w.output);"
					try { var out = eval(code); } catch(e) { out = e.description?e.description:e.toString(); }
					if (out && out.length) wikify(out,w.output,w.highlightRegExp,w.tiddler);
			w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
} )
[img[http://www.finextra.com/finextra-images/top_pics/large/5406.jpg]]<<formTiddler NewArticleTemplate>><data>{"journalinfo":"Finextra","pagenumbers":"20140113","primtopic":"Security flaws in Apps","synopsis":"Most Banking Apps are full of security flaws.","articletitle":"Bank apps riddled with security holes","url":"http://blog.ioactive.com/2014/01/personal-banking-apps-leak-info-through.html"}</data>''Bank apps riddled with security holes''

Many of the world's biggest banks have serious security flaws in their mobile apps which could leave customers - and the banks themselves - vulnerable to attackers, research from IOActive suggests.

IOActive researcher Ariel Sanchez used iPhones and iPads to test 40 home banking apps from some of the biggest financial institutions around the world.

The testing found that 90% of the apps contain non-SSL links, enabling any attacker to intercept traffic and inject code in an attempt to create a fake login prompt or similar scam.

Read more on this:  http://blog.ioactive.com/2014/01/personal-banking-apps-leak-info-through.html

Meanwhile, half of the apps are vulnerable to JavaScript injections via insecure UIWebView implementations. In some cases, the native iOS functionality is exposed, allowing crooks to do things like send SMS or e-mails from the victim's device.

Many apps - 40% - do not validate the authenticity of SSL certificates presented, leaving them open to man-in-the-middle attacks. Nearly three quarters also don't have multi-factor authentication, which could help to mitigate the risk of impersonation attacks.

IOActive says that it has contacted some of the banks about vulnerabilities but argues that the entire industry needs to step up its efforts to protect customers.

Among its suggestions are that all connections are performed using secure transfer protocols, SSL certificate checks are enforced, and the iOS data protection API is used to encrypt sensitive data.
|Description:|A handy way to insert timestamps in your tiddler content|
|Version:|1.0.10 ($Rev: 3646 $)|
|Date:|$Date: 2008-02-27 02:34:38 +1000 (Wed, 27 Feb 2008) $|
|Author:|Simon Baird <simon.baird@gmail.com>|
If you enter {ts} in your tiddler content (without the spaces) it will be replaced with a timestamp when you save the tiddler. Full list of formats:
* {ts} or {t} -> timestamp
* {ds} or {d} -> datestamp
* !ts or !t at start of line -> !!timestamp
* !ds or !d at start of line -> !!datestamp
(I added the extra ! since that's how I like it. Remove it from translations below if required)
* Change the timeFormat and dateFormat below to suit your preference.
* See also http://mptw2.tiddlyspot.com/#AutoCorrectPlugin
* You could invent other translations and add them to the translations array below.

config.InstantTimestamp = {

	// adjust to suit
	timeFormat: 'DD/0MM/YY 0hh:0mm',
	dateFormat: 'DD/0MM/YY',

	translations: [
		[/^!ts?$/img,  "'!!{{ts{'+now.formatString(config.InstantTimestamp.timeFormat)+'}}}'"],
		[/^!ds?$/img,  "'!!{{ds{'+now.formatString(config.InstantTimestamp.dateFormat)+'}}}'"],

		// thanks Adapted Cat

	excludeTags: [

	excludeTiddlers: [
		// more?


TiddlyWiki.prototype.saveTiddler_mptw_instanttimestamp = TiddlyWiki.prototype.saveTiddler;
TiddlyWiki.prototype.saveTiddler = function(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created) {

	tags = tags ? tags : []; // just in case tags is null
	tags = (typeof(tags) == "string") ? tags.readBracketedList() : tags;
	var conf = config.InstantTimestamp;

	if ( !tags.containsAny(conf.excludeTags) && !conf.excludeTiddlers.contains(newTitle) ) {

		var now = new Date();
		var trans = conf.translations;
		for (var i=0;i<trans.length;i++) {
			newBody = newBody.replace(trans[i][0], eval(trans[i][1]));

	// TODO: use apply() instead of naming all args?
	return this.saveTiddler_mptw_instanttimestamp(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created);

// you can override these in StyleSheet 
setStylesheet(".ts,.ds { font-style:italic; }","instantTimestampStyles");


|''Version:''|1.0.2 (2007-07-25)|
|''Author:''|Udo Borkowski (ub [at] abego-software [dot] de)|
|''Documentation:''|[[IntelliTaggerPlugin Documentation]]|
|''~SourceCode:''|[[IntelliTaggerPlugin SourceCode]]|
|''Licence:''|[[BSD open source license (abego Software)]]|
|''Browser:''|Firefox or better|
!Version History
* 1.0.2 (2007-07-25): 
** Feature: "Return" key may be used to accept first tag suggestion (beside "Alt-1")
** Bugfix: Keyboard shortcuts (Alt+3 etc.) shifted
* 1.0.1 (2007-05-18): Improvement: Speedup when using TiddlyWikis with many tags
* 1.0.0 (2006-04-26): Initial release

// /%
if(!version.extensions.IntelliTaggerPlugin){if(!window.abego){window.abego={};}if(!abego.internal){abego.internal={};}abego.alertAndThrow=function(s){alert(s);throw s;};if(version.major<2){abego.alertAndThrow("Use TiddlyWiki 2.0.8 or better to run the IntelliTagger Plugin.");}version.extensions.IntelliTaggerPlugin={major:1,minor:0,revision:2,date:new Date(2007,6,25),type:"plugin",source:"http://tiddlywiki.abego-software.de/#IntelliTaggerPlugin",documentation:"[[IntelliTaggerPlugin Documentation]]",sourcecode:"[[IntelliTaggerPlugin SourceCode]]",author:"Udo Borkowski (ub [at] abego-software [dot] de)",licence:"[[BSD open source license (abego Software)]]",tiddlywiki:"Version 2.0.8 or better",browser:"Firefox or better"};abego.createEllipsis=function(_2){var e=createTiddlyElement(_2,"span");e.innerHTML="&hellip;";};abego.isPopupOpen=function(_4){return _4&&_4.parentNode==document.body;};abego.openAsPopup=function(_5){if(_5.parentNode!=document.body){document.body.appendChild(_5);}};abego.closePopup=function(_6){if(abego.isPopupOpen(_6)){document.body.removeChild(_6);}};abego.getWindowRect=function(){return {left:findScrollX(),top:findScrollY(),height:findWindowHeight(),width:findWindowWidth()};};abego.moveElement=function(_7,_8,_9){_7.style.left=_8+"px";_7.style.top=_9+"px";};abego.centerOnWindow=function(_a){if(_a.style.position!="absolute"){throw "abego.centerOnWindow: element must have absolute position";}var _b=abego.getWindowRect();abego.moveElement(_a,_b.left+(_b.width-_a.offsetWidth)/2,_b.top+(_b.height-_a.offsetHeight)/2);};abego.isDescendantOrSelf=function(_c,e){while(e){if(_c==e){return true;}e=e.parentNode;}return false;};abego.toSet=function(_e){var _f={};for(var i=0;i<_e.length;i++){_f[_e[i]]=true;}return _f;};abego.filterStrings=function(_11,_12,_13){var _14=[];for(var i=0;i<_11.length&&(_13===undefined||_14.length<_13);i++){var s=_11[i];if(s.match(_12)){_14.push(s);}}return _14;};abego.arraysAreEqual=function(a,b){if(!a){return !b;}if(!b){return false;}var n=a.length;if(n!=b.length){return false;}for(var i=0;i<n;i++){if(a[i]!=b[i]){return false;}}return true;};abego.moveBelowAndClip=function(_1b,_1c){if(!_1c){return;}var _1d=findPosX(_1c);var _1e=findPosY(_1c);var _1f=_1c.offsetHeight;var _20=_1d;var _21=_1e+_1f;var _22=findWindowWidth();if(_22<_1b.offsetWidth){_1b.style.width=(_22-100)+"px";}var _23=_1b.offsetWidth;if(_20+_23>_22){_20=_22-_23-30;}if(_20<0){_20=0;}_1b.style.left=_20+"px";_1b.style.top=_21+"px";_1b.style.display="block";};abego.compareStrings=function(a,b){return (a==b)?0:(a<b)?-1:1;};abego.sortIgnoreCase=function(arr){var _27=[];var n=arr.length;for(var i=0;i<n;i++){var s=arr[i];_27.push([s.toString().toLowerCase(),s]);}_27.sort(function(a,b){return (a[0]==b[0])?0:(a[0]<b[0])?-1:1;});for(i=0;i<n;i++){arr[i]=_27[i][1];}};abego.getTiddlerField=function(_2d,_2e,_2f){var _30=document.getElementById(_2d.idPrefix+_2e);var e=null;if(_30!=null){var _32=_30.getElementsByTagName("*");for(var t=0;t<_32.length;t++){var c=_32[t];if(c.tagName.toLowerCase()=="input"||c.tagName.toLowerCase()=="textarea"){if(!e){e=c;}if(c.getAttribute("edit")==_2f){e=c;}}}}return e;};abego.setRange=function(_35,_36,end){if(_35.setSelectionRange){_35.setSelectionRange(_36,end);var max=0+_35.scrollHeight;var len=_35.textLength;var top=max*_36/len,bot=max*end/len;_35.scrollTop=Math.min(top,(bot+top-_35.clientHeight)/2);}else{if(_35.createTextRange!=undefined){var _3b=_35.createTextRange();_3b.collapse();_3b.moveEnd("character",end);_3b.moveStart("character",_36);_3b.select();}else{_35.select();}}};abego.internal.TagManager=function(){var _3c=null;var _3d=function(){if(_3c){return;}_3c={};store.forEachTiddler(function(_3e,_3f){for(var i=0;i<_3f.tags.length;i++){var tag=_3f.tags[i];var _42=_3c[tag];if(!_42){_42=_3c[tag]={count:0,tiddlers:{}};}_42.tiddlers[_3f.title]=true;_42.count+=1;}});};var _43=TiddlyWiki.prototype.saveTiddler;TiddlyWiki.prototype.saveTiddler=function(_44,_45,_46,_47,_48,_49){var _4a=this.fetchTiddler(_44);var _4b=_4a?_4a.tags:[];var _4c=(typeof _49=="string")?_49.readBracketedList():_49;_43.apply(this,arguments);if(!abego.arraysAreEqual(_4b,_4c)){abego.internal.getTagManager().reset();}};var _4d=TiddlyWiki.prototype.removeTiddler;TiddlyWiki.prototype.removeTiddler=function(_4e){var _4f=this.fetchTiddler(_4e);var _50=_4f&&_4f.tags.length>0;_4d.apply(this,arguments);if(_50){abego.internal.getTagManager().reset();}};this.reset=function(){_3c=null;};this.getTiddlersWithTag=function(tag){_3d();var _52=_3c[tag];return _52?_52.tiddlers:null;};this.getAllTags=function(_53){_3d();var _54=[];for(var i in _3c){_54.push(i);}for(i=0;_53&&i<_53.length;i++){_54.pushUnique(_53[i],true);}abego.sortIgnoreCase(_54);return _54;};this.getTagInfos=function(){_3d();var _56=[];for(var _57 in _3c){_56.push([_57,_3c[_57]]);}return _56;};var _58=function(a,b){var a1=a[1];var b1=b[1];var d=b[1].count-a[1].count;return d!=0?d:abego.compareStrings(a[0].toLowerCase(),b[0].toLowerCase());};this.getSortedTagInfos=function(){_3d();var _5e=this.getTagInfos();_5e.sort(_58);return _5e;};this.getPartnerRankedTags=function(_5f){var _60={};for(var i=0;i<_5f.length;i++){var _62=this.getTiddlersWithTag(_5f[i]);for(var _63 in _62){var _64=store.getTiddler(_63);if(!(_64 instanceof Tiddler)){continue;}for(var j=0;j<_64.tags.length;j++){var tag=_64.tags[j];var c=_60[tag];_60[tag]=c?c+1:1;}}}var _68=abego.toSet(_5f);var _69=[];for(var n in _60){if(!_68[n]){_69.push(n);}}_69.sort(function(a,b){var d=_60[b]-_60[a];return d!=0?d:abego.compareStrings(a.toLowerCase(),b.toLowerCase());});return _69;};};abego.internal.getTagManager=function(){if(!abego.internal.gTagManager){abego.internal.gTagManager=new abego.internal.TagManager();}return abego.internal.gTagManager;};(function(){var _6e=2;var _6f=1;var _70=30;var _71;var _72;var _73;var _74;var _75;var _76;if(!abego.IntelliTagger){abego.IntelliTagger={};}var _77=function(){return _72;};var _78=function(tag){return _75[tag];};var _7a=function(s){var i=s.lastIndexOf(" ");return (i>=0)?s.substr(0,i):"";};var _7d=function(_7e){var s=_7e.value;var len=s.length;return (len>0&&s[len-1]!=" ");};var _81=function(_82){var s=_82.value;var len=s.length;if(len>0&&s[len-1]!=" "){_82.value+=" ";}};var _85=function(tag,_87,_88){if(_7d(_87)){_87.value=_7a(_87.value);}story.setTiddlerTag(_88.title,tag,0);_81(_87);abego.IntelliTagger.assistTagging(_87,_88);};var _89=function(n){if(_76&&_76.length>n){return _76[n];}return (_74&&_74.length>n)?_74[n]:null;};var _8b=function(n,_8d,_8e){var _8f=_89(n);if(_8f){_85(_8f,_8d,_8e);}};var _90=function(_91){var pos=_91.value.lastIndexOf(" ");var _93=(pos>=0)?_91.value.substr(++pos,_91.value.length):_91.value;return new RegExp(_93.escapeRegExp(),"i");};var _94=function(_95,_96){var _97=0;for(var i=0;i<_95.length;i++){if(_96[_95[i]]){_97++;}}return _97;};var _99=function(_9a,_9b,_9c){var _9d=1;var c=_9a[_9b];for(var i=_9b+1;i<_9a.length;i++){if(_9a[i][1].count==c){if(_9a[i][0].match(_9c)){_9d++;}}else{break;}}return _9d;};var _a0=function(_a1,_a2){var _a3=abego.internal.getTagManager().getSortedTagInfos();var _a4=[];var _a5=0;for(var i=0;i<_a3.length;i++){var c=_a3[i][1].count;if(c!=_a5){if(_a2&&(_a4.length+_99(_a3,i,_a1)>_a2)){break;}_a5=c;}if(c==1){break;}var s=_a3[i][0];if(s.match(_a1)){_a4.push(s);}}return _a4;};var _a9=function(_aa,_ab){return abego.filterStrings(abego.internal.getTagManager().getAllTags(_ab),_aa);};var _ac=function(){if(!_71){return;}var _ad=store.getTiddlerText("IntelliTaggerMainTemplate");if(!_ad){_ad="<b>Tiddler IntelliTaggerMainTemplate not found</b>";}_71.innerHTML=_ad;applyHtmlMacros(_71,null);refreshElements(_71,null);};var _ae=function(e){if(!e){var e=window.event;}var tag=this.getAttribute("tag");if(_73){_73.call(this,tag,e);}return false;};var _b2=function(_b3){createTiddlyElement(_b3,"span",null,"tagSeparator"," | ");};var _b4=function(_b5,_b6,_b7,_b8,_b9){if(!_b6){return;}var _ba=_b8?abego.toSet(_b8):{};var n=_b6.length;var c=0;for(var i=0;i<n;i++){var tag=_b6[i];if(_ba[tag]){continue;}if(c>0){_b2(_b5);}if(_b9&&c>=_b9){abego.createEllipsis(_b5);break;}c++;var _bf="";var _c0=_b5;if(_b7<10){_c0=createTiddlyElement(_b5,"span",null,"numberedSuggestion");_b7++;var key=_b7<10?""+(_b7):"0";createTiddlyElement(_c0,"span",null,"suggestionNumber",key+") ");var _c2=_b7==1?"Return or ":"";_bf=" (Shortcut: %1Alt-%0)".format([key,_c2]);}var _c3=config.views.wikified.tag.tooltip.format([tag]);var _c4=(_78(tag)?"Remove tag '%0'%1":"Add tag '%0'%1").format([tag,_bf]);var _c5="%0; Shift-Click: %1".format([_c4,_c3]);var btn=createTiddlyButton(_c0,tag,_c5,_ae,_78(tag)?"currentTag":null);btn.setAttribute("tag",tag);}};var _c7=function(){if(_71){window.scrollTo(0,ensureVisible(_71));}if(_77()){window.scrollTo(0,ensureVisible(_77()));}};var _c8=function(e){if(!e){var e=window.event;}if(!_71){return;}var _cb=resolveTarget(e);if(_cb==_77()){return;}if(abego.isDescendantOrSelf(_71,_cb)){return;}abego.IntelliTagger.close();};addEvent(document,"click",_c8);var _cc=Story.prototype.gatherSaveFields;Story.prototype.gatherSaveFields=function(e,_ce){_cc.apply(this,arguments);var _cf=_ce.tags;if(_cf){_ce.tags=_cf.trim();}};var _d0=function(_d1){story.focusTiddler(_d1,"tags");var _d2=abego.getTiddlerField(story,_d1,"tags");if(_d2){var len=_d2.value.length;abego.setRange(_d2,len,len);window.scrollTo(0,ensureVisible(_d2));}};var _d4=config.macros.edit.handler;config.macros.edit.handler=function(_d5,_d6,_d7,_d8,_d9,_da){_d4.apply(this,arguments);var _db=_d7[0];if((_da instanceof Tiddler)&&_db=="tags"){var _dc=_d5.lastChild;_dc.onfocus=function(e){abego.IntelliTagger.assistTagging(_dc,_da);setTimeout(function(){_d0(_da.title);},100);};_dc.onkeyup=function(e){if(!e){var e=window.event;}if(e.altKey&&!e.ctrlKey&&!e.metaKey&&(e.keyCode>=48&&e.keyCode<=57)){_8b(e.keyCode==48?9:e.keyCode-49,_dc,_da);}else{if(e.ctrlKey&&e.keyCode==32){_8b(0,_dc,_da);}}if(!e.ctrlKey&&(e.keyCode==13||e.keyCode==10)){_8b(0,_dc,_da);}setTimeout(function(){abego.IntelliTagger.assistTagging(_dc,_da);},100);return false;};_81(_dc);}};var _e0=function(e){if(!e){var e=window.event;}var _e3=resolveTarget(e);var _e4=_e3.getAttribute("tiddler");if(_e4){story.displayTiddler(_e3,_e4,"IntelliTaggerEditTagsTemplate",false);_d0(_e4);}return false;};var _e5=config.macros.tags.handler;config.macros.tags.handler=function(_e6,_e7,_e8,_e9,_ea,_eb){_e5.apply(this,arguments);abego.IntelliTagger.createEditTagsButton(_eb,createTiddlyElement(_e6.lastChild,"li"));};var _ec=function(){if(_71&&_72&&!abego.isDescendantOrSelf(document,_72)){abego.IntelliTagger.close();}};setInterval(_ec,100);abego.IntelliTagger.displayTagSuggestions=function(_ed,_ee,_ef,_f0,_f1){_74=_ed;_75=abego.toSet(_ee);_76=_ef;_72=_f0;_73=_f1;if(!_71){_71=createTiddlyElement(document.body,"div",null,"intelliTaggerSuggestions");_71.style.position="absolute";}_ac();abego.openAsPopup(_71);if(_77()){var w=_77().offsetWidth;if(_71.offsetWidth<w){_71.style.width=(w-2*(_6e+_6f))+"px";}abego.moveBelowAndClip(_71,_77());}else{abego.centerOnWindow(_71);}_c7();};abego.IntelliTagger.assistTagging=function(_f3,_f4){var _f5=_90(_f3);var s=_f3.value;if(_7d(_f3)){s=_7a(s);}var _f7=s.readBracketedList();var _f8=_f7.length>0?abego.filterStrings(abego.internal.getTagManager().getPartnerRankedTags(_f7),_f5,_70):_a0(_f5,_70);abego.IntelliTagger.displayTagSuggestions(_a9(_f5,_f7),_f7,_f8,_f3,function(tag,e){if(e.shiftKey){onClickTag.call(this,e);}else{_85(tag,_f3,_f4);}});};abego.IntelliTagger.close=function(){abego.closePopup(_71);_71=null;return false;};abego.IntelliTagger.createEditTagsButton=function(_fb,_fc,_fd,_fe,_ff,id,_101){if(!_fd){_fd="[edit]";}if(!_fe){_fe="Edit the tags";}if(!_ff){_ff="editTags";}var _102=createTiddlyButton(_fc,_fd,_fe,_e0,_ff,id,_101);_102.setAttribute("tiddler",(_fb instanceof Tiddler)?_fb.title:String(_fb));return _102;};abego.IntelliTagger.getSuggestionTagsMaxCount=function(){return 100;};config.macros.intelliTagger={label:"intelliTagger",handler:function(_103,_104,_105,_106,_107,_108){var _109=_107.parseParams("list",null,true);var _10a=_109[0]["action"];for(var i=0;_10a&&i<_10a.length;i++){var _10c=_10a[i];var _10d=config.macros.intelliTagger.subhandlers[_10c];if(!_10d){abego.alertAndThrow("Unsupported action '%0'".format([_10c]));}_10d(_103,_104,_105,_106,_107,_108);}},subhandlers:{showTags:function(_10e,_10f,_110,_111,_112,_113){_b4(_10e,_74,_76?_76.length:0,_76,abego.IntelliTagger.getSuggestionTagsMaxCount());},showFavorites:function(_114,_115,_116,_117,_118,_119){_b4(_114,_76,0);},closeButton:function(_11a,_11b,_11c,_11d,_11e,_11f){var _120=createTiddlyButton(_11a,"close","Close the suggestions",abego.IntelliTagger.close);},version:function(_121){var t="IntelliTagger %0.%1.%2".format([version.extensions.IntelliTaggerPlugin.major,version.extensions.IntelliTaggerPlugin.minor,version.extensions.IntelliTaggerPlugin.revision]);var e=createTiddlyElement(_121,"a");e.setAttribute("href","http://tiddlywiki.abego-software.de/#IntelliTaggerPlugin");e.innerHTML="<font color=\"black\" face=\"Arial, Helvetica, sans-serif\">"+t+"<font>";},copyright:function(_124){var e=createTiddlyElement(_124,"a");e.setAttribute("href","http://tiddlywiki.abego-software.de");e.innerHTML="<font color=\"black\" face=\"Arial, Helvetica, sans-serif\">&copy; 2006-2007 <b><font color=\"red\">abego</font></b> Software<font>";}}};})();config.shadowTiddlers["IntelliTaggerStyleSheet"]="/***\n"+"!~IntelliTagger Stylesheet\n"+"***/\n"+"/*{{{*/\n"+".intelliTaggerSuggestions {\n"+"\tposition: absolute;\n"+"\twidth: 600px;\n"+"\n"+"\tpadding: 2px;\n"+"\tlist-style: none;\n"+"\tmargin: 0;\n"+"\n"+"\tbackground: #eeeeee;\n"+"\tborder: 1px solid DarkGray;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .currentTag   {\n"+"\tfont-weight: bold;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .suggestionNumber {\n"+"\tcolor: #808080;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .numberedSuggestion{\n"+"\twhite-space: nowrap;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .intelliTaggerFooter {\n"+"\tmargin-top: 4px;\n"+"\tborder-top-width: thin;\n"+"\tborder-top-style: solid;\n"+"\tborder-top-color: #999999;\n"+"}\n"+".intelliTaggerSuggestions .favorites {\n"+"\tborder-bottom-width: thin;\n"+"\tborder-bottom-style: solid;\n"+"\tborder-bottom-color: #999999;\n"+"\tpadding-bottom: 2px;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .normalTags {\n"+"\tpadding-top: 2px;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .intelliTaggerFooter .button {\n"+"\tfont-size: 10px;\n"+"\n"+"\tpadding-left: 0.3em;\n"+"\tpadding-right: 0.3em;\n"+"}\n"+"\n"+"/*}}}*/\n";config.shadowTiddlers["IntelliTaggerMainTemplate"]="<!--\n"+"{{{\n"+"-->\n"+"<div class=\"favorites\" macro=\"intelliTagger action: showFavorites\"></div>\n"+"<div class=\"normalTags\" macro=\"intelliTagger action: showTags\"></div>\n"+"<!-- The Footer (with the Navigation) ============================================ -->\n"+"<table class=\"intelliTaggerFooter\" border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\"><tbody>\n"+"  <tr>\n"+"\t<td align=\"left\">\n"+"\t\t<span macro=\"intelliTagger action: closeButton\"></span>\n"+"\t</td>\n"+"\t<td align=\"right\">\n"+"\t\t<span macro=\"intelliTagger action: version\"></span>, <span macro=\"intelliTagger action: copyright \"></span>\n"+"\t</td>\n"+"  </tr>\n"+"</tbody></table>\n"+"<!--\n"+"}}}\n"+"-->\n";config.shadowTiddlers["IntelliTaggerEditTagsTemplate"]="<!--\n"+"{{{\n"+"-->\n"+"<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler'></div>\n"+"<div class='title' macro='view title'></div>\n"+"<div class='tagged' macro='tags'></div>\n"+"<div class='viewer' macro='view text wikified'></div>\n"+"<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler'></div>\n"+"<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>\n"+"<!--\n"+"}}}\n"+"-->\n";config.shadowTiddlers["BSD open source license (abego Software)"]="See [[Licence|http://tiddlywiki.abego-software.de/#%5B%5BBSD%20open%20source%20license%5D%5D]].";config.shadowTiddlers["IntelliTaggerPlugin Documentation"]="[[Documentation on abego Software website|http://tiddlywiki.abego-software.de/doc/IntelliTagger.pdf]].";config.shadowTiddlers["IntelliTaggerPlugin SourceCode"]="[[Plugin source code on abego Software website|http://tiddlywiki.abego-software.de/archive/IntelliTaggerPlugin/Plugin-IntelliTagger-src.1.0.2.js]]\n";(function(){var _126=restart;restart=function(){setStylesheet(store.getTiddlerText("IntelliTaggerStyleSheet"),"IntelliTaggerStyleSheet");_126.apply(this,arguments);};})();}
// %/
|''Version:''|1.0.0 (2007-10-03)|
|''Description:''|A command for your tiddler's toolbar to directly edit the tiddler's tags using the IntelliTaggerPlugin, without switching to "edit mode".|
|''Requires:''|IntelliTaggerPlugin http://tiddlywiki.abego-software.de/#IntelliTaggerPlugin|
|''Author:''|Udo Borkowski (ub [at] abego-software [dot] de)|
|''Licence:''|[[BSD open source license (abego Software)]]|
|''Browser:''|Firefox or better|
!Using the "IntelliTagsEditCommandPlugin"
Add the command {{{intelliTagsEdit}}} into the 'macro' attribute of the 'toolbar' {{{<div...>}}} in your ViewTemplate.

<div class='toolbar' 
        macro='toolbar -closeTiddler closeOthers +editTiddler intelliTagsEdit permalink references jump'>

This adds a "tags" button to the toolbar of the tiddlers (next to the ''edit'' button). Pressing the "tags" button will open the input field for the tiddler's tags and let you edit the tags with all the [[IntelliTaggerPlugin|http://tiddlywiki.abego-software.de/#IntelliTaggerPlugin]] features.
!Source Code

if (!version.extensions.IntelliTaggerPlugin)
    throw Error("IntelliTagsEditCommandPlugin requires the IntelliTaggerPlugin (http://tiddlywiki.abego-software.de/#IntelliTaggerPlugin)");

if (config.commands.intelliTagsEdit) 

config.commands.intelliTagsEdit = {
	text: "tags",
	tooltip: "edit the tags"

config.commands.intelliTagsEdit.handler = function(event,src,title) {
	var button = abego.IntelliTagger.createEditTagsButton(title, null, "tags", "edit the tags");
	return false;

<<formTiddler NewArticleTemplate>>''Five Best Practices for Effective Internal Communications''
by Lisa Margolin-Feher

A strong internal communication program, if done properly, will inform, motivate and influence your workforce. That influence translates into real profit as employees drive your brand forward in their dealings with customers and other stakeholders. Wouldn’t everyone like to be more like Zappos, which was a run-of-the-mill shoe retailer before exploding into an internet powerhouse? It wouldn’t have happened without the motivation and loyalty of Zappos’ workforce.

Here are the top five best practices in creating effective internal communication to motivate your employees:

1. Take Internal Communication Seriously. Communicate to your internal audience with the same zeal, care and creativity as you do your external audiences. Your internal communication department should include expert communicators who understand the corporate vision, and can create and deliver messaging in a compelling way. The head of this department needs frequent access to the lead communications executive or CEO. Your internal communicators will use the same practices to create effective communication as your external ones: high-level planning, compelling strategy and tactics, and consistent messaging. The result will be professional level communication that will move the needle.

2. Be Consistent. Every communication vehicle available to your business must be used to communicate the same consistent messaging with frequency. Your internal communication experts will create messaging based on the corporate vision and disseminate it frequently and consistently across all available platforms: intranet, newsletters, emails, voicemails, videos, facilities signage, employee meetings, etc. The internal communication team should be the clearinghouse for all of the above.

3. Align Communication with the Brand. If your internal communication is not effective, and you’re doing everything else right, it may be because your employees are living one brand while you’re trying to communicate another. Make sure what you’re communicating to employees fits the reality of what’s it like to work in, or be a customer of, your company.

4. Provide Ample Mechanisms for Feedback and 2-way Communication. This is one my client’s biggest priorities. They believe their communication is consistent, frequent, and reflective of the brand, but their culture and communication vehicles have not provided adequately for feedback. As a result, we’re implementing a robust two-way communication program that will help this client have a better understanding of the employee base.

5. Measure. As with any communication strategy, measurement is key. The easiest and most cost effective way to measure an internal program is to simply survey employees before and after communication, to determine if key messages have been heard and understood.
<data>{"author":" Lisa Margolin-Feher","articletitle":"Five Best Practices for Effective Internal Communications"}</data>
[img[http://cdn.ttgtmedia.com/rms/onlineImages/gartner_influential_vendors_2020.jpg]]<<formTiddler NewArticleTemplate>><data>{"primtopic":"IOT","synopsis":"Soon everything will be internet enabled.","author":"Bridget Botelho","articletitle":"'Internet of Things' data deluge to impact data centers, IT market","journalinfo":"Search DataCentre","pagenumbers":"20131118"}</data>'Internet of Things' data deluge to impact data centers, IT market
Bridget Botelho, News Director
Published: 14 Nov 2013

Internet-connected devices, cheaply available data collecting sensors and other technologies are rolling up into the wave of "Internet of Things" that is about to come crashing down on data centers.

As low-cost Internet of Things monitoring modules from companies such as eConais Inc. have hit the market recently, the business potential of IoT has emerged. In turn, the number of Internet-connected products is expected to explode and by 2020, there will be up to 30 billion devices connected with unique IP addresses, most of which will be products, according to Gartner Inc.

Others predict that number could be higher, especially if radio frequency identification (RFID) devices are included.

It puts complexity on the data center to figure out how to monitor and manage all of these devices in the field.

"What we see now are people adding connectivity to devices that weren't Internet-connected before, like parking meters in Austin, Texas," said Bill Morelli, associate director for the Internet of Things division at IHS Research, a market research firm based in Englewood, Colo.

Organizations have begun to collect and analyze the flood of incoming data for their own use, with the potential to share the data for greater uses in years to come.

"Maybe 15 years from now, they will use the data to tie in with tolling and automobiles and have all of them talk to each other to create a value proposition," Morelli said. "That's the goal."

''The Internet of Things a boon to business''
Indeed, there are myriad ways IoT is being put to use. U.K.-based Elektron Technology recently released a food safety monitoring tool that connects to Xively, an IoT cloud service. The tool, called CheckIt, performs real-time, remote monitoring of food storage and preparation areas to allow restaurants, supermarkets and other businesses to monitor compliance and reduce food safety management costs.

One other example is Walt Disney Parks and Resorts in Orlando, which underwent a massive information management project this year involving RFID-based bracelets distributed to guests.

These bracelets essentially represent the Internet of people; sensors in the bracelets track what guests buy, where they visit and how they shop, and the data collected personalizes the customer experience, said Vlad Rak, vice president of Disney's enterprise architecture and information management, during a recent Gartner ITxpo conference session.

"We know who enters the park and other volumes of data that we derive information from without violating privacy," Rak said.

Today, Disney has about 75% accuracy in identifying its customers and has a goal of 95%. "It is a huge revenue generator," Rak said.

Now, Disney's IT team is hustling to manage the influx of customer information and invest in data governance and information management processes, he said.

''IoT's data tidal wave''
While IoT holds enormous business value, the data deluge that comes with it could be problematic for data center managers. Company leaders want sensors to monitor just about everything but don't see the big-picture issue of storing, managing and analyzing all of the information they collect, analysts said.

"They put a remote status switch on there and get excited because now it can be remotely controlled and monitored," said Philip DesAutels, Xively's vice president of technology, and researcher for the World Wide Web Consortium at MIT. "They can optimize their product ... track customer product use, they can upsell ... [but] it puts complexity on the data center to figure out how to monitor and manage all of these devices in the field."

There's also the issue of how to send and receive all of that data. Sending bits of data from a thermostat via HTTPS might mean 1,800 bytes of data, but multiply that by 20 million readings per day and bandwidth use goes through the roof, DesAutels said.

"How do you store and archive that [data]?" DesAutels said. "You might face a massive bandwidth cost from tiny bits of data. ... Little data becomes a problem when you start doing millions of things."

Protocols designed for IoT attempt to solve that issue -- specifically, IBM's MQTT protocol. Some Xively customers already use it and other protocols similar to MQTT, such as Cisco's publish-and-subscribe-based message protocol for its Jabber instant message service.

The MQTT standard is expected to be finalized within two years, when more products will be designed for publish/subscribe protocols (versus the read/write protocols of today).

"But then, data centers will have a new protocol to contend with, and it is a new approach," DesAutels said. But, these new protocols are "going to have a big impact in terms of reducing I/O."

Still, IoT will require more systems and data center infrastructure as the amount of Internet traffic, as well as storage and business intelligence applications, increase, said Mike Sapien, Ovum's U.S. Enterprise Practice analyst.

"IoT traffic will increase the demand for data centers, but it may be in demand for the storage infrastructure and the mobile connectivity that data centers are starting to see now," Sapien said.

''Does IoT require a plan?''
While some planning must happen now to keep from drowning in data, there's no need to buy racks of servers today, analysts said.

"You would think that data centers would be adding capacity and [are] being built on every corner to process all of this data, but they aren't; the [infrastructure] technology is moving as fast as the need," said Jason dePreaux, associate director for Data Centers and Critical Infrastructure at IHS. "A lot of what is being enabled now is due to what the existing infrastructure can offer."

For example, server virtualization can increase the number of workloads per physical server.

Plus, systems and standards are needed for things like IoT "smart cities" to work. There are also consumer privacy issues and other legal and regulatory standards that need to progress in parallel with IoT technologies, Morelli said.

"It won't happen with the flip of a switch -- it will be evolutionary," Morelli said.

In the meantime, enterprises are also looking critically at operations to decide whether they want to continue to build and add capacity, or outsource to a colocation, managed services or cloud provider -- all of which operate efficiently, dePreaux said.

The tech industry has also found ways to do more on the device level.

"A lot of that type of thinking is going on as people look at the network-connected devices: Where should the data reside, and does it need to be passed off over a network?" Morelli said.

''IoT's impact on the technology market''
Overall, the growth of IoT application use will mean heavier reliance on cloud providers such as Amazon Web Services as both mobile connectivity and IT services require cloud infrastructure, analysts said.

Gartner chart on influential vendors
Figure 1. Gartner tracks the most influential vendors, according to CIOs.

"If you have 200,000 devices you are tracking, plus the time stamps of data and the transactional data of who did what when, you are in the terabytes of data category, so we see the analytics being done in the cloud," DesAutels said.

Data collected in the cloud will also be analyzed there; enterprise resource planning and customer relationship management systems will connect to the data in the cloud. Some of Xively's customers already use their trusted data analytics tools, such as MapReduce, Hadoop and Mathematica in the cloud -- though not all have an actual use for the data they crunch, DesAutels said.

"[Companies] use a product to collect data, and they aren't sure what to do with it yet, but they know they'll want to use it at some time," DesAutels said.

Heavier use of cloud is just one way that IoT will impact how companies use and buy technology in the future. The most influential vendors of today and the recent past -- including Apple, IBM, Microsoft, Oracle and SAP -- will have lost market share by 2020, according to Gartner's 2013 CIO survey.

That's because IoT and "digitalization" completely change what companies will need from technology vendors, how technology is bought and what will be bought, said Peter Sondergaard, a Gartner analyst, during a presentation at the Gartner ITxpo.
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
[img[http://static.guim.co.uk/sys-images/Observer/Pix/pictures/2014/1/18/1390039409822/Chris-McCandless-008.jpg]]<<formTiddler NewArticleTemplate>><data>{"journalinfo":"The Guardian","author":"Peter Beaumont","articletitle":"In Alaska's wilds, the mystic hiker's bus draws pilgrims to danger and death","primtopic":"Chris McCandless cult"}</data>''In Alaska's wilds, the mystic hiker's bus draws pilgrims to danger and death''

The lonely death of Chris McCandless inspired a book and Sean Penn's film Into the Wild. Now, more than 20 years on, hundreds follow in the idealist's trail – but locals wonder if it has all gone too far

Peter Beaumont
The Observer, Saturday 18 January 2014 14.37 GMT

The old bus in which Chris McCandless died in 1992 in the interior of Alaska – made famous in Jon Krakauer's book Into the Wild and later in the Sean Penn film of the same name – long ago lost its windows to souvenir hunters.

A plaque inside the bus, installed by his family, commemorates his life. A recent visitor describes the site as a pigsty.

The same reasons that cost McCandless his life, trapped without enough food on the wrong side of a Teklanika river in full spate from summer meltwater, makes it a dangerous place to approach.

Last year a dozen "pilgrims", as residents of the nearby town of Healy disparagingly label the hundreds who have been drawn to the bus each year since Penn's film was first screened in 2007, needed to be rescued by park authorities, local people and state troopers. So far one visitor to Bus 142 has died, a 29-year-old Swiss woman, Claire Ackerman, who drowned in the river. Others have had close escapes.

All of which has fuelled a simmering debate – how best to deal with the morbid magnetic pull exerted by the fascination with McCandless.

The McCandless story is well known: how the 24-year-old hiker, born in California, raised in Virginia, abandoned his safe suburban upbringing, donating $24,000 in savings to charity and styling himself Alexander Supertramp, and set off on a two-year hitchhiking journey that ended with his death in the bus.

Interest is unlikely to wane any time soon. A book by his sister, Carine, is due to be published this autumn, while a mockup of the Fairbanks City Transit bus, built for Penn's film, is a tourist attraction in its own right in Healy, bought by a local brewery. On one side are those who believe the bus should be removed, on the other a costly proposal to build a footbridge across the river at a place where it narrows.

If evidence were needed of both the appeal of the story and the place where McCandless died in his sleeping bag, to be found later by moose hunters, there is ample evidence online. There are blogs dedicated to his story and pictures posted of "pilgrims" seated in the same pose in which McCandless photographed himself outside the bus.

"There's a pretty steady trickle all summer," says Jon Nierenberg, who owns the EarthSong lodge off the Stampede Road, which most visitors use to get to the bus.

"There are different types, but for the most passionate – the ones we locals call pilgrims – it is a quasi-religious thing. They idealise McCandless. Some of the stuff they write in the journals [at the bus] is hair-raising."

A very few, Nierenberg suspects, have gone a step further by camping next to the bus and depriving themselves of food.

"We had one tall skinny guy who had been out there for a week or two who staggered, swaying on his feet, into our coffee shop. We helped him out, then sent him on his way."

Diana Saverin secured a writing grant to study the phenomenon of the pilgrims which she described in a long article for Outside magazine in December after becoming fascinated by McCandless's story during her first visit to the area in 2011. In The Chris McCandless Obsession Problem she recalls: "We soon felt the story's pull. I was 20, Jonathan [her travelling companion] was 22, and McCandless's uninhibited adventures spoke to both of us."

An encounter with the French boyfriend of Ackerman, who had returned a year after her drowning, marked the beginning of her interest in those who were drawn to the bus. The issue was dramatically underlined when, as she walked along the trail herself, she encountered three "pilgrims" who had been trapped by the river for a day and a half and who had sent for help.

Krakauer's book, Saverin believes, has accrued a growing cultural significance as one of those cult books on to which readers project their own preoccupations. In that sense it has garnered a status like The Catcher in the Rye or On The Road.

Its closest equivalent, however, is Henry David Thoreau's Walden – the transcendentalist and natural philosopher's chronicle of his own experiment in self-sufficiency between 1845 and 1847 in a one-room cabin in Massachusetts, a replica of which is now also a popular tourist site. The comparison is unsurprising, since Thoreau, as Krakauer notes in Into the Wild, was a writer who fascinated McCandless, along with Leo Tolstoy and Jack London.

But what of the "pilgrims" that Saverin met and their motivation? "The people I encountered would always talk about freedom" she said. "I would ask, what does that mean? I had a sense that it represented a catch-all. It represented an idea of what people might want to do or be. I met one man, a consultant, who had just had a baby and who wanted to change his life to be a carpenter – but couldn't, so took a week to visit the bus. People see McCandless as someone who just went and 'did it'."

She finds it ironic that what the "pilgrims" hanker after – McCandless's perceived idealised rejection of the modern world to forge his own path – has become a well-worn trail. And unlike Thoreau, Saverin also points out, McCandless did not construct his own philosophy – the "insights" that readers find being channelled by Krakauer.

One of the fiercest critics of the McCandless myth – and all that it represents – is Craig Medred, who writes for the online Alaska Dispatch, most recently in September in an article headlined The beatification of Chris McCandless.

"Thanks to the magic of words," writes Medred, "the poacher Chris McCandless was transformed in his afterlife into some sort of poor, admirable romantic soul lost in the wilds of Alaska, and now appears on the verge of becoming some sort of beloved vampire.

"Given the way things are going, the dead McCandless is sure to live on longer than the live McCandless, who starved to death in Interior Alaska because he wasn't quite successful enough as a poacher."

And Medred's conclusion takes a swipe at his disciples. "More than 20 years later, it is richly ironic to think of some self-involved urban Americans, people more detached from nature than any society of humans in history, worshipping the noble, suicidal narcissist, the bum, thief and poacher Chris McCandless."

Kris Fister, a spokeswoman for the Denali National Park nearby, whose rangers have been called in to help "pilgrims' who become trapped on the wrong side of the river, frames the same question regarding those who get into trouble in more moderate terms.

"The water gets high in the river – the same issue that Chris McCandless had to deal with. People don't have enough food. The question I would ask is: you read the book or saw the film. What is your disconnect? There are places you can cross if you go downstream. But often these are people who do not feel comfortable navigating. Often people don't have the experience or the equipment. The summer before last there was one gentleman we had to help on two occasions."

For some, at least, the pilgrimage to the 142 bus, far from providing an epiphany, has been the source of disillusionment. Among these is Chris Ingram, who wrote an essay on his own experience for the Christopher McCandless website. Arriving a few days after Ackerman's drowning, he had planned, he recounts, to hike the trail to the bus "to have my own survival experience in Wild Alaska and to pay my respects to a person I adored and admired".

Reaching the raging river where rangers were still finishing their investigation into Ackerman's death, Ingram decided to turn back, his view of Bus 142 as the "mecca of McCandless followers" radically transformed.

"Perhaps," he wrote of his own experience, "we are over-enchanted by the zeal of his story, over-sympathetic, feeling a sense that we can relate, or perhaps a Hollywood movie has mesmerised, idealised and over-romanticised our thoughts and beliefs beyond our own lives that we fantasise away from them.

"I had an ample amount of time along the trail to contemplate Chris's story, as well as my own life. The wilderness is a poor place to put your worries, your concerns, your dreams, your hopes, thoughts, wishes and happinesses. The wild simply is just that, wild. Unchanging, unforgiving, it knows nor cares not for your own life. It exists on its own, unaffected by the dreams or cares of man. It kills the unprepared and unaware."

As for the fate of the bus itself, Fister's own view is that, with the vehicle rotting, nature will eventually reclaim it.
Click <<slideShow button:'About Ray' style:'MyStyleSheet' repeat>> to start slideshow, then use Ctrl+ or Ctrl- to fit comfortably on your screen. You can discover simple controls near the bottom of the screen with your mouse.

!Ray has a lot of viewable content published on the web

# Extensive [[http://allraysworld.com|Homepage]]
# Numerous photoblogs:
** [[http://mainlythai.shutterchance.com|Daily photoblog of Thailand-sourced images]].
** [[http://bangkokwild.aminus3.com|Bi-daily photoblog of Bangkok-sourced images]].


!Here is a list of facilities being played with in this sandbox:
* Tiddlywiki ... a wiki engine fully contained within a single page
* Tiddlyspot ... hosting site for Tiddlywikis
* slideshow ... a simple fullscreen slideshow engine inside Tiddlywiki
* Lightbox ... a Tiddlywiki implementation of this popular gallery viewer
* TiddlerNotesPlugin ... facility for attaching notes to Articles
* Comment ... facility for allowing viewer comment on Articles


!Ray welcomes interaction:
# eMail at raycastorey@gmail.com
# or, leave comments wherever you are viewing a page with a "comments" facility.


! Please enjoy your visit.
<<formTiddler NewArticleTemplate>><data>{"pagenumbers":"200803","articletitle":"\"It's not You...It's your Books\"","author":"Rachel Donadio","journalinfo":"New York Times","synopsis":"Book lists can indicate compatibility","primtopic":"Mating"}</data>From NYTimes
''It’s Not You, It’s Your Books''

Published: March 30, 2008

Some years ago, I was awakened early one morning by a phone call from a friend. She had just broken up with a boyfriend she still loved and was desperate to justify her decision. “Can you believe it!” she shouted into the phone. “He hadn’t even heard of Pushkin!”

We’ve all been there. Or some of us have. Anyone who cares about books has at some point confronted the Pushkin problem: when a missed — or misguided — literary reference makes it chillingly clear that a romance is going nowhere fast. At least since Dante’s Paolo and Francesca fell in love over tales of Lancelot, literary taste has been a good shorthand for gauging compatibility. These days, thanks to social networking sites like Facebook and MySpace, listing your favorite books and authors is a crucial, if risky, part of self-branding. When it comes to online dating, even casual references can turn into deal breakers. Sussing out a date’s taste in books is “actually a pretty good way — as a sort of first pass — of getting a sense of someone,” said Anna Fels, a Manhattan psychiatrist and the author of “Necessary Dreams: Ambition in Women’s Changing Lives.” “It’s a bit of a Rorschach test.” To Fels (who happens to be married to the literary publisher and writer James Atlas), reading habits can be a rough indicator of other qualities. “It tells something about ... their level of intellectual curiosity, what their style is,” Fels said. “It speaks to class, educational level.”

Pity the would-be Romeo who earnestly confesses middlebrow tastes: sometimes, it’s the Howard Roark problem as much as the Pushkin one. “I did have to break up with one guy because he was very keen on Ayn Rand,” said Laura Miller, a book critic for Salon. “He was sweet and incredibly decent despite all the grandiosely heartless ‘philosophy’ he espoused, but it wasn’t even the ideology that did it. I just thought Rand was a hilariously bad writer, and past a certain point I couldn’t hide my amusement.” (Members of theatlasphere.com, a dating and fan site for devotees of “Atlas Shrugged” and “The Fountainhead,” might disagree.)

Judy Heiblum, a literary agent at Sterling Lord Literistic, shudders at the memory of some attempted date-talk about Robert Pirsig’s 1974 cult classic “Zen and the Art of Motorcycle Maintenance,” beloved of searching young men. “When a guy tells me it changed his life, I wish he’d saved us both the embarrassment,” Heiblum said, adding that “life-changing experiences” are a “tedious conversational topic at best.”

Let’s face it — this may be a gender issue. Brainy women are probably more sensitive to literary deal breakers than are brainy men. (Rare is the guy who’d throw a pretty girl out of bed for revealing her imperfect taste in books.) After all, women read more, especially when it comes to fiction. “It’s really great if you find a guy that reads, period,” said Beverly West, an author of “Bibliotherapy: The Girl’s Guide to Books for Every Phase of Our Lives.” Jessa Crispin, a blogger at the literary site Bookslut.com, agrees. “Most of my friends and men in my life are nonreaders,” she said, but “now that you mention it, if I went over to a man’s house and there were those books about life’s lessons learned from dogs, I would probably keep my clothes on.”

Still, to some reading men, literary taste does matter. “I’ve broken up with girls saying, ‘She doesn’t read, we had nothing to talk about,’” said Christian Lorentzen, an editor at Harper’s. Lorentzen recalls giving one girlfriend Nabokov’s “Ada” — since it’s “funny and long and very heterosexual, even though I guess incest is at its core.” The relationship didn’t last, but now, he added, “I think it’s on her Friendster profile as her favorite book.”

James Collins, whose new novel, “Beginner’s Greek,” is about a man who falls for a woman he sees reading “The Magic Mountain” on a plane, recalled that after college, he was “infatuated” with a woman who had a copy of “The Unbearable Lightness of Being” on her bedside table. “I basically knew nothing about Kundera, but I remember thinking, ‘Uh-oh; trendy, bogus metaphysics, sex involving a bowler hat,’ and I never did think about the person the same way (and nothing ever happened),” he wrote in an e-mail message. “I know there were occasions when I just wrote people off completely because of what they were reading long before it ever got near the point of falling in or out of love: Baudrillard (way too pretentious), John Irving (way too middlebrow), Virginia Woolf (way too Virginia Woolf).” Come to think of it, Collins added, “I do know people who almost broke up” over “The Corrections” by Jonathan Franzen: “‘Overrated!’ ‘Brilliant!’ ‘Overrated!’ ‘Brilliant!’”

Naming a favorite book or author can be fraught. Go too low, and you risk looking dumb. Go too high, and you risk looking like a bore — or a phony. “Manhattan dating is a highly competitive, ruthlessly selective sport,” Augusten Burroughs, the author of “Running With Scissors” and other vivid memoirs, said. “Generally, if a guy had read a book in the last year, or ever, that was good enough.” The author recalled a date with one Michael, a “robust blond from Germany.” As he walked to meet him outside Dean & DeLuca, “I saw, to my horror, an artfully worn, older-than-me copy of ‘Proust’ by Samuel Beckett.” That, Burroughs claims, was a deal breaker. “If there existed a more hackneyed, achingly obvious method of telegraphing one’s education, literary standards and general intelligence, I couldn’t imagine it.”

But how much of all this agonizing is really about the books? Often, divergent literary taste is a shorthand for other problems or defenses. “I had a boyfriend I was crazy about, and it didn’t work out,” Nora Ephron said. “Twenty-five years later he accused me of not having laughed while reading ‘Candy’ by Terry Southern. This was not the reason it didn’t work out, I promise you.” Sloane Crosley, a publicist at Vintage/Anchor Books and the author of “I Was Told There’d Be Cake,” essays about single life in New York, put it this way: “If you’re a person who loves Alice Munro and you’re going out with someone whose favorite book is ‘The Da Vinci Code,’ perhaps the flags of incompatibility were there prior to the big reveal.”

Some people just prefer to compartmentalize. “As a writer, the last thing I want in my personal life is somebody who is overly focused on the whole literary world in general,” said Ariel Levy, the author of “Female Chauvinist Pigs” and a contributing writer at The New Yorker. Her partner, a green-building consultant, “doesn’t like to read,” Levy said. When she wants to talk about books, she goes to her book group. Compatibility in reading taste is a “luxury” and kind of irrelevant, Levy said. The goal, she added, is “to find somebody where your perversions match and who you can stand.”

Marco Roth, an editor at the magazine n+1, said: “I think sometimes it’s better if books are just books. It’s part of the romantic tragedy of our age that our partners must be seen as compatible on every level.” Besides, he added, “sometimes people can end up liking the same things for vastly different reasons, and they build up these whole private fantasy lives around the meaning of these supposedly shared books, only to discover, too late, that the other person had a different fantasy completely.” After all, a couple may love “The Portrait of a Lady,” but if one half identifies with Gilbert Osmond and the other with Isabel Archer, they may have radically different ideas about the relationship.

For most people, love conquers literary taste. “Most of my friends are indeed quite shallow, but not so shallow as to break up with someone over a literary difference,” said Ben Karlin, a former executive producer of “The Daily Show” and the editor of the new anthology “Things I’ve Learned From Women Who’ve Dumped Me.” “If that person slept with the novelist in question, that would probably be a deal breaker — more than, ‘I don’t like Don DeLillo, therefore we’re not dating anymore.’”

Rachel Donadio is a writer and editor at the Book Review.
<<notes heading:'Rays Notes'>> 
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"NYTimes","primtopic":"Perfume review","synopsis":"Telling the Kenzo \"Flower\" story","articletitle":"Flower by Kenzo","author":"Chandler Burr","pagenumbers":"200809"}</data>September 18th, 2008 1:48 PM
Scent Notes | Flower by Kenzo
By Chandler Burr

!!!Flower by Kenzo

Flower by Kenzo has one of the most astonishing openings of any perfume on the market. If you go to the fragrance counter outside of rush hours, it is entirely possible to spray the tester on your skin, inhale, be transported, rave to anyone near you and sign the credit-card receipt within four minutes, which is the duration of Flower’s glittering, mesmerizing first act.

I assume Alberto Morillas, its perfumer, spent serious time and energy on that curtain-up. Flower could, in its initial unfolding on your skin, be called Stem. It smells not at all of the blossom but of the most marvelous delicate green stalk, fresh and tender, clipped in preparation for display. If the opening doesn’t delight you, you are immune to anything except Bandit and I feel bad for you.

Which is not to say that Flower is necessarily for everyone. Saying who it isn’t for, however, is a bit tricky. This is what’s strange about Flower: it’s not, in fact, a floral in the strict sense of the term. Start with a fact we can all agree on: this is in no way a soliflore (what perfumers call a perfume that mimics the smell of a single flower with — metaphorically speaking — photographic accuracy; some people call Diorissimo a lily of the valley soliflore, though they are mistaken). Flower doesn’t smell like any known flower. Once you’ve said that, the question is whether it intends to. Its name aside, I’m not convinced.

If one is to categorize it, I would hang it next to the brilliant work of abstract art that is Gucci Rush, which smells like being in a fabulous hair salon — the sprays, the shampoos, the metal sinks, the hot blow-dryer air. It’s Flower’s second act that smells like an abstract art concept: the idea of a flower, all the flowers you ever smelled, but perfected, flooded with halogen light (this thing must be loaded with methyl dihydrojasmonate, a molecule like liquid light), smoothed with powder. One understands why it has been on the top of the best-seller lists since its introduction in 2000.

Flower was creative-directed by Patrick Guedj and Odile Lobadowsky, and I imagine they were pushing Morillas with both a single idea — “flower” in the generic sense — and a single word, “transcendence,” but in the imperative, as an order: “Give us floral and take us beyond it. For God’s sake, Alberto, please, no pale daisies (which have no smell), no flowers like bombs going off (tuberose), no sweaty I’ve-just-had-sex-with-an-Italian-cop flowers (jasmine, with its armpit angle), no ladies lunching in some chic cafe (mimosa).” So Morillas went away and came back with what they wanted.

David Foster Wallace wrote a novel about a film so funny it kills those who watch it. Morillas has come up with an analogue in perfume, and this perfume is real. This is a work of scent art so lovely that it captures almost everyone who sprays the tester on their skin.

(Four stars; Excellent) | $85 for 100ml; available at Kenzo.
<<notes heading:'Rays Notes'>> 
Extraordinary, and unexpected piece of writing. I am not interested in reviews of perfume, and only went to see what NYTimes might have to say about Na's favourite bottled odour.

I was not expecting to laugh out loud, nor to be moved to re-read this short gem and to laugh a second time...hell, that's about as many laughs as I generally expect from a light-hearted novel.
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"New York Times","pagenumbers":"200809","primtopic":"Useless Knee surgery","synopsis":"Most knee operations don't work","author":"Gina Kolata","articletitle":"\"Knee pain not helped by Surgery, Study shows\""}</data>Knee Pain Not Helped by Surgery, Study Shows
Published: September 10, 2008

A study has found that surgery is no better than more conservative treatment to relieve knee pain caused by arthritis.

In the study, being published Thursday in The New England Journal of Medicine, 86 patients who had the operation fared no better over two years than 86 who had physical therapy and took medications to dampen inflammation.

The results of the study are in line with those from a study published in 2002. But experts are divided about what effects the two studies will have.

Some say the new study just confirms what they already knew. Others say they hope that doctors who did not believe the 2002 study will be persuaded by this one to stop doing the operations.

The 2002 study, by the Department of Veterans Affairs, had a different design: instead of assigning patients to surgery or medical treatment, it assigned them to real surgery or a sham operation. The real surgery was found to be no better than the sham one.

That study was denounced by many orthopedic surgeons, but Medicare decided in 2003 to stop paying for the operation. Still, because doctors can be reimbursed for the procedure by modifying what they say is the patient’s problem, it is not clear whether most doctors stopped doing the operation, or how many such operations are being done. There is no national system for keeping track.

The surgery involves making small incisions in the knee, inserting an arthroscope to see the joint, and then flushing debris from the knee or shaving rough areas of cartilage and cleansing the joint.

It seemed to make sense that the debris and rough areas were contributing to knee pain, and when the department’s study said the operation was useless, many simply did not believe it.

“What happened after our study was that organized orthopedics rallied the troops to try and discredit our study as much as possible,” said Dr. Bruce Moseley, the 2002 study’s principal investigator, who is now at the Richmond Bone and Joint Clinic in Texas. “People continued to practice the way they practiced.”

But the federal Centers for Medicare and Medicaid Services were convinced.

“It was one of the very rare occasions that C.M.S. actually narrowed coverage from its existing policy,” said Dr. Sean Tunis, the centers’ chief medical officer at the time. “The V.A. trial showing no benefit was very influential.”

Since then, said Dr. Barry Straube, the current chief medical officer, the number of operations may have declined.

Medicare pays for the surgery under several cost codes. For one, arthroscopies that involved shaving knee cartilage, Medicare paid for 27,697 arthroscopies in 2002. In 2006, the number was 6,466, Dr. Straube said.

Dr. E. Anthony Rankin, president of the American Academy of Orthopaedic Surgeons, said most orthopedists appreciated the surgery’s limitations. “As a tool for treating arthritis alone, it probably isn’t a good tool,” he said.

But others say the operation remains popular.

In fact, said Dr. David T. Felson, a professor of medicine and epidemiology at Boston University School of Medicine, the operation seems to have “become even more popular.”

Dr. Brian G. Feagan, head of the clinical trials unit at the Fowler Kennedy Sport Medicine Clinic in London, Ontario, and an author of the new study, said Canadian doctors, too, were not much affected by the department’s study.

“It really didn’t change practice,” Dr. Feagan said. Surgeons continued to believe in arthroscopy for arthritis pain, he added, and “they are doing a lot of it.”

Now, with the new study, “I think practice will change,” he said, adding, “It’s pretty hard to ignore two studies that say the same thing.”

Another study, also published Thursday in The New England Journal of Medicine, found that even when an M.R.I. scan of an arthritis patient’s knee showed damaged cartilage, that injury might have nothing to do with knee pain.

The study, led by Dr. Felson, involved 991 middle-age and elderly people in Framingham, Mass. Sixty-three percent of participants with knee pain from arthritis had a torn or destroyed meniscus, the wedge-shaped piece of cartilage that helps stabilize the knee. But 60 percent of those with arthritis but without knee pain also had a damaged meniscus.

“In patients with arthritis, almost everybody has meniscal tears,” said Dr. Martin Englund of Boston University, the study’s lead author. “We are so drilled to think, ‘Oh, a meniscal tear — that must be painful,’ or ‘That’s the cause of the pain.’ But it may be involved in the disease process itself. There are many, many other reasons for pain in knee, but the meniscus is the structure we focus on and see.”

Dr. Robert G. Marx, an orthopedist at Hospital for Special Surgery in Manhattan, who wrote an editorial accompanying the papers, cautions that there are different sorts of meniscal tears and that the decision on surgery can require clinical judgment.

“It can be very effective for patients who have osteoarthritis but are complaining from other problems in the knee, most commonly a large meniscal tear or a loose flap of cartilage,” Dr. Marx said. “The challenge for the surgeon is to pick the patients appropriately.” But others said they hoped the studies would persuade many orthopedists to be more judicious in their use of the surgery for arthritis.

“If it doesn’t change care, it speaks poorly for the medical community’s willingness to take evidence into account,” Dr. Felson said.
<<notes heading:'Rays Notes'>> 
|Description:|Intelligently limit the number of backup files you create|
|Version:|3.0.1 ($Rev: 2320 $)|
|Date:|$Date: 2007-06-18 22:37:46 +1000 (Mon, 18 Jun 2007) $|
|Author:|Simon Baird|
You end up with just backup one per year, per month, per weekday, per hour, minute, and second.  So total number won't exceed about 200 or so. Can be reduced by commenting out the seconds/minutes/hours line from modes array
Works in IE and Firefox only.  Algorithm by Daniel Baird. IE specific code by by Saq Imtiaz.

var MINS  = 60 * 1000;
var HOURS = 60 * MINS;
var DAYS  = 24 * HOURS;

if (!config.lessBackups) {
	config.lessBackups = {
		// comment out the ones you don't want or set config.lessBackups.modes in your 'tweaks' plugin
		modes: [
			["YYYY",  365*DAYS], // one per year for ever
			["MMM",   31*DAYS],  // one per month
			["ddd",   7*DAYS],   // one per weekday
			//["d0DD",  1*DAYS],   // one per day of month
			["h0hh",  24*HOURS], // one per hour
			["m0mm",  1*HOURS],  // one per minute
			["s0ss",  1*MINS],   // one per second
			["latest",0]         // always keep last version. (leave this).

window.getSpecialBackupPath = function(backupPath) {

	var now = new Date();

	var modes = config.lessBackups.modes;

	for (var i=0;i<modes.length;i++) {

		// the filename we will try
		var specialBackupPath = backupPath.replace(/(\.)([0-9]+\.[0-9]+)(\.html)$/,

		// open the file
		try {
			if (config.browser.isIE) {
				var fsobject = new ActiveXObject("Scripting.FileSystemObject")
				var fileExists  = fsobject.FileExists(specialBackupPath);
				if (fileExists) {
					var fileObject = fsobject.GetFile(specialBackupPath);
					var modDate = new Date(fileObject.DateLastModified).valueOf();
			else {
				var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
				var fileExists = file.exists();
				if (fileExists) {
					var modDate = file.lastModifiedTime;
		catch(e) {
			// give up
			return backupPath;

		// expiry is used to tell if it's an 'old' one. Eg, if the month is June and there is a
		// June file on disk that's more than an month old then it must be stale so overwrite
		// note that "latest" should be always written because the expiration period is zero (see above)
		var expiry = new Date(modDate + modes[i][1]);
		if (!fileExists || now > expiry)
			return specialBackupPath;

// hijack the core function
window.getBackupPath_mptw_orig = window.getBackupPath;
window.getBackupPath = function(localPath) {
	return getSpecialBackupPath(getBackupPath_mptw_orig(localPath));


[img[http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2013/8/29/1377736262478/Mars-Gale-crater-008.jpg]]<<formTiddler NewArticleTemplate>><data>{"journalinfo":"The Guardian","articletitle":"\"Life on Earth began on Mars\"","pagenumbers":"20130829","primtopic":"Beginnings of Life","synopsis":"Claims that original Earth Life came from Mars on an Asteroid"}</data>Life on earth 'began on Mars'
Geochemist argues that seeds of life originated on Mars and were blasted to Earth by meteorites or volcanoes
theguardian.com, Thursday 29 August 2013 01.31 BST

Sunrise over the Gale crater on Mars. Was this where life began? Photograph: Stocktrek Images, Inc/Alamy
Evidence is mounting that life on Earth may have started on Mars. A leading scientist has claimed that one particular element believed to be crucial to the origin of life would only have been available on the surface of the red planet.

Professor Steven Benner, a geochemist, has argued that the "seeds" of life probably arrived on Earth in meteorites blasted off Mars by impacts or volcanic eruptions. As evidence, he points to the oxidised mineral form of the element molybdenum, thought to be a catalyst that helped organic molecules develop into the first living structures.

"It's only when molybdenum becomes highly oxidised that it is able to influence how early life formed," said Benner, of the Westheimer Institute for Science and Technology in the US. "This form of molybdenum couldn't have been available on Earth at the time life first began, because three billion years ago, the surface of the Earth had very little oxygen, but Mars did.

"It's yet another piece of evidence which makes it more likely that life came to Earth on a Martian meteorite, rather than starting on this planet."

All living things are made from organic matter, but simply adding energy to organic molecules will not create life. Instead, left to themselves, organic molecules become something more like tar or asphalt, said Prof Benner.

He added: "Certain elements seem able to control the propensity of organic materials to turn to tar, particularly boron and molybdenum, so we believe that minerals containing both were fundamental to life first starting.

"Analysis of a Martian meteorite recently showed that there was boron on Mars; we now believe that the oxidised form of molybdenum was there too."

Another reason why life would have struggled to start on early Earth was that it was likely to have been covered by water, said Benner. Water would have prevented sufficient concentrations of boron forming and is also corrosive to RNA, a DNA cousin believed to be the first genetic molecule to have appeared.

Although there was water on early Mars, it covered much less of the planet. "The evidence seems to be building that we are actually all Martians; that life started on Mars and came to Earth on a rock," said Benner, speaking at the Goldschmidt 2013 conference in Florence, Italy. "It's lucky that we ended up here nevertheless, as certainly Earth has been the better of the two planets for sustaining life. If our hypothetical Martian ancestors had remained on Mars, there might not have been a story to tell."
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"Fast Company","pagenumbers":"2013","articletitle":"THINK YOU CAN LIVE OFFLINE WITHOUT BEING TRACKED?","author":"SARAH KESSLER","primtopic":"Personal digital privacy","synopsis":"It is very hard to be anon"}</data>''THINK YOU CAN LIVE OFFLINE WITHOUT BEING TRACKED?''



Nico Sell, the cofounder of a secure communication app called Wickr, has appeared on television twice. Both times, she wore sunglasses to prevent viewers from getting a full picture of what she looks like.

Sell, also an organizer of the hacker conference Def Con, places herself in the top 1% of the “super paranoid.” She doesn’t have a Facebook account. She keeps the device that pays her tolls in a transmission-proof envelope when it’s not in use. And she assumes that every phone call she makes and every email she sends will be searchable by the general public at some point in the future.

Many of her friends once considered her habits to be of the tin-foil-hat-wearing variety. But with this summer's revelations of the NSA's broad surveillance program, they’re starting to look a little more logical. “For the last couple of months,” Sell says, “My friends that are not in the security industry come up to me, and I hear this all the time, ‘You were right.’ ”

But even as more people become aware they are being tracked throughout their daily lives, few understand to what extent. In a recent Pew Internet study, 37% of respondents said they thought it was possible to be completely anonymous online. From experts like Sell, you'll get a different range of answers about whether it's possible to live without any data trail: "100% no," she says.

The people who have actually attempted to live without being tracked - most often due to a safety threat - will tell you that security cameras are just about everywhere, RFID tags seem to be in everything, and almost any movement results in becoming part of a database. “It’s basically impossible for you and I to decide, as of tomorrow, I’m going to remain off the radar and to survive for a month or 12 months,” says Gunter Ollmann, the CTO of security firm IOActive, who in his former work with law enforcement had several coworkers who dedicated themselves to remaining anonymous for the safety of their families. "The amount of prep work you have to do in order to stay off the radar involves years of investment leading up to that."

Fast Company interviewed the most tracking-conscious people we could find about their strategies for staying anonymous to different degrees. Here are just a handful of daily, offline tasks that get more complicated if you're avoiding surveillance.

1. Getting Places

A few years ago, a man who goes by the Internet handle “Puking Monkey” noticed devices reading his toll pass in places where there weren’t any tolls. He assumed that they were being used to track drivers’ movements. “People would say, 'Well you don’t know that, because it doesn’t tell you when it tracks you,'” he tells Fast Company. “I said, 'Okay, I’ll go prove it.' ”

He rigged his pass to make a mooing cow noise every time a device read his toll payment tag. And sure enough, it went off in front of Macy’s, near Time Square, and in several other places where there was no tollbooth in sight.

It turns out the city tracks toll passes in order to obtain real-time traffic information, a benign enough intention. But what worries people like Puking Monkey about being tracked is rarely a database’s intended purpose. It's that someone with access to the database will misuse it, like when NSA employees have spied on love interests, A U.K. immigration officer once put his wife on a list of terrorist suspects in order to prevent her from flying into the country. Or that it will be used for a purpose other than one it was built for, like when social security numbers were issued for retirement savings and then expanded to become universal identifiers. Or, most likely, that it will be stolen, like the many times a hacker group called Anonymous gains access to someone's personal data and posts it online for public viewing. By one security company's count, in 2012 there were 2,644 reported data breeches involving 267 million records.

In order to stop his toll pass from being tracked, Puking Monkey keeps it sealed in the foil bag it came in when he's not driving through a toll. That only stops that data trail (minus toll points). Automatic license plate readers, often mounted to a police car or street sign, are also logging data about where cars appear. They typically take photos of every license plate that passes them and often these photos remain stored in a database for years. Sometimes they are linked with other databases to help solve crimes.

Puking Monkey avoids license-plate readers by keeping his old, non-reflective license plate, which is more difficult to read than newer, reflective models. Others who share his concerns salt their license plates, add bumper guards or otherwise obscure the writing - say by driving with the hatch down or driving with a trailer hatch attached—in order to avoid being tracked.

But that still doesn’t account for the tracking devices attached to the car itself. To identify tires, which can come in handy if they’re recalled, tire manufacturers insert an RFID tag with a unique code that can be read from about 20 feet away by an RFID reader. "I have no way to know if it’s actually being tracked, but there are unique numbers in those tires that could be used that way," Puking Monkey says.

He uses a camera flash to zap his tires with enough energy to destroy the chips.

2. Buying things

Depending on your level of concern, there are several ways to produce less data exhaust when making purchases. None of the privacy experts who I spoke with sign up for loyalty cards, for instance. “It’s the link between your home address, what you’re purchasing, age, your movements around the country, when you’re shopping in different locations, that is tied to purchases you’re making in-store,” Ollmann says. In a recently publicized example, Target used data collected from loyalty cards to deduce when its customers were pregnant - in some cases, before they had shared the news with their families.

Tom Ritter, a principal security consultant at iSEC Partners, has come up with a creative way to subvert loyalty tracking without giving up discounts. When he sees someone has a card on their key chain, he asks if he can take a photo of the bar code to use with his own purchases. They get extra points, and he gets discounts without giving up any of his privacy.

What you buy can paint a pretty good picture of what you’re doing, and many people aren’t willing to leave that information in a credit card company's database either. Adam Havey, an artist who makes anti-surveillance gear, puts all of his purchases on a credit card registered under a fake name. Then he uses the credit card in his actual name to pay the bill (Update: Harvey clarified that this is a technique he heard about from Julia Angwin, who is writing a book about surveillance). Ollmann buys prepaid gift cards with no attribution back to him to do his online shopping.

The most intense privacy seekers have a strict cash-only policy - which can mean they need to get paid in cash. At Ollmann’s old law enforcement job, one employee didn’t get paid, but vaguely “traded his services for other services.”

“A barter system starts to appear if you want to live without being tracked,” Ollmann says.

3. Having Friends

Friends can be an impediment to a life off the radar. For one, they probably think they’re doing you a favor when they invite you to a party using Evite, add you to LinkedIn or Facebook, or keep your information in a contact book that they sync with their computer.

But from your perspective, as someone trying to remain as untraceable as possible, they are selling you out. “Basically what they’ve done is uploaded all of my contact information and connected it to them,” Sell says.

Same goes for photos, and their geolocation metadata, when they're added to social networking sites. Sell, with her sunglasses, is not alone in being concerned about putting her appearance online. At some security events, where there are often speakers and attendees with reasons to keep off the radar, organizers distribute name tags with different color stickers. The stickers indicate whether each attendee is okay with having his or her photo taken.

Sure, it seems paranoid today. But Facebook and Twitter already run photos posted on their sites through a Microsoft-developed system called PhotoDNA in order to flag those who match known child pornography images. Most would not argue with the intention to find and prosecute child pornographers, though it's not difficult for privacy activists to imagine how the same technology could be expanded to other crimes. "Every time you upload a photograph to Facebook or put one on Twitter for that matter you are now ratting out anybody in that frame to any police agency in the world that’s looking for them," digital privacy advocate Eben Moglen told BetaBeat last year during a rant against one of its reporters. "Some police agencies in the world are evil. That’s a pretty serious thing you’ve just done."

Ritter says he (not his company) personally thinks someone will build a facial recognition algorithm to scan the Internet within the next 10 years. “I can just imagine them opening it up where you would submit a Facebook photo of your friend, and it would show all the images that match it,” he says. “We have the algorithms, we know how to crawl the Internet. It’s just a matter of putting the two together and getting a budget.”

4. Just About Everything Else

It’s almost impossible to think of all the data you create on a daily basis. Even something as simple as using electricity is creating data about your habits. It’s more than whether or not you turned the lights on - it’s how many people are in your house and when you’re usually around.

RFID tags aren’t just in tires, they’re in your clothing, your tap-to-pay credit cards, and your dry cleaning. Ollmann zaps his T-shirts in the microwave. Others carry an RFID-blocking wallet to avoid having their RFID-enabled cards read when they're not making a purchase.

Maybe you've thought about the cameras that stores use to track customer movements. But cameras are also in your television, in your computer, and on the front of your phone. Earlier this year, security experts discovered a way to hack into Samsung Smart TVs and surreptitiously turn on the built-in camera, allowing anyone who exploited the security hole to watch you as you watched TV. Though the vulnerability has since been fixed, it demonstrated that the security of connected objects isn't guaranteed. Sell responded by covering all of the cameras in her household electronics with masking tape.

What makes totally avoiding surveillance really difficult is that even if you've thought of everything--to the point where you're covering your tablet's front-facing camera with masking tape--you can always think of more ways your data could be misused. Because you're constantly trying to prevent something that hasn't necessarily happened yet, the precautions you can take are just as endless.

Sometimes, as in the case of the NSA scandal, you find out that they were warranted. Most of the time, you never really know.

Ritter, for instance, recently met an insurance executive who always pays for meals with cash because he believes some day that data will be linked to his coverage. “I’m not saying this is a definite thing that happens,” Ritter says. “but I don’t see any definite reason why it couldn’t."

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

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

bidix.core.loadRemoteFile = loadRemoteFile;
loadRemoteFile = function(url,callback,params)
 if ((document.location.toString().substr(0,4) == "http") && (url.substr(0,4) == "http")){ 
 url = store.getTiddlerText("SiteProxy", "/proxy/") + url;
 return bidix.core.loadRemoteFile(url,callback,params);
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"Positive Discipline A-Z","articletitle":"\"Lying\"","primtopic":"Lying, and how to fix it","synopsis":"Parents should deal positively with Lying","author":"Nelson, Lott & Glenn"}</data>Lying
by Jane Nelsen, Lynn Lott & H. Stephen Glenn
An excerpt from the book Positive Discipline A-Z


"I don't know how to get my child to stop lying. We have tried very hard to teach high moral standards. The more I punish him, the more he lies. I'm really worried."


Understanding Your Child, Yourself, and the Situation

We have searched and searched and can't find a single adult who never told a lie as a child. Actually we cant' find any adults who never lie now. Isn't it interesting how upset parents get when children have not mastered a virtue they have not mastered themselves? We do not make this point to justify lying, but to show that children who lie are not defective or immoral. We need to deal with the reasons children lie before we can help them give up their need to lie. Usually children lie for the same reasons adults do, they feel trapped, are scared of punishment or rejection, feel threatened, or just think lying will make things easier for everyone. Often lying is a sign of low self-esteem. People think they need to make themselves look better because they don't know they are good enough as they are.


Stop asking set-up questions that invite lying. A set-up question is one to which you already know the answer. "Did you clean your room?" Instead say, "I notice you didn't clean your room. Would you like to work on a plan for cleaning it?"
Focus on solutions to problems instead of blame. "What should we do about getting the chores done?" instead of, "Did you do your chores?"
Be honest yourself. Say, "That doesn't sound like the truth to me. Most of us don't tell the truth when we are feeling trapped, scared, or threatened in some way. Why don't we take some time off from this right now? Later I'll be available if you would like to share with me what is going on for you."
Respect your children's privacy when they don't want to share with you.
Planning Ahead to Prevent Future Problems

Help children believe that mistakes are opportunities to learn so they won't believe they are bad and need to cover up their mistakes.
Set an example in telling the truth. Share with your children times when it was difficult for you to tell the truth, but you decided it was more important to experience the consequences and keep your self-respect. Be sure this is honest sharing instead of a lecture.
Let children know they are unconditionally loved. Many children lie because they are afraid the truth will disappoint their parents. Show appreciation. "Thank you for telling the truth. I know that was difficult. I admire the way you are willing to face the consequences, and I know you can handle them and learn from them."
Stop trying to control children. Many children lie so they can find out who they are and do what they want to do. At the same time, they are trying to please their parents by making them think they are doing what they are supposed to do.
Life Skills Children Can Learn

Children can learn that it is safe to tell the truth in their family. Even when they forget that, they are reminded with gentleness and love. They can learn that their parents care about their fears and mistaken beliefs and will help them overcome them.

Parenting Pointers

Many children lie to protect themselves from judgment and criticism because the believe it when adults say they are bad. Of course they want to avoid this kind of pain.
Remember that who your child is now is not who your child will be forever. If your child tells a lie, don't overreact to the behavior by calling your child a liar.
Focus on building closeness and trust in the relationship instead of on the behavior problem. This is usually the quickest way to diminish the behavior that you find objectionable.
Booster Thoughts

My son was suspended from school. This was his story, "I found some cigarettes in my locker. I don't know how they got there. I was just putting them in my pocket to take them to the principal when a teacher came by and took me to the principal."

My thoughts went crazy for a few minutes. "He is lying to us. I'm a failure as a mother. He is going to ruin his life. What will people think?" I was feeling pretty upset, so my feeling compass let me know that I was caught up in my thought system and was not seeing things clearly. I dismissed my compass instead of my thoughts for a minute and used more thoughts to argue with my inner wisdom.

"Yes, but this is different. These are really terrible circumstances over which I have no control. How could I possibly see them differently? I am going to have to scold him severely, `ground' him for at least a month, take away all his privileges, and let him know he is ruining his life."

Fortunately, I had too much faith in my inner wisdom to take those thoughts seriously. I dismissed my crazy thinking, and inspiration from my inner wisdom quickly surfaced. I then saw the circumstances in a completely different way and felt understanding and compassion for my son's view of the situation. He had just entered junior high school, where the pressure is enormous to follow the crowd rather than to follow common sense.

When I got home I listened to my inspiration and knew what to do. I sat down with my son, put my arm around him and said, "I'll bet it's tough trying to figure out how to say no to your friends so you won't be called a nerd or a party pooper." He had been expecting my usual craziness and hardly knew how to respond to my sanity.

He tentatively said, "Yeah." I went on. "And I'll bet the only reason you would ever lie to us is because you love us so much you don't want to disappoint us." Tears filled his eyes, and he gave me a big hug. I responded with tears in my own eyes as we experienced those wonderful feelings of mutual love. I reassured him, "If you think you could ever disappoint us enough to diminish our love, then we are not doing a good enough job of letting you know how much we love you, unconditionally."

We can only guess what the result would have been had I followed my crazy thought to interact wit my son. My guess is that my craziness would have inspired increased rebelliousness instead of increased closeness.

- See more at: http://www.positivediscipline.com/articles/lying.html#sthash.HfviPZxm.dpuf
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
MPTW is a distribution or edition of TiddlyWiki that includes a standard TiddlyWiki core packaged with some plugins designed to improve usability and provide a better way to organise your information. For more information see http://mptw.tiddlyspot.com/.

+++[Natural History|click]
   [[Friendly Invaders]]
   [[6 tribes of bacteria]]
   [[Life on Mars]]
   [[Habitable Planets]]
   [[Humans have stopped evolving]]

   [[What is human]]
   [[With a few more brains]]
   [[Mentally Strong People]]
   [[Its not you...its your books]]
   [[Pirsig interview]]
   [[History repeating itself]]

   [[That which doesnt kill]]
   [[Thank God this will only get worse]]
   [[Knee Surgery]]
   [[Speed Climbing]]
   [[Marathoner Family trauma]]
   [[Gregory Canoe Race - 2013]]
   [[Thailand on the brink]]

   +++[Mental Health|click]
      [[Alzheimers resources]]
      [[Coffee & Alzheimers]]
      [[Alzheimers & Cleanliness]]
   +++[Physical Health|click]
      [[Knee Surgery]]
      [[Sorting out Coffee]]
      [[Coffee & Alzheimers]]
      [[Dieting makes you Fatter]]
      [[Does Exercise Really Keep Us Healthy]]
      [[Cycling Safe Cities]]
      [[Stroke Indicators]]
      [[Bicycle Helmets do not improve safety]]
   +++[Kid's Behaviour|click]
      [[The Bully]]
      [[The Bully 2]]

   +++[Google Watching|click]
      [[Google and Nest]]
      [[Google is good]]
      [[IBM Watson]] 
      [[Web texting]]
      [[2014 - Year of The Cloud]]
      [[Cloud takeup]]
   +++[IT Department|click]
      [[ITSM and ITIL]]
      [[CMMi Levels explained]]
      [[CMMi Primer]]
      [[CMMi is Easy]]
   +++[Big Data|click]
      [[Hadoop explained]]
      [[Myths about Big Data]]
      [[How essential is Hadoop for Big Data]]
      [[Developing a Big Data Maturity Model]]
      [[Target & Big Data]]
      [[Google Bigdata]]
      [[Big Data Definitions flawed]]
      [[Hadoop with mainframe]]
      [[Internet of Things]]
      [[Definitions of Tech]]
      [[Mobile Banking helps Loyalty]]
      [[Cheques dying]]
      [[Insecure Banking Apps]]
      [[eBanking by IMF]]
      [[Marketing for Bankers]]
      [[Role of Bank Marketing Dept]]
      [[Marketing Strategy]]
      [[Sales Force Objectives]]
      [[S&M strategy]]
      [[Elements of a Bank Marketing Plan]]
      [[7 steps to a marketing Plan]]
      [[NSA has access to financial transactions]]
      [[Greenwald new venture]]
      [[Google may be on our side]]
      [[Living Off-line]]

+++[Creative writing|click]
   [[Making Merit]]
   [[Rubbish at Bang Saen beach]]
      [[Pablo Neruda - Poet]]
      [[CIO Journey]]
      [[Core Banking Providers]]
      [[Mobile Banking India]]
         [[AB Bank overview]]
      [[Internal Comms best practice]]
      [[Corporate Communications Plan]]
      [[Testing Corporate Comms skills]]
      [[Corp v Marketing comms]]
      [[Corp Communication Games]]
      [[Comms Strategy]]
      [[Cross-Culture Comms]]
      [[Bangladesh Unrest]]
      [[2013 December Bangladesh]]
      [[Nuclear Bangladesh]]
      [[Bangladesh Election 20140102]]
      [[Bangladesh unrest 20130109]]
<<fontSize font-size: >>
<<tiddler ToggleRightSidebar>>
[img[http://1-ps.googleusercontent.com/x/www.thaivisa.com/www.khaosod.co.th/en/online/2013/09/x13791735401379173770l.jpg.pagespeed.ic.0fUVwZONJv.webp]]<<formTiddler NewArticleTemplate>><data>{"url":"thaivisa.com","pagenumbers":"20130915","primtopic":"traffic accidents","synopsis":"Bad Spirits blamed for a rash oh transport accidents in Thailand","author":"Warawita Yaemsuda, Teeranai Charuvastra","articletitle":"\"Recent Transport Disasters Blamed On Spirits\""}</data>Recent Transport Disasters Blamed On Spirits
by Warawita Yaemsuda, Teeranai Charuvastra

BANGKOK: -- Supernatural powers are cited as the factors behind recent high-profile accidents in Thailand, namely the botched landing of a Thai Airways plane at Bangkok′s main airport earlier this week.

14 people were injured during the evacuation from the Airbus A330-300 which skid off the runway of Suvarnabhumi Airport on 9 September.

While initial investigation pointed to a malfunctioned landing gear (the officials have not yet finished their inquiry), the Managing Director of Thai Aiways, Mr. Sorajak Kasemsuvan, is not taking chances. He said his company will conduct a major ceremony to appease the malevolent spirits said to be haunting the airport.

He is quoted as saying that the ceremony will also thank the said spirits for assisting with the successful operation to salvage the plane from the runway.

Mr. Sorajak′s comment followed a series of coverage by Thai Rath, the best-selling newspaper in Thailand, which gave extensive attention to the supposed involvement of ghosts and spirits in the accident.

Previously, Thai Rath has reported that a ghost in "traditional costume" (which strangely resembles the outfit Thai Airways flight attendants wear) has helped evacuate the passengers from the aircraft shortly after it slid off the runway.

The newspaper has also quoted Mr. Chotisak Asapaviriya, a former director of Airports Authority of Thailand (AOT), as saying that he had organised a regular prayer session to placate the vengeful spirits which reside in the airport vicinity.

At the ceremony to unveil the airport in 2006, Mr. Chotisak told Thai Rath, an official in charge of searching for explosive materials had broken down into a trance, claiming that he was being possessed by a "grandfather ghost" who demanded a shrine to be built on the airport compound. The shrine was quickly built afterwards.

Thai Rath helpfully points out that 8 major shrines have been built around Suvarnabhumi Airport by the staff in order to ward off evil spirits, such as a shrine dedicated to the Naga (holy big snake in Buddhist myths) which is presumably angered by construction of the airport on what was once a swamp inhabited by snakes.

Other smaller shrines include a strangely named "Italian Shrine".

The newspaper cited the curses of the residing ghosts as the main reason the construction of the airport had been delayed for decades. The more rational Thais, however, would point to mire of corruption that has plagued the project before the government of Thaksin Shinawatra finalised the project in late 2005.

Dr. Smith Thammasaroj, former director of Suvarnnabhumi Airport, told Thai Rath he was convinced of the existence of supernatural entities around the airport even though, he admitted, he had never encountered any particular case personally.

The scientist who once headed Thailand′s Meteorological Department said he had invited so many psychics to conduct ceremonies and constructed so many shrines "that I can′t keep count".

"We even had to build a condominium for the ghosts to reside," Dr. Smith said, "Because the spirits are so many individual spirit houses won′t be enough".

However, there has been few secular responses to the accident at Suvarnabhumi Airport on 9 September, too. Sqn.Ldr. Sitha Tiwaree, Managing Director AOT, said the authority has conducted an Emergency Plan Rehearsal, in which the airport′s fire and rescue departments took part.

The accident involving the Airbus was the most severe case at the airport since its opening 7 years ago, he said.

Sqn.Ldr. Sitha stressed that the incident will be analysed for future adjustment of the Emergency Plan, particularly how to transport passengers to the airport building - the procedure that received several complaints on 9 September. The rehearsal also pointed out that the airline crew was not familiar with the runway, causing complications during the latest accident, the director noted.

In long term, he said, the airport plans to build another substitute runway, in order to sustain further service. The AOT board will meet on Tuesday, 17 September to discuss about the construction budget, according to Sqn.Ldr. Sitha.

But it seems the spirits do not only roam the sky.

After a train headed from Malaysia to Bangkok′s Hua Lamphong Station derailed in the capital city yesterday, Daily News, the second best selling newspaper of the kingdom, reported that a certain curse might be involved.

According to Daily News, a painting at Hua Lamphong depicted a small obstacle in the rail track, which perfectly explains the frequent derailments - more than 15 incidents this year alone.

Even Transport Minister Chatchart Sitthipan, best known for his hands-on approach in inspecting problems of public transports, is mulling a paranormal hands-on solution. He has reportedly ordered the Deputy Permanent Secretary of the Ministry to consider a plan to organise a merit-making ceremony for the sake of his Ministry.

During the past few months, Mr. Chatchart noted, the country has suffered from many transport accidents such as minivan crashes, train derailments, boat crashes, and the Thai Airways incident.

"There have been more deaths than usual. Many have suggested that the Ministry of Transport needs a large-scale merit-making ceremony" Mr. Chatchart said.
Source: http://www.khaosod.c...id=TURVd01BPT0=
--KHAOSOD English 2013-09-15
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
[img[http://www.globalresearch.ca/wp-content/uploads/2013/09/plutonium.jpg]]<<formTiddler NewArticleTemplate>><data>{"author":"Harvey Wasserman","primtopic":"Fukoshima","synopsis":"The place is in danger of exploding","pagenumbers":"20130920","journalinfo":"Global Research"}</data>Humankind’s Most Dangerous Moment: Fukushima Fuel Pool at Unit 4. “This is an Issue of Human Survival.”

The world community must now take charge at Fukushima

By Harvey Wasserman
Global Research, September 20, 2013

We are now within two months of what may be humankind’s most dangerous moment since the Cuban Missile Crisis.

There is no excuse for not acting. All the resources our species can muster must be focussed on the fuel pool at Fukushima Unit 4.

Fukushima’s owner, Tokyo Electric (Tepco), says that within as few as 60 days it may begin trying to remove more than 1300 spent fuel rods from a badly damaged pool perched 100 feet in the air. The pool rests on a badly damaged building that is tilting, sinking and could easily come down in the next earthquake, if not on its own.

Some 400 tons of fuel in that pool could spew out more than 15,000 times as much radiation as was released at Hiroshima.

The one thing certain about this crisis is that Tepco does not have the scientific, engineering or financial resources to handle it. Nor does the Japanese government. The situation demands a coordinated worldwide effort of the best scientists and engineers our species can muster.

Why is this so serious?

We already know that thousands of tons of heavily contaminated water are pouring through the Fukushima site, carrying a devil’s brew of long-lived poisonous isotopes into the Pacific. Tuna irradiated with fallout traceable to Fukushima have already been caught off the coast of California. We can expect far worse.

Tepco continues to pour more water onto the proximate site of three melted reactor cores it must somehow keep cool.Steam plumes indicate fission may still be going on somewhere underground. But nobody knows exactly where those cores actually are.

Much of that irradiated water now sits in roughly a thousand huge but fragile tanks that have been quickly assembled and strewn around the site. Many are already leaking. All could shatter in the next earthquake, releasing thousands of tons of permanent poisons into the Pacific.

The water flowing through the site is also undermining the remnant structures at Fukushima, including the one supporting the fuel pool at Unit Four.

More than 6,000 fuel assemblies now sit in a common pool just 50 meters from Unit Four. Some contain plutonium. The pool has no containment over it. It’s vulnerable to loss of coolant, the collapse of a nearby building, another earthquake, another tsunami and more.

Overall, more than 11,000 fuel assemblies are scattered around the Fukushima site. According to long-time expert and former Department of Energy official Robert Alvarez, there is more than 85 times as much lethal cesium on site as was released at Chernobyl.

Radioactive hot spots continue to be found around Japan. There are indications of heightened rates of thyroid damage among local children.

The immediate bottom line is that those fuel rods must somehow come safely out of the Unit Four fuel pool as soon as possible.

Just prior to the 3/11/11 earthquake and tsunami that shattered the Fukushima site, the core of Unit Four was removed for routine maintenance and refueling. Like some two dozen reactors in the US and too many more around the world, the General Electric-designed pool into which that core now sits is 100 feet in the air.

Spent fuel must somehow be kept under water. It’s clad in zirconium alloy which will spontaneously ignite when exposed to air. Long used in flash bulbs for cameras, zirconium burns with an extremely bright hot flame.

 Each uncovered rod emits enough radiation to kill someone standing nearby in a matter of minutes. A conflagration could force all personnel to flee the site and render electronic machinery unworkable.

According to Arnie Gundersen, a nuclear engineer with forty years in an industry for which he once manufactured fuel rods, the ones in the Unit 4 core are bent, damaged and embrittled to the point of crumbling. Cameras have shown troubling quantities of debris in the fuel pool, which itself is damaged.

The engineering and scientific barriers to emptying the Unit Four fuel pool are unique and daunting, says Gundersen. But it must be done to 100% perfection.

Should the attempt fail, the rods could be exposed to air and catch fire, releasing horrific quantities of radiation into the atmosphere. The pool could come crashing to the ground, dumping the rods together into a pile that could fission and possibly explode. The resulting radioactive cloud would threaten the health and safety of all us.

Chernobyl’s first 1986 fallout reached California within ten days. Fukushima’s in 2011 arrived in less than a week. A new fuel fire at Unit 4 would pour out a continuous stream of lethal radioactive poisons for centuries.

 Former Ambassador Mitsuhei Murata says full-scale releases from Fukushima “would destroy the world environment and our civilization. This is not rocket science, nor does it connect to the pugilistic debate over nuclear power plants. This is an issue of human survival.”

Neither Tokyo Electric nor the government of Japan can go this alone. There is no excuse for deploying anything less than a coordinated team of the planet’s best scientists and engineers.

We have two months or less to act.

For now, we are petitioning the United Nations and President Obama to mobilize the global scientific and engineering community to take charge at Fukushima and the job of moving these fuel rods to safety.

 You can sign the petition at: http://www.nukefree.org/crisis-fukushima-4-petition-un-us-global-response

If you have a better idea, please follow it. But do something and do it now.

The clock is ticking. The hand of global nuclear disaster is painfully close to midnight.

Harvey Wasserman is Senior Editor of the Columbus Free Press and Free Press. He edits Nuke Free.

For now, we are petitioning the United Nations and President Obama to mobilize the global scientific and engineering community to take charge at Fukushima and the job of moving these fuel rods to safety.
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"NYTimes","synopsis":"Families suffers as marathoners prepare","author":"ABIGAIL LORGE","articletitle":"\"For Those Not Running, Training Can Be Just as Taxing\"","pagenumbers":"200810","primtopic":"Endurance Training"}</data>The New York Times
October 29, 2008
For Those Not Running, Training Can Be Just as Taxing

In response to the recent financial crisis, Caren and Jon Cohen, parents of two children and residents of the Upper East Side, enacted a family policy of increasing awareness of household spending — “taking a second look every time you make a purchase and making sure that it’s O.K.,” as Caren put it.

So it was with incredulity that she recently watched her distance-running-obsessed husband, deep in his preparations for the New York City Marathon, unbox a new electronic muscle stimulator, a gadget he had purchased for $900 to help aid his recovery from long training runs.

“I really need this,” he told his befuddled wife.

As the accommodating Caren Cohen is well aware, marathon fatigue can be punishing this time of year, as tens of thousands of distance runners around the world are training for fall races like Sunday’s New York City Marathon, which will have a field of more than 39,000. And sometimes the fatigue has nothing to do with sore muscles or tired legs. The weight of the impending 26.2-mile race is often borne by the families, friends and co-workers of amateur marathoners-in-training — innocent bystanders who sustain the collateral damage.

Less amused by her husband’s passion for the marathon is Rebecca, a 30-something Manhattan resident who asked that her surname not be published for fear of further marathon-related domestic strife. Her ambivalence about her husband’s marathon and triathlon training moves closer to resentment when she considers the effect it has had on their apartment, their social life and even their conversations.

“I miss my guestroom, which has become the garage and smells like a locker room,” she said in an e-mail message. “I miss talking about things other than Harlem hill repeats, and I wish we had put a down payment on an apartment with the money he spent on his stupid custom bike.”

Rebecca, who says her husband talks about his training “incessantly,” could be in for a long winter if her husband meets his goal of attaining a qualifying time for the Boston Marathon.

“Usually after that first weekend in November, I think, O.K., now we have our Friday nights and Saturday mornings back,” she said in an interview. “But he’s not the kind of guy who will just say, ‘Great, I qualified — now I can take it easy.’ He’ll want to do really well next spring. So it’s not going to end for me.”

The all-consumed runner can make his co-workers feel as if they, too, are in an endurance event. Sunday mornings are popular for long training runs, sometimes 20 miles or more; Monday mornings can be grueling for the colleague in the neighboring cubicle who hears the stride-by-stride retelling of that run. And no one knows the true agony of blisters on the feet until he has heard his co-worker describe the arc of their progression — from development to drainage — in excruciating detail.

The colleagues of Jaime Sperling, the communications manager at the World Monuments Fund in Manhattan, are continually reminded that there is a marathoner in their midst.

“I know I was a nightmare training for my first marathon, in 2004,” Sperling said in an e-mail message. “Icing my knees at work, worrying out loud about my mileage, bragging about my long runs. I think I even brought my finisher’s medal to work the next day (or the day after, since I made a big deal about taking off the day after since I’d be ‘too sore to walk’).”

Now, Sperling is training to run the New York City Marathon for the fourth time, and her colleagues are well aware that she frequently commutes to work by running the five miles from her home in Queens to her office in Manhattan, where she keeps several outfits hanging in her cubicle.

“Of course there are no showers at work, so she says she mops herself up,” Ben Haley said. “It’s pretty funny, because she comes in drenched in sweat, freshens herself up and starts working.”

The 40-year-old Jon Cohen, who is training to run the New York City Marathon for the fifth consecutive year, says he hopes to qualify for the Boston Marathon by running faster than 3 hours 20 minutes, the standard for his age group. In his bid to meet that time, Cohen has logged as many as 80 miles in a week, sometimes running twice a day or doing back-to-back long runs on the weekend.

He acknowledges that it is a demanding regimen for someone who is not a professional runner.

“There are times when you think, what am I doing this for? I’m not trying to qualify for the Olympics, and I don’t make my living doing this,” he said. “But there’s something inside that makes me strive for these goals.”

Cohen’s training routine extends beyond Central Park. At home, to the amusement and occasional disdain of his family, he behaves like many a fanatical long-distance runner: taking ice baths, mixing energy drinks, exhibiting an excessive germophobia and, as his largely unfazed wife put it, “rolling around the living room on his foam roller.”

For an obsessive marathoner-to-be, these are small sacrifices to make in the interest of performing well on race day, which is never far from mind. Whenever Jon Cohen drives his family over the Willis Avenue Bridge, he delivers a spiel that his wife and children know by heart.

“This is the toughest part of the marathon right here,” he lectures his eye-rolling but otherwise indulgent children, ages 12 and 8. “When you hit the bridge, it’s the 20-mile mark, and from here, you have the toughest six miles to go.”

But while marathoners like Cohen prepare to count down the miles and minutes on Sunday, many spectators already have the finish line in sight.

As the beleaguered but good-natured Haley said last week in reference to Sperling’s marathon: “I’ll be pretty relieved once it’s over.”
<<notes heading:'Rays Notes'>> 
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"Global Entrepreneurship Institute","articletitle":"What are marketing and sales objectives?","pagenumbers":"201105","primtopic":"marketing objectives","synopsis":"must set targets and then measure performance"}</data>''What are marketing and sales objectives?''

Posted on May 17, 2011

Discussions About Setting Marketing And Sales Objectives

The first objective of any business venture is to figure out how to gain paying customers. A great product without customers is not a business, though it may be a little more than a science project. Marketing involves increasing customer awareness, delivering a well-thought-out message about your product or service, and identifying customer prospects. Sales involves various efforts to convince those potential customers to buy your product.

According to Steve Wynn, who sold his Mirage Resorts in Las Vegas to MGM for $4.4 billion in 2000, “Marketing is about getting through the clutter, telling your story; why you have a better product than the others.” And Edward Iacobucci, founder of Citrix told us it in a matter-of-fact manner, “Nothing happens until you sell something.”

Just like an effective strategic plan helps you focus on your competitive positioning relative to your chosen “battleground,” your marketing strategy helps you understand your effectiveness of your marketing and customer relationship management efforts. After all, as we discuss here, your venture does not compete in a vacuum, you need customers to survive.

There are five basic steps to preparing your marketing strategy:

1. Choose a market entry strategy for each niche you intend to serve.
2. Set objectives for each target market.
3. Design a sales program for each one.
4. Implement and manage the marketing strategy.
5. Set metrics; measure, control, and adjust as you go.

Growth in your venture can only come from your marketing team’s efforts. Marketing and marketing strategy wins 90 to 95 percent of the time over any other activities. And investors know this. They will go with an “A” marketing team and strategy with a “B” product and technology strategy over an “A” product and technology strategy with a “B” marketing team and strategy.

Three Types of Marketing Objectives
It is very important to pick your fight carefully, which means finding the right niche, driving the opportunity to reality, converting lead users, working on expanding the niche, and then working on controlling and protecting the niche. As William F. Miller, professor at Stanford’s Graduate School of Business, points out, “You control your fate by controlling your market. Once an entrepreneur focuses on gaining control of his or her market, all other desired outcomes follow.”

The marketing and sales functions are central to your business success; without them everything else becomes irrelevant. Your marketing strategy is based on the results of your market research, feedback from your beta users, and a good “rule-of-thumb” insight from the domain experts on your team. Establishing marketing objectives help you prepare and focus for action. As Louis Pasteur once said, “Where observation is concerned, chance favors only the prepared mind.”

An objective is something that you prepare in advance. It indicates something that you want to accomplish. An objective should indicate a desired level of performance. It should be understood how each objective will be measured, and who will be responsible for meeting it. Setting good marketing objectives will be one of your venture team’s prime responsibilities. The task is very demanding, because it requires close coordination among all of your team’s members, who must work in close synchronization to ensure that all objectives correspond to your business strategy and mission.

Every sales opportunity that you are tracking should drive some kind of incremental value to the overall value of your venture. In addition to measuring the basic objectives, like an estimated closing date, probability of closing, and the revenue, each sale should bring.

Three Types of Marketing Objectives

1. Technical Objectives
These sales are especially important for high-tech ventures lower on the food chain. Could be making a sale to someone to help work out the kinks in your pre-production “hack-model,” your production line, and/or delivery of product. In exchange, these customers could be getting the product priced at a discount for having them assist in the development and providing feedback.

2. Strategic Objectives
More important for ventures a little higher up on the food chain. This could be going out and getting the “low-hanging fruit.” Could be used to get traction in one niche, knowing that you can use this as leverage to gain access to more financially viable customers. Could also go after early adopters in special user groups to increase industry awareness and help provide “referenceability” when soliciting marquee customers down the road. Could be sales activities that will lead to high-quality customers and streams of strong recurring revenues. Could be defensive too, to prevent others from having direct access to the best customers. A simple example is like giving away razors to sell razor blades later on.

3. Financial Objectives
The one most associated with sales objectives; cash flow and making money. A word of note: If you are getting into full production of a product or service, made it through the Hillary Step and survived, and targeting the right customer with the right product, then there is no reason why you should not be charging a full premium on your product. As William Cockrum, entrepreneurial finance professor at Anderson School of Management at UCLA states, “New companies, afraid of losing a sale, often under-price their products.” And still, a start-up’s best source of raising capital is from internally generated funds from sales. As Tom Siebel says, “Sales is often an overlooked opportunity.” Finally, for a venture suffering from any one of the common maladies, listen to Mark Cuban, co-founder of Broadcast.com and now owner of the Dallas Mavericks professional basketball team. He told us, “Sales cures all.”

Characteristics of Good Marketing Objectives
Well-stated marketing and sales objectives possess several important characteristics.

When evaluating your objectives consider the following questions:

 - Who is responsible for approving the objectives?
 - Is each objective relevant to overall results?
 - Is each objective consistent with the other marketing objectives and with non-marketing objectives as well?
 - Does each objective provide a clear guide to accomplishment?
 - Has the objective been quantified and a time frame specified?
 - Is the objective realistic, and is there a reasonable chance of meeting it?
 - Is responsibility for each objective assigned to someone inside the venture?
 - Are joint responsibilities indicated?
 - When is the objective scheduled to be reviewed and, if need be, updated or dropped?
<<formTiddler NewArticleTemplate>>''Defining Your Marketing Functions''

by Lori Philo-Cook on April 1, 2013

Marketing’s key responsibilities can vary greatly by bank. They are usually based on a variety of factors, including:

** Your bank’s approach to marketing
** How your execs view the role of marketing at your bank and their priorities for marketing
** Your marketing staffing budget
** The skills of the bank’s current marketing staff and the skills that exist in other areas of the bank
** Office politics
** The size of your bank: the smaller your bank is, the fewer of these functions you can take on.

There is no right or wrong answer and your functions will change over time. As your bank grows, marketing often takes on more functions—either in-house or by outsourcing some of them. Let’s look at typical functions within a bank marketing department:

Common Bank Marketing Functions
Marketing Planning and Strategy

You should start with a good basic marketing plan, which identifies how marketing will support the bank’s business goals and provides an overview of significant marketing initiatives for the year. It’s important to set goals and measure your progress against them. You will also want to develop more specific plans for your major projects and prepare an annual major projects calendar. Your plan should be accompanied by a detailed budget. We’ll talk about the elements of a good marketing plan in a separate blog post.


It’s important to define your bank’s brand and brand personality in order to build your identity and use your marketing and communications to reinforce it at every opportunity. Your brand is built and reinforced by everything you do in marketing, but also by everything your management and employees do. It encompasses your bank’s philosophies and values, your top exec’s management style, the look and feel of your facilities, your products, your customer service, your advertising and community outreach, your reputation, the events you do…you get the idea. Just about everything affects your brand. Marketing should be overseeing and protecting the bank’s brand.


Advertising is the most visible element of your marketing program. Many banks do traditional advertising (print, radio, TV, outdoor)—both image and product advertising—and more are venturing into online advertising. It is likely that you will have at least some responsibility for advertising compliance, and you probably have responsibility for advertising compliance record keeping. Most banks have a compliance person who reviews and approves all of your public materials.


Promotions are usually product-focused campaigns and may or may not include advertising support. Some promotions are only conducted within the bank or are targeted to very specific groups through direct marketing. They usually entail special offers for a limited period of time and an employee sales component. Also included in this category: branch and drive-up merchandising such as digital boards, posters, counter cards, banners, brochures, handouts, displays, promotional giveaways and more. In most banks, marketing manages product promotions, but may or may not manage sales campaigns.

Direct Marketing

In banking, this usually means direct mail pieces and marketing emails, but it can also include targeted telemarketing campaigns, or a combination of the three.  A few banks are doing targeted text messaging. As more banks can send targeted messages and offers within online and mobile banking, new direct marketing opportunities will begin to open up for marketers.

Online Communications

Online communications is the fastest-growing function within many marketing departments. While some small banks are still treating their websites like static brochures, more banks are using their websites as a way to become a real resource for customers. Online encompasses several areas, but you may not be involved in all of them, yet.

Online Marketing Functions
** Website (bank and product information, financial resources and content, online applications, product recommendations, online offers, personal financial management, etc.)
** Search engine optimization (SEO/helping your bank be found in online search)
** Online advertising (banner ads, pay-per-click, QR codes, mobile SMS text messages and advertising within social media)
** Social media communications (Facebook, Twitter, LinkedIn, Pinterest, YouTube, etc.)

Product and Services 

Marketing should be involved in the development and introduction.  In some banks, you will actually manage the new product process, but at the very least you should be a part of the product development team.  Less often marketing will be involved in the ongoing management of your bank’s products and services. 

Areas where marketing can make significant contributions:

Product research and analysis including competitive analysis and assessing your customers’ needs
New product development (monitoring trends, conducting surveys, managing new product intros, producing product materials, conducting new product training, tracking new product performance, etc.)
Product promotions to build awareness and cross sell new products

Delivery Channels

We used to think of ATMs, phone banking and online banking as banking services, but they are now considered to be banking channels since they are simply another way for customers to access their accounts and manage their money. Other channels include branches, mobile banking, remote deposit capture, digital wallets, etc. It is just as important for marketing to be involved in the design and promotion of your bank’s delivery channels as your products and services. Your role may be as a task force member or you may be responsible for channel development, but often ongoing product management is handled by other areas of the bank (or not at all).

Sales and/or Sales Support

Often in smaller community banks, marketing doesn’t manage sales for the bank, but most marketing departments are involved in supporting sales efforts.  Sales support includes product brochures and sales materials (paper and electronic), employee sales contest and incentives, product campaigns and promotions, sales prospect lists, promotional giveaways for calling officers, online product info, product and sales training, new customer onboarding programs, as well as product-focused direct mail, email and advertising/campaigns.

MCIF/Customer Segmentation and Lead Generation

An MCIF (marketing customer information file) system is used to pull all of a customer’s accounts and services into one file in order to get a complete picture of the customer/family relationship. This helps employees better understand the customer’s value to the bank and find opportunities to suggest additional products. At a more macro level, an MCIF helps the bank evaluate customer and product profitability. It can be used to develop many types of lists for direct marketing and cross selling efforts.

If your bank has an MCIF (or a Customer Relationship Management/CRM system), it’s probably managed by marketing. In some banks, the data side is managed by accounting or IT and the system is used by marketing. Smaller banks often have to make do with custom core system reports to segment customers and develop lists.

Bank and Market Research

If your bank conducts research, it is probably a responsibility of marketing. Common bank customer satisfaction research includes shopper surveys, comment cards, phone interviews, how are we doing surveys, online forums, etc.  You may also conduct research to assess hours changes, policy changes, product enhancements and more. Tracking (product, new account, closed account, cross sell ratio, etc.) may or may not be handled by marketing. Employee satisfaction surveys may be handled by marketing or HR. Community banks often hire outside research firms to conduct more complex studies such as image/brand research, new location assessments, local bank satisfaction/propensity to switch surveys and more. When outside vendors are hired, it is often marketing who directs their work.

Public Relations

Public relations enables you to build relationships and trust with your key publics, or stakeholders. Because a good reputation and strong relationships are so important to the success of community banks, most are very involved in public relations. In small banks, some of this work may be done by areas outside of marketing, such as the exec area, but most commonly, it is handled within the marketing/communications department, sometimes with help from a PR firm.

This graphic shows the primary areas of public relations in community banks.

Areas of PR
PR: Communicating with Your Key Publics

 Community relations: donations, sponsorships, community events, employee volunteerism
Media relations: news coverage on your bank and its employees, providing information to the media and responding to their requests, media training for top staff
Customer relations: advising bank management on key customer issues, drafting communications, handling crisis communications, image advertising
Employee communications: written materials, events and meetings, brand engagement
Investor relations: Communications and financial reports (if you are a publicly-traded bank)
Other: You may also be responsible for other communications, speech writing and managing special events for all of these key groups.
Internal Marketing

Internal marketing is regularly communicating with your employees; listening and informing them about key issues; engaging them in your marketing efforts; and giving them the tools they need to excel in your marketing initiatives, campaigns, product promotions, etc. If you aren’t doing internal marketing, you’re missing a huge opportunity to make your branding and marketing more effective. As a marketer, you benefit by having employees who believe in the bank’s mission, understand the bank’s goals, support the bank and serve as brand ambassadors. In some banks, this is handled by HR, but it is important for marketing to make internal marketing a priority.

Customer Service

Community banks often make customer service a big part of their branding and positioning. If service is a critical part of your bank’s market position, it’s important for marketing to be involved. This includes ensuring that there are clear service expectations for employees, communicating the bank’s commitment to service, monitoring service performance, managing complaints, training employees and helping management recognize top achievers.  In some banks, the customer service function is managed by retail banking, operations or the executive area rather than marketing.

Customer Experience

Customer experience is related to service; it’s about managing the whole experience your customer has from the first contact, through account opening and then at all the touch points after that (in-person, by phone, by mail, online, email and mobile). Regardless of who has responsibility for managing customer service and the customer experience at your bank, it will have a major impact on your ability to market effectively, build your brand and retain customers.

Defining Your Key Marketing Functions

That wraps up the key functions most commonly found in a community bank marketing department. I recommend that you start with the chart at the beginning of this post. Use it to help you define what marketing is and isn’t responsible for at your bank. Modify the chart and make it your own. Defining your key functions will help you make sure all of your bank’s marketing functions are covered, either by marketing staff or by someone else in your bank.

When you have defined your marketing functions and your bank execs have signed off, make sure you communicate the information to the other officers in your bank. If you have marketing staff, it is also helpful to develop a breakdown of functions by position. By communicating the full scope of what marketing is responsible for at your bank, you’ll develop respect for your marketing department’s role within your bank.<data>{"articletitle":"Defining Your Marketing Functions","author":"Lori Philo-Cook ","journalinfo":"innovomarketing.com","pagenumbers":"20140120","primtopic":"Marketing primer","url":"http://innovomarketing.com/?p=91"}</data>
!Inline Formatting
|bold font|{{{''bold''}}}|''bold''|
|italic type|{{{//italic//}}}|//italic//|
|underlined text|{{{__underlined__}}}|__underlined__|
|strikethrough text|{{{--strikethrough--}}}|--strikethrough--|
|superscript text|{{{^^super^^script}}}|^^super^^script|
|subscript text|{{{~~sub~~script}}}|~~sub~~script|
|highlighted text|{{{@@highlighted@@}}}|@@highlighted@@|
|preformatted text|<html><code>{{{preformatted}}}</code></html>|{{{preformatted}}}|
!Block Elements
!Heading 1
!!Heading 2
!!!Heading 3
!!!!Heading 4
!!!!!Heading 5
!Heading 1
!!Heading 2
!!!Heading 3
!!!!Heading 4
!!!!!Heading 5
* unordered list, level 1
** unordered list, level 2
*** unordered list, level 3

# ordered list, level 1
## ordered list, level 2
### ordered list, level 3

; definition list, term
: definition list, description
* unordered list, level 1
** unordered list, level 2
*** unordered list, level 3

# ordered list, level 1
## ordered list, level 2
### ordered list, level 3

; definition list, term
: definition list, description
> blockquote, level 1
>> blockquote, level 2
>>> blockquote, level 3

> blockquote, level 1
>> blockquote, level 2
>>> blockquote, level 3

> blockquote
!!Preformatted Text
preformatted (e.g. code)
preformatted (e.g. code)
|!heading column 1|!heading column 2|
|row 1, column 1|row 1, column 2|
|row 2, column 1|row 2, column 2|
|~| … |
|CssProperty:value;…| … |
* The {{{>}}} marker creates a "colspan", causing the current cell to merge with the one to the right.
* The {{{~}}} marker creates a "rowspan", causing the current cell to merge with the one above.
|!heading column 1|!heading column 2|
|row 1, column 1|row 1, column 2|
|row 2, column 1|row 2, column 2|
|~| … |
|CssProperty:value;…| … |
!!Images /% TODO %/
cf. [[TiddlyWiki.com|http://www.tiddlywiki.com/#EmbeddedImages]]
* [[WikiWords|WikiWord]] are automatically transformed to hyperlinks to the respective tiddler
** the automatic transformation can be suppressed by preceding the respective WikiWord with a tilde ({{{~}}}): {{{~WikiWord}}}
* [[PrettyLinks]] are enclosed in square brackets and contain the desired tiddler name: {{{[[tiddler name]]}}}
** optionally, a custom title or description can be added, separated by a pipe character ({{{|}}}): {{{[[title|target]]}}}<br>''N.B.:'' In this case, the target can also be any website (i.e. URL).
!Custom Styling
* {{{@@CssProperty:value;CssProperty:value;…@@}}}<br>''N.B.:'' CSS color definitions should use lowercase letters to prevent the inadvertent creation of WikiWords.
* <html><code>{{customCssClass{…}}}</code></html>
* raw HTML can be inserted by enclosing the respective code in HTML tags: {{{<html> … </html>}}}
!Special Markers
* {{{<br>}}} forces a manual line break
* {{{----}}} creates a horizontal ruler
* [[HTML entities|http://www.tiddlywiki.com/#HtmlEntities]]
* {{{<<macroName>>}}} calls the respective [[macro|Macros]]
* To hide text within a tiddler so that it is not displayed, it can be wrapped in {{{/%}}} and {{{%/}}}.<br/>This can be a useful trick for hiding drafts or annotating complex markup.
* To prevent wiki markup from taking effect for a particular section, that section can be enclosed in three double quotes: e.g. {{{"""WikiWord"""}}}.
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />

<style type="text/css">#contentWrapper {display:none;}</style><div id="SplashScreen" style="border: 3px solid #ccc; display: block; text-align: center; width: 320px; margin: 100px auto; padding: 50px; color:#000; font-size: 28px; font-family:Tahoma; background-color:#eee;"><b>rayarticles</b> is loading<blink> ...</blink><br><br><span style="font-size: 14px; color:red;">Requires Javascript.</span></div>
[img[http://im.ft-static.com/content/images/1c79b462-4a81-11e0-82ab-00144feab49a.img]]<<formTiddler NewArticleTemplate>>''McKinsey model springs a leak''

By John Gapper

The scandal goes to the heart of the consultancy’s identity and reputation

The vast investigation into insider trading on Wall Street that culminated this week in Raj Rajaratnam going on trial in New York accused of securities fraud was always likely to ensnare a large institution – perhaps a big hedge fund or a Wall Street bank. No one, however, expected the institution in question to be McKinsey & Co.
It was bad enough for the blue-chip management consultancy when Anil Kumar, one of its partners, admitted to supplying Mr Rajaratnam with inside information in return for bribes (Mr Rajaratnam denies all charges). But the Securities and Exchange Commission’s claim last week that Rajat Gupta, who was the head of McKinsey between 1994 and 2003, passed on tips as a board member of Goldman Sachs and Procter & Gamble, is a heavy blow.

Mr Gupta insists he did nothing wrong, although he has resigned his directorships of P&G and AMR, American Airlines’ parent company, having already stepped down from Goldman. But the very fact that a former leader’s conduct has been questioned has shaken McKinsey’s 1,300 partners. “Anger, disbelief, shock, sadness and outrage,” is how one describes the mood.

They should also be frightened because the scandal goes to the heart of McKinsey’s business model. Unlike with past embarrassments such as Enron, which was headed by a former McKinsey consultant and to which it gave strategic advice, it has become embroiled in accusations of being untrustworthy rather than simply incompetent.

It is hard to believe that trading on price-sensitive inside information from clients is rife inside the puritan, strait-laced firm – if evidence of that emerged, it would soon collapse, as Arthur Andersen did after Enron. But the accumulation and sharing of privileged knowledge is integral to how it works and it cannot afford its corporate and government clients to pull the shutters down.

Thomas Watson Jr, the former president of IBM, wrote in his autobiography Father, Son & Co of being asked by a company executive in 1956 whether he should share sensitive internal pricing information with a Booz Allen Hamilton consultant. “‘Sure,’ I said, ‘It’s like your doctor. You have to tell them everything.’”

A few months later, John Burns, the Booz consultant, rang Watson to ask if he would mind Burns becoming the president of RCA, IBM’s fiercest rival. “I said ‘I most certainly do, John!’ because we had entrusted him with detailed knowledge of our organisation and methods and plans,” Watson wrote. “Nevertheless, he took the job.”

Watson was wrong. A consultant is not like a doctor because a patient is at worst indifferent to whether a physician uses the knowledge gained from treating him to cure someone else, and is usually happy to help others. A company wants a consultant to help it not only to become better but to hurt its industrial competitors.

The calculation every client makes is, in the words of Christopher McKenna, a professor at the Oxford university’s Saïd Business School who studies professional services firms, that “consultants will carry information in and information out. The client has to decide which of those flows is worth more.”
Indeed, one of the main reasons companies hire consultants is to make sure they do not fall behind what their competitors are doing – in return for parting with their own secrets, they gain access to their rivals’ suitably disguised “best practices”. The consultant is a broker who attempts to amass so much knowledge that each company has to hire him, no matter how uncomfortable that feels.

Bill Bain, the founder of Bain & Company, insisted on serving only one client per industry in order to avoid the conflicts inherent in such an approach. Yet McKinsey, the exemplar of the networked model to consulting, is now the dominant firm at the elite end of the business, with a client list that includes many of the world’s largest companies.

McKinsey’s main safeguard against sensitive information being leaked or misused is cultural – it is a serious, even dour, organisation with a pronounced sense of mission. McKinseyites have to work hard for modest rewards, at least compared with being an investment banker or a hedge fund manager, for a decade before getting a chance to make partner. During that time, they are constantly subjected to “up or out” career assessments.
The partner who emerges from this treadmill tends to be a low-key, self-disciplined figure (although often with a large ego) who can act as the consigliere to a client’s chief executive. Mr Gupta, who has not been accused of leaking any information while at McKinsey, appeared to be a prototypical partner – he was compared by Alan Lafley, P&G’s former head, to the religious philosopher St Thomas Aquinas.

Yet the McKinsey culture clearly failed to restrain Mr Kumar from betraying confidences even as a partner and the accusations against Mr Gupta raise the disturbing possibility that its disciplines are broadly ineffective. This accounts for the shocked reaction inside the firm – perhaps it is not quite the place that everyone thought.

If Mr Gupta is cleared of the civil charges against him, then McKinsey will probably get through the scandal with only bruises. But it cannot afford the notion to spread that its clients’ information is not only used to amass a “knowledge base” that is sold to others in a sanitised form, but may also be exploited for personal gain.

McKinsey must devoutly hope that there is no third man.
john.gapper@ft.com<data>{"author":"John Gapper","articletitle":"McKinsey model springs a leak","journalinfo":"Financial Time","pagenumbers":"20110311"}</data>
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"Forbes","pagenumbers":"20131120","synopsis":"10 things mentally strong people avoid","primtopic":"Traits in mentally strong people","author":"Cheryl Conner","articletitle":"Mentally Strong People: The 13 Things They Avoid"}</data>Forbes
Cheryl Conner

Mentally Strong People: The 13 Things They Avoid

For all the time executives spend concerned about physical strength and health, when it comes down to it, mental strength can mean even more. Particularly for entrepreneurs, numerous articles talk about critical characteristics of mental strength—tenacity, “grit”, optimism, and an unfailing ability as Forbes contributor David Williams says, to “fail up.”

However, we can also define mental strength by identifying the things mentally strong individuals don’t do. Over the weekend, I was impressed by this list compiled by Amy Morin, a psychotherapist and licensed clinical social worker,  that she shared in LifeHack. It impressed me enough I’d also like to share her list here along with my thoughts on how each of these items is particularly applicable to entrepreneurs.

1.    Waste Time Feeling Sorry for Themselves. You don’t see mentally strong people feeling sorry for their circumstances or dwelling on the way they’ve been mistreated. They have learned to take responsibility for their actions and outcomes, and they have an inherent understanding of the fact that frequently life is not fair. They are able to emerge from trying circumstances with self-awareness and gratitude for the lessons learned. When a situation turns out badly, they respond with phrases such as “Oh, well.” Or perhaps simply, “Next!”

2. Give Away Their Power. Mentally strong people avoid giving others the power to make them feel inferior or bad. They understand they are in control of their actions and emotions. They know their strength is in their ability to manage the way they respond.

3.    Shy Away from Change. Mentally strong people embrace change and they welcome challenge. Their biggest “fear”, if they have one, is not of the unknown, but of becoming complacent and stagnant. An environment of change and even uncertainty can energize a mentally strong person and bring out their best.

4. Waste Energy on Things They Can’t Control. Mentally strong people don’t complain (much) about bad traffic, lost luggage, or especially about other people, as they recognize that all of these factors are generally beyond their control. In a bad situation, they recognize that the one thing they can always control is their own response and attitude, and they use these attributes well.

5. Worry About Pleasing Others. Know any people pleasers? Or, conversely, people who go out of their way to dis-please others as a way of reinforcing an image of strength? Neither position is a good one. A mentally strong person strives to be kind and fair and to please others where appropriate, but is unafraid to speak up. They are able to withstand the possibility that someone will get upset and will navigate the situation, wherever possible, with grace.

6. Fear Taking Calculated Risks. A mentally strong person is willing to take calculated risks. This is a different thing entirely than jumping headlong into foolish risks. But with mental strength, an individual can weigh the risks and benefits thoroughly, and will fully assess the potential downsides and even the worst-case scenarios before they take action.

7. Dwell on the Past. There is strength in acknowledging the past and especially in acknowledging the things learned from past experiences—but a mentally strong person is able to avoid miring their mental energy in past disappointments or in fantasies of the “glory days” gone by. They invest the majority of their energy in creating an optimal present and future.

8. Make the Same Mistakes Over and Over. We all know the definition of insanity, right? It’s when we take the same actions again and again while hoping for a different and better outcome than we’ve gotten before. A mentally strong person accepts full responsibility for past behavior and is willing to learn from mistakes. Research shows that the ability to be self-reflective in an accurate and productive way is one of the greatest strengths of spectacularly successful executives and entrepreneurs.

9. Resent Other People’s Success. It takes strength of character to feel genuine joy and excitement for other people’s success. Mentally strong people have this ability. They don’t become jealous or resentful when others succeed (although they may take close notes on what the individual did well). They are willing to work hard for their own chances at success, without relying on shortcuts.

10. Give Up After Failure. Every failure is a chance to improve. Even the greatest entrepreneurs are willing to admit that their early efforts invariably brought many failures. Mentally strong people are willing to fail again and again, if necessary, as long as the learning experience from every “failure” can bring them closer to their ultimate goals.

11. Fear Alone Time. Mentally strong people enjoy and even treasure the time they spend alone. They use their downtime to reflect, to plan, and to be productive. Most importantly, they don’t depend on others to shore up their happiness and moods. They can be happy with others, and they can also be happy alone.

12. Feel the World Owes Them Anything. Particularly in the current economy, executives and employees at every level are gaining the realization that the world does not owe them a salary, a benefits package and a comfortable life, regardless of their preparation and schooling. Mentally strong people enter the world prepared to work and succeed on their merits, at every stage of the game.

13. Expect Immediate Results. Whether it’s a workout plan, a nutritional regimen, or starting a business, mentally strong people are “in it for the long haul”. They know better than to expect immediate results. They apply their energy and time in measured doses and they celebrate each milestone and increment of success on the way. They have “staying power.” And they understand that genuine changes take time. Do you have mental strength? Are there elements on this list you need more of? With thanks to Amy Morin, I would like to reinforce my own abilities further in each of these areas today. How about you?

This article is available online at: 
<<formTiddler NewArticleTemplate>>''RBI blames lack of collaboration for slow uptake of mobile'' 

The Reserve Bank of India has highlighted the absence of collaboration and revenue sharing models between banks and telcos as a key factor in the slow uptake of mobile banking applications by the populace. In it's half-yearly financial stability report, the central bank identifies the mobile banking channel a key tool in the push for greater financial inclusion. 

However, the growth and acceptance of mobile banking as a channel of accessing banking service has been "below expectation", says the RBI, citing low levels of awareness and acceptance by the general population.

Alongside the face-off between the banks and telcos, the RBI also identifies the inability of banks to seed the mobile number with the account number and handset incompatibility as major constraints to growth. 

A bank-led model for mobile banking has been adopted In India, with only banks which are licensed and supervised by the RBI permitted to offer mobile financial services. So far, as many as 78 banks have applied for mobile licenses.

In October, the RBI set up a Technical Committee on Mobile Banking to examine the feasibility of introducing encrypted SMS-based funds transfers across all mobile handsets.

The Committee is currently conducting an in-depth study of the challenges faced by banks in taking mobile banking forward and the hurdles to introducing an Unstructured Supplementary Service Data (USSD) channel for person-to-person payments.<data>{"articletitle":"RBI blames lack of collaboration for slow uptake of mobile","journalinfo":"Finextra","pagenumbers":"20140107","primtopic":"MBanking in India","synopsis":"Slow takeup exacerbated by lack of collaboration"}</data>
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"Finextra","pagenumbers":"20131118","primtopic":"Mobile Banking","synopsis":"Loyalty programs improved by Mobile Banking","articletitle":"Mobile delivers 'halo effect' for banks seeking to sell more products "}</data>Mobile delivers 'halo effect' for banks seeking to sell more products 

JPMorgan Chase posted the biggest loyalty gains in 2013 among US national banks thanks to selective investments in mobile technology and more effective marketing, according to research by consultancy house Bain. Using data from a survey of almost 200,000 consumers in 27 countries, Bain finds that most banks are missing prime opportunities to deepen their existing customer relationships and are ceding new product sales to competitors.

"The 'easy growth' is over for banks, as increased competition worldwide is forcing banks to fight over too few new customers," says Gerard du Toit, a partner in Bain's Global Financial Services Practice in Boston. "But there is a surprisingly large upside with existing customers to increase win rates on new product sales."

He says that two factors stand out in swaying customers to buy: the customer's loyalty to their primary bank and the bank's ability to actively sell to its customers. 

According to the study, a bank's relative customer loyalty measure explains roughly half of the variation in its relative win rate, and it additionally finds that approximately one-third of banking products in the US are sold, not bought. That is, customers did not plan to buy a particular product, but they received an offer and then decided to purchase it.

Bain identifies 'digital transformation', in the shape of smart online and mobile banking services, as a key factor in maintaining customer loyalty. Mobile banking in particular was found to deliver a loyalty 'halo effect', as frequent mobile banking users in all countries gave much higher loyalty scores than non-users.

Loyalty on its own is not enough, however, banks also have to make a sound business case for the sale of new products, says du Toit. "The banking math is simple," he says. "Loyal banking customers own more products, and buy more products - but that doesn't mean they're going to make your sales for you."

The study found that few large incumbent banks had made meaningful progress, with JPMorgan Chase standing out as an exception. Such factors as select investments in mobile technology, a concerted effort to improve the customer experience and effective marketing to tell people how the bank can simplify their financial lives combined to help Chase perform "well above average" in winning new relationships and cross-selling to existing customers.
Name: MptwBlack
Background: #000
Foreground: #fff
PrimaryPale: #333
PrimaryLight: #555
PrimaryMid: #888
PrimaryDark: #aaa
SecondaryPale: #111
SecondaryLight: #222
SecondaryMid: #555
SecondaryDark: #888
TertiaryPale: #222
TertiaryLight: #666
TertiaryMid: #888
TertiaryDark: #aaa
Error: #300

This is in progress. Help appreciated.

Name: MptwBlue
Background: #fff
Foreground: #000
PrimaryPale: #cdf
PrimaryLight: #57c
PrimaryMid: #114
PrimaryDark: #012
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88

|Description:|Miscellaneous tweaks used by MPTW|
|Version:|1.0 ($Rev: 3646 $)|
|Date:|$Date: 2008-02-27 02:34:38 +1000 (Wed, 27 Feb 2008) $|
|Author:|Simon Baird <simon.baird@gmail.com>|
!!Note: instead of editing this you should put overrides in MptwUserConfigPlugin
var originalReadOnly = readOnly;
var originalShowBackstage = showBackstage;

config.options.chkHttpReadOnly = false; 		// means web visitors can experiment with your site by clicking edit
readOnly = false;								// needed because the above doesn't work any more post 2.1 (??)
showBackstage = true;							// show backstage for same reason

config.options.chkInsertTabs = true;    		// tab inserts a tab when editing a tiddler
config.views.wikified.defaultText = "";			// don't need message when a tiddler doesn't exist
config.views.editor.defaultText = "";			// don't need message when creating a new tiddler 

config.options.chkSaveBackups = true;			// do save backups
config.options.txtBackupFolder = 'twbackup';	// put backups in a backups folder

config.options.chkAutoSave = (window.location.protocol == "file:"); // do autosave if we're in local file

config.mptwVersion = "2.5.1";


if (config.options.txtTheme == '')
	config.options.txtTheme = 'MptwTheme';

// add to default GettingStarted
config.shadowTiddlers.GettingStarted += "\n\nSee also [[MPTW]].";

// add select theme and palette controls in default OptionsPanel
config.shadowTiddlers.OptionsPanel = config.shadowTiddlers.OptionsPanel.replace(/(\n\-\-\-\-\nAlso see AdvancedOptions)/, "{{select{<<selectTheme>>\n<<selectPalette>>}}}$1");

// these are used by ViewTemplate
config.mptwDateFormat = 'DD/MM/YY';
config.mptwJournalFormat = 'Journal DD/MM/YY';

Name: MptwGreen
Background: #fff
Foreground: #000
PrimaryPale: #9b9
PrimaryLight: #385
PrimaryMid: #031
PrimaryDark: #020
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88

Name: MptwRed
Background: #fff
Foreground: #000
PrimaryPale: #eaa
PrimaryLight: #c55
PrimaryMid: #711
PrimaryDark: #500
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88

|Description|Mptw Theme with some rounded corners (Firefox only)|



{ -moz-border-radius: 1em; }

.tab {
	-moz-border-radius-topleft: 0.5em;
	-moz-border-radius-topright: 0.5em;
#topMenu {
	-moz-border-radius-bottomleft: 2em;
	-moz-border-radius-bottomright: 2em;


Name: MptwSmoke
Background: #fff
Foreground: #000
PrimaryPale: #aaa
PrimaryLight: #777
PrimaryMid: #111
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88

|Description|Mptw Theme with the default TiddlyWiki PageLayout and Styles|
Name: MptwTeal
Background: #fff
Foreground: #000
PrimaryPale: #B5D1DF
PrimaryLight: #618FA9
PrimaryMid: #1a3844
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #f8f8f8
TertiaryLight: #bbb
TertiaryMid: #999
TertiaryDark: #888
Error: #f88
|Description|Mptw Theme including custom PageLayout|

http://mptw.tiddlyspot.com/#MptwTheme ($Rev: 1829 $)

<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
	<div class='headerShadow'>
		<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
		<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
	<div class='headerForeground'>
		<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
		<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
<!-- horizontal MainMenu -->
<div id='topMenu' refresh='content' tiddler='MainMenu'></div>
<!-- original MainMenu menu -->
<!-- <div id='mainMenu' refresh='content' tiddler='MainMenu'></div> -->
<div id='sidebar'>
	<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
	<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
<div id='displayArea'>
	<div id='messageArea'></div>
	<div id='tiddlerDisplay'></div>


<div class="tagglyTagged" macro="tags"></div>

<div class='titleContainer'>
	<span class='title' macro='view title'></span>
	<span macro="miniTag"></span>

<div class='subtitle'>
	(updated <span macro='view modified date {{config.mptwDateFormat?config.mptwDateFormat:"MM/0DD/YY"}}'></span>
	by <span macro='view modifier link'></span>)
	(<span macro='message views.wikified.createdPrompt'></span>
	<span macro='view created date {{config.mptwDateFormat?config.mptwDateFormat:"MM/0DD/YY"}}'></span>)

<div macro="showWhen tiddler.tags.containsAny(['css','html','pre','systemConfig']) && !tiddler.text.match('{{'+'{')">
	<div class='viewer'><pre macro='view text'></pre></div>
<div macro="else">
	<div class='viewer' macro='view text wikified'></div>

<div class="tagglyTagging" macro="tagglyTagging"></div>


<div class='toolbar'>
	<span macro="showWhenTagged systemConfig">
		<span macro="toggleTag systemConfigDisable . '[[disable|systemConfigDisable]]'"></span>
	<span macro="showWhenTagged systemTheme"><span macro="applyTheme"></span></span>
	<span macro="showWhenTagged systemPalette"><span macro="applyPalette"></span></span>
	<span macro="showWhen tiddler.tags.contains('css') || tiddler.title == 'StyleSheet'"><span macro="refreshAll"></span></span>
	<span style="padding:1em;"></span>
	<span macro='toolbar closeTiddler closeOthers +editTiddler deleteTiddler > fields syncing permalink references jump'></span> <span macro='newHere label:"new here"'></span>
	<span macro='newJournalHere {{config.mptwJournalFormat?config.mptwJournalFormat:"MM/0DD/YY"}}'></span>

<div class="toolbar" macro="toolbar +saveTiddler saveCloseTiddler closeOthers -cancelTiddler cancelCloseTiddler deleteTiddler"></div>
<div class="title" macro="view title"></div>
<div class="editLabel">Title</div><div class="editor" macro="edit title"></div>
<div macro='annotations'></div>
<div class="editLabel">Content</div><div class="editor" macro="edit text"></div>
<div class="editLabel">Tags</div><div class="editor" macro="edit tags"></div>
<div class="editorFooter"><span macro="message views.editor.tagPrompt"></span><span macro="tagChooser"></span></div>


/* a contrasting background so I can see where one tiddler ends and the other begins */
body {
	background: [[ColorPalette::TertiaryLight]];

/* sexy colours and font for the header */
.headerForeground {
	color: [[ColorPalette::PrimaryPale]];
.headerShadow, .headerShadow a {
	color: [[ColorPalette::PrimaryMid]];

/* separate the top menu parts */
.headerForeground, .headerShadow {
	padding: 1em 1em 0;

.headerForeground, .headerShadow {
	font-family: 'Trebuchet MS' sans-serif;
.headerForeground .siteSubtitle {
	color: [[ColorPalette::PrimaryLight]];
.headerShadow .siteSubtitle {
	color: [[ColorPalette::PrimaryMid]];

/* make shadow go and down right instead of up and left */
.headerShadow {
	left: 1px;
	top: 1px;

/* prefer monospace for editing */
.editor textarea, .editor input {
	font-family: 'Consolas' monospace;

/* sexy tiddler titles */
.title {
	font-size: 250%;
	color: [[ColorPalette::PrimaryLight]];
	font-family: 'Trebuchet MS' sans-serif;

/* more subtle tiddler subtitle */
.subtitle {
	font-size: 90%;
	color: [[ColorPalette::TertiaryMid]];
.subtitle .tiddlyLink {
	color: [[ColorPalette::TertiaryMid]];

/* a little bit of extra whitespace */
.viewer {

/* don't want any background color for headings */
h1,h2,h3,h4,h5,h6 {
	background-color: transparent;
	color: [[ColorPalette::Foreground]];

/* give tiddlers 3d style border and explicit background */
.tiddler {
	background: [[ColorPalette::Background]];
	border-right: 2px [[ColorPalette::TertiaryMid]] solid;
	border-bottom: 2px [[ColorPalette::TertiaryMid]] solid;
	margin-bottom: 1em;
	padding:1em 2em 2em 1.5em;

/* make options slider look nicer */
#sidebarOptions .sliderPanel {
	border:solid 1px [[ColorPalette::PrimaryLight]];

/* the borders look wrong with the body background */
#sidebar .button {
	border-style: none;

/* this means you can put line breaks in SidebarOptions for readability */
#sidebarOptions br {
/* undo the above in OptionsPanel */
#sidebarOptions .sliderPanel br {

/* horizontal main menu stuff */
#displayArea {
	margin: 1em 15.7em 0em 1em; /* use the freed up space */
#topMenu br {
	display: none;
#topMenu {
	background: [[ColorPalette::PrimaryMid]];
#topMenu {
#topMenu .button, #topMenu .tiddlyLink, #topMenu a {
	margin-left: 0.5em;
	margin-right: 0.5em;
	padding-left: 3px;
	padding-right: 3px;
	color: [[ColorPalette::PrimaryPale]];
	font-size: 115%;
#topMenu .button:hover, #topMenu .tiddlyLink:hover {
	background: [[ColorPalette::PrimaryDark]];

/* make 2.2 act like 2.1 with the invisible buttons */
.toolbar {
.selected .toolbar {

/* experimental. this is a little borked in IE7 with the button 
 * borders but worth it I think for the extra screen realestate */
.toolbar { float:right; }

/* fix for TaggerPlugin. from sb56637. improved by FND */
.popup li .tagger a {

/* makes theme selector look a little better */
#sidebarOptions .sliderPanel .select .button {
#sidebarOptions .sliderPanel .select br {

/* make it print a little cleaner */
@media print {
	#topMenu {
		display: none ! important;
	/* not sure if we need all the importants */
	.tiddler {
		border-style: none ! important;
		margin:0px ! important;
		padding:0px ! important;
		padding-bottom:2em ! important;
	.tagglyTagging .button, .tagglyTagging .hidebutton {
		display: none ! important;
	.headerShadow {
		visibility: hidden ! important;
	.tagglyTagged .quickopentag, .tagged .quickopentag {
		border-style: none ! important;
	.quickopentag a.button, .miniTag {
		display: none ! important;

/* get user styles specified in StyleSheet */


|Description|Mptw Theme with a reduced header to increase useful space|


<!-- horizontal MainMenu -->
<div id='topMenu' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<span refresh='content' tiddler='SiteTitle' style="padding-left:1em;font-weight:bold;"></span>:
<span refresh='content' tiddler='MainMenu'></span>
<div id='sidebar'>
	<div id='sidebarOptions'>
		<div refresh='content' tiddler='SideBarOptions'></div>
		<div style="margin-left:0.1em;"
			macro='slider chkTabSliderPanel SideBarTabs {{"tabs \u00bb"}} "Show Timeline, All, Tags, etc"'></div>
<div id='displayArea'>
	<div id='messageArea'></div>
	<div id='tiddlerDisplay'></div>

For upgrading. See [[ImportTiddlers]].
URL: http://mptw.tiddlyspot.com/upgrade.html
|Description:|A place to put your config tweaks so they aren't overwritten when you upgrade MPTW|
See http://www.tiddlywiki.org/wiki/Configuration_Options for other options you can set. In some cases where there are clashes with other plugins it might help to rename this to zzMptwUserConfigPlugin so it gets executed last.

// example: set your preferred date format
//config.mptwDateFormat = 'MM/0DD/YY';
//config.mptwJournalFormat = 'Journal MM/0DD/YY';

// example: set the theme you want to start with
//config.options.txtTheme = 'MptwRoundTheme';

// example: switch off autosave, switch on backups and set a backup folder
//config.options.chkSaveBackups = true;
//config.options.chkAutoSave = false;
//config.options.txtBackupFolder = 'backups';

body {
 background: #fffaae;
 color: #000;

.tiddler {
 background: #fffaae;
 padding: 1em 1em 0.5em 1em;
 margin-bottom: 1em;
 border: none;

.viewer .button {
 background: #e4ff70;
 color: #000;
 border: none;

.viewer .button:hover {
 background: #228b22;
 color: #fffaae;

.title {
text-align: right;
background: #e4ff70;
 -moz-border-radius: 0.5em;
padding: 0.2em;

#jsMath_button {
display: none;

/* navigator always visible
.pageFooterOff #navigator{
 visibility: visible;

/* remove clock 
 display: none;
input {font-size: 100%;}

button {font-size: 100%;}

.txtOptionInput {
 width: 15em;

.tabContents li{
 list-style: none;

.viewer .center {
margin-left: auto;
margin-right: auto;

.center {
<<formTiddler NewArticleTemplate>><data>{"pagenumbers":"20130906","author":"Mike Matchett","journalinfo":"Storage Magazine"}</data>Myths surrounding big data technology
Mike Matchett

This article can also be found in the Premium Editorial Download "Storage magazine: Cloud-based DR to the rescue."

Big data technology is a big deal for storage shops, and a clear understanding of what it means -- and doesn't mean -- is required to successfully configure storage for big data apps.

I love the idea of changing the world through big data technology. Big data promises we'll all be IT superheroes just by storing more raw data than ever before and then using parallel processing techniques to yield great new insights that will catapult our company to the top. Good storage is costly and the rate that interesting new data is produced increases daily, but the Apache Hadoop product calls for leveraging scale-out commodity server nodes with cheap local disk.

Of course, there's more to it. Conceptually, big data products bring new ways to store and analyze the mountains of data that we used to discard. There's certainly information and insight to be mined, but the definitions are fuzzy, the hype is huge and the mining technologies themselves are still rapidly evolving.

Adding to the confusion, big data technology has been enthusiastically marketed by just about every storage vendor on the planet. But despite the marketing, I believe it's just a matter of time before every competitive IT shop has a real big-data solution to implement or manage, if only because of staggering data growth. For those just setting out on a big data journey, watch out for these common myths.

''Myth No. 1: Just do it''
A sure way to waste a lot of money is to aggregate tons of data on endlessly scalable clusters and hope that your star data scientist will someday discover the hidden keys to eternal profit.

To succeed with any IT project, big data included, you need to have a business value proposition in mind and an achievable plan laid out. Research is good and those "aha" moments can be exciting, but by the time big data gets to IT, there needs to be a more practical goal than just a desire to "see what might be in there."

''Myth No. 2: Store everything''
One of the problems caused by big data hype is that unrealistic expectations are often built on the premise of "keeping it all." It may seem plausible for a company to use a big data platform to keep all its data forever. In fact, Cloudera, the most widely adopted Hadoop distribution among enterprises, markets directly to that point. But is it true that accumulated data will become more valuable over time?

Storage experts, at this point, might want to make a few comments along the lines of, "Is all that data going to be actually accessible, usable, reliable, verifiable, available, secure, protected and, certainly not least of all, affordable in the long run?"

For most organizations, far less than "all" data will prove to deliver potential value. And most data declines in relevance as it ages. The faster you can get to an understanding of where your valuable data "subset" is, the more you can direct your resources and attention to what is likely to be most successful. Somewhat ironically, the less data you store, the more efficient and cost-effective you can be with big data.

''Myth No. 3: Big is simple''
The Apache Hadoop Distributed File System (HDFS) makes it easy to store lots of high-volume, high-velocity and highly variable data across a scale-out cluster. It does it in a way that makes it easy to process using highly parallel MapReduce-style algorithms that farm the heavy-lifting compute tasks out to each data chunk. HDFS also provides for in-cluster replication mainly to improve cluster availability.

But as suggested above, HDFS doesn't natively provide advanced enterprise storage features that might be needed to support good data protection or disaster recovery. Although evolving, Hadoop 1.0 currently doesn't support snapshots, mirroring or remote replication. And there are no easy ways to further optimize space (deduplication, compression) or tweak I/O performance (targeted caching, judicious use of flash or highly parallel streaming).

If you have lifecycle data management or governance requirements for data stored in a big data environment, you might need to consider an enhanced Hadoop distribution like the one from MapR that provides a full-featured storage service layer that transparently replaces HDFS.

''Myth No. 4: Serve everyone''
Hadoop represents a new way of processing certain types of data in certain parallel ways. And there are some exciting advances coming (e.g., YARN) that enable Hadoop to become a more universal processing platform. But HDFS doesn't provide a universal data storage service. It's designed and optimized for high read-throughput batch processing, and HDFS has no way to target or deliver I/O performance by dataset or workload.

Data has to be specifically loaded into HDFS. It can be difficult to get new data into and results out of it for immediate use or direct access by other applications using other protocols (e.g., NFS, CIFS). And Hadoop's combined compute/storage node makes it challenging to grow compute and storage on different vectors.

Breaking the HDFS "local" storage paradigm can make a lot of sense. For example, an enterprise scale-out array like EMC's Isilon provides "remote" HDFS storage to a Hadoop cluster, while actually hosting data in its native storage array file system with multiprotocol access and all its other enterprise array features.

''Myth No. 5: Big and fast''
A common misconception about Hadoop is that it's fast. Actually the core design is all about high-throughput "batch"-style processing, and avoiding the impact of common hardware failures that in many larger-scale computing designs (i.e., supercomputers) limit their ultimate efficiency. Hadoop just wasn't originally intended to be an interactive or real-time system.

However, due to demand, there are a lot of projects aimed at ramping up performance and expanding the application "footprint" of Hadoop to better support more interactive workloads. Some of these involve integrating traditional database, streaming data or in-memory processing products. There are also high-performance hardware offerings like DataDirect Networks' hScaler that take an "appliance" approach with compute nodes running in the same rack as their SFA series storage with a customized Hortonworks Hadoop distribution.

''Big data will get bigger''
Some people may think big data technology is past its peak stage and is crossing a "chasm" of disappointment, but I think we've just seen the beginning of its potential and the start of the evolution of the real value proposition of big data to enterprise IT. Those who have approached it realistically are gaining valuable results.

Big data, in the form of Hadoop, is but the start of a broader change in how data processing will need to be approached, and how future data centers will be designed. Data will continue to increase, processing technologies are in high flux, and the most competitive organizations will strive to wring as much value out of as much of that data as they can. Today, most enterprises haven't yet invested in game-changing big data technology projects intended to move the bottom line, although many have deployed Hadoop as an extract, load and transform (ELT) "ingest" platform for their more traditional data warehousing/business intelligence offerings.

Big data projects are as much storage projects as they are parallel compute. Tell us about your adventures with big data as an enterprise storage solution.

//About the author: //
Mike Matchett is a senior analyst and consultant at Taneja Group.
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
[img[http://www.finextra.com/finextra-images/top_pics/3186.jpg]]<<formTiddler NewArticleTemplate>>NSA snooped on Visa/Swift networks - Der Spiege The US National Security Agency allegedly tapped in to credit card and bank-to-bank transactions crossing the Visa and Swift networks as part of its global intelligence gathering operations, according to documents passed to Der Spiegel by whistleblower Edward Snowden. The leaked papers reveal that the NSA set up a special branch to monitor financial transactions, dubbed 'Follow The Money', with its own FTM acronym.

Transactional data pulled from Visa and Swift was allegedly transferred to the NSA's own financial database, called Tracfin. By 2011 the Tracfin database housed 180 million files, of which 85% referenced credit card transactions, principally from the Emea region.

Visa has denied the reports, saying that it would not be possible for the NSA to get access to its transaction flows. 

In 2010 European Parliamentarians formally adopted a data sharing deal giving US authorities access to EU bank account data carried over the international Swift network. 

However, MEPs on the EU Civil Liberties Committee have since complained that US requests for banking data "are too general and abstract to allow Europol to check whether they meet EU data protection standards, and Europol seems to be merely rubber-stamping them".<data>{"articletitle":"\"NSA snooped on Visa/Swift networks\"","primtopic":"NSA","journalinfo":"Finextra","pagenumbers":"20130915"}</data>
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|Description|show content in nest-able 'slider' or 'floating' panels, without needing to create separate tiddlers for each panel|

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

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

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

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

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

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

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

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

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

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

				// cookie, use saved open/closed state
				if (lookaheadMatch[2]) {
					if (config.options[cookie]==undefined)
						{ config.options[cookie] = (show=="block") }

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

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

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

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

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

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

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

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

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

	// toggle label
	// toggle tooltip

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

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

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

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

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

// TW2.2+
// hijack Morpher animation handler 'stop' handler so overflow is visible after animation has completed
if (version.major+.1*version.minor+.01*version.revision>=2.2) {
	Morpher.prototype.coreStop = Morpher.prototype.stop;
	Morpher.prototype.stop = function()
		{ this.coreStop.apply(this,arguments); this.element.style.overflow = "visible"; }
FontSizePlugin lets you resize tiddler text on the fly. Font values are remembered between sessions using a cookie, and the maximum and minimum font allowed can easily be customized.
Toggle between viewing tiddlers fullscreen and normally with FullScreenPlugin. Very handy for when you need more viewing space.
TiddlerNotesPlugin allows you to add notes to a tiddler without needing to modify the original tiddler. An example use case would be where teachers and students could each add their own notes to tiddlers that contain lecture slides.
.rolodex table {
border: 0px solid;

.rolodex tr, .rolodex td {
border: 0px solid;
<span class="rolodex">
 <td align="right"><b>Author(s):</b></td>
 <td colspan="3"><input name=author type=text style="width:300%" /></td></tr>
 <td align="right"><b>Article title (put in "quotes"):</b></td>
 <td colspan="3"><input name=articletitle type=text style="width:300%" /></td></tr>
 <td align="right"><b>Journal Title:</b></td>
 <td colspan="3"><input name=journalinfo type=text style="width:300%" /></td></tr>
 <td align="right"><b>Volume (year): page numbers:</b></td>
 <td colspan="3"><input name=pagenumbers type=text style="width:200%" /></td></tr>
 <td align="right"><b>url:</b></td>
 <td colspan="3"><input name=url type=text style="width:300%" /></td></tr>
 <td align="right"><b>Synopsis:</b></td>
 <td colspan="3"><input name=synopsis type=text style="width:300%" /></td></tr>
 <td align="right"><b>Primary topic:</b></td>
 <td colspan="3"><input name=primtopic type=text style="width:300%" /></td></tr>
 <tr></span> </html>
1. In viewing mode, add data to form fields
2. In edit mode, add your notes below and finish with {{{<<notes heading:'Rays Notes'>>
3. In edit mode, add an url for an image of the magazine or journal cover at the top of the tiddler if you wish. Here's how: {{{[img[YOUR URL HERE]]}}}

! Article

|Description:|Creates the new here and new journal macros|
|Version:|3.0 ($Rev: 3861 $)|
|Date:|$Date: 2008-03-08 10:53:09 +1000 (Sat, 08 Mar 2008) $|
|Author:|Simon Baird <simon.baird@gmail.com>|
merge(config.macros, {
	newHere: {
		handler: function(place,macroName,params,wikifier,paramString,tiddler) {
			wikify("<<newTiddler "+paramString+" tag:[["+tiddler.title+"]]>>",place,null,tiddler);
	newJournalHere: {
		handler: function(place,macroName,params,wikifier,paramString,tiddler) {
			wikify("<<newJournal "+paramString+" tag:[["+tiddler.title+"]]>>",place,null,tiddler);


|Description:|If 'New Tiddler' already exists then create 'New Tiddler (1)' and so on|
|Version:|1.1 ($Rev: 2263 $)|
|Date:|$Date: 2007-06-13 04:22:32 +1000 (Wed, 13 Jun 2007) $|
|Author:|Simon Baird <simon.baird@gmail.com>|
!!Note: I think this should be in the core

String.prototype.getNextFreeName = function() {
       var numberRegExp = / \(([0-9]+)\)$/;
       var match = numberRegExp.exec(this);
       if (match) {
               var num = parseInt(match[1]) + 1;
               return this.replace(numberRegExp," ("+num+")");
       else {
               return this + " (1)";

config.macros.newTiddler.checkForUnsaved = function(newName) {
	var r = false;
	story.forEachTiddler(function(title,element) {
		if (title == newName)
			r = true;
	return r;

config.macros.newTiddler.getName = function(newName) {
       while (store.getTiddler(newName) || config.macros.newTiddler.checkForUnsaved(newName))
               newName = newName.getNextFreeName();
       return newName;

config.macros.newTiddler.onClickNewTiddler = function()
	var title = this.getAttribute("newTitle");
	if(this.getAttribute("isJournal") == "true") {
		var now = new Date();
		title = now.formatString(title.trim());

	title = config.macros.newTiddler.getName(title); // <--- only changed bit

	var params = this.getAttribute("params");
	var tags = params ? params.split("|") : [];
	var focus = this.getAttribute("newFocus");
	var template = this.getAttribute("newTemplate");
	var customFields = this.getAttribute("customFields");
	var tiddlerElem = document.getElementById(story.idPrefix + title);
	var text = this.getAttribute("newText");
	if(typeof text == "string")
		story.getTiddlerField(title,"text").value = text.format([title]);
	for(var t=0;t<tags.length;t++)
	return false;


<<formTiddler NewArticleTemplate>><data>{"journalinfo":"BBC World news","primtopic":"Electric Power in bangladesh","synopsis":"Bangladesh starts building 2 nuclear power stations","pagenumbers":"20131302"}</data>
2 October 2013 Last updated at 15:27 

Bangladesh has begun building the first of two new nuclear power plants north of the capital, Dhaka.

The plants - each with a capacity of 1,000 megawatts - are being constructed with Russian help as Bangladesh looks to close a yawning power deficit.

Inaugurating the project, PM Sheikh Hasina said that "utmost priority" would be given to nuclear safety".

The $2bn project is funded by $500m of Russian credit and is expected to be fully completed by 2022.

Prime Minister Hasina said the plant would be constructed so that natural disasters could not damage or destroy it.

"Regarding the design of the plant, we are following the guidelines of the International Atomic Energy Agency," she said.

The plants will implement new safety features following the nuclear accident in Fukushima in Japan, officials say.

Under the terms of the construction deal, Russia's state-run Rosatom nuclear energy corporation will build, operate and provide fuel for the plant in addition to processing its spent fuel in Russia.

Correspondents say that the project is part of an export drive backed by Russian President Vladimir Putin that includes Rosatom building plants in Iran and Turkey.

The reactors at Rooppur in Pabna district, 120km (75 miles) north of Dhaka, are expected to operate for 60 years with options to extend by another 20 years.

Bangladesh currently relies on dilapidated gas-fired plants for its power supplies and experiences daily electricity shortfalls.

Erratic electricity supplies have been blamed for hampering industrial production and economic growth.
[img[http://www.poemhunter.com/i/p/38/6638_b_7378.jpg]]<<formTiddler NewArticleTemplate>><data>{"journalinfo":"Poemhunter","pagenumbers":"","author":"Pablo Neruda","primtopic":"Poem","articletitle":"\"Carnal apple, Woman filled, burning moon,\"","url":"http://www.poemhunter.com/pablo-neruda/"}</data>Carnal apple, Woman filled, burning moon,
dark smell of seaweed, crush of mud and light,
what secret knowledge is clasped between your pillars?
What primal night does Man touch with his senses?
Ay, Love is a journey through waters and stars,
through suffocating air, sharp tempests of grain:
Love is a war of lightning,
and two bodies ruined by a single sweetness.
Kiss by kiss I cover your tiny infinity,
your margins, your rivers, your diminutive villages,
and a genital fire, transformed by delight,
slips through the narrow channels of blood
to precipitate a nocturnal carnation,
to be, and be nothing but light in the dark. 
''Pablo Neruda''
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Date:''|Apr 19, 2007|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
version.extensions.PasswordOptionPlugin = {
	major: 1, minor: 0, revision: 2, 
	date: new Date("Apr 19, 2007"),
	source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
	coreVersion: '2.2.0 (Beta 5)'

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

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

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

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

// need to reload options to load passwordOptions

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

		pasPassword: "Test password"
<<formTiddler NewArticleTemplate>><data>{"pagenumbers":"2008","synopsis":"Interviewing the author of \"Zen & the Art of Motorcycle Maintenance\"","author":"Tim Adams","articletitle":"\"The Interview - Robert Pirsig\"","journalinfo":"The Observer","primtopic":"Interview"}</data>The interview: ''Robert Pirsig''
//Tim Adams
Sunday November 19, 2006
The Observer //

The Seventies bestseller [[Zen and the Art of Motorcycle Maintenance|MotorcycleMaintenance]] was the biggest-selling philosophy book ever. But for the reclusive author life was bitter-sweet. Here, he talks frankly about anxiety, depression, the death of his son and the road trip that inspired a classic. 

At 78, Robert Pirsig, probably the most widely read philosopher alive, can look back on many ideas of himself. There is the nine-year-old-boy with the off-the-scale IQ of 170, trying to work out how to connect with his classmates in Minnesota. There is the young GI in Korea picking up a curiosity for Buddhism while helping the locals with their English. There is the radical, manic teacher in Montana making his freshmen sweat over a definition of 'quality'. There is the homicidal husband sectioned into a course of electric-shock treatment designed to remove all traces of his past. There is the broken-down father trying to bond with his son on a road trip. There is the best-selling author of Zen and the Art of Motorcycle Maintenance, offering solutions to the anxieties of a generation. And there is, for a good many years, the reclusive yachtsman, trying to steer a course away from cultish fame.

Pirsig doesn't do interviews, as a rule; he claims this one will be his last. He got spooked early on. 'In the first week after I wrote Zen I gave maybe 35,' he says, in his low, quick-fire Midwestern voice, from behind his sailor's beard. 'I found it very unsettling. I was walking by the post office near home and I thought I could hear voices, including my own. I had a history of mental illness, and I thought: it's happening again. Then I realised it was the radio broadcast of an interview I'd done. At that point I took a camper van up into the mountains and started to write Lila, my second book.'
It is that second book, recently republished, that has prompted him to talk to me now. He sits in a hotel room in Boston and tries, not for the first time, to make some sense of his life. He is, he suggests, always in a double bind. 'It is not good to talk about Zen because Zen is nothingness ... If you talk about it you are always lying, and if you don't talk about it no one knows it is there.' Generally, rather than analysing, he says, he would rather 'just enjoy watching the wind blow through the trees'. Reclusion has its discontents, however. 'In this country someone who sits around and does that is at the bottom of the ladder, but in Japan, say, someone who goes up into the mountains is accorded great respect.' He pauses, laughs. 'I guess I fall somewhere in between.'

Ever since I first read Pirsig's motorbike quest for meaning, when I was about 14, I've been curious to imagine its author. Part of the compulsion of that book, which has sold more than five million copies, is the sense of autobiographical mysteries that remain unexplained. While Pirsig's narrator tries to marry the spirit of the Buddha with western consumerism, discovers the godhead in his toolkit, and intuits a sense of purposive quality independent of subjects and objects, he also constructs a fragmentary picture of his own past. His pre-shock-treatment former self, the ghostly Phaedrus, haunts his travels across the Midwest.

'What I am,' he writes at one point, 'is a heretic who's recanted and thereby in everyone's eyes saved his soul. Everyone's eyes but one, who knows deep down inside that all he has saved is his skin.' My 14-year-old self double-underlined this and put two Biro exclamation marks in the margin. Twenty-six years, and several revisionist readings of the book later, I'm still wondering what Pirsig thinks of when he thinks of himself.

He suggests a lot of that idea still goes back to his childhood as a disaffected prodigy. He says that ever since he could think he had an overwhelming desire to have a theory that explained everything. As a young man - he was at university at 15 studying chemistry - he thought the answer might lie in science, but he quickly lost that faith. 'Science could not teach me how to understand girls sitting in my class, even.'

He went to search elsewhere. After the army he majored in philosophy and persuaded his tutor to help him get a place on a course in Indian mysticism at Benares, where he found more questions than answers. He wound up back home, married, drifting between Mexico and the States, writing technical manuals and ads for the mortuary cosmetics industry. It was when he picked up philosophy again in Montana, and started teaching, that Phaedrus and his desire for truth overtook Pirsig once more.

At that time, he recalls, in his early thirties, he was so full of anxiety that he would often be physically sick before each class he taught. He used his students to help him discover some of the ideas that make up what he calls the 'metaphysics of quality' in his books, the ideas that led him to believe that he had bridged the chasm between Eastern and Western thought. No two classes were the same. He made his students crazy by refusing to grade them, then he had them grade each other. He suggests that by the end of each term they were so euphoric that if he had told them to jump out of the window they would have done. The president of the university gave a speech, and he contradicted him in the middle of it by shouting: 'This school has no quality.' He saw clearly how American society was disconnected from life and he believed he could help it connect. He was reading Kerouac, and trying to live in truth.

Alongside that, I say, as he describes that time with some fervour, I guess there was some depression setting in? 'Well,' he says, 'there was fear. All these ideas were coming in to me too fast. There are crackpots with crazy ideas all over the world, and what evidence was I giving that I was not one of them?'

Such evidence proved harder and harder to present. One day in the car with his six-year-old son Chris, his mind buzzing, Pirsig stopped at a junction and literally did not know which way to turn. He had to ask his son to guide him home. What followed was the point where he either found enlightenment, or went insane, depending on how you look at it (really the root of all the questions in his first book).

'I could not sleep and I could not stay awake,' he recalls. 'I just sat there cross-legged in the room for three days. All sorts of volitions started to go away. My wife started getting upset at me sitting there, got a little insulting. Pain disappeared, cigarettes burned down in my fingers ...'

It was like a monastic experience?

'Yes, but then a kind of chaos set in. Suddenly I realised that the person who had come this far was about to expire. I was terrified, and curious as to what was coming. I felt so sorry for this guy I was leaving behind. It was a separation. This is described in the psychiatric canon as catatonic schizophrenia. It is cited in the Zen Buddhist canon as hard enlightenment. I have never insisted on either - in fact I switch back and forth depending on who I am talking to.'

Midwestern American society of 1960 took the psychiatrist's view. Pirsig was treated at a mental institution, the first of many visits. Looking back, he suggests he was just a man outside his time. 'It was a contest, I believe, between these ideas I had and what I see as the cultural immune system. When somebody goes outside the cultural norms, the culture has to protect itself.'

That immune system left him with no job and no future in philosophy; his wife was mad at him, they had two small kids, he was 34 and in tears all day. Did he think of it at the time as a Zen experience?

'Not really. Though the meditation I have done since takes you to a similar place. If you stare at a wall from four in the morning till nine at night and you do that for a week, you are getting pretty close to nothingness. And you get a lot of opportunities for staring in an asylum.'

When he was released, it only got worse. He was crazier; he pointed a gun at someone, he won't say who. He was committed by a court and underwent comprehensive shock treatment of the kind described by Ken Kesey in One Flew Over the Cuckoo's Nest

I wonder if he remembers the mechanics of it?

'Well they put a little rubber thing in your mouth and then they gave a drug like curare, used by South American Indians in their darts. It stops your lungs before it stops your mind. Before you go under you had a feeling like you were drowning. I woke up one time and I thought: where the hell am I? I had a feeling I was in my Aunt Flossie's house, which I had liked as a child. I thought I must have passed out drunk.' He laughs. 'This was after the 14th treatment I think.'

When his wife came to see him he knew something was wrong but he did not know what it was. A nurse started to cry because she knew that his wife had divorced him while he had been in hospital. 'The funny thing about insane people,' he says, 'is that it is kind of the opposite of being a celebrity. Nobody envies you.'

Pirsig was able to keep a tenuous grip on his former self, despite the treatment. He figured that if he told anyone he was in fact an enlightened Zen disciple, they would lock him up for 50 years. So he worked out a new strategy of getting his ideas across. He embarked on a book based on a motorcycle ride he made with his son, Chris, from Minnesota to the Dakotas in 1968. 'It was a compulsive thing. It started out of a little essay. I wanted to write about motorcycling because I was having such fun doing it, and it grew organically from there.'

When the book came out, in 1974, edited down from 800,000 words, and having been turned down by 121 publishers, it seemed immediately to catch the need of the time. George Steiner in the New Yorker likened it to Moby Dick. Robert Redford tried to buy the film rights (Pirsig refused). It has since taken on a life of its own, and though parts feel dated, its quest for meaning still seems urgent. For Pirsig, however, it has become a tragic book in some ways. At the heart of it was his relationship with his son, Chris, then 12, who himself, unsettled by his father's mania, seemed close to a breakdown. In 1979, aged 22, Chris was stabbed and killed by a mugger as he came out of the Zen Centre in San Francisco. Subsequent copies of the book have carried a moving afterword by Pirsig. 'I think about him, have dreams about him, miss him still,' he says now. 'He wasn't a perfect kid, he did a lot of things wrong, but he was my son ...'

I ask what Chris thought of the book, and Pirsig's face strains a little.

'He didn't like it. He said, "Dad, I had a good time on that trip. It was all false." It threw him terribly. There is stuff I can't talk about still. Katagiri Roshi, who helped me set up the Zen Centre in Minnesota, took him in hand in San Francisco. When Katagiri gave Chris's funeral address tears were just running down his face. He suffered almost more than I did.'

When his son died, Pirsig was in England. He had sailed across the Atlantic with his second wife, Wendy Kimball, 22 years his junior, whom he had met when she had come to interview him on his boat. She has never disembarked. He was working at the time on Lila, the sequel to his first book, which further examines Phaedrus's ideas in the context of a voyage along the Hudson, with Lila, a raddled Siren, as crew.

The book is bleaker, messier than Zen and the Art of Motorcycle Maintenance, though it carries a lot of the charge of Pirsig's restless mind. 'If I wrote it today,' he says, 'it would be a much more cheerful book. But I was resolving things in Lila; the sadness of the past, and particularly Chris's death, is there. Zen was quite an inspiring book, I think, but I wanted to go in the other direction with Lila and do something that explored a more sordid, depressing life ...'

He hoped Lila would force the 'metaphysics of quality' from the New Age shelves to the philosophy ones, but that has not happened. Though a website dedicated to his ideas boasts 50,000 posts, and there have been outposts of academic interest, he is disappointed that his books have not had more mainstream attention. 'Most academic philosophers ignore it, or badmouth it quietly, and I wondered why that was. I suspect it may have something to do with my insistence that "quality" can not be defined,' he says.

This desire to be incorporated in a philosophy canon seems odd anyhow, since the power of Pirsig's books lie in their dynamic personal quest for value, rather than any fixed statement of it. But maybe eventually every iconoclast wants to be accepted.

He still sails. He lives in rural New England and has just been up to the islands of Maine with his wife on the same boat that he describes in Lila - perfectly maintained, of course. He lives these days in cyberspace, he says, where his ideas circulate. He plans to learn to tango, and visit Buenos Aires. He's just discovered YouTube. He doesn't write any more, though, and he hardly reads. I wonder if that old depression ever returns?

'I've been hit with it lately,' he says. 'It did not seem related to my life in any way. I have money, fame, a happy wife, our daughter Nell. But I did for the first time go to a psychiatrist. He said it's a chemical imbalance and he prescribed some pills and the depression has gone.'

Otherwise, he says, he tries to live as best he can to the dictates of 'his dharma': to stay centred. I ask if he fears death.

'I'm not depressed about it,' he says. 'If you read the 101 Zen Stories you will see that is characteristic. I really don't mind dying because I figure I haven't wasted this life. Up until my first book was published I had all this potential, people would say, and I screwed up. After it, I could say: No, I didn't screw up.'

He smiles. 'It was just that I was listening to a different drummer all along.'

''Pirsig's pearls''

· The Buddha resides as comfortably in the circuits of a digital computer or the gears of a cycle transmission as he does at the top of a mountain.

· Metaphysics is a restaurant where they give you a 30,000 page menu and no food.

· Traditional scientific method has always been, at the very best, 20-20 hindsight. It's good for seeing where you've been. It's good for testing the truth of what you think you know, but it can't tell you where you ought to go.

· Why, for example, should a group of simple, stable compounds of carbon, hydrogen, oxygen and nitrogen struggle for billions of years to organise themselves into a professor of chemistry? What's the motive?

· The only Zen you find on the tops of mountains is the Zen you bring up there.

''Now and Zen''

Born 6 September 1928, Minneapolis.

Family Father was a law lecturer and mother was Swedish-born. Pirsig married Nancy Ann James in 1954. They had two sons: Chris, and Ted, now 48. Now married to journalist Wendy Kimball, with whom he has a 25-year-old daughter, Nell.

Education Judged to have an IQ of 170 at age nine. Went to University of Minneapolis at 15, but joined the army in 1946, serving in Korea before returning to the university to study philosophy. Then studied at Benares in India.

Zen and the Art of Motorcycle Maintenance Appears in Guinness Book of Records as the bestselling book rejected by the largest number of publishers (121). Sold 5m copies worldwide.

· Lila is published by Alma Books (£7.99). A slipcased, signed limited edition is available at selected Waterstone's (£45)
<<notes heading:'Rays Notes'>> 
|Description:|Provides a new date format ('pppp') that displays times such as '2 days ago'|
|Version:|1.0 ($Rev: 3646 $)|
|Date:|$Date: 2008-02-27 02:34:38 +1000 (Wed, 27 Feb 2008) $|
|Author:|Simon Baird <simon.baird@gmail.com>|
* If you want to you can rename this plugin. :) Some suggestions: LastUpdatedPlugin, RelativeDatesPlugin, SmartDatesPlugin, SexyDatesPlugin.
* Inspired by http://ejohn.org/files/pretty.js
Date.prototype.prettyDate = function() {
	var diff = (((new Date()).getTime() - this.getTime()) / 1000);
	var day_diff = Math.floor(diff / 86400);

	if (isNaN(day_diff))      return "";
	else if (diff < 0)        return "in the future";
	else if (diff < 60)       return "just now";
	else if (diff < 120)      return "1 minute ago";
	else if (diff < 3600)     return Math.floor(diff/60) + " minutes ago";
	else if (diff < 7200)     return "1 hour ago";
	else if (diff < 86400)    return Math.floor(diff/3600) + " hours ago";
	else if (day_diff == 1)   return "Yesterday";
	else if (day_diff < 7)    return day_diff + " days ago";
	else if (day_diff < 14)   return  "a week ago";
	else if (day_diff < 31)   return Math.ceil(day_diff/7) + " weeks ago";
	else if (day_diff < 62)   return "a month ago";
	else if (day_diff < 365)  return "about " + Math.ceil(day_diff/31) + " months ago";
	else if (day_diff < 730)  return "a year ago";
	else                      return Math.ceil(day_diff/365) + " years ago";

Date.prototype.formatString_orig_mptw = Date.prototype.formatString;

Date.prototype.formatString = function(template) {
	return this.formatString_orig_mptw(template).replace(/pppp/,this.prettyDate());

// for MPTW. otherwise edit your ViewTemplate as required.
// config.mptwDateFormat = 'pppp (DD/MM/YY)'; 
config.mptwDateFormat = 'pppp'; 


[img[http://graphics8.nytimes.com/images/2014/01/02/business/02-STATE-JP1/02-STATE-JP1-articleLarge.jpg]]<<formTiddler NewArticleTemplate>><data>{"articletitle":"Civilian Photography, Now Rising to New Level","author":"KIT EATON"}</data>
January 1, 2014
Civilian Photography, Now Rising to New Level
Five years ago, the DJI Phantom 2 Vision would have seemed like a science fiction film prop or a piece of surveillance hardware flown only by the sexiest of superspies. But it is the first camera-carrying drone you may want to own — and you could do that without spending thousands of dollars.

This drone is an intelligent, remote-controlled air vehicle that can fly far out of direct line of sight of its operator. It can record great video and photo stills from a thousand feet in the air over whatever “target” you can imagine. If it loses the connection to its remote control, it can even use GPS to fly automatically back to its launching point and land by itself. It is just like what you see on the news, only smaller, with about 20 to 25 minutes of flying time and less aggressive missions.

I’m not exaggerating here: From the moment I opened the (huge) box containing this four-bladed flying machine and its remote control, I felt a degree of wariness that I imagine you’d feel if a bit of a stealth bomber fell off and landed in your backyard.

But once that wariness wore off, and I’d gotten over the complexity of the hardware, the one word to sum up the Phantom 2 Vision is fun. Oh, my goodness, this thing is fun.

The Vision is the latest quadrocopter from DJI, which has been in the business for a relatively short while. It’s not a toy by any means — and at $1,200, it is certainly not cheap. But it’s a world away from those tiny $20 remote-control helicopters that probably filled many a stocking this Christmas. The Vision is serious hardware.

DJI has learned from the experience of its earlier Phantom drone, which is similar in appearance and still on sale at a reduced price of around $500. The older machine could carry a camera, like a GoPro, but you had to supply your own and mating it to the drone was expensive and tricky, often resulting in wobbly video.

The Vision has better systems, including an improved battery unit that can be extracted from the drone to be charged, plus better flight software. Its best feature, though, is the dedicated high-res camera slung under its belly, mounted on a special vibration-reducing platform.

Live video from the camera is streamed over a Wi-Fi link to your iOS or Android smartphone running DJI’s app. The app has controls for tilting the camera, activating a video capture or snapping a still photo. By tilting the camera, you can aim it more easily in flight to capture images at different angles. And while flying the drone using the traditional remote controller, you can watch the video feed on the app to take the drone beyond where you can see it.

Testing the Vision in a forest clearing, I could fly it up through the opening in the trees, then when it was high above the leaves I could fly it farther just by looking at the display on the phone. It’s incredible.

With the Vision, you can accurately film things that you would otherwise find hard to see properly with your own eyes — like a historic building from the right angle, or surfers from a vantage point close to the waves. It is easy to imagine how the Vision could be useful for sports photographers, architectural photographers and even event photographers — because you know drone videos are going to be the next wedding special effect.

But is the built-in camera up to the job? Absolutely. Like the GoPro units it’s meant to replace, the unit has a wide-angle view and can record video onto an onboard micro-SD card in full HD at up to 1080i resolution and 60 frames a second. The vibration-reducing mount really does seem to do the job, too, resulting in smooth images.

This is particularly true if the drone isn’t maneuvering when you hit Record. The camera doesn’t record audio, but most external sounds would be drowned out by the loud whizzing of the nearby props and their electric motors.

Still images are captured at 14-megapixel resolution, which matches some high-end D.S.L.R. cameras, and the unit seems to do a good job of coping with a variety of lighting conditions. If the lighting is difficult, perhaps from bright sunlight, you can control some features, like white balance or shutter speed, from the app.

The imaging unit is not without flaws, and it’s not as powerful as a professional hand-held S.L.R. camera. For example, there’s a noticeable fish-eye distortion in the image that comes from the unit’s really wide vision angle, and you can’t zoom the field of view.

Even though the Vision is a large, complicated device, flying it is far easier than flying a traditional remote control helicopter or a large R.C. aircraft, thanks in part to its intelligence. If you let go of the controls, for instance, the Vision will use its GPS system to stop where it is in midair, keeping itself more or less stationary both horizontally and vertically, even in blustery wind conditions.

Still, all is not smooth sailing. First, it comes with a 50-plus page manual, which you must read, because what you’re flying is in effect a very light aircraft. The last thing you want to do is to crash it, damaging your machine or potentially even hurting someone with its 14-inch-wide, three-pound mass and whirling blades.

And despite its automatic systems, you are going to have quite a learning curve to safely and confidently fly the Vision — particularly if you’re going to take it beyond where you can see it directly.

Another thing to consider is that regulations governing drones — whether for commercial use or by hobbyists — differ among countries and localities and are changing quickly. So it is best to check the local rules before you fly.

As with real aircraft, dangerous moments happen near the ground. Manually landing the drone is hard, and takes practice. You’re going to bump it into the ground a few times. Luckily the body is sturdy, and it probably won’t get damaged. The one time I did this, all that happened was that it got muddy as the blades dug into the soft forest floor.

Using the remote control’s traditional twin joysticks while tapping on the dedicated smartphone app to control the camera is tricky. You almost have to have three hands. You can, however, rely on the Vision’s autopilot to handle the flying for a moment or two so you can set up a photograph properly.

It’s also tough to keep on top of charging all the batteries needed. The remote takes standard AAs, but the drone has a huge lithium battery that charges with a special wall unit. There’s also a “Wi-Fi range extender” bolted to the top of the remote control to connect your smartphone to the Vision’s camera; this is charged over a micro-USB cable and another wall charger.

And you have to remember to keep your smartphone charged to actually fly the drone.

Once you’ve gotten past all this, you are in for pure excitement, plus great video and stills.

For professional photographers or videographers looking for an unusual shot in decent digital resolution, it may well be worth the price tag. For the rest of us, it’s a way to have a bit of tomorrow’s tech in your hands today.

Kit Eaton, a regular contributor to The Times, is a guest columnist for State of the Art.
|Description:|Changes tag links to make it easier to open tags as tiddlers|
|Version:|3.0.1 ($Rev: 3861 $)|
|Date:|$Date: 2008-03-08 10:53:09 +1000 (Sat, 08 Mar 2008) $|
|Author:|Simon Baird <simon.baird@gmail.com>|
config.quickOpenTag = {

	dropdownChar: (document.all ? "\u25bc" : "\u25be"), // the little one doesn't work in IE?

	createTagButton: function(place,tag,excludeTiddler) {
		// little hack so we can do this: <<tag PrettyTagName|RealTagName>>
		var splitTag = tag.split("|");
		var pretty = tag;
		if (splitTag.length == 2) {
			tag = splitTag[1];
			pretty = splitTag[0];
		var sp = createTiddlyElement(place,"span",null,"quickopentag");
		var theTag = createTiddlyButton(sp,config.quickOpenTag.dropdownChar,
		if (excludeTiddler)

	miniTagHandler: function(place,macroName,params,wikifier,paramString,tiddler) {
		var tagged = store.getTaggedTiddlers(tiddler.title);
		if (tagged.length > 0) {
			var theTag = createTiddlyButton(place,config.quickOpenTag.dropdownChar,
			theTag.className = "miniTag";

	allTagsHandler: function(place,macroName,params) {
		var tags = store.getTags(params[0]);
		var filter = params[1]; // new feature
		var ul = createTiddlyElement(place,"ul");
		if(tags.length == 0)
		for(var t=0; t<tags.length; t++) {
			var title = tags[t][0];
			if (!filter || (title.match(new RegExp('^'+filter)))) {
				var info = getTiddlyLinkInfo(title);
				var theListItem =createTiddlyElement(ul,"li");
				var theLink = createTiddlyLink(theListItem,tags[t][0],true);
				var theCount = " (" + tags[t][1] + ")";
				var theDropDownBtn = createTiddlyButton(theListItem," " +

	// todo fix these up a bit
	styles: [
"/* created by QuickOpenTagPlugin */",
".tagglyTagged .quickopentag, .tagged .quickopentag ",
"	{ margin-right:1.2em; border:1px solid #eee; padding:2px; padding-right:0px; padding-left:1px; }",
".quickopentag .tiddlyLink { padding:2px; padding-left:3px; }",
".quickopentag a.button { padding:1px; padding-left:2px; padding-right:2px;}",
"/* extra specificity to make it work right */",
"#displayArea .viewer .quickopentag a.button, ",
"#displayArea .viewer .quickopentag a.tiddyLink, ",
"#mainMenu .quickopentag a.tiddyLink, ",
"#mainMenu .quickopentag a.tiddyLink ",
"	{ border:0px solid black; }",
"#displayArea .viewer .quickopentag a.button, ",
"#mainMenu .quickopentag a.button ",
"	{ margin-left:0px; padding-left:2px; }",
"#displayArea .viewer .quickopentag a.tiddlyLink, ",
"#mainMenu .quickopentag a.tiddlyLink ",
"	{ margin-right:0px; padding-right:0px; padding-left:0px; margin-left:0px; }",
"a.miniTag {font-size:150%;} ",
"#mainMenu .quickopentag a.button ",
"	/* looks better in right justified main menus */",
"	{ margin-left:0px; padding-left:2px; margin-right:0px; padding-right:0px; }", 
"#topMenu .quickopentag { padding:0px; margin:0px; border:0px; }",
"#topMenu .quickopentag .tiddlyLink { padding-right:1px; margin-right:0px; }",
"#topMenu .quickopentag .button { padding-left:1px; margin-left:0px; border:0px; }",

	init: function() {
		// we fully replace these builtins. can't hijack them easily
		window.createTagButton = this.createTagButton;
		config.macros.allTags.handler = this.allTagsHandler;
		config.macros.miniTag = { handler: this.miniTagHandler };
		config.shadowTiddlers["QuickOpenTagStyles"] = this.styles;



|Description:|Allows you to easily rename or delete tags across multiple tiddlers|
|Version:|3.0 ($Rev: 5501 $)|
|Date:|$Date: 2008-06-10 23:11:55 +1000 (Tue, 10 Jun 2008) $|
|Author:|Simon Baird <simon.baird@gmail.com>|
Rename a tag and you will be prompted to rename it in all its tagged tiddlers.
config.renameTags = {

	prompts: {
		rename: "Rename the tag '%0' to '%1' in %2 tidder%3?",
		remove: "Remove the tag '%0' from %1 tidder%2?"

	removeTag: function(tag,tiddlers) {
		for (var i=0;i<tiddlers.length;i++) {

	renameTag: function(oldTag,newTag,tiddlers) {
		for (var i=0;i<tiddlers.length;i++) {
			store.setTiddlerTag(tiddlers[i].title,false,oldTag); // remove old
			store.setTiddlerTag(tiddlers[i].title,true,newTag);  // add new

	storeMethods: {

		saveTiddler_orig_renameTags: TiddlyWiki.prototype.saveTiddler,

		saveTiddler: function(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created) {
			if (title != newTitle) {
				var tagged = this.getTaggedTiddlers(title);
				if (tagged.length > 0) {
					// then we are renaming a tag
					if (confirm(config.renameTags.prompts.rename.format([title,newTitle,tagged.length,tagged.length>1?"s":""])))

					if (!this.tiddlerExists(title) && newBody == "")
						// dont create unwanted tiddler
						return null;
			return this.saveTiddler_orig_renameTags(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created);

		removeTiddler_orig_renameTags: TiddlyWiki.prototype.removeTiddler,

		removeTiddler: function(title) {
			var tagged = this.getTaggedTiddlers(title);
			if (tagged.length > 0)
				if (confirm(config.renameTags.prompts.remove.format([title,tagged.length,tagged.length>1?"s":""])))
			return this.removeTiddler_orig_renameTags(title);


	init: function() {



[img[http://www.batimes.com/images/larson_feb18.jpg]]<<formTiddler NewArticleTemplate>>''Requirements vs. Design - Does it Really Matter?''

Written by  Elizabeth Larson & Richard Larson

Much has been written recently about design in the business analysis field. Some writers have even suggested that since most or all of what we do is about design, then requirements don't matter anymore. It is popular - even exciting perhaps - for BAs to think of ourselves as designers, since much of the work we do results in solutions. We don’t disagree with the trend and the main concern prompting us to write this article is to point out the importance of including the “as is” state as part of any requirements – or should we say design - effort.

In thinking about the topic it is our opinion that a) perhaps people lack some perspective on where and how business analysis has evolved and b) the debate about requirements vs. design may be mostly one of semantics. Over the years, Elizabeth and I along with many others, have worked hard to help the BA profession carve out its place in the business world.This effort has involved moving from the extremes of having either a technical, systems analyst role or an administrative business “super user” role do the business analysis work. 

Part of the impetus for the new design focus has been a strong aversion by some in the Agile community to business analysts or business analysis. Those who feel strongly tend to concentrate on the design aspects of a new product and don’t see the need for much if any actual analysis of the business or business need. (See Tony Heap’s blog its-all-design.com for an example. ) If business analysts are now just designers and we need little analysis, we are moving back to the earlier systems analyst role. Although that might be a satisfying career move for some, it does not usually serve the organization well. To say that we don’t need to worry about requirements is missing the essence of what a business analyst can and should be.

Early in Rich’s career he worked as a programmer-analyst doing COBOOL programming with a variety of databases. That was a euphemism for a role that was 90% design/programming and 10% analysis as we know it today. In thinking back, our jobs then were to implement decisions made at higher levels in the organization, both from the CIO and business management levels. Although we met occasionally with business stakeholders, we generally worked to adapt the business to available technology. While today’s “design” does not imply that we have to ignore business needs, it does suggest that we will focus on solutions without truly understanding the needs.

Haven’t we moved beyond that approach over the last few decades?

Let’s walk through some reasons why the emphasis on design over analysis is an issue. Being only or mostly interested in “design” implies that we don’t care about the “as is” state anymore, as is suggested in recent articles, blogs, and discussion groups. (See David Morris’ article, We Are All Designers Now. ) Without understanding the current situation, we cannot hope to understand:

How end users’ jobs will change with the implementation of the new product or product increment. If we do not know the extent of the change we cannot help workers adapt to the change, which increases the risk of lack of buy-in, unhappiness, and even possible sabotage.
Which of the issues with the “as-is” need to be addressed. If we implement new processes and systems without curing existing ills, we will lose credibility.
No new product or solution is devoid of the current state. Even when we create a brand new product or service, it must fit into the current environment and infrastructure. That means we will have requirements that must be met – not designs - to ensure the new solution contains existing functionality that works and without which the new product cannot perform adequately.
In addition, most of us work on projects that are not entirely new products, but replacements and enhancements of existing systems or processes. These efforts need plenty of analysis of the “as is” state and its corresponding requirements to make sure the changes we bring will fit into the rest of the business operation.
Even for brand new products, there are many business rules and decisions that apply across projects and should be taken into account for the project at hand. For example, the new Training Management System we built for our web site was contracted to a development company. The “specification” the development company used represented our decisions (i.e., business requirements) about what was to be built. The specification was clearly not a design – that was done by the developers – but represented our needs and requirements for the new system.
The BABOK® Guide version 3 talks about requirements being the representation of a need and design as a representation of a solution. That is a workable distinction, although it is a bit awkward to talk about “designs” at the same level as requirements. To understand the distinction better, it helps to substitute the words for the process instead of the outputs:
Analysis is understanding the needs and requirements and communicating them to the builders of a solution.
Design is how new features and functions will be incorporated into a solution, plus maintaining existing requirements that should be kept in the new solution.
The last point is perhaps our biggest concern with the new thinking. The business analysis community has fought for years to keep analysis distinct from technical design. In the end, we don’t care that fashioning a solution is called design. After all, what is now being called design is nothing different from calling the output of the process “To-be” requirements.

To illustrate our point, consider Figure 1. The example might be a typical enhancement to an existing system or process. In the traditional business analysis approach, the “as-Is” state is analyzed as a starting point to capture processes, data, and interactions that must be kept for any new solution. Those are “as-is” requirements.

The “current state to be retained” in the “Design” box below are also requirements. They could be processes, data, or user and system interfaces. The design process comes into play when determining how to integrate them with the new features being added. Those new features could equally be called “To Be” requirements as well as design. This is not technical or physical design, but the “logical” design mentioned earlier.

larson feb18

Examples of “To Be” requirements (or design if you prefer) include many traditional BA outputs including:

Process models showing an “As Is” as well as a new business process.
Data models showing “To Be” data requirements and business rules relating to the relationships between entities.
Use Case models with interaction requirements and corresponding business rules.
Prototypes and mock-ups indicating interface requirements. These models tend to cause the most “overlap angst” with other staff such as UX experts. Data models come in a close second in the “don’t step on my turf” confrontations.
Interfaces with other systems.
In the end as long as we are talking about “logical” design and not technical or physical design, the authors agree with the current trend calling BAs designers. In actuality, BAs have always been designers because we help people conceptualize and visualize solutions that will help businesses meet goals and objectives through solutions. As long as we don’t forget the importance of “As Is” and “To Be” requirements and the part they both play in any solution, then emphasizing design over requirements becomes to us an academic argument.

Don't forget to leave your comments below.

The Best Reason to call BAs Designers?
Perhaps the biggest reason to call our work design has nothing to do with the BABOK or Agile. It is financial. Yes, the accountants are reluctant to capitalize analysis work, but they do allow capitalizing design work. This makes a huge difference for funding of projects since capitalized costs can be spread out over the useful life of the product being built.

Elizabeth and I have a friend who runs a consulting firm in Minneapolis. He tells us his clients won’t typically pay for “analysis” or “requirements” work. But, he also understands the value of business analysis for the success of his company’s projects. So if he couches the same work as “design,” the clients are more willing to pay for it.<data>{"journalinfo":"BA Times","articletitle":"Requirements vs. Design - Does it Really Matter?","author":"Elizabeth Larson & Richard Larson","pagenumbers":"201402","primtopic":"Role of BA"}</data>
<<formTiddler NewArticleTemplate>>''Tasks and functions of the marketing department of the bank''

Functions - planning of marketing activities, implementation, monitoring and adjustment. Marketing helps to develop strategic plans for the bank, which in turn determine the role of marketing in the bank.

Marketing Service of the bank is focused on the consumer. However, marketers should consider the opinion of other departments and work with them in the development of plans to ensure the achievement of common strategic objectives of the bank.

Realizing its role in the bank, marketers are in the process of marketing. The focus of marketing is the customer.

The bank divides the market into segments and chooses for himself those that provide the best opportunity for him.
The bank must then develop marketing mix in order to launch a banking product and to provide him a competitive advantage through the effective positioning in the market. In order to develop the best marketing mix and successfully implement it, the bank's marketing department is engaged in marketing analysis, marketing planning, marketing implementation and marketing control.

To ensure normal operation in each direction on marketing should begin with the preparation of planning documents that take into account the full scope of services. The main part of the marketing plan includes a review of plan marketing activities, market analysis, opportunities and threats, challenges and issues, marketing strategies, action programs, budget and control.

The transition from marketing strategies to marketing actions include three key elements: action program defines the main tasks and activities necessary to implement a marketing plan, indicating the performers and the timing of the work, the organizational structure defines the tasks and powers of officers of the bank marketing, as well as coordinate their efforts; decision-making system and the rewards of marketing the bank's co-ordinates these types of marketing activities such as planning, information, budgeting, compensation, promotion and training.

Well-designed program of action, efficient organizational structure and decision-making system and ensure effective implementation of incentive marketing plan.

Given the above concepts let us consider, in relation to the bank, developed the theory of marketing models and methods for analyzing the behavior of buyers in the market of potential customers, consumers and corporate clients, as well as the specifics of their service. Isolation of two classes of customers based on the following interpretation of the concepts of consumers and customers in a classic marketing: "Consumers may be anonymous to the company, customers can not be anonymous.

Consumers are served as part of a mass or as part of a large segment, customers are serviced on an individual basis ... consumers served by someone who currently can service, customers are served by a professional ... ... working for them. "As to our definition of the customer's bank, this classical marketing to customers are treated as" consumers "and" clients ", then their differences will be using the terms " client-consumers "and" corporate clients ".
<data>{"articletitle":"Tasks and functions of the marketing department of the bank","journalinfo":"Bankbests.com","primtopic":"Marketing Dept function in a bank"}</data>
[img[http://3-ps.googleusercontent.com/x/www.thaivisa.com/thainews.prd.go.th/centerWeb/Uploads/Image/2556/10/07/xPNSOC561007001000701.jpg.pagespeed.ic.crj4Nu9Iyx.webp]]<<formTiddler NewArticleTemplate>><data>{"journalinfo":"ThaiVisa","pagenumbers":"20131007","primtopic":"Rubbish on the beach","synopsis":"Strange variation in claims about rubbish on the beach","articletitle":"Insurmountable trash washed up on Bang Saen beach reaching 10 tons per day"}</data>Insurmountable trash washed up on Bang Saen beach reaching 10 tons per day

BANGKOK, 7 October 2013 (NNT) – Not far from Bangkok, Bang Saen Beach in Chon Buri, a well-known tourist destination, is experiencing a bombardment of @@up to 10 tons of trash being washed up on its shores daily@@.

The 4.5 kilometer beach, also known as “Bang Saen the Utopia”, is currently dealing with its chronic problem of trash and sediment polluting the area. Mayor of Saen Suk, Narongchai Khunplome elaborated on the issue that each annual monsoon will bring in trash collected from various “rivers’ mouths” or deltas, as the beach is geographically located in a point that particularly receives a lot of the ocean's incoming waves.

@@Up to 10 tons of waste and garbage are washed up on the shores of Bang Saen beach each year@@ - making it necessary for officials to start the clean up from as early as 5 am each morning in order to prepare the beach for tourists.

Trash-catching buoys have also been installed to help alleviate the problem, but with limited results. According to the Pollution Control Department (PCD), the trash buildup amounted to 16 million tons for the whole year of 2012, or @@approximately 43,000 tons per day@@.
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
C'mon Editors...how much rubbish is there?
<<formTiddler NewArticleTemplate>>''Align your sales and marketing''

Sales team complaining about low quality leads, and marketing team unhappy about the lack of sales follow up? This is a familiar situation in many businesses.

To drive significant results from your marketing, it's time to close the gap between your sales and marketing objectives, and centralise their plans.

Our approach is to build an integrated strategy reflecting the stages of the customer's buying journey through the sales pipeline, taking into account the rates of conversion and time lag in decision making, and reflecting the contributions of both sales and marketing to generating revenues and gaining new customers.

Steps to building a sales and marketing strategy
Designed for companies with a centralised marketing function and active sales teams, Australian Business Consulting & Solutions will create a cohesive sales and marketing plan using the following approach.
Step 1: business objectives
Define the business objectives and direction which the sales and marketing strategies are supporting. Ensure clarity and understanding.
Step 2: target market
Broad customer segmentation completed, including demographic profiles, purchasing behaviour, needs and value.
Step 3: definition of solution
Define the solution offered to and desired by customer segments, and range of services that should be offered.
Step 4: strategic position
Against the key brand values and desired outcomes by customers (for example: price, speedy turnaround, high quality), define the position that the company should occupy within the marketplace. Perform a Competitor Overview, comparing relative key strengths and weaknesses to identify opportunities.

This review will lead to the definition of a Unique Selling Proposition (USP) relative to other companies, which can be emphasised in marketing and sales activity.
Step 5: identify marketing objectives and alignment with sales objectives
Based on the business objectives, customer segmentation/value and percentage of repeat business, we will model the number of new clients and customer retention rate required to achieve the revenue objectives.
Step 6: marketing strategy
Broad strategic framework will be outlined, including identification of key marketing channels, the objective behind their use, and integration between channels.

Channels will include:
direct mail
social media
Step 7: marketing plan and campaign development
A marketing plan will be developed, to align with sales activities and overall business objectives. A pipeline model will be used to determine the objectives for each step of the individual campaigns, with specific goals for both sales and marketing.

The individual campaigns will be integrated into a twelve month marketing plan, including suggested timeframes and the responsibilities of marketing and sales teams.
<<formTiddler NewArticleTemplate>>''Examples of Sales Force Objectives & Strategies''
by David Ingram, Demand Media

Sales forces drive revenue for their employers by actively seeking out and engaging customer prospects. Sales can be described as the most personal branch of the marketing function, as salespeople often work directly with customers, either face to face, over the phone or in online sales chat. Sales force objectives and strategies are mainly concerned with boosting companies' top-line revenue growth but may also strive to reduce marketing costs and increase profitability.

Sales Growth
The most basic of sales force objectives is to raise the total sales numbers in each period, generally each week, month or quarter. Sales forces record the number of customers served daily, and sales managers view detailed reports displaying trends in daily sales volume.

An example of a strategy used to achieve a revenue growth objective is to institute a commission compensation program for salespeople in addition to base salaries. This can motivate salespeople to push themselves harder to beat their personal sales records.

Sales Force Turnover
The sales component of marketing can experience one of the highest employee turnover rates of any area of business, as new salespeople are often ill equipped for the stresses and demands of the job. One possible objective of sales forces is to continually reduce their level of employee turnover, which can increase sales productivity and reduce training costs.

Two possible strategies to achieve this objective include rewriting job postings to make sure job applicants fully understand the nature of the work, and adding stress and conflict management role-playing scenarios to new-hire training programs.

Related Reading: Objectives for Hosting a Sales Conference

Repeat Customers
Repeat customers can be a company's most profitable customers. One possible objective of a sales team is to increase the number of sales made to existing customers compared to first-time buyers.

Customer-relationship management or CRM strategies can help to achieve this objective, strengthening relationships with customers and turning repeat customers into champions for the brand.

Up-Sell Strategies
In settings where customers come to salespeople, such as retail outlets and inbound call centers, sales forces commonly have an objective of increasing the average total amount of each transaction through a technique called up-selling. Up-selling is the art of strategically suggesting one more item to compliment what a customer has already ordered. While up-selling can contribute to the sales growth objective mentioned above, it can also reduce inventory holding costs, reduce inventory cycle time and boost profitability.

Sales team competitions with rewards that employees actually want can motivate team members to try up-selling with each customer and to be more strategic in their up-selling pitches.<data>{"journalinfo":"Demand Media","author":"David Ingram","articletitle":"Examples of Sales Force Objectives & Strategies","primtopic":"Sales strategies","synopsis":"Relationship between Marketing and Sales"}</data>
|Description:|Provides two extra toolbar commands, saveCloseTiddler and cancelCloseTiddler|
|Version:|3.0 ($Rev: 5502 $)|
|Date:|$Date: 2008-06-10 23:31:39 +1000 (Tue, 10 Jun 2008) $|
|Author:|Simon Baird <simon.baird@gmail.com>|
To use these you must add them to the tool bar in your EditTemplate

	saveCloseTiddler: {
		text: 'done/close',
		tooltip: 'Save changes to this tiddler and close it',
		handler: function(ev,src,title) {
			var closeTitle = title;
			var newTitle = story.saveTiddler(title,ev.shiftKey);
			if (newTitle)
				closeTitle = newTitle;
			return config.commands.closeTiddler.handler(ev,src,closeTitle);

	cancelCloseTiddler: {
		text: 'cancel/close',
		tooltip: 'Undo changes to this tiddler and close it',
		handler: function(ev,src,title) {
			// the same as closeTiddler now actually
			return config.commands.closeTiddler.handler(ev,src,title);



|Description:|Lets you easily switch theme and palette|
|Version:|1.0 ($Rev: 3646 $)|
|Date:|$Date: 2008-02-27 02:34:38 +1000 (Wed, 27 Feb 2008) $|
|Author:|Simon Baird <simon.baird@gmail.com>|
* Borrows largely from ThemeSwitcherPlugin by Martin Budden http://www.martinswiki.com/#ThemeSwitcherPlugin
* Theme is cookie based. But set a default by setting config.options.txtTheme in MptwConfigPlugin (for example)
* Palette is not cookie based. It actually overwrites your ColorPalette tiddler when you select a palette, so beware. 
* {{{<<selectTheme>>}}} makes a dropdown selector
* {{{<<selectPalette>>}}} makes a dropdown selector
* {{{<<applyTheme>>}}} applies the current tiddler as a theme
* {{{<<applyPalette>>}}} applies the current tiddler as a palette
* {{{<<applyTheme TiddlerName>>}}} applies TiddlerName as a theme
* {{{<<applyPalette TiddlerName>>}}} applies TiddlerName as a palette

config.macros.selectTheme = {
	label: {
      		selectTheme:"select theme",
      		selectPalette:"select palette"
	prompt: {
		selectTheme:"Select the current theme",
		selectPalette:"Select the current palette"
	tags: {

config.macros.selectTheme.handler = function(place,macroName)
	var btn = createTiddlyButton(place,this.label[macroName],this.prompt[macroName],this.onClick);
	// want to handle palettes and themes with same code. use mode attribute to distinguish

config.macros.selectTheme.onClick = function(ev)
	var e = ev ? ev : window.event;
	var popup = Popup.create(this);
	var mode = this.getAttribute('mode');
	var tiddlers = store.getTaggedTiddlers(config.macros.selectTheme.tags[mode]);
	// for default
	if (mode == "selectPalette") {
		var btn = createTiddlyButton(createTiddlyElement(popup,'li'),"(default)","default color palette",config.macros.selectTheme.onClickTheme);
	for(var i=0; i<tiddlers.length; i++) {
		var t = tiddlers[i].title;
		var name = store.getTiddlerSlice(t,'Name');
		var desc = store.getTiddlerSlice(t,'Description');
		var btn = createTiddlyButton(createTiddlyElement(popup,'li'),name ? name : title,desc ? desc : config.macros.selectTheme.label['mode'],config.macros.selectTheme.onClickTheme);
	return stopEvent(e);

config.macros.selectTheme.onClickTheme = function(ev)
	var mode = this.getAttribute('mode');
	var theme = this.getAttribute('theme');
	if (mode == 'selectTheme')
	else // selectPalette
	return false;

config.macros.selectTheme.updatePalette = function(title)
	if (title != "") {
		if (title != "(default)")

config.macros.applyTheme = {
	label: "apply",
	prompt: "apply this theme or palette" // i'm lazy

config.macros.applyTheme.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
	var useTiddler = params[0] ? params[0] : tiddler.title;
	var btn = createTiddlyButton(place,this.label,this.prompt,config.macros.selectTheme.onClickTheme);
	btn.setAttribute('mode',macroName=="applyTheme"?"selectTheme":"selectPalette"); // a bit untidy here

config.macros.selectPalette = config.macros.selectTheme;
config.macros.applyPalette = config.macros.applyTheme;

config.macros.refreshAll = { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
	createTiddlyButton(place,"refresh","refresh layout and styles",function() { refreshAll(); });


<<search>><<closeAll>><<permaview>><<newTiddler title:"Add title here" label:"new article" text:{{"<<formTiddler NewArticleTemplate\>\>"}} tag:"article">><<newTiddler>><<saveChanges>><<tiddler TspotSidebar>><<slider chkSliderOptionsPanel OptionsPanel "options »" "Change TiddlyWiki advanced options">>
a repository for articles of interest
<<slideShow noClicks forceRefresh>> - A simple slide show that keeps the TW style 
<<slideShow style:'MySSStyleSheet' clock:'+'>> - A themed slide show with a clock showing the presentation elapsed time
<<slideShow repeat clock:'-20'>> - A looping slide show with a 20 minutes countdown clock
<<slideShow slidePause:1000>> - A timed slideshow that runs once
<<slideShow slidePause:1000 repeat>> - A timed looping slideshow
!The [[SlideShowPlugin]]
Press F11 to go fullscreen and adjust the font sizes with Ctrl++ Ctrl+- (or Ctrl+mousewheel).

This plugin was developed by Paulo Soares and Clint Checketts.
{{Comment{This block is not shown in the slide show.
@@Don't show me!!!@@}}}
!How slides are separated
In a tiddler, you start each slide with the markup {{{-s-}}}
Slides don't have to have titles like this poor one
!A slide with subsections and a long title
Check to TOC below to see how this slide title is abbreviated.
!!Section 1
This is a section
!!!Subsection 1.1
This is a subsection
!!!Subsection 1.2
This is another subsection
!!!!Subsubsection 1.2.1
This is a subsubsection
!Using the keyboard
The following keys are defined:
*Left arrow - previous overlay
*Down arrow - previous slide
*Right arrow - next overlay
*Up arrow - next slide
*Home - first slide
*End - last slide
*Escape - exit slide show
*Spacebar - pause/resume slide show in auto advance mode
!Slide show parameters
*The slide show can be themed by providing a ~StyleSheet ({{{<<slideShow style:'MyStyleSheet'>>}}})
*By default, there is a clock at bottom of the browser window that displays the current time. This clock can also show the presentation elapsed time with {{{<<slideShow clock:'+'>>}}} or a countdown clock with {{{<<slideShow clock:'-20'>>}}} (for 20 minutes). In these two cases, if you click on the clock display it will be restarted
*The slide show can be set to loop ({{{<<slideShow repeat>>}}})
*You can set it so each slide changes after X milliseconds ({{{<<slideShow slidePause:X>>}}}) (auto advance mode)
*Use auto start mode to begin the slideshow the moment the tiddler is opened ({{{<<slideShow autostart>>>}}})
*You can disable overlays with {{{<<slideShow noOverlays>>}}}
*These parameters can be mixed and matched in any order: {{{<<slideShow slidePause:1000 repeat>>}}} is the same as {{{<<slideShow repeat slidePause:1000>>}}}
To see how incremental display works use the left and right mouse buttons.
{{Overlay1{You can}}} {{Overlay2{present things}}} {{Overlay1{in an arbitrary order!!!}}}
{{Overlay3{Its a bit harder with lists but it works:}}}
<li class="Overlay4">First item</li>
<li class="Overlay5">Second item</li>
<li class="Overlay4">Last item</li>
{{Comment{You can hide comments on a slide that won't display in the slide show}}}
|''Description:''|Creates a simple slide show type display|
|''Date:''|Feb 12, 2008|
|''Documentation:''|[[SlideShowPlugin Documentation|SlideShowPluginDoc]]|
|''Author:''|Paulo Soares and [[Clint Checketts|http://www.checkettsweb.com]]|
|''License:''|[[Creative Commons Attribution-Share Alike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
config.macros.slideShow = {label: "slide show", maxTOCLength: 30};
config.macros.slideShow.messages = {gotoLabel: "Go to slide:"};
config.views.wikified.slideShow = {text: "slide show", tooltip: "Start slide show"};
config.views.wikified.slideShow.quit = {text: "end", tooltip: "Quit the slide show"};
config.views.wikified.slideShow.firstSlide = {text: "<<", tooltip: "first slide"};
config.views.wikified.slideShow.previousSlide = {text: "<", tooltip: "previous slide"};
config.views.wikified.slideShow.nextSlide = {text: ">", tooltip: "next slide"};
config.views.wikified.slideShow.lastSlide = {text: ">>", tooltip: "last slide"};
config.views.wikified.slideShow.resetClock = {text: " ", tooltip: "reset"};

config.formatters.push( {
	name: "SlideSeparator",
	match: "^-s-+$\\n?",
	handler: function(w) {

function changeStyleSheet(tiddlerName) {
	setStylesheet(store.getRecursiveTiddlerText(tiddlerName == null ? "StyleSheet" : tiddlerName,""),"StyleSheet");

//Excellent (and versatile) reparser created by Paul Petterson for parsing the paramString in a macro
function reparse( params ) {
	var re = /([^:\s]+)(?:\:((?:\d+)|(?:["'](?:[^"']+)["']))|\s|$)/g;
	var ret = new Array();
	var m;
	while( (m = re.exec( params )) != null ) ret[ m[1] ] = m[2]?m[2]:true;
	return ret;

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null ) node = document;
	if ( tag == null ) tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	var j=0;
	for (var i = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
	return classElements;

// 'keys' code adapted from S5 which in turn was adapted from MozPoint (http://mozpoint.mozdev.org/)
function keys(key) {
	if (document.getElementById('contentWrapper').className == "slideShowMode"){
		if (!key) {
			key = event;
			key.which = key.keyCode;
 		switch (key.which) {
			case 32: // spacebar
						autoAdvance = null;
					} else {
						autoAdvance=setInterval("GoToSlide(1)", time);
			case 34: // page down
			case 39: // rightkey
			case 40: // downkey
			case 33: // page up
			case 37: // leftkey
			case 38: // upkey
			case 36: // home
			case 35: // end
			case 27: // escape
			case 66: // B
	return false;

function blankScreen(){
	var blanker = document.getElementById('slideBlanker');
	if (blanker.style.display == 'block'){
		blanker.style.display = 'none';
	} else {
		blanker.style.display = 'block';

function clicker(e) {
	if (!e) var e = window.event;
	var target = resolveTarget(e);
	//Whenever something is clicked that won't advance the slide make sure that the table of contents gets hidden
	if (target.getAttribute('href') != null || isParentOrSelf(target, 'toc') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object') || isParentOrSelf(target, 'slideFooter') || isParentOrSelf(target, 'navigator')){
		 //Don't hide the TOC if the indexNumbers (which trigger the index) is clicked
		if(isParentOrSelf(target,'indexNumbers') || isParentOrSelf(target,'jumpInput')){
 			return true;
		return true;
	//Advance a slide if the TOC is visible otherwise make sure that the TOC gets hidden
	if ((!e.which && e.button == 1) || e.which == 1) {
		if (document.getElementById('toc').style.display != 'block'){
		} else {
	if ((!e.which && e.button == 2) || e.which == 3) {
		if (document.getElementById('toc').style.display != 'block'){
		} else {
		return false;

function isParentOrSelf(element, id) {
	if (element == null || element.nodeName=='BODY') return false;
	else if (element.id == id) return true;
	else return isParentOrSelf(element.parentNode, id);

GoToSlide = function(step) {
	var new_pos;
	var slideHolder = document.getElementById('slideContainer');
	//The parse float ensures that the attribute is returned as a number and not a string.
	var cur_pos = parseFloat(slideHolder.getAttribute('currentslide'));
	var numberSlides = parseFloat(slideHolder.getAttribute('numberSlides'));
	switch (step) {
		case "f":
		case "l":
		case "n":
			var numberOverlays = parseFloat(slideHolder.childNodes[cur_pos].getAttribute('numberOverlays'));
			var currentOverlay = parseFloat(slideHolder.getAttribute('currentOverlay'));
			if(numberOverlays==0 || currentOverlay==numberOverlays){
				if(noClicks==false) new_pos=cur_pos+1;
			} else {
				var className="Overlay"+currentOverlay;
				var overlay=getElementsByClass(className,slideHolder.childNodes[cur_pos]);
				for(var i=0; i<overlay.length; i++) {overlay[i].className=className+' previousOverlay';}
				for(i=0; i<overlay.length; i++) {overlay[i].className=className+' currentOverlay';}
				return false;
		case "p":
			var numberOverlays = parseFloat(slideHolder.childNodes[cur_pos].getAttribute('numberOverlays'));
			var currentOverlay = parseFloat(slideHolder.getAttribute('currentOverlay'));
			if(numberOverlays==0 || currentOverlay==0){
				if(noClicks==false) new_pos=cur_pos-1;
			} else {
				var className="Overlay"+currentOverlay;
				var overlays=getElementsByClass(className,slideHolder.childNodes[cur_pos]);
				for(var i=0; i<overlays.length; i++) {overlays[i].className=className+' nextOverlay';}
				for(i=0; i<overlays.length; i++) {overlays[i].className=className+' currentOverlay';}
				return false;
	if(slideShowCircularMode && new_pos == numberSlides) new_pos=0;
	if(slideShowCircularMode && new_pos<0) new_pos=(numberSlides - 1);
	if(step!=0 && new_pos>=0 && new_pos<numberSlides) {
		var numberOverlays = parseFloat(slideHolder.childNodes[new_pos].getAttribute('numberOverlays'));
			var currentOverlay=numberOverlays;
			var state=' previousOverlay';
		} else {
			var currentOverlay=0;
			var state=' nextOverlay';
		if(numberOverlays>0) {
			for(var i=1; i<=numberOverlays; i++){
				var className="Overlay"+i;
				var overlays=getElementsByClass(className,slideHolder.childNodes[new_pos]);
				for(var j=0; j<overlays.length; j++) {overlays[j].className=className+state;}
				var className="Overlay"+numberOverlays;
				var overlays=getElementsByClass(className,slideHolder.childNodes[new_pos]);
				for(var j=0; j<overlays.length; j++) {overlays[j].className=className+' currentOverlay';}
		var indexNumbers = document.getElementById('indexNumbers');
		indexNumbers.firstChild.data = new_pos+'/'+numberSlides;
		if((new_pos==numberSlides) && !slideShowCircularMode && autoAdvance) clearInterval(autoAdvance);
		return true;
	return false;

function tocShowSlide(e) {
	if (!e) var e = window.event;
	var target = resolveTarget(e);
	var slide = target.getAttribute('slideNumber');
	var cur_pos = document.getElementById('slideContainer').getAttribute('currentslide');
	var step = slide-cur_pos;
	if(step!=0) GoToSlide(step);

//Toggle the display of the table of contents
function showHideTOC(display){
	var toc = document.getElementById('toc');
	//Reset the input box
	document.getElementById('jumpInput').value = "";
	if (display == null || display.length == null){
		if (toc.style.display == 'none' || toc.style.display == ''){
			toc.style.display = 'block';
		} else {
			toc.style.display = 'none';
	} else {
		toc.style.display = display;
		if (display == 'block')

function padZero(x){return (x>=10 || x<0 ? "" : "0")+x;}

setClock = function(){
	var actualTime = new Date();
	var newTime = actualTime.getTime() - clockStartTime;
	newTime = clockMultiplier*newTime+clockInterval+clockCorrection;
	newTime = padZero(actualTime.getHours()) + ":" + padZero(actualTime.getMinutes());
//+ ":" + padZero(actualTime.getSeconds());
	var clock = document.getElementById('slideClock');
	clock.firstChild.nodeValue = newTime;

function resetClock(){
	var time = new Date(0);
		var startTime = new Date();

var title;
var place;
var autoAdvance=null;
var slideClock=null;
var noOverlays=false;
var noClicks=false;
var forceRefresh=false;
var time = 0;
var slideShowCircularMode;
var slideShowStyleSheet;
var slideShowParams;
var clockMultiplier;
var clockInterval;
var clockCorrection=0;
var clockStartTime;
var openTiddlers;

config.macros.slideShow.handler = function(aPlace,macroName,params,wikifier,paramString,tiddler){
	if(tiddler instanceof Tiddler){
		var lingo = config.views.wikified.slideShow;
		if (!e) var e = window.event;
 		place = aPlace;
		title = tiddler.title;
		params = reparse(paramString);
		var onclick = function(){config.macros.slideShow.onClickSlideShow(params);};

config.macros.slideShow.onClickSlideShow = function(newParams) {
//	if(typeof(newParams)=="number") newParams=slideShowParams;
	openTiddlers = new Array;
	var viewer=document.getElementById('tiddlerDisplay');
	for(var i=0; i<viewer.childNodes.length; i++){
		var name = viewer.childNodes[i].getAttribute('tiddler');
	document.oncontextmenu = function(e){return false;}
	clockMultiplier = 1;
	clockInterval = 0;
	var startTime = new Date(0);
	slideShowCircularMode = false;
	time = 0;
	slideShowStyleSheet = null;
		slideShowStyleSheet = eval(newParams['style']);
		slideShowCircularMode = true;
		noClicks = true;
		forceRefresh = true;
	if(newParams['slidePause'] > 0){
		time = newParams['slidePause'];
		startTime = new Date();
		var clockType= eval(newParams['clock']);
		if(clockType != '+') {
			clockMultiplier = -1;
			clockInterval = -clockType*60000;
		noOverlays = true;
	//Attach the key and mouse listeners
	document.onkeyup = keys;
	document.onmouseup = clicker;
	slideClock=setInterval('setClock()', 1000); 
	if(time>0) autoAdvance=setInterval("GoToSlide(1)", time); 

	var showHolder = document.getElementById('slideShowWrapper');
	document.oncontextmenu =  function(e){};
	if(autoAdvance) clearInterval(autoAdvance);
	if(slideClock) clearInterval(slideClock);
	document.onmouseup = function(){};

function isInteger(s){
	var i;
	for (i = 0; i < s.length; i++){
		// Check that current character is number.
		var c = s.charAt(i);
		if (((c < "0") || (c > "9"))) return false;
	// All characters are numbers.
	return true;

function jumpInputToSlide(e){
	if (!e) {
		e = window.event;
		e.which = e.keyCode;
		var jumpInput= document.getElementById("jumpInput").value;
			var step=jumpInput-document.getElementById('slideContainer').getAttribute('currentslide')-1;
			if (GoToSlide(step)){

//Used to shorten the TOC fields
function abbreviateLabel(label){
	var maxTOCLength = config.macros.slideShow.maxTOCLength;
	if(label.length>maxTOCLength) {
		var temp = new Array();
		temp = label.split(' ');
		label = temp[0];
		for(var j=1; j<temp.length; j++){
				label += " " + temp[j];
			} else {
				label += " ...";
	return label;

function createSlides(newParams){
	var lingo = config.views.wikified.slideShow;
	//Remove dblClick on edit function
	var theTiddler = document.getElementById("tiddler"+title);
	theTiddler.ondblclick = function() {};
	// Grab the 'viewer' element and give it a signature so the show can be resumed if stopped
	var tiddlerElements = theTiddler.childNodes;
	var viewer;
	for (var i = 0; i < tiddlerElements.length; i++){
		if (tiddlerElements[i].className == "viewer") viewer = tiddlerElements[i];
	viewer.id = 'slideShowWrapper';
	//Hide the text that comes before the first H1 element (I think I may put this into a cover page type thing)
	while(viewer.childNodes.length > 0 && viewer.firstChild.nodeName.toUpperCase() != "HR" && viewer.firstChild.className!="slideSeparator") {
	//Cycle through the content and each time you hit an H1 begin a new slide div
	var slideNumber = 0;
	var slideHolder = document.createElement('DIV');
	slideHolder.id = "slideContainer";

	while(viewer.childNodes.length > 0){
		//Create a new slide a append it to the slide holder
		if (viewer.firstChild.nodeName.toUpperCase() == "HR" && viewer.firstChild.className=="slideSeparator"){
			var slide = document.createElement('DIV');
			slide.id = "slideNumber"+slideNumber;
			slide.className = "slide";
			if (slideNumber > 1) {
			} else {
		} else {
			if(viewer.firstChild.nodeName=="SPAN" && viewer.firstChild.className=="" && viewer.firstChild.hasChildNodes()) {
				var anchor=viewer.firstChild.nextSibling;
				for (var ii=0;ii<viewer.firstChild.childNodes.length;ii++) {
					var clone=viewer.firstChild.childNodes[ii].cloneNode(true);
			} else {
	//Stick the slides back into the viewer

	var blanker= createTiddlyElement(viewer,"DIV","slideBlanker");

	//Create the navigation bar
	var slidefooter = createTiddlyElement(viewer,"DIV","slideFooter","slideFooterOff");
	var navigator = createTiddlyElement(slidefooter,"SPAN","navigator");
	//Make it so that when the footer is hovered over the class will change to make it visible
	slidefooter.onmouseover = function () {slidefooter.className = "slideFooterOn"};
	slidefooter.onmouseout = function () {slidefooter.className = "slideFooterOff"};
	//Create the control button for the navigation 
	var onClickQuit = function(){config.macros.slideShow.endSlideShow();};
	var indexNumbers = createTiddlyElement(slidefooter,"SPAN","indexNumbers","indexNumbers","1/"+slideNumber)
	indexNumbers.onclick = showHideTOC;
	var toc = createTiddlyElement(slidefooter,"UL","toc");
	var ovl=1;
	for (var i=0;i<slideHolder.childNodes.length;i++) {
		if(!noOverlays) {
			var ovl=1;
				var className="Overlay"+ovl;
				var overlays=getElementsByClass(className,slideHolder.childNodes[i]);
					for(var j=0; j<overlays.length; j++) {overlays[j].className+=' nextOverlay';}
				} else {break;}
		//Loop through each slide and check the header's content
		var tocLabel = null; 
		for (var j=0;j<slideHolder.childNodes[i].childNodes.length;j++) {
			var node = slideHolder.childNodes[i].childNodes[j];
			if(node.nodeName=="H1" || node.nodeName=="H2" || node.nodeName=="H3" || node.nodeName=="H4") {
				var htstring = node.innerHTML;
				var stripped = htstring.replace(/(<([^>]+)>)/ig,"");
				tocLabel = abbreviateLabel(stripped);
				var tocLevel="tocLevel"+node.nodeName.charAt(1);
				var tocItem = createTiddlyElement(toc,"LI",null,tocLevel);
				var tocLink = createTiddlyElement(tocItem,"A",null,"tocItem",tocLabel);
	//Input box to jump to s specific slide
	var tocItem = createTiddlyElement(toc,"LI",null,"tocJumpItem",config.macros.slideShow.messages.gotoLabel);
	var tocJumpInput = createTiddlyElement(tocItem,"INPUT","jumpInput");

var next_slide= function(e){GoToSlide(1);}
var first_slide= function(e){GoToSlide("f");}
var previous_slide= function(e){GoToSlide(-1);}
var last_slide= function(e){GoToSlide("l");}

function toggleSlideStyles(){
	var contentWrapper = document.getElementById('contentWrapper');
	if (contentWrapper.className == "slideShowMode"){
		contentWrapper.className = "";
		setStylesheet("#backstageShow{display: block;}","SlideShowStyleSheet"); 
	} else{
		contentWrapper.className = "slideShowMode";
		if(slideShowStyleSheet) changeStyleSheet(slideShowStyleSheet);

config.shadowTiddlers.SlideShowPageTemplate="<!--{{{-->\n<div id='displayArea'>\n<div id='tiddlerDisplay'></div>\n</div>\n<!--}}}-->";

config.shadowTiddlers.SlideShowViewTemplate="<!--{{{-->\n<div class='title' macro='view title'></div>\n<div class='viewer' macro='view text wikified'></div>\n<!--}}}-->";

config.shadowTiddlers.SlideShowStyleSheet = "/***\n!Slide Mode Styles\n***/\n/*{{{*/\n#slideBlanker {\n position:absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 90; \n background-color: #000;\n}\n#backstageShow{\n display: none !important;\n}\n\n#contentWrapper.slideShowMode #slideContainer{\n display: block;\n}\n\n#contentWrapper.slideShowMode .Comment{\n display: none;\n}\n\n#contentWrapper.slideShowMode .nextOverlay{\n visibility: hidden;\n}\n\n#contentWrapper.slideShowMode .currentOverlay{\n visibility: visible;\n}\n\n#contentWrapper.slideShowMode .previousOverlay{\n visibility: visible;\n}\n\n#jump{\n text-align: right;\n}\n\n.slideFooterOff #navigator{\n visibility: hidden;\n}\n\n.slideFooterOn #navigator{\n visibility: visible;\n}\n\n#contentWrapper.slideShowMode #slideClock{\n cursor: pointer; margin: 0 5px 0 5px; border: 1px solid #db4\n}\n\n#contentWrapper.slideShowMode,\n #contentWrapper.slideShowMode #displayArea{\n width: 100%;\n font-size: 1.5em;\n margin: 0 !important;\n padding: 0;\n}\n\n#slideContainer{\n display: none;\n}\n\n.indexNumbers{\n cursor: pointer;\n}\n\n#navigator{\n visibility: hidden;\n bottom: 0;\n}\n\n#toc{\n display: none;\n position: absolute;\n font-size: .75em;\n bottom: 2em;\n right: 0;\n background: #fff;\n border: 1px solid #000;\n text-align: left;\n}\n\nul#toc, #toc li{\n margin: 0;\n padding: 0;\n list-style: none;\n line-height: 1em;\n}\n\n.tocJumpItem{\n margin-right: 2em;\n}\n\n.tocJumpItem input{\nmargin-right: 1em;\n border: 0;\n}\n\n#toc a,\n#toc a.button{\n display: block;\n padding: .1em;\n}\n\n#toc .tocLevel1{\nfont-size: .8em;\n}\n\n#toc .tocLevel2{\n margin-left: 1em;\n font-size: .75em;\n}\n\n#toc .tocLevel3{\n margin-left: 2em;\nfont-size: .75em;\n}\n\n#toc .tocLevel4{\n margin-left: 3em;\nfont-size: .65em;\n}\n\n#toc a{\n cursor: pointer;\n}\n\nh1{\n min-height: 1em;\n}\n\n.slide h1{\n min-height: 0;\n}\n\n/* The '>' selector is ignored by IE6 and earlier so the proper rules are given */\n#slideFooter{\n position: fixed;\n bottom: 2px;\n right: 2px;\n width: 100%;\n text-align: right;\n}\n\n/* This is a hack to trick IE6 and earlier to put the navbar on the bottom of the page */\n* html #slideFooter {\n position: absolute;\n width: 100%;\n text-align: right;\n right: auto; bottom: auto;\n left: expression( ( -20 - slideFooter.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );\n top: expression( ( -10 - slideFooter.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );\n}\n\n\n\n/*}}}*/";

config.shadowTiddlers.SlideShowPluginDoc="The documentation is missing. It is available [[here|http://www.math.ist.utl.pt/~psoares/addons.html#SlideShowPluginDoc]].";
This plugin turns a TiddlyWiki tiddler into a simple slide show type display. Most features that are usually found in presentation software are available. It should work in a way that does not interfere with TiddlyWiki. When you close the slide show you get back to your good old TW. 

This plugin has been tested in Firefox and Internet Explorer. Let me know if something seems broken.
To use this plugin you //must// be using TiddlyWiki 2.0. Some optional features (as the incremental display) require version 2.0.8 or higher. To install the plugin copy the tiddlers SlideShowPlugin, SlideShowPageTemplate and SlideShowViewTemplate to your TW, label the first one with the //systemConfig// tag, save the TW and refresh the browser.

To make a slide show simply drop {{{<<slideShow>>}}} at the beginning of a tiddler and use {{{-s-}}} to start each slide. 

If you move your mouse over the bottom of the browser window you will see a few navigation buttons, a clock and a table of contents that shows up when you click the slide number.

Any block of text marked as {{{{{Comment{For my eyes only!}}}}}} will not be displayed in the slide show.

See these and other features in this [[SlideShowExample]].
!Incremental display
A succession of overlays (or layers) can be defined in each slide by marking blocks of text with {{{{{Overlay1{...some text...}}}}}}, {{{{{Overlay2{...some text...}}}}}}, {{{{{Overlay3{...some text...}}}}}}, ...

To costumize the way overlays are shown you can redefine the following CSS classes
*contentWrapper.slideShowMode .previousOverlay 
*contentWrapper.slideShowMode .currentOverlay 
*contentWrapper.slideShowMode .nextOverlay 
in a ~StyleSheet. The default style simply hides the next overlays and shows the current and the previous ones as normal text.
!Slide show parameters
*The slide show can be themed by providing a ~StyleSheet ({{{<<slideShow style:'MyStyleSheet'>>}}})
*By default, there is a clock at bottom of the browser window that displays the current time. This clock can also show the presentation elapsed time with {{{<<slideShow clock:'+'>>}}} or a countdown clock with {{{<<slideShow clock:'-20'>>}}} (for 20 minutes). In these two cases, if you click on the clock display it will be restarted
*The slide show can be set to loop ({{{<<slideShow repeat>>}}})
*You can set it so each slide changes after X milliseconds ({{{<<slideShow slidePause:X>>}}}) (auto advance mode)
*To not use the mouse to navigate through the presentation use  {{{<<slideShow noClicks>>>}}}. This is useful when there are clickable elements in the presentation
*{{{<<slideShow forceRefresh>>>}}} forces a refresh of the presentation tiddler (useful when a presentation is built from separate tiddlers using the {{{<<tiddler>>}}} macro)
*Overlays can be disabled  with {{{<<slideShow noOverlays>>}}}
*These parameters can be mixed and matched in any order: {{{<<slideShow slidePause:1000 repeat>>}}} is the same as {{{<<slideShow repeat slidePause:1000>>}}}
!Slide show navigation
You can navigate through a slide show using the keyboard or the mouse. To quickly move to titled sections you can use the table of contents. 
!!Mouse navigation
Left (right) clicking on a slide jumps to the next (previous) overlay. To move to the beginning of the next or previous slide you must use the navigation bar at the bottom of the browser's window. If there are no overlays defined both operations are equivalent.
The following keys are defined:
*Left arrow - previous overlay
*Down arrow - previous slide
*Right arrow - next overlay
*Up arrow - next slide
*Home - first slide
*End - last slide
*Escape - exit slide show
*Spacebar - pause/resume slide show in auto advance mode
*B - blank screen
!Revision history
**removed seconds from clock
**added B key to blank screen
**a few fixes to make it work with IE7
**fix for ~TW2.2
**forceRefresh and noClicks
**removed autoStart feature
**templates are now in shadow tiddlers
*1.5.2 13/02/2007
**fixed a conflict with TW pageFooter
*1.5.1 10/11/2006
**added SlideShowPageTemplate and SlideShowViewTemplate. This way, the plugin no longer requires a standard TW layout. Thanks to Andrew Lister for the idea.
*1.5.0 18/09/2006
**fixed restoring stylesheet on exit
**changed (again!) the way how slides are separated (slide shows prepared for previous versions must be fixed)
*1.4.0 20/04/2006
**changed the way how slides are separated (slide shows prepared for previous versions must be fixed)
**now works with content included with the {{{<<tiddler>>}}} macro
**added incremental display (overlays)
**improved documentation
**assorted small fixes
*1.3.1 10/03/2006
**removed empty slide titles
**fixed wrong numberSlides when slides have div's
**fixed wrong time in Windows
*1.3.0 26/02/2006
**restore open tiddlers on exit
**fixed problem with markup in headers (should work with NestedSlidersPlugin)
**added slide comments (blocks of text in the tiddler that don't show up in the presentation)
*1.2.1 28/01/2006
**pause timed slideshow with spacebar
**added clock with 3 different modes
**fixed bugs with style and abbreviation options
**general cleanup
*1.2.0 07/01/2006
**added a resume feature
**added themes support
*1.1.5 14/12/2005
**added mouse support
**cleaned up navbar generation
*1.1.0 12/12/2005
**added support for IE
**added key listeners
*1.0.0 11/12/2005
**initial release
*Time code is still very hackerish and unreliable.
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"New York Times","pagenumbers":"200807","articletitle":"\"Pair Regain Speed Mark in Ascent of El Capitan\"","author":"Migual Helft","synopsis":"dash up El Capitan in 3 hours","primtopic":"Speed climbing"}</data>July 3, 2008
Pair Regain Speed Mark in Ascent of El Capitan
YOSEMITE NATIONAL PARK, Calif. — As two rock climbers scrambled over the uppermost lip of Yosemite’s El Capitan and disappeared from view, the small group of spectators that had gathered 3,000 feet below erupted in cheers. Then they quickly quieted down.
A couple of minutes later, when the voice of Hans Florine, one of the climbers, finally crackled into a walkie-talkie with the words, “Two forty-three thirty-three,” the cheering resumed.
Florine and Yuji Hirayama on Wednesday morning set a speed record on the Nose, the most famous route on the most famous wall in the world’s rock-climbing Mecca. Their ascent shaved 2 minutes 12 seconds off the previous record set in October by the German brothers Thomas and Alexander Huber.
And so ended the latest chapter in one of the most singular competitions in the world of sports, one not sanctioned by any official body, with no judges, and whose official time was kept on a stopwatch clipped to Florine’s climbing harness. Nonetheless, their attempt to set a record has set abuzz the world of climbing, and the feat astonishes even seasoned rock climbers, who typically take three days or more to climb the granite monolith.
“Awesome, awesome,” a tired-looking Florine said after he and Hirayama were greeted with the traditional Champagne spraying in a grove of trees at the base of the mountain. “I felt way more exhausted than the two other times,” he said, referring to two attempts at breaking the record in recent days.
Speed competitions remain a fringe activity in the clubby world of rock climbing, and they are not welcome by everyone. Some traditionalists say climbing is an opportunity to be one with nature, more lifestyle than sport, and see competitions as little more than a sideshow. A discussion of Florine’s and Hirayama’s quest in an online forum on the Web site Supertopo.com described it as “yet another meaningless record.”
“Seems like a beautiful climb” a climber named Sven wrote. “Why the rush?”
But a growing number of climbers defend the pursuit as just another facet of a sport in which speed can mean the difference between reaching a summit before nightfall and being stuck on cliff overnight.
“This is as much as what it’s all about as anything that is going on out there,” said Tom Frost, an accomplished Yosemite climber and a member of the team that completed the second ascent of the Nose in 1960, which took seven days. Frost, now 72, joined the 50 spectators Wednesday.
To climb so quickly, Florine and Hirayama have to subvert many of the basic practices that most climbers consider essential for safety. Typically, climbers ascend one at a time, with their partner anchored to the rock and always holding the rope in order to catch them in case of a fall.
Instead, Florine and Hirayama climbed simultaneously for most of the route, tied to one end of the same rope. The rope was always clipped through carabiners into equipment stuck in the wall, so a mistake would not necessarily mean a fatal plunge to the bottom of the cliff. But a misstep by one climber could pull the other climber off his stance and send both on long, bone-crushing falls.
Their feat required not only athleticism but also efficient rope- and equipment-handling skills. Every handoff of climbing gear is planned so it can be completed with the precision that runners display when they hand off a baton in a relay race.
Those who know Hirayama and Florine well say they trust that their considerable skills, developed over more than two decades, will keep them safe.
“He’s not seeking risk,” said Florine’s wife, Jackie, herself a top climber, who was monitoring the ascent at the base of El Capitan. “He’s not an adrenaline junkie. He’s a climbing junkie.”
Mike Tollefson, the superintendent of Yosemite, said the park’s rangers never had to rescue anyone involved in a speed ascent.
“These guys are world-class experts,” he said.
Perhaps more than any other climber, Florine, who lives in the San Francisco area, is associated with speed climbing. He first set a record of a little more than eight hours on the Nose in the early 1990s. Every time the record has been broken since, he quickly reclaimed it. His prior record, 2:48, was set with Hirayama, a top climber from Japan, in 2002. It held until October, when the Huber brothers broke it.
The Hubers’s exploits are the subject of the film “To the Limit,” which opened last month in New York. The sport has come a long way since Frost and his contemporaries tackled the Nose.
“We were thinking in terms of days,” Frost said. “We knew it would get done faster, but we never considered that below a few days would be feasible.”
<<notes heading:'Rays Notes'>> 

''Inspired by [[TiddlyPom|http://www.warwick.ac.uk/~tuspam/tiddlypom.html]]''

|Created by|SaqImtiaz|
|Version|0.21 |
Provides a simple splash screen that is visible while the TW is loading.

Copy the source text of this tiddler to your TW in a new tiddler, tag it with systemConfig and save and reload. The SplashScreen will now be installed and will be visible the next time you reload your TW.

Once the SplashScreen has been installed and you have reloaded your TW, the splash screen html will be present in the MarkupPreHead tiddler. You can edit it and customize to your needs.

* 20-07-06 : version 0.21, modified to hide contentWrapper while SplashScreen is displayed.
* 26-06-06 : version 0.2, first release

var old_lewcid_splash_restart=restart;

restart = function()
{   if (document.getElementById("SplashScreen"))
        document.getElementById("SplashScreen").style.display = "none";
      if (document.getElementById("contentWrapper"))
        document.getElementById("contentWrapper").style.display = "block";
    if (splashScreenInstall)
        displayMessage("TW SplashScreen has been installed, please save and refresh your TW.");

var oldText = store.getTiddlerText("MarkupPreHead");
if (oldText.indexOf("SplashScreen")==-1)
   {var siteTitle = store.getTiddlerText("SiteTitle");
   var splasher='\n\n<style type="text/css">#contentWrapper {display:none;}</style><div id="SplashScreen" style="border: 3px solid #ccc; display: block; text-align: center; width: 320px; margin: 100px auto; padding: 50px; color:#000; font-size: 28px; font-family:Tahoma; background-color:#eee;"><b>'+siteTitle +'</b> is loading<blink> ...</blink><br><br><span style="font-size: 14px; color:red;">Requires Javascript.</span></div>';
   if (! store.tiddlerExists("MarkupPreHead"))
       {var myTiddler = store.createTiddler("MarkupPreHead");}
      {var myTiddler = store.getTiddler("MarkupPreHead");}
      var splashScreenInstall = true;
Updated to hide the contentWrapper while the SplashScreen is displayed. 
Coming Soon: easier editing of the SplashScreen.
Get it here: SplashScreenPlugin.
<<formTiddler NewArticleTemplate>><data>{"articletitle":"\"Stealing\"","primtopic":"It is wrong to Steal","synopsis":"Thoughts on Stealing and how to deal with it","author":"James Lehman"}</data>''Why is My Child Stealing and What Can I Do? Advice for Parents on Kids, Stealing and Shoplifting''
by James Lehman, MSW
Why is My Child Stealing and What Can I Do? Advice for Parents on Kids, Stealing and Shoplifting
“My fourteen year old daughter was arrested for shoplifting make-up this week,” said Marie, a working mother of two girls. “Is this just normal teen behavior, or is it something more serious? She’s grounded for a month and I’ve taken away her iPod and computer privileges, but to tell the truth, I’m still in shock. I’m furious and I don’t even know how to talk to her about what she did.”

No matter what parents you have, no matter what mental health diagnosis, no matter what stage you’re in, it’s wrong to steal because it hurts others.
Many parents have asked me over the years, “Is shoplifting a candy bar or cosmetics or clothes the same as stealing?” The truth is, stealing is stealing. It’s criminal, antisocial and worst of all, it corrodes a child’s development, character and integrity through the use of justifications and excuses. However, shoplifting candy bars from a store and stealing with aggression are two very different acts.

@@Stealing is wrong@@, and the best way to understand it is to examine your child’s thinking. Kids who steal often feel entitled to what they’re stealing, even though they or their parents can’t afford it. There is a fierce sense of competitiveness amongst teens and pre-teens these days regarding having the cool stuff, wearing the hip clothes, and sporting hot make-up or accessories. Many kids will resort to stealing as a response to this phenomenon. Sometimes kids even steal for the sense of excitement it gives them, or do it under peer pressure. A big part of the problem is that our society’s message is completely absent of a strongly objective morality. In most movies and songs today, the bad guys do good things and the good guys do bad things, and everybody looks the same. So kids justify what they’re doing. It’s not surprising when kids develop these ambivalent feelings about integrity, character and the difference between right and wrong.

''The “Five Finger Discount”—What’s Behind a Child’s Thinking When He Shoplifts?''
A child’s thinking behind this type of behavior is that “No one will get hurt and the store has a lot of money.” They rationalize that they need to have this stuff in order to be accepted. They might say, “My parents won’t allow me to buy clothing or makeup like this, so I have to steal it.” But remember this: It’s our job as parents, teachers and therapists to strongly defend the concept that stealing is wrong. Tell your children this: “Stealing is wrong for two reasons: It’s illegal and puts you at risk of being arrested and prosecuted. It’s also hurtful because when you take something that doesn’t belong to you, somewhere, someone down the line is being hurt.” Make it real to your child by explaining that if they shoplift cosmetics or video games, the company adjusts its price upwards to insulate itself, and all the rest of us pay a little more for it because of it.

If your child is caught stealing, in all cases, there needs to be meaningful consequences for the behavior.  To you as a parent, the most important aspect of your child's decision to steal is the way of thinking that preceded the stealing. She should pay whatever the consequences are for stealing, and also write an essay on how she justified it. Ask her, “What were you thinking before you stole this?” Remember this: It is in the examination of the justifications and excuses where the true learning will take place.

Certainly consequences like making her take the stolen item back to the store, apologizing and making financial amends are all very good parts of the equation. That kind of accountability can be very productive in deterring future stealing, if accompanied by an examination of the faulty thinking which drove them to do it. You also might give them the consequence of, “You can’t go to the mall for two weeks. Two weeks of no stealing.” If parents ask me, “How do I know?” I say “Don’t worry about it. They need to get another chance. You’re not there to be a cop.” Always give them the chance to earn your trust back.

''Stealing with Aggression: A Whole Different Mindset''
“Aggression” means a “threat of harm or violence or the use of harm or violence.” Some kids have gotten to a level of stealing where they are willing to physically assault someone else to take what they want. When dealing with stealing with aggression, the focus has to be on very strong consequences to deter future behavior, as well as a very focused examination of the thoughts, not the feelings, the thoughts which underlie this type of behavior. When people steal with aggression, they're clearly saying, “I want that bad enough that I’ll hurt you if you don’t give it to me,” which is very different than a shoplifter who says, “This won’t hurt the company, they have a lot of money.” It’s a very different mindset and has to be addressed with vigor.

Let me be clear: Stealing with aggression is hardcore antisocial behavior. When you deal with individuals who exhibit criminal behavior, you’ll often find that one-on-one, they can be very charming, pleasant, and intelligent. Many criminals have advanced social manipulative skills. The difference between a criminal and a non-criminal is that the criminal is willing to use violence and aggression to get what he wants, while the non-criminal has very strong boundaries in those areas. So when children are willing to use violence and aggression to get their way, it can be a key indicator that they are quite far down the wrong path. Of course there are always isolated incidents where kids will threaten other kids to get their way. Adolescent bravado can sometimes lead to threats. The astute adult has to ferret out which is which. But make no mistake, if your child is using threats of violence and aggression to steal, he has to be dealt with very sternly. Again, it is very difficult to counteract the media forces in our society which constantly advocate aggression and violence as legitimate means to solve problems. Our media promotes the idea that if you want or need something bad enough and you have a good excuse-making system in place, you can justify anything. And you can use aggression and violence to achieve your end.

Related: Learn how to manage your child's aggression.

So here’s the message kids are getting: “If you can justify it, then it’s OK to do it.” And we all know that kids can justify anything. So society has to react very strongly to aggression and threats involving stealing or anything else. I mean, look around you. Look at all the violence and aggression, senseless killing. Now think about this: in the minds of the kids who are committing that violence they believe it’s the OK thing to do. If you look beneath the violence, to the thinking patterns, it’s very scary. That’s why you see situations like Columbine and Virginia Tech, where kids commit horrible violence on other kids and justify it because they perceive themselves as victims. Stealing is wrong and hurtful. But stealing with aggression and violence is much more problematic and needs to be dealt with aggressively.

@@If Your Child is Stealing within the Family, Everyone is Paying the Price@@
It’s common to hear that kids steal from their family members. Younger kids after all don’t have the level of moral development that leads to them understanding that this type of stealing is wrong and hurtful. This has to be taught with patience and firmness. Stealing within the family should have the same consequences as stealing from a store, whether it’s from a sibling or a parent. Labeling, yelling and name-calling does not change the behavior. Discussions about the rights of others and respect for other’s property, followed by a consequence the child must carry out, are the preferred ways of dealing with theft in the family.

For young children, a consequence might be that they go to their room with the door open for 15 minutes, at the end of which time you come in and talk with them about stealing. Focus on the child realizing he was wrong, instead of just saying he is sorry. As kids get older, other consequences come into play, like paying rent for the stolen property, paying back the stolen money, and loss of social privileges. Tell them you’re taking away their privileges because you’re not sure they can be trusted outside of the house. Don’t forget that if someone is unsafe or untrustworthy in the house, there should be real concern about what kind of trouble they might get into outside of the house where there is even less structure.

Volume and frequency of the stealing are also important to address. If a pre-adolescent or adolescent steals a large amount of money, which is measured compared to what the family has, the police should be called and you should be starting the legal process. This is designed to hold that child legally responsible, not only family-responsible. The assumption here is that you've tried all you can within the family and it’s not working, and that now the police have to get involved. Stealing is a crime. These acts should be looked at as criminal acts more than as mental health problems. While mental health issues may be involved, adults who have mental health problems are punished for stealing just like adults without mental health problems. Prisons and correctional institutions are full of people with mental health problems who also stole. They're not in jail for mental health problems, they’re in jail for stealing.

If there’s a high frequency of theft, or stealing for no apparent reason or the hoarding of food, that can indicate deeper psychological forces at play. These kids need to be assessed to see if there’s a therapeutic response to their behavior. But make no bones about it, they also need to be held accountable in the home as well as outside of the home for their antisocial behavior.

Although stealing may be a symptom of a larger problem, it is still stealing. The lesson about not stealing has to be reinforced and the child has to be held accountable. We can’t make excuses about antisocial and harmful behavior even when it occurs in the home. Remember, you’re trying to produce a person who can function safely and productively in adult society. Excusing stealing will not produce that person. Sometimes parents minimize this behavior and it comes back to hurt them later on.

''When Your Trust is Betrayed: How to let Your Child Earn it Back''
The sense of betrayal that parents feel after their child has stolen from them is very real and should be addressed openly. If it’s a younger child, certainly the emotion should be screened out of it, and your child should be taught about trust. The way you’d explain trust to a younger child is by saying, “Stealing is hurtful and if somebody trusts you, it’s important not to hurt them.” Explain that trust is really a word we use for depending upon other people to do certain things or to not do certain things. The stronger that our belief is that they won’t hurt us, the deeper the sense of violation is. As kids get older and become teens, I think that their loyalties and allegiances are torn between the values of their peer group and the values of their family. Very often there’s a contradiction between the two. This contradiction needs to be tolerated by parents to a certain degree because the teenager’s developmental role is to become an individual. And one of the ways that teens do that is by pushing their parents away and by rebelling against family norms and values. A certain amount of rebelliousness should be tolerated. Nonetheless, a teenager stealing from parents is not an act of rebelliousness. It’s a violation of trust and it’s the commission of a petty crime in an arena where the teen doesn’t feel there will be severe consequences.

Related: Give your child consequences that really work.

If there are several acts of stealing, they should be dealt with sternly in the family, using the behavioral concepts that I mentioned earlier. If there is major stealing of money and other valuables, the parents should consider involving the police and pressing charges. Although this seems harsh, the principles behind it are easy to understand. If a teen is stealing from you because he perceives you as being weak and if family consequences aren’t helping with that, the family needs to seek outside help in order to strengthen itself. Secondly, and this is very important, if kids get away with stealing valuables from home, they’re going to develop a value system which allows for stealing any time the person can justify it. When I have gone to youth detention centers to talk to the teens I was working with about the crimes that got them there, they invariably had a justification for it. That type of justification, or what we call an “alibi system,” is developed and reinforced at home. In short, teens develop a way of thinking to justify their teenage behavior. They develop an alibi for everything. Once that alibi system becomes criminalized, you’ll see an increase in the amount of antisocial behavior such as stealing, drug use, and sometimes aggression. Parents who insulate kids from the consequences of their behavior are only extending, supporting and reinforcing the bad judgments that lead to those behaviors.

The way trust is won back: for younger kids, they should be told what to do in order for the family to feel like they trust them again. “Don’t take your brother’s things so I can trust you to be upstairs alone. If you steal something from your older brother, you can’t go upstairs unsupervised.” Make the child uncomfortable. Consequences make them uncomfortable. You can lead a horse to water, but you can’t make them drink—but you can make them thirsty. Consequences are designed to make the child thirsty.

In addition, positive statements about trust should be made frequently with younger kids. “When you handle it that way, I know I can trust you.” Model the values you want your younger kids to have and identify them. Make statements like, “It’s good when you tell me the truth. I know I can trust you downstairs with the TV. I know I can trust you to go into my bedroom.” The more we say statements like that, that you see what your child is doing, or you hear what they’re saying, the more real it makes them feel. With older kids who steal, it’s important to say, “You’ve lost my trust, and therefore you can’t go upstairs alone. I don’t think I’m going to be able to trust you around money again. So I’m going to close my bedroom door and you can’t go in anymore.” There are parents who put locks on their doors, and I think kids should pay for those locks. But always give them a means to earn that trust back, either in that conversation or a subsequent one.

''Is Your Child Stealing Chronically?''
If a kid steals chronically, earning a parent’s trust back is the least of his problems. Because he’s already developing an alibi system that says it’s OK to hurt the people you love. There are plenty of parents who don’t trust their kids around their money and valuables. In today’s society, parents are second class citizens and there’s almost a societal expectation that their kids will abuse them and that they should take it, and that’s just crazy. That expectation is expressed in justifications like, “All kids steal, all kids lie, kids sometimes lose their temper.” But certainly all kids don’t lie or steal to the same degree, nor do all kids verbally abuse their parents and break things in the home. And when they do, they need to be held strictly accountable.

@@Right and Wrong: There is a Difference@@
I truly empathize with what parents are up against these days. The concept of right and wrong has taken a real beating in our recent history. It’s been replaced by the concepts of “consumerism” and “possessiveness.” Therefore, when you tell kids it is wrong to steal, they have limited formal moral and ethical training to use as a reference point, and whatever moral and ethical training they have is easily drowned out by the media, which screams at them constantly. And there’s too much excuse-making for kids’ behavior. Adults say “It’s only a stage he’s going through.” Or he has ADD. Or his father is an alcoholic. And they keep making those excuses until the kid is in serious trouble. Things like developmental stages or mental health diagnoses or family influences have to be dealt with as separate issues from the stealing or aggression. Do these issues need to be addressed? Of course they do. Are they significant? Absolutely. Should they be allowed to justify stealing or aggression? Never. No matter what parents you have, no matter what mental health diagnosis, no matter what stage you’re in, it’s wrong to steal because it hurts others.

That has to be black and white to everybody.

Read more: http://www.empoweringparents.com/Shoplifting-Stealing-and-Stealing-with-Aggression.php#ixzz2dKnzN9Td
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
<<formTiddler NewArticleTemplate>><data>{"journalinfo":"kids' Health","primtopic":"Stealing","pagenumbers":"2013","author":"Unknown","articletitle":"\"Stealing\""}</data>Have you ever played cops and robbers? It's fun pretending to be a cop chasing and capturing a robber. It can be even more fun to be the robber because you take things and try to get away with them before your buddy, the cop, catches you. You're not really stealing, of course. It's just make-believe.

Or maybe you're playing baseball, trying to steal a base and not get tagged out. When playing basketball, you can steal the ball from a player on the other team. A stolen base or a steal on the basketball court can help your team. Hey — it's fair play and it's part of the game!

These are both examples of pretend or imaginary stealing that are OK, but there is another form of stealing that is wrong.

''What Kind of Stealing Is Wrong?''
When a person takes something that belongs to somebody else without permission, that is stealing. The stolen object can be as small as a piece of candy or as big as a car. It can be taken from someone a person knows or from a stranger. It can be taken from a store, a kind of stealing called shoplifting, or from someone's home. But either way, it's stealing.

People can steal words and ideas, too. For instance, if someone takes your book report and tells the teacher that she — not you — wrote it, that's another form of stealing. Imagine how upset you would be if that happened to you!

''Why Do Kids Steal?''
Little kids age 4 and younger may not understand that they shouldn't take things that don't belong to them. But by the time you are 5 or 6, you understand what's right and what's wrong. Most school-age kids know that they aren't supposed to take something without asking or without paying for it.

Still, some kids lack self-control. They might see something they want and take it. They don't stop to think first about what might happen. They might not think to buy the object or ask to borrow it. Kids get better at self-control as they grow. Some kids may need extra help learning self-control.

Some kids steal because their friends or family members do it or because they might have been dared. They might believe their friends will like them more if they steal. Doing something for these reasons is called peer pressure, but kids don't have to give in to it.

Some kids steal because they feel something is missing in their lives. What's missing may be love or attention. Or simple things like food and clothing. They may be angry, sad, scared, or jealous. They might steal as a way to deal with the situation. But stealing won't fix what's missing.

Other kids might have personal problems that lead them to steal. They may feel jealous of what others have. They may feel unloved and neglected. Or they may be upset that their parents are arguing or getting divorced. But stealing won't solve these problems.

Other kids don't care about rules. They steal because they think they can get away with it. They may believe they deserve to have the stolen goods. But kids need to learn respect rules and the rights of other people.

''What Can Happen if You Steal?''
Stealing causes a whole bunch of problems. Suppose a kid sees a pen in a store and decides to take it. If she gets caught, the store owner might say she's not allowed in the store again. The owner might tell her parents. She may have to give money to pay for the pen and the police could be called because stealing (including shoplifting) is a crime. She could be arrested, especially if she has stolen before, and that could lead to more problems. She may have to go to court and may have some sort of punishment, like having to do work in the community to make up for what she has done.

How does stealing make someone feel? Whoever is stealing is probably nervous during the act itself. If she gets away with it, she may be relieved at first. Later, she feels lousy because she knows what she did was wrong. She also might be afraid that someone will discover her secret, and she'll want to deny it. But lying will only make matters worse.

If she gets caught, she may be really embarrassed. Then she may be ashamed because she let down her family. She may feel like nobody trusts her anymore. She might feel stupid and worried. What if she goes to jail? What if her favorite teacher finds out? What if she loses her friends?

But, even if she doesn't feel these things, stealing is still wrong.

@@Stealing has serious consequences because it hurts everyone@@. Stealing causes a big problem for a family. Store owners have to spend more money to protect their things, which makes prices go up for paying customers. Kids sometimes don't trust each other with their belongings. People don't feel as safe when they're worried about someone stealing. Stealing, in fact, may lead to violence. Some kids even carry weapons to protect themselves from other kids who may want to take their jewelry or clothing. This can lead to even more problems.

''What Should You Do if You Know Someone Who Steals?''
If you know someone who steals, you shouldn't just shrug it off. That's like saying stealing is OK. You can tell the person that stealing is wrong or that you're concerned about him, but he may get angry with you. It's a good idea to tell a parent, teacher, counselor, or other adult that you trust. Then leave it up to the adult to decide how to handle the situation.

Don't hang out with kids who steal. It's not smart to go along with someone just because he's your friend or because you don't want to be left out. Follow your conscience, and //don't do anything that would hurt others//. Do what you know is right.

If someone is caught stealing, you could get in trouble just because you were there with him when it happened.

''When Stealing Becomes a Habit''
@@Some kids who steal once might do it a second and third time, until it becomes a habit. Repeat stealers often act in other bad ways, too. They may lie, fight, cheat, or write graffiti. They might ignore rules and disrespect other people and their belongings.@@

But even if stealing has become a habit, kids who steal can change their ways. Kids sometimes make mistakes, but there are ways to get back on the right track. Kids can ask adults to help them. Parents, counselors, and other adults can help kids with troubles that may have led them to steal in the first place. Kids can learn right from wrong, get better at self-control, and learn to solve problems without stealing.

@@When kids are honest and follow what they know is right, they feel happier and a whole lot better about themselves.@@ Learning how to get what they need — without stealing — can be a big relief.
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
[img[https://fbcdn-sphotos-f-a.akamaihd.net/hphotos-ak-ash3/531937_556892411000560_2058475026_n.jpg]]<<formTiddler NewArticleTemplate>><data>{"primtopic":"How to quickly tell if someone has had a stroke","journalinfo":"Facebook"}</data>Stroke has a new indicator! They say if you forward this to ten people, you stand a chance of saving one life. Will you send this along? Blood Clots/Stroke - They Now Have a Fourth Indicator, the Tongue:

During a BBQ, a woman stumbled and took a little fall - she assured everyone that she was fine (they offered to call paramedics) ...she said she had just tripped over a brick because of her new shoes.

They got her cleaned up and got her a new plate of food. While she appeared a bit shaken up, Jane went about enjoying herself the rest of the evening.

Jane's husband called later telling everyone that his wife had been taken to the hospital - (at 6:00 PM Jane passed away.) She had suffered a stroke at the BBQ. Had they known how to identify the signs of a stroke, perhaps Jane would be with us today. Some don't die. They end up in a helpless, hopeless condition instead.

It only takes a minute to read this.

A neurologist says that if he can get to a stroke victim within 3 hours he can totally reverse the effects of a stroke...totally. He said the trick was getting a stroke recognized, diagnosed, and then getting the patient medically cared for within 3 hours, which is tough. 

Thank God for the sense to remember the '3' steps, STR. Read and Learn!

Sometimes symptoms of a stroke are difficult to identify. Unfortunately, the lack of awareness spells disaster. The stroke victim may suffer severe brain damage when people nearby fail to recognize the symptoms of a stroke.

Now doctors say a bystander can recognize a stroke by asking three simple questions:

S *Ask the individual to SMILE.

T *Ask the person to TALK and SPEAK A SIMPLE SENTENCE (Coherently)
(i.e. Chicken Soup)

R *Ask him or her to RAISE BOTH ARMS.

If he or she has trouble with ANY ONE of these tasks, call emergency number immediately and describe the symptoms to the dispatcher.

New Sign of a Stroke -------- Stick out Your Tongue

NOTE: Another 'sign' of a stroke is this: Ask the person to 'stick' out his tongue. If the tongue is

'crooked', if it goes to one side or the other that is also an indication of a stroke.

A cardiologist says if everyone who gets this e-mail sends it to 10 people; you can bet that at least one life will be saved.
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
[img[http://www.finextra.com/finextra-images/top_pics/large/tmobilemm.jpg]]<<formTiddler NewArticleTemplate>><data>{"journalinfo":"Finextra","pagenumbers":"20140122","primtopic":"Unbanked solution","synopsis":"T-Bank offers entry-level banking"}</data>''T-Mobile takes on US banking market''

T-Mobile MMT-Mobile is bidding to shake up the US banking market with a new service which offers current account-style features to the country's millions of underbanked. Mobile Money by T-Mobile combines a pre-paid Visa card, an app and the telco's extensive store network to provide customers with the services normally offered by banks.

Customers can buy their pre-paid cards - issued by the Bancorp Bank - in-store or online. They can then load money onto it instore, via direct debit from their paycheck or via mobile check deposit.

Once registered, the card can be used everywhere Visa debit cards are accepted, to pay bills and withdraw cash charge-free at 42,000 ATMs. The accompanying mobile app lets users keep track of their balance and transaction history, transfer funds and find cash machines. 

The telco is pitching its service to the 68 million Americans without traditional accounts, many of whom have to rely on fee-heavy alternatives such as cheque-cashing and payday lenders. The account has no minimum balance requirement and no charge for activation, monthly maintenance, or for replacing lost or stolen cards. 

Mike Sievert, CMO, T-Mobile, says: "It's ridiculous that families, especially those who can least afford it, have to pay so much for basic check cashing services that many of us take for granted. Mobile Money levels the playing field to put money back in consumers' pockets for important things - like bills, groceries or vacations."
<<allTags excludeLists>>
<<tabs txtMoreTab "Tags" "All Tags" TabAllTags "Miss" "Missing tiddlers" TabMoreMissing "Orph" "Orphaned tiddlers" TabMoreOrphans "Shad" "Shadowed tiddlers" TabMoreShadowed>>
<<allTags excludeLists [a-z]>>
|Description:|tagglyTagging macro is a replacement for the builtin tagging macro in your ViewTemplate|
|Version:|3.3.1 ($Rev: 6100 $)|
|Date:|$Date: 2008-07-27 01:42:07 +1000 (Sun, 27 Jul 2008) $|
|Author:|Simon Baird <simon.baird@gmail.com>|
See http://mptw.tiddlyspot.com/#TagglyTagging


	parseTagExpr: function(debug) {

		if (this.trim() == "")
			return "(true)";

		var anyLogicOp = /(!|&&|\|\||\(|\))/g;
		var singleLogicOp = /^(!|&&|\|\||\(|\))$/;

		var spaced = this.
			// because square brackets in templates are no good
			// this means you can use [(With Spaces)] instead of [[With Spaces]]
			replace(/\[\(/g," [[").
			replace(/\)\]/g,"]] "). 
			// space things out so we can use readBracketedList. tricky eh?
			replace(anyLogicOp," $1 ");

		var expr = "";

		var tokens = spaced.readBracketedList(false); // false means don't uniq the list. nice one JR!

		for (var i=0;i<tokens.length;i++)
			if (tokens[i].match(singleLogicOp))
				expr += tokens[i];
				expr += "tiddler.tags.contains('%0')".format([tokens[i].replace(/'/,"\\'")]); // fix single quote bug. still have round bracket bug i think

		if (debug)

		return '('+expr+')';


	getTiddlersByTagExpr: function(tagExpr,sortField) {

		var result = [];

		var expr = tagExpr.parseTagExpr();

		store.forEachTiddler(function(title,tiddler) {
			if (eval(expr))

			sortField = "title";

		result.sort(function(a,b) {return a[sortField] < b[sortField] ? -1 : (a[sortField] == b[sortField] ? 0 : +1);});
		return result;

config.taggly = {

	// for translations
	lingo: {
		labels: {
			asc:        "\u2191", // down arrow
			desc:       "\u2193", // up arrow
			title:      "title",
			modified:   "modified",
			created:    "created",
			show:       "+",
			hide:       "-",
			normal:     "normal",
			group:      "group",
			commas:     "commas",
			sitemap:    "sitemap",
			numCols:    "cols\u00b1", // plus minus sign
			label:      "Tagged as '%0':",
			exprLabel:  "Matching tag expression '%0':",
			excerpts:   "excerpts",
			descr:      "descr",
			slices:     "slices",
			contents:   "contents",
			sliders:    "sliders",
			noexcerpts: "title only",
			noneFound:  "(none)"

		tooltips: {
			title:      "Click to sort by title",
			modified:   "Click to sort by modified date",
			created:    "Click to sort by created date",
			show:       "Click to show tagging list",
			hide:       "Click to hide tagging list",
			normal:     "Click to show a normal ungrouped list",
			group:      "Click to show list grouped by tag",
			sitemap:    "Click to show a sitemap style list",
			commas:     "Click to show a comma separated list",
			numCols:    "Click to change number of columns",
			excerpts:   "Click to show excerpts",
			descr:      "Click to show the description slice",
			slices:     "Click to show all slices",
			contents:   "Click to show entire tiddler contents",
			sliders:    "Click to show tiddler contents in sliders",
			noexcerpts: "Click to show entire title only"

		tooDeepMessage: "* //sitemap too deep...//"

	config: {
		showTaggingCounts: true,
		listOpts: {
			// the first one will be the default
			sortBy:     ["title","modified","created"],
			sortOrder:  ["asc","desc"],
			hideState:  ["show","hide"],
			listMode:   ["normal","group","sitemap","commas"],
			numCols:    ["1","2","3","4","5","6"],
			excerpts:   ["noexcerpts","excerpts","descr","slices","contents","sliders"]
		valuePrefix: "taggly.",
		excludeTags: ["excludeLists","excludeTagging"],
		excerptSize: 50,
		excerptMarker: "/%"+"%/",
		siteMapDepthLimit: 25

	getTagglyOpt: function(title,opt) {
		var val = store.getValue(title,this.config.valuePrefix+opt);
		return val ? val : this.config.listOpts[opt][0];

	setTagglyOpt: function(title,opt,value) {
		if (!store.tiddlerExists(title))
			// create it silently
			store.saveTiddler(title,title,config.views.editor.defaultText.format([title]),config.options.txtUserName,new Date(),"");
		// if value is default then remove it to save space
		return store.setValue(title,
			value == this.config.listOpts[opt][0] ? null : value);

	getNextValue: function(title,opt) {
		var current = this.getTagglyOpt(title,opt);
		var pos = this.config.listOpts[opt].indexOf(current);
		// a little usability enhancement. actually it doesn't work right for grouped or sitemap
		var limit = (opt == "numCols" ? store.getTiddlersByTagExpr(title).length : this.config.listOpts[opt].length);
		var newPos = (pos + 1) % limit;
		return this.config.listOpts[opt][newPos];

	toggleTagglyOpt: function(title,opt) {
		var newVal = this.getNextValue(title,opt);

	createListControl: function(place,title,type) {
		var lingo = config.taggly.lingo;
		var label;
		var tooltip;
		var onclick;

		if ((type == "title" || type == "modified" || type == "created")) {
			// "special" controls. a little tricky. derived from sortOrder and sortBy
			label = lingo.labels[type];
			tooltip = lingo.tooltips[type];

			if (this.getTagglyOpt(title,"sortBy") == type) {
				label += lingo.labels[this.getTagglyOpt(title,"sortOrder")];
				onclick = function() {
					return false;
			else {
				onclick = function() {
					return false;
		else {
			// "regular" controls, nice and simple
			label = lingo.labels[type == "numCols" ? type : this.getNextValue(title,type)];
			tooltip = lingo.tooltips[type == "numCols" ? type : this.getNextValue(title,type)];
			onclick = function() {
				return false;

		// hide button because commas don't have columns
		if (!(this.getTagglyOpt(title,"listMode") == "commas" && type == "numCols"))
			createTiddlyButton(place,label,tooltip,onclick,type == "hideState" ? "hidebutton" : "button");

	makeColumns: function(orig,numCols) {
		var listSize = orig.length;
		var colSize = listSize/numCols;
		var remainder = listSize % numCols;

		var upperColsize = colSize;
		var lowerColsize = colSize;

		if (colSize != Math.floor(colSize)) {
			// it's not an exact fit so..
			upperColsize = Math.floor(colSize) + 1;
			lowerColsize = Math.floor(colSize);

		var output = [];
		var c = 0;
		for (var j=0;j<numCols;j++) {
			var singleCol = [];
			var thisSize = j < remainder ? upperColsize : lowerColsize;
			for (var i=0;i<thisSize;i++) 

		return output;

	drawTable: function(place,columns,theClass) {
		var newTable = createTiddlyElement(place,"table",null,theClass);
		var newTbody = createTiddlyElement(newTable,"tbody");
		var newTr = createTiddlyElement(newTbody,"tr");
		for (var j=0;j<columns.length;j++) {
			var colOutput = "";
			for (var i=0;i<columns[j].length;i++) 
				colOutput += columns[j][i];
			var newTd = createTiddlyElement(newTr,"td",null,"tagglyTagging"); // todo should not need this class
		return newTable;

	createTagglyList: function(place,title,isTagExpr) {
		switch(this.getTagglyOpt(title,"listMode")) {
			case "group":  return this.createTagglyListGrouped(place,title,isTagExpr); break;
			case "normal": return this.createTagglyListNormal(place,title,false,isTagExpr); break;
			case "commas": return this.createTagglyListNormal(place,title,true,isTagExpr); break;
			case "sitemap":return this.createTagglyListSiteMap(place,title,isTagExpr); break;

	getTaggingCount: function(title,isTagExpr) {
		// thanks to Doug Edmunds
		if (this.config.showTaggingCounts) {
			var tagCount = config.taggly.getTiddlers(title,'title',isTagExpr).length;
			if (tagCount > 0)
				return " ("+tagCount+")";
		return "";

	getTiddlers: function(titleOrExpr,sortBy,isTagExpr) {
		return isTagExpr ? store.getTiddlersByTagExpr(titleOrExpr,sortBy) : store.getTaggedTiddlers(titleOrExpr,sortBy);

	getExcerpt: function(inTiddlerTitle,title,indent) {
		if (!indent)
			indent = 1;

		var displayMode = this.getTagglyOpt(inTiddlerTitle,"excerpts");
		var t = store.getTiddler(title);

		if (t && displayMode == "excerpts") {
			var text = t.text.replace(/\n/," ");
			var marker = text.indexOf(this.config.excerptMarker);
			if (marker != -1) {
				return " {{excerpt{<nowiki>" + text.substr(0,marker) + "</nowiki>}}}";
			else if (text.length < this.config.excerptSize) {
				return " {{excerpt{<nowiki>" + t.text + "</nowiki>}}}";
			else {
				return " {{excerpt{<nowiki>" + t.text.substr(0,this.config.excerptSize) + "..." + "</nowiki>}}}";
		else if (t && displayMode == "contents") {
			return "\n{{contents indent"+indent+"{\n" + t.text + "\n}}}";
		else if (t && displayMode == "sliders") {
			return "<slider slide>\n{{contents{\n" + t.text + "\n}}}\n</slider>";
		else if (t && displayMode == "descr") {
			var descr = store.getTiddlerSlice(title,'Description');
			return descr ? " {{excerpt{" + descr  + "}}}" : "";
		else if (t && displayMode == "slices") {
			var result = "";
			var slices = store.calcAllSlices(title);
			for (var s in slices)
				result += "|%0|<nowiki>%1</nowiki>|\n".format([s,slices[s]]);
			return result ? "\n{{excerpt excerptIndent{\n" + result  + "}}}" : "";
		return "";

	notHidden: function(t,inTiddler) {
		if (typeof t == "string") 
			t = store.getTiddler(t);
		return (!t || !t.tags.containsAny(this.config.excludeTags) ||
				(inTiddler && this.config.excludeTags.contains(inTiddler)));

	// this is for normal and commas mode
	createTagglyListNormal: function(place,title,useCommas,isTagExpr) {

		var list = config.taggly.getTiddlers(title,this.getTagglyOpt(title,"sortBy"),isTagExpr);

		if (this.getTagglyOpt(title,"sortOrder") == "desc")
			list = list.reverse();

		var output = [];
		var first = true;
		for (var i=0;i<list.length;i++) {
			if (this.notHidden(list[i],title)) {
				var countString = this.getTaggingCount(list[i].title);
				var excerpt = this.getExcerpt(title,list[i].title);
				if (useCommas)
					output.push((first ? "" : ", ") + "[[" + list[i].title + "]]" + countString + excerpt);
					output.push("*[[" + list[i].title + "]]" + countString + excerpt + "\n");

				first = false;

		return this.drawTable(place,
			this.makeColumns(output,useCommas ? 1 : parseInt(this.getTagglyOpt(title,"numCols"))),
			useCommas ? "commas" : "normal");

	// this is for the "grouped" mode
	createTagglyListGrouped: function(place,title,isTagExpr) {
		var sortBy = this.getTagglyOpt(title,"sortBy");
		var sortOrder = this.getTagglyOpt(title,"sortOrder");

		var list = config.taggly.getTiddlers(title,sortBy,isTagExpr);

		if (sortOrder == "desc")
			list = list.reverse();

		var leftOvers = []
		for (var i=0;i<list.length;i++)

		var allTagsHolder = {};
		for (var i=0;i<list.length;i++) {
			for (var j=0;j<list[i].tags.length;j++) {

				if (list[i].tags[j] != title) { // not this tiddler

					if (this.notHidden(list[i].tags[j],title)) {

						if (!allTagsHolder[list[i].tags[j]])
							allTagsHolder[list[i].tags[j]] = "";

						if (this.notHidden(list[i],title)) {
							allTagsHolder[list[i].tags[j]] += "**[["+list[i].title+"]]"
										+ this.getTaggingCount(list[i].title) + this.getExcerpt(title,list[i].title) + "\n";

							leftOvers.setItem(list[i].title,-1); // remove from leftovers. at the end it will contain the leftovers


		var allTags = [];
		for (var t in allTagsHolder)

		var sortHelper = function(a,b) {
			if (a == b) return 0;
			if (a < b) return -1;
			return 1;

		allTags.sort(function(a,b) {
			var tidA = store.getTiddler(a);
			var tidB = store.getTiddler(b);
			if (sortBy == "title") return sortHelper(a,b);
			else if (!tidA && !tidB) return 0;
			else if (!tidA) return -1;
			else if (!tidB) return +1;
			else return sortHelper(tidA[sortBy],tidB[sortBy]);

		var leftOverOutput = "";
		for (var i=0;i<leftOvers.length;i++)
			if (this.notHidden(leftOvers[i],title))
				leftOverOutput += "*[["+leftOvers[i]+"]]" + this.getTaggingCount(leftOvers[i]) + this.getExcerpt(title,leftOvers[i]) + "\n";

		var output = [];

		if (sortOrder == "desc")
		else if (leftOverOutput != "")
			// leftovers first...

		for (var i=0;i<allTags.length;i++)
			if (allTagsHolder[allTags[i]] != "")
				output.push("*[["+allTags[i]+"]]" + this.getTaggingCount(allTags[i]) + this.getExcerpt(title,allTags[i]) + "\n" + allTagsHolder[allTags[i]]);

		if (sortOrder == "desc" && leftOverOutput != "")
			// leftovers last...

		return this.drawTable(place,


	// used to build site map
	treeTraverse: function(title,depth,sortBy,sortOrder,isTagExpr) {

		var list = config.taggly.getTiddlers(title,sortBy,isTagExpr);

		if (sortOrder == "desc")

		var indent = "";
		for (var j=0;j<depth;j++)
			indent += "*"

		var childOutput = "";

		if (depth > this.config.siteMapDepthLimit)
			childOutput += indent + this.lingo.tooDeepMessage;
			for (var i=0;i<list.length;i++)
				if (list[i].title != title)
					if (this.notHidden(list[i].title,this.config.inTiddler))
						childOutput += this.treeTraverse(list[i].title,depth+1,sortBy,sortOrder,false);

		if (depth == 0)
			return childOutput;
			return indent + "[["+title+"]]" + this.getTaggingCount(title) + this.getExcerpt(this.config.inTiddler,title,depth) + "\n" + childOutput;

	// this if for the site map mode
	createTagglyListSiteMap: function(place,title,isTagExpr) {
		this.config.inTiddler = title; // nasty. should pass it in to traverse probably
		var output = this.treeTraverse(title,0,this.getTagglyOpt(title,"sortBy"),this.getTagglyOpt(title,"sortOrder"),isTagExpr);
		return this.drawTable(place,
				this.makeColumns(output.split(/(?=^\*\[)/m),parseInt(this.getTagglyOpt(title,"numCols"))), // regexp magic

	macros: {
		tagglyTagging: {
			handler: function (place,macroName,params,wikifier,paramString,tiddler) {
				var parsedParams = paramString.parseParams("tag",null,true);
				var refreshContainer = createTiddlyElement(place,"div");

				// do some refresh magic to make it keep the list fresh - thanks Saq

				var tag = getParam(parsedParams,"tag");
				var expr = getParam(parsedParams,"expr");

				if (expr) {
				else {
					if (tag) {
					else {

			refresh: function(place) {
				var title = place.getAttribute("title");
				var isTagExpr = place.getAttribute("isTagExpr") == "true";
				var showEmpty = place.getAttribute("showEmpty") == "true";
				var countFound = config.taggly.getTiddlers(title,'title',isTagExpr).length
				if (countFound > 0 || showEmpty) {
					var lingo = config.taggly.lingo;
					if (config.taggly.getTagglyOpt(title,"hideState") == "show") {
								isTagExpr ? lingo.labels.exprLabel.format([title]) : lingo.labels.label.format([title]));
						if (countFound == 0 && showEmpty)

	// todo fix these up a bit
	styles: [
"/* created by TagglyTaggingPlugin */",
".tagglyTagging { padding-top:0.5em; }",
".tagglyTagging li.listTitle { display:none; }",
".tagglyTagging ul {",
"	margin-top:0px; padding-top:0.5em; padding-left:2em;",
"	margin-bottom:0px; padding-bottom:0px;",
".tagglyTagging { vertical-align: top; margin:0px; padding:0px; }",
".tagglyTagging table { margin:0px; padding:0px; }",
".tagglyTagging .button { visibility:hidden; margin-left:3px; margin-right:3px; }",
".tagglyTagging .button, .tagglyTagging .hidebutton {",
"	color:[[ColorPalette::TertiaryLight]]; font-size:90%;",
"	border:0px; padding-left:0.3em;padding-right:0.3em;",
".tagglyTagging .button:hover, .hidebutton:hover, ",
".tagglyTagging .button:active, .hidebutton:active  {",
"	border:0px; background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]];",
".selected .tagglyTagging .button { visibility:visible; }",
".tagglyTagging .hidebutton { color:[[ColorPalette::Background]]; }",
".selected .tagglyTagging .hidebutton { color:[[ColorPalette::TertiaryLight]] }",
".tagglyLabel { color:[[ColorPalette::TertiaryMid]]; font-size:90%; }",
".tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }",
".tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}",
".tagglyTagging ul ul li {margin-left:0.5em; }",
".editLabel { font-size:90%; padding-top:0.5em; }",
".tagglyTagging .commas { padding-left:1.8em; }",
"/* not technically tagglytagging but will put them here anyway */",
".tagglyTagged li.listTitle { display:none; }",
".tagglyTagged li { display: inline; font-size:90%; }",
".tagglyTagged ul { margin:0px; padding:0px; }",
".excerpt { color:[[ColorPalette::TertiaryDark]]; }",
".excerptIndent { margin-left:4em; }",
"div.tagglyTagging table,",
"div.tagglyTagging table tr,",
" {border-style:none!important; }",
".tagglyTagging .contents { border-bottom:2px solid [[ColorPalette::TertiaryPale]]; padding:0 1em 1em 0.5em;",
"  margin-bottom:0.5em; }",
".tagglyTagging .indent1  { margin-left:3em;  }",
".tagglyTagging .indent2  { margin-left:4em;  }",
".tagglyTagging .indent3  { margin-left:5em;  }",
".tagglyTagging .indent4  { margin-left:6em;  }",
".tagglyTagging .indent5  { margin-left:7em;  }",
".tagglyTagging .indent6  { margin-left:8em;  }",
".tagglyTagging .indent7  { margin-left:9em;  }",
".tagglyTagging .indent8  { margin-left:10em; }",
".tagglyTagging .indent9  { margin-left:11em; }",
".tagglyTagging .indent10 { margin-left:12em; }",
".tagglyNoneFound { margin-left:2em; color:[[ColorPalette::TertiaryMid]]; font-size:90%; font-style:italic; }",

	init: function() {
		config.shadowTiddlers["TagglyTaggingStyles"] = this.styles;



By Saq Imtiaz

// syntax adjusted to not clash with NestedSlidersPlugin
// added + syntax to start open instead of closed

config.formatters.unshift( {
	name: "inlinesliders",
	// match: "\\+\\+\\+\\+|\\<slider",
	match: "\\<slider",
	// lookaheadRegExp: /(?:\+\+\+\+|<slider) (.*?)(?:>?)\n((?:.|\n)*?)\n(?:====|<\/slider>)/mg,
	lookaheadRegExp: /(?:<slider)(\+?) (.*?)(?:>)\n((?:.|\n)*?)\n(?:<\/slider>)/mg,
	handler: function(w) {
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart ) {
			var btn = createTiddlyButton(w.output,lookaheadMatch[2] + " "+"\u00BB",lookaheadMatch[2],this.onClickSlider,"button sliderButton");
			var panel = createTiddlyElement(w.output,"div",null,"sliderPanel");
			panel.style.display = (lookaheadMatch[1] == '+' ? "block" : "none");
			w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
   onClickSlider : function(e) {
		if(!e) var e = window.event;
		var n = this.nextSibling;
		n.style.display = (n.style.display=="none") ? "block" : "none";
		return false;


<<formTiddler NewArticleTemplate>><data>{"journalinfo":"Forbes Magazine","pagenumbers":"2013","author":"Kashmir Hill","articletitle":"\"How Target Figured Out A Teen Girl Was Pregnant Before Her Father Did\"","primtopic":"Big data analytics","synopsis":"Positives and Negatives of Big data"}</data>How Target Figured Out A Teen Girl Was Pregnant Before Her Father Did

Every time you go shopping, you share intimate details about your consumption patterns with retailers. And many of those retailers are studying those details to figure out what you like, what you need, and which coupons are most likely to make you happy. Target, for example, has figured out how to data-mine its way into your womb, to figure out whether you have a baby on the way long before you need to start buying diapers.

Charles Duhigg outlines in the New York Times how Target tries to hook parents-to-be at that crucial moment before they turn into rampant — and loyal — buyers of all things pastel, plastic, and miniature. He talked to Target statistician Andrew Pole — before Target freaked out and cut off all communications — about the clues to a customer’s impending bundle of joy. Target assigns every customer a Guest ID number, tied to their credit card, name, or email address that becomes a bucket that stores a history of everything they’ve bought and any demographic information Target has collected from them or bought from other sources. Using that, Pole looked at historical buying data for all the ladies who had signed up for Target baby registries in the past.

Forbes Staff [Pole] ran test after test, analyzing the data, and before long some useful patterns emerged. Lotions, for example. Lots of people buy lotion, but one of Pole’s colleagues noticed that women on the baby registry were buying larger quantities of unscented lotion around the beginning of their second trimester. Another analyst noted that sometime in the first 20 weeks, pregnant women loaded up on supplements like calcium, magnesium and zinc. Many shoppers purchase soap and cotton balls, but when someone suddenly starts buying lots of scent-free soap and extra-big bags of cotton balls, in addition to hand sanitizers and washcloths, it signals they could be getting close to their delivery date.

Or have a rather nasty infection.

As Pole’s computers crawled through the data, he was able to identify about 25 products that, when analyzed together, allowed him to assign each shopper a “pregnancy prediction” score. More important, he could also estimate her due date to within a small window, so Target could send coupons timed to very specific stages of her pregnancy.

One Target employee I spoke to provided a hypothetical example. Take a fictional Target shopper named Jenny Ward, who is 23, lives in Atlanta and in March bought cocoa-butter lotion, a purse large enough to double as a diaper bag, zinc and magnesium supplements and a bright blue rug. There’s, say, an 87 percent chance that she’s pregnant and that her delivery date is sometime in late August.

And perhaps that it’s a boy based on the color of that rug?

So Target started sending coupons for baby items to customers according to their pregnancy scores. Duhigg shares an anecdote — so good that it sounds made up — that conveys how eerily accurate the targeting is. An angry man went into a Target outside of Minneapolis, demanding to talk to a manager:

“My daughter got this in the mail!” he said. “She’s still in high school, and you’re sending her coupons for baby clothes and cribs? Are you trying to encourage her to get pregnant?”

The manager didn’t have any idea what the man was talking about. He looked at the mailer. Sure enough, it was addressed to the man’s daughter and contained advertisements for maternity clothing, nursery furniture and pictures of smiling infants. The manager apologized and then called a few days later to apologize again.

On the phone, though, the father was somewhat abashed. “I had a talk with my daughter,” he said. “It turns out there’s been some activities in my house I haven’t been completely aware of. She’s due in August. I owe you an apology.”

What Target discovered fairly quickly is that it creeped people out that the company knew about their pregnancies in advance.

“If we send someone a catalog and say, ‘Congratulations on your first child!’ and they’ve never told us they’re pregnant, that’s going to make some people uncomfortable,” Pole told me. “We are very conservative about compliance with all privacy laws. But even if you’re following the law, you can do things where people get queasy.”

So Target got sneakier about sending the coupons. The company can create personalized booklets; instead of sending people with high pregnancy scores books o’ coupons solely for diapers, rattles, strollers, and the //Go the Fuck to Sleep// book, they more subtly spread them about:

“Then we started mixing in all these ads for things we knew pregnant women would never buy, so the baby ads looked random. We’d put an ad for a lawn mower next to diapers. We’d put a coupon for wineglasses next to infant clothes. That way, it looked like all the products were chosen by chance.

“And we found out that as long as a pregnant woman thinks she hasn’t been spied on, she’ll use the coupons. She just assumes that everyone else on her block got the same mailer for diapers and cribs. As long as we don’t spook her, it works.”

So the Target philosophy towards expecting parents is similar to the first date philosophy? Even if you’ve fully stalked the person on Facebook and Google beforehand, pretend like you know less than you do so as not to creep the person out.

Duhigg suggests that Target’s gangbusters revenue growth — $44 billion in 2002, when Pole was hired, to $67 billion in 2010 — is attributable to Pole’s helping the retail giant corner the baby-on-board market, citing company president Gregg Steinhafel boasting to investors about the company’s “heightened focus on items and categories that appeal to specific guest segments such as mom and baby.”

Target was none too happy about Duhigg’s plans to write this story. They refused to let him go to Target headquarters. When he flew out anyway, he discovered he was on a list of prohibited visitors.

I think most readers of the excellent piece will find it both unsettling and unsurprising. With all the talk these days about the data grab most companies are engaged in, Target’s collection and analysis seem as expected as its customers’ babies. But with their analysis moving into areas as sensitive as pregnancy, and so accurately, who knows how else they might start profiling Target shoppers? The store’s bulls-eye logo may now send a little shiver of fear down the closely-watched spines of some, though I can promise you that Target is not the only store doing this. Those people chilled by stores’ tracking and profiling them may want to consider going the way of the common criminal — and paying for far more of their purchases in cash.
<<notes heading:'Rays Notes'>> !!!Comments <<comment>>
<<formTiddler NewArticleTemplate>>''How to Test Your Corporate Communications Skills''

by Tara Duggan, Demand Media

Effective corporate communication skills typically involve speaking, listening, writing and reading. To start testing your skills, take an online test, participate in a workshop or complete self-paced training that assesses your ability to function in a corporate environment. On the job, ask for feedback from your coworkers, managers, customers and suppliers about your ability to convey a business message. By incorporating their input into your communication strategy, you increase your chances for making yourself understood without misunderstandings or causing unintended offense.

Step 1.''Plan your message.'' 
Take some time to figure out what you want say, write or show. Focus on establishing a purpose for your message. To test your skills, validate your assumptions with a coworker. For example, list the objectives for teaching a coworker how to accomplish a task. Ask her if you have provided enough detail to accomplish the chore. Revise your steps if you provided too little detail. Remove some steps if you offered extraneous information that does not pertain to the task at hand. In general, keep your messages short and simple.

Step 2. ''Create a clear and concise message.''
Test your message on selected members of your target audience before sending it out. For example, to announce a change in product support, create a paragraph of text that provides details about the changes. Send an email to selected customers and follow-up with a phone call to test your communication skills. Determine if your message conveyed your intentions appropriately. Revise your message if you don't receive the desired results. To communicate effectively, try to anticipate your audience's reaction and anticipate comments and concerns.

Related Reading: Theory of Mary Munter's Corporate Communication Framework

Step 3. ''Check your grammar, spelling and punctuation.''
Using free online tools, you can test your ability to provide well-written content. Avoid jargon and use a tone that is appropriate for the situation. Avoid humor unless you are sure that that audience understands your intent. Use visual images to support your text. If you communicate with an international audience, verify that you have not used words or phrases that may unintentionally offend your readers.

Step 4. ''Choose the right mechanism to send your message.''
Test your ability to choose the best communication channel by following up with the recipient. For example, avoid sending emotional messages by email. Resist the temptation to leave a long voice mail with multiple steps for completing a complex task.

Step 5. ''Use active listening.''
Give your attention to the speaker and avoid unnecessary distractions to ensure you fully understand. Test your understanding by paraphrasing what was said, asking questions and repeating key messages.<data>{"author":"Tara Duggan","articletitle":"How to Test Your Corporate Communications Skills","journalinfo":"Demand Media"}</data>
<<formTiddler NewArticleTemplate>><data>{"author":"Mark Fenn","journalinfo":"ThaiVisa","pagenumbers":"20140108","primtopic":"Thailand unrest","synopsis":"Summary of situation","articletitle":"Thailand on the brink"}</data>''Thailand on the brink''

Mark Fenn

Thailand is no stranger to political turmoil but the current unrest looks set to be a protracted and especially bitter affair, raising the very real possibility of civil war.

The stage seems set for a showdown between anti-government forces, backed by powerful vested interests, and a flawed but democratically elected government that enjoys mass support, especially in its rural heartlands.

The conflict is being waged between rival factions of the elite, but also on class, ethnic and regional fronts. Predicting the future in Thai politics is futile, but more mass protests and bloodshed on the streets seem inevitable.

Over the past two months, tens – perhaps hundreds – of thousands of protesters have taken to the streets of the capital Bangkok to demand less democracy, and the overthrow of Prime Minister Yingluck Shinawatra’s government.

They claim it is illegitimate and controlled by Yingluck’s brother Thaksin, who was overthrown as prime minister in a 2006 military coup. He lives in exile in Dubai to avoid a two-year jail term for abuse of power.

The protesters are backed by the ineffectual and misnamed Democrat Party, which has abdicated its role as a responsible opposition and announced that it will boycott snap elections called for Feb. 2. In the knowledge that it is likely to lose once again, it has, in effect, turned its back on democracy.

“The opposition has been unable to compete in the game of electoral politics and thus chose to play mob politics and provoke violence to overthrow the government,” said Pavin Chachavalpongpun, associate professor at the University of Kyoto’s Center for Southeast Asian Studies.

The protest leaders portray the government “as an evil regime to legitimize their own unreasonable demands and behavior,” he added.

The protesters are drawn from Bangkok’s middle class and wealthy elite, and from opposition strongholds in the south of the country. Their constant refrain is that poor rural Thais — those who voted for the government — are ignorant, ill-informed and sell their votes to the highest bidder.

Frustrated at the inability of the Democrats to win elections, they say the country is not ready for democracy. This hate-filled rhetoric has contributed to an atmosphere where many Thais are now seriously debating the merits of universal suffrage and one-man-one-vote.

Protest leader Suthep Thaugsuban — a former Democrat deputy prime minister facing murder charges for his role in a 2010 crackdown on anti-government demonstrations — now finds himself on the other side of the barricades.

He has called for the overthrow of the current government, the suspension of electoral democracy, and rule by an appointed council of “good people” — prompting some commentators to describe his goals as essentially fascist.

A rabble-rousing demagogue with a shady background tainted by allegations of corruption, Suthep is hailed as a hero by supporters for his promises to defend the monarchy, tackle graft and clean up government.

Although a warrant has been issued for his arrest on an insurrection charge, he rails daily against the “Thaksin regime” from the protest stages. He has vowed to sabotage the election and stop it taking place until legal, political and bureaucratic “reforms” are implemented, though his proposals are vague.

Protesters clashed with police as they tried to storm a stadium where election preparations were taking place on Dec. 26, and blocked candidate registration in eight southern provinces. Three people — a policeman and two protesters — were shot dead at the end of December. The gunmen have not been identified, but both sides have hinted at the involvement of a “third hand,” or agents provocateurs.

Meanwhile, in the north and northeast of Thailand — the government’s support base — millions of loyal “red shirt” voters are seething with anger over what they see as yet another attempt by the Bangkok elite to bring down a government they have voted into power.

Social changes

The current protests were sparked in November, when the government clumsily tried to push through an amnesty bill that would have pardoned thousands of people convicted of politically related crimes between 2003 and last year.

This would have paved the way for the return of Thaksin, a deeply polarizing figure who is loved by his supporters and loathed by his enemies.

Human Rights Watch has described Thaksin as “a human rights abuser of the worst kind,” and he has been beset by allegations of corruption and nepotism. Yet he commands fierce loyalty in parts of the country for introducing policies that benefited the rural poor.

The policeman-turned-telecoms tycoon, who first swept to power in the 2001 general election, proved an astute politician. He took advantage of broad social changes, appealing to increasingly affluent and better-educated rural voters, especially in the poor northeastern region which had long been neglected by rulers in Bangkok.

His government introduced a number of well-received policies, including heavily subsidized healthcare, village grants and micro-credit for small businesses, which opponents decried as “populist” measures designed to buy support.

But his brash manner and willingness to upset the status quo made Thaksin many enemies among the Bangkok elite, which revolves around the palace, big business and the senior echelons of the military.

They saw him as a threat to the monarchy and their traditional power and privilege. In 2006, following mass street protests similar to the current ones, the army ousted Thaksin in a coup that was welcomed by many in the capital.

And yet, despite the best efforts of the elite, the Democrats and a politicized judiciary, the people of Thailand continue to elect Thaksin-backed parties into government. In various guises, they have now won the past five general elections, thanks mainly to their strong support in the north and northeast.

The staunchly royalist, nationalist Democrats continue to fare well in Bangkok and the south of the country. But they haven’t won a general election since 1992, although they headed a coalition government from 2008-2011 following a controversial court decision that dissolved a ruling Thaksin-backed party. Now they appear to have given up trying.

Climate of fear

Full story: http://wagingnonviol...thailand-brink/

<<formTiddler NewArticleTemplate>><data>{"articletitle":"\"Thank God, this will only get worse\"","journalinfo":"New York Times","primtopic":"Endurance sport","author":"Stuart Stevens","pagenumbers":"200708","url":"http://www.nytimes.com","synopsis":"Craziness of endurance cyclists"}</data>@@Thank God, This Will Only Get Worse@@
Paolo Pellizzari

OH SUCH FUN Slogging up the Pyrenees in this summer's Étape du Tour, a 196-kilometer race that followed a 2007 Tour de France stage route.

Published: August 19, 2007

It was about five hours and 8,000 vertical feet into the ride when I found myself next to Nigel. He was English and a member of a somewhat ridiculous, somewhat serious cycling club not far from London called the Old Portilians. A year earlier we had ridden the Raid Pyrénéen together. That had been 450 miles of hard riding from the Atlantic to the Mediterranean, over many of the great climbs of the Pyrenees, and I’d never heard Nigel complain once. But now he was on a rant:

“This is goddamn insane, this ride. We’re going to die. What were we thinking?”

I always ask myself the same question at a certain point in any preposterous endurance endeavor. But it was still early in the day, and besides, the thought should never be uttered aloud.

“Cheer up, man. It’s a gorgeous day and we’re in the middle of the French Alps. How bad could it be? You think those goats up there aren’t enjoying the day?”

“What goats?”

I pointed to the top of the massive peak in front of us.

“You idiot,” Nigel said through his sweat. “Those aren’t bloody goats, those are cyclists. That’s where we have to climb.”

“Up there?” High above, the tiny figures were moving. God, they were riders.

“Depressed now, mate?”

I nodded. “We’re going to die.”


You hear a lot of reasons why kids are drawn to sports — a sense of belonging, the sheer love of the game, a chance to earn attention, all those highly touted social benefits. But for me it was always the violence.

As a kid growing up in the Deep South, what I liked most about sports was the endless opportunities presented to hit somebody and not get into trouble. The same sort of violent outburst that doomed you to days of detention would have coaches jumping up and down and shouting gleefully: “You knocked the snot out of ’em! Way to go!”

At least it was that way with football, and where I grew up, football wasn’t just a part of life, it was life, and all that other stuff we did to fill our days seemed monochromatic and slightly sissified. The notion of engaging in an athletic endeavor in which you were penalized for hitting someone seemed an utter waste of time. I was vaguely aware of endurance sports but lumped them together in the same oddball category as race walking. You do that for fun?

So I played football and rugby, boxed and wrestled, none of it particularly well. I tried basketball but always got into fights, mostly as a way to cover for the fact that I never could master that dribbling thing. This all works well enough through high school and college, but at a certain point you look up and the options for participating in sports as a socially accepted way to commit pleasurable acts of violence have narrowed. When most peers are focused on building a career and starting a family, it becomes problematic to admit that what you most enjoy in life is lining up and knocking the snot out of somebody, or vice versa. What once made you seem fun-loving and enthusiastic — so well-rounded! — now begins to paint a darker portrait of an emerging psychopath with serious developmental issues. You’re not just the aging lifeguard whose friends have all left the beach — you’re the aging lifeguard with a little serial killer practice on the side.

Eventually, the time came for me to find other athletic outlets equally gratifying and consuming, though I swore I’d never take up any sports that fat people do well. Like golf.

As is typical, the first endurance sport I tried was running. I hated it.

Freud says that anatomy is destiny, and my destiny as a runner was utter mediocrity. Short of a mandate that all races end with a refrigerator-lifting contest, I was doomed. Those countless hours spent in the gym building a certain mass were suddenly as helpful as lugging around a crate of rocks. It just didn’t seem fair.

I ran my first marathon on a flat course and was feeling quite proud of myself when at around mile 19 I fell into conversation with a stick figure of a guy who seemed fresh enough to have just started. He explained that he was training for an upcoming 100-kilometer race and that this was his off day, so he had decided to run the marathon. Then I noticed he was wearing hiking boots. “I need to make this a challenge,” he said. I had to stop and pretend to be tying my shoe so that I wouldn’t tackle him.

Then, by chance, I stumbled across one of the few endurance sports that didn’t automatically favor those with the body of a P.O.W. — cross-country skiing. I’d never really considered cross-country skiing a sport but more an excuse to wander in the woods and talk to God, both of which had little appeal. I’d tried it once in college when an exceptionally gorgeous girl of a Nordic type suggested a trip up Pikes Peak in Colorado as something of a first date. (That sort of squeaky-clean approach was popular at that time and place, a phase I hope has passed for those still dating in Colorado.) Our romance floundered as we slogged through deep snow on heavy skis, and I quickly progressed from mere gasping to throwing up while she kept demanding, “What’s wrong with you?”

All this changed when I discovered track skiing — Nordic racing. It happened in my late 20s when I was living in Switzerland, where my wife was teaching. I coached the school’s rugby team, but it would be a charitable understatement to say that I had a lot of time on my hands. One of the faculty members had raced cross-country at Middlebury, and he convinced me to tag along to a nearby ski area for a training session.

With the well-practiced efficiency of a racer, my friend quickly stripped down to a Lycra suit and bolted off. On his borrowed racing skis, I tried to follow, still wearing my heavy warm-ups. It didn’t take long to leave my half-digested breakfast in the snow (again!), but an hour or so later, I began to get a hint of the allure of Nordic skiing. It was the glide that seduced me.

Gliding. It was a transforming experience, as if suddenly sprouting wings and darting into the air, a complete rearranging of one’s relationship with gravity. Sheer magic.

The sun glistened off the snow, groomed to perfect corduroy and bisected by miles of parallel tracks. A train of skiers passed by wearing team warm-ups. They were double poling in unison, reaching high with both hands and then thrusting their poles into the snow with tremendous force, their upper bodies bent toward the ground for an instant before their poles shot out behind them in a fluid stroke. Again and again, the same motions repeated, their bodies hurtling across the snow with amazing speed, all synchronized grace and power.

In that moment I didn’t understand what I was seeing — later I would study the mysteries of double poling with an intensity worthy of cracking the genetic code — there was just the sense of a door opening to a hidden world I suddenly wanted to be part of.

A year later, my entire life revolved around cross-country skiing. Any pretense of career or nonathletic ambition had been tossed aside for a slavish devotion to training, technique, equipment and racing. Actually, the races were just a small part of the equation. It was the 20-plus hours a week of skiing I craved, the two and sometimes three workouts a day, that blissful, purposeful exhaustion that made staying awake through dinner a legitimate challenge.

On its most basic level, mine had become a supremely hedonistic existence; I lived in a world totally consumed with my body. Had I been spending 18 hours a day on the beach in search of the perfect tan, I would have been no more useless a member of society. But I’d discovered that having race ambitions gave a patina of respectability to what in fact was exceedingly self-indulgent behavior.

As I immersed myself in cross-country skiing, I learned of a circuit of long-distance events called the Worldloppet: 10 races (later it would expand), each in a different country, 8 in Europe and 2 in North America. In my cross-country frenzy, I decided to do all of them in one eight-week season. It was a silly idea, but of course that only increased the appeal. To do all 10 races, I’d have to spend back-to-back weekends flying across the Atlantic, racing on Saturday, then catching an overnight flight to make the start of another race Sunday morning.

No one had ever done it, but then again, no one had ever bothered to try. There was a whimsical “how many goldfish can you swallow” quality to the project, and yet there was something about its being a series of races that made it seem almost important. When friends or family asked what I was up to — a polite way of wondering if I had a job yet — I’d assume a somber look and say, usually with a sigh, “I’m training to do all the Worldloppet races.” This usually got me a puzzled look — no one having the remotest idea what the Worldloppet was — followed by a serious nod and the inevitable, “How’s it going?”

I loved it.

I had played sports since I was 3 and had been on a million teams, but racing the Worldloppet was the first time I began to define myself as an athlete. Even though I was mediocre on my best days, my obsession with cross-country skiing gave me an entirely new perspective on life and self.

Then, when the season was over, I told myself it was time to grow up and get serious about pursuits worthy of an adult. Reluctantly, I moved on, working as a writer and as a political consultant, which, if nothing else, served as an outlet for my violent tendencies. But it didn’t take long to realize that my taste of the endurance life had created a hunger that normal life didn’t come close to satisfying.

Endurance sports brought order to my days. In an ever-confusing and chaotic world in which truth seems elusive, a serious training session or race made it inescapable. Truth, often ugly and disappointing but honest, was impossible to deny.

But as you get older and life becomes more complicated, it’s easy to start questioning the value of spending huge chunks of your days going in what amounts to glorified circles. One morning you wake up and it suddenly hits you — all the things you could be doing with an extra 15 to 25 hours a week. It’s an entirely rational epiphany and one that must, of course, be crushed immediately.

The key is to reassure yourself that what you are doing is perfectly normal and worthwhile and that it’s all those other people who clearly don’t understand the true meaning of life. I’m sure that’s how Jim Jones or David Koresh kept wavering disciples from leaving the cult — What are you, crazy? We have everything figured out. Here, drink some of this.

My personal garden of Gethsemane came after an encounter between my bike and a cement truck about a month before an Ironman race. Almost inevitably, I’d fallen into a triathlon stage, a near mandatory passage for someone like me — middle-aged, unaccomplished at any specific sport, afflicted with an equipment fetish and in desperate need of new ways to underperform. Why be good at one sport when you can be unimpressive at three?

The crash left my bike unscathed but mangled my left shoulder, a problem not helped when I proceeded to race the Ironman a few weeks later, tucking my bad arm into my wet suit for the 2.4 mile swim. I convinced myself that this would do no harm and, given my miserable swimming skills, might even improve my time. I finished the race, but the surgeon who subsequently repaired my shoulder threatened to commit me to a psychiatric unit if I didn’t give up the long and hard stuff for the foreseeable future.

It was all very depressing. When you’ve depended on silly physical challenges as the organizing principle of your life, it’s terribly disorienting to watch it slip away. It’s like the devout learning that all Masses have been canceled. I told myself this was a sign from some higher power to stop the insanity. But then I met Bob Breedlove.

I was in the Arizona desert at a winter cycling camp. Miserable about not being able to ski with my bum shoulder, I’d signed up for a week of riding. I had no particular aspiration or goal and promised myself that I would stick to my new regimen of moderation. That first day, while most of us were struggling through the hot and windy miles, one guy kept riding, smiling and waving, easily doubling everyone else’s distance. It was highly annoying. Though not a big fellow, his muscles bulged out of ragged shorts and a jersey with hacked-off sleeves. It was as if a smaller version of the Incredible Hulk had taken up cycling. His hands were covered in strange Day-Glo orange gloves. Clearly one of those Rain Man nut jobs who rides his bike too much because he can’t deal with life.

That night there was a lecture by a legendary ultradistance rider and physician whom I’d never met but had heard about for years. In walked the Hulk with the orange gloves. “I’m Bob Breedlove,” he said. The room of riders burst into applause, like an Apple convention greeting Steve Jobs. Bob gave a goofy, embarrassed grin. “I like to ride bikes.”

We rode together every day, and by the end of the week, Bob had pushed me off the long-distance-cycling cliff.

Bob Breedlove was a star of an event known as RAAM — the Race Across America — a yearly phenomenon that compels a self-selecting group of fanatics to meet on the West Coast and ride like hell across the country, arriving at the Atlantic in about 10 days. Ten days.

Even to someone like me, who wasted countless hours finding different ways to get tired, the RAAM riders seemed to be a species apart. But

Bob — a renowned orthopedic surgeon, father of four, deacon of his church — radiated a glorious normalcy while still operating from the assumption that if you weren’t spending huge amounts of time expanding your limits, there was something egregiously out of kilter in your life.

On one of our first rides, I’d asked what had lured him to a race in which you ride your bike from coast to coast. He’d shrugged in his self-deprecating way and said, “I wanted to know what it felt like the last day.”

So there it was. Of course.

The next summer Bob and I were riding a tandem bike together in Paris-Brest-Paris, a 1,200-kilometer event held every four years in France. Bob had ridden P.B.P. many times and, for reasons that baffled me, loved to do it on a tandem. I’d never been on a tandem and always thought it was one of those regrettable inventions that gave couples who didn’t really like each other a chance to pretend they did.

Entrance to the race requires completion of a series of long qualifying rides, and Bob had been working through them with a partner from his hometown of Des Moines. After their final 600-kilometer ride, Bob called me up.

“My tandem partner says he doesn’t want to do P.B.P.,” he announced in a perplexed sort of tone. “I don’t really get it. I mean, he wanted to sleep on the 600k. I said fine, we’d sleep some.”

I pointed out that this was not entirely unreasonable for an event that took 24 to 30 hours of hard riding. Bob begrudgingly agreed, though it was clear he thought sleeping at all on a ride that short was ridiculous. I asked if his partner had any problems on the ride.

“Not really,” Bob said. “He had some trouble with food and was throwing up, but no real problems.”

An image flashed through my mind of some poor guy trapped on the back of Bob’s tandem, vomiting and nodding asleep while Bob powered through the Iowa night.

“He got off the bike at the end,” Bob continued, “and said he never wanted to ride again.”

“Imagine that.”

“So that means you have to ride with me.”

I had already qualified for P.B.P. on a “real” bike and explained to Bob that I hated even the idea of tandems. But of course I knew I’d accept.

It takes a lot of practice for a tandem pair to find a rhythm that overcomes the drag of double weight on one bike. Bob had won RAAM twice with a tandem partner and set a blistering pace at Paris-Brest-Paris. We’d agreed that practice was essential, but naturally it never happened.

“How do you get on this thing?” I asked in Paris when Bob rolled out his shiny new handmade tandem. There was a long pause followed by something of a shudder when Bob and his support crew realized I wasn’t joking.

“Well, we don’t need to worry about a lot of people drafting off us,” Bob said after our first of only two practice spins.

“Why’s that?” I asked.

“We’re too slow.”

We started at dawn with 4,000 other riders in a mad sort of jailbreak, hurtling through gorgeous French countryside where it seemed that the internal combustion fad had never caught on. Our plan was to sleep twice a day in three-hour stints. We’d be met at each stop by Bob’s four-person crew — family and friends who had helped him on his many cross-country rides. For a strictly amateur event in which the winner and the last-place finisher get exactly the same prize — which is to say, nothing — having a support staff that could solve any problem was a bit like entering a soapbox derby with a Nascar pit crew.

We were about 10 hours into it, working through the near constant climbs, when Bob announced almost gleefully: “This is really a terrible course for a tandem. It’s all hills.”

As we rode, Bob kept pushing harder and harder, as if eager to reach the point when muscles surrender and the long battle begins between exhaustion and will.

“Now it starts to get fun,” he exulted. It was dawn of the second day, and all around us cyclists were sleeping on the ground next to their bikes. Two riders were leaning upright against a telephone pole, still on their bikes, sound asleep.

At the last rest stop before the finish, I was wandering around in a daze, envying everyone who was eating the “real” food like pasta that the organizers provided. Bob’s rule, enforced rigorously by his crew, was to stick to an all-liquid diet to avoid the intestinal issues that felled so many riders. We had consumed vast quantities of something called Spizz, which Bob relied on for all his RAAM crossings. But now I found myself wanting solid food in the worst way, and as I was standing in the corner, a few delicious bites into a huge plate of linguine, Bob’s sister-in-law, LaJean Breedlove, caught me.

She took my plate, put her face right up to mine, grasped me by both shoulders and shook me, saying: “Stuart, you’re almost finished. Just stay on the bike!”

Vince Lombardi could not have been more compelling or terrifying. I all but ran to the bike, where Bob was waiting, looking fresh as ever. “It’s good you didn’t argue,” he said, as we pulled away. “That can get messy.”

Two years later, Bob was killed while racing RAAM, struck by a 15-year-old unlicensed driver on a lonely stretch of Colorado highway.

When Bob had proclaimed that the fun really started on that second day of P.B.P., I’d laughed and told him he was nuts, but of course I knew what he meant. “Fun” is what happens when you enter that zone where the ordinary is suspended and the normal rules of time and space are strikingly rearranged. Ask anyone who runs a marathon about the difference between those first miles — the ordinary ones — and the last few, when each stride requires the effort of 10 earlier ones. That’s the Fun Zone, when minutes can seem like hours or, just as capriciously, hours can zoom by in a trance-like state. It’s not why most of us take on absurd endurance endeavors, but I doubt we would keep coming back without those moments. It’s a sweaty sort of transcendence.

At a certain point, as the cliché goes, all endurance activities are more mental than physical. If you get your mind right, you can probably succeed. That’s what I was trying to explain to my pal Nigel high in the French Alps last summer as we slowly forced our bikes up the stunning climb known as the Col du Galibier.

We were riding La Marmotte — a swooping, looped course that covered almost 17,000 feet of climbing over some of the most notorious ascents of the Alps. It was part of a circuit of long, hard rides that is known in Europe as Cyclo Sportive. La Marmotte was billed as arguably the toughest one-day amateur cycling event in the world, and if it wasn’t, God knows I never hope to ride the one that tops it.

At first light, I joined 8,000 other cyclists riding to the start at the base of l’Alpe d’Huez, the most famous climb in the Tour de France. It was a scene that resembled the hometown parades of soldiers marching to war — everyone clean and well fed, victory assured, glory assumed. We filled the village streets of Bourg d’Oisans, packed bike to bike.

A loud mechanical sound broke the quiet, thousands of bike shoe cleats clicking into pedals. The great snake of riders in front of me started to move, though I never heard a start pistol.

We went slowly. In the flats of the valley, no one appeared to be riding hard; everyone was holding back, waiting. Various bike clubs gathered, wearing matching jerseys. It was a perfect morning — clear, not too warm, the peaks ahead sparkling in the early sun. This was going to be easy. I accelerated toward the front. In every group I passed, some wise soul glanced my way with a look somewhere between disdain and pity.

I hope sometime before I die not to be seized by an overwhelming urge to quit as soon as a race requires real effort. It happens to me every time, and it happened to me at La Marmotte. From the valley we turned on to the Col du Glandon, and the road suddenly shot skyward. All around me smaller guys and women (I’d long ago given up the notion that I could hang with the fast women in any sport) shot forward. I had worked hard to stay lean, and my body fat was around 8 percent, which wasn’t horrible, but I still weighed just under 200 pounds. I once heard about a professional basketball player who showed up at an early season practice 10 pounds overweight, and when he scoffed that it didn’t matter, his coach tied a 10-pound ham around his waist. He lost the weight.

Compared with the riders gliding past me, I was lugging a lot of ham up this alp. I looked at my watch — we’d been riding about 45 minutes. As the sweat began to pour off me and my heart rate accelerated, I wasn’t sure I could keep it up. For a moment I let myself focus on the horribly unfair reality that it would probably take me 11-plus hours to get to the finish at the top of l’Alpe d’Huez. If there hadn’t been thousands of riders behind me, I would have made a U-turn and looked for a nice place to have breakfast.

Without the innate human capacity for self-deception, these events would be impossible. You swear to yourself that it will get easier. Oddly, it usually does, or the body adjusts and it seems easier. After about three brutal miles, the Glandon dips for about a mile, giving you hope that the entire day won’t be spent climbing to the moon, then resumes at a slightly less horrible grade.

I’ve learned it’s rarely a good idea to allow yourself to look upward on long climbs. Unfortunately, the famous climbs of the Alps are usually lined with signs detailing the remaining distance to the summit and the grade of the next kilometer. More often than not, I glance away, as if avoiding the sight of some particularly gruesome accident. Don’t tell me. I don’t want to know.

So, head down and grinding away, I almost ran into the crowd of riders stopped on the road just beyond the summit of the Glandon.

“There was a nasty crash on the descent, and they’re stopping everybody from riding down,” a Dutch rider told me. In the distance I could hear the rescue helicopter.

“How bad?” I asked.

He shrugged. “I think several guys died.”

Several? Dead?

“That’s impossible,” I blurted.

It’s shameful but true that of all the thoughts bouncing around in my head — how long are we going to be here? will they deduct this from our official times? what if they cancel the race? (the latter eliciting more hope than disappointment) — I don’t think I spent more than a nanosecond worrying about the crashed riders. Had I passed them lying bleeding on the road, I’m sure I would have stopped. Really, I am.

We milled around, and gradually I began to get as restless as the other riders, who had been trapped on the top for almost an hour. When they finally let us proceed in waves of fives, I flew down the mountain, focused only on the clock, calculating how much time I had lost, swooping around the tight corners in a near frenzy. It’s strange how that works. Yes, someone might have died, but there’s this ticking clock to beat. I had to get to the base of l’Alpe d’Huez by the 6 p.m. cutoff. Beyond that time, riders weren’t allowed to continue up to the finish.

The panic of lost time got me up the relatively mild Col du Télégraphe, but then there was the Galibier. The Tour de France ranks climbs for difficulty, and this one was “hors catégorie” — beyond classification.

By the time Nigel and I hooked up, riders were starting to crack. For a sport that has an aura of gentleness and grace — children ride bikes, grandmothers ride bikes — the violence of race language is telling. Riders don’t slow down, they “crack” or “blow up”; cocky riders promise “to rip the legs off” the competition. It’s an acknowledgment of the true nature of the sport — unrelenting and cruel.

“This is when the fun starts,” I said, but coming from me, Bob Breedlove’s call to arms sounded like an asthmatic’s gasp for air.

Nigel grunted.

The Galibier is one of those climbs that toy with you; just when you think it can’t get worse, it does. A lot worse. The final two kilometers is perilously steep, twisting and turning, making it impossible to tell how much farther you have to go. The air is so thin it’s like trying to breathe through a pillow.

At the top, riders were sprawled out everywhere, despite the sudden wind and sharp cold. Nigel wanted to rest, too, but I knew that stopping would only make us more tired. I checked my watch. It was 4:40, and l’Alpe d’Huez was more than 25 miles away. I said: “We go. Now.”

I outweighed Nigel by at least 30 pounds, and at last this was an advantage. “Stay on my wheel,” I said, handing him a bunch of Endurolyte pills, to ward off leg cramps, and a handful of gel packets. Many Europeans still take a perverse pride in eating the same stuff that Eddy Merckx downed 35 years ago at the Tour de France — little sandwiches and mushy bananas. “Eat this,” I ordered.

We dropped from the summit, Nigel locked behind me as my weight propelled us past lighter riders. Thank you, Newton.

I vaguely remembered reading about some tunnels on the Galibier but was totally unprepared when we rounded a bend and plunged into total darkness. Curses and shouts bounced off the tunnel walls. I had no idea who was ahead of me or to the side. I started to laugh giddily, trying to pull my sunglasses off my nose.

We dropped through 10 more tunnels on the descent, though they became easier as we got used to them. To my shock, I felt something close to strong, using different muscles on the descent and the rolling flats than the long day of climbing had demanded. Then we hit a stretch of uphill, and I felt the energy shoot out of me like air from a torn balloon.

When the angle of the descent relaxed, Nigel powered ahead and we traded off, taking turns in front, trying desperately to keep up our speed. I glanced at my heart rate monitor and shuddered. It was way over 160 beats per minute, pure redline.

At 5:55 p.m., we arrived at the check point at the base of l’Alpe d’Huez. For a moment, a short moment, it was exhilarating and we pounded each other on the back. We noticed a line of riders removing their timing chips, and it dawned on us that they were giving up. Nigel and I both found it offensive, a useful emotion at a time when any sort of motivation was desperately needed.

“You ready?” Nigel asked, a dead look in his eye. “Let’s get the hell out of here.”

We started up the first of the switchbacks, each one marked with a sign commemorating a previous winner of the l’Alpe d’Huez stage of the Tour de France.

“This is going to be easy,” Nigel rasped.

We passed a rider, bent over beside his bike, retching in a spasm of dry heaves.

“Piece of cake,” I agreed.

We pedaled on. Slowly.

Stuart Stevens is the author of “The Big Enchilada” and “Feeding Frenzy.” His next big event is a 93-kilometer Nordic race in Sweden next winter.

<<notes heading:'Rays Notes'>>

20080831...This article makes a fair fist of the task of describing the eccentricity of Endurance athletes. The main protagonist is a bit of a nut case at the best of times, but seems to go seriously crazy as he gets into the event...somehow, though he keeps it together sufficiently to still perform at astonishing levels.
<<formTiddler NewArticleTemplate>><data>{"articletitle":"\"That which doesn't kill makes me stranger\"","pagenumbers":"200602","journalinfo":"New York Times","synopsis":"World's best endurance athlete is a fruit-cake.","primtopic":"Endurance","author":"Journalist"}</data>''That Which Does Not Kill Me Makes Me Stranger''
Published: February 5, 2006

Jure Robic, the Slovene soldier who might be the world’s best ultra-endurance athlete, lives in a small fifth-floor apartment near the railroad tracks in the town of Koroska Bela. By nature and vocation, Robic is a sober-minded person, but when he appears at his doorway, he is smiling. Not a standard-issue smile, but a wild and fidgety grin, as if he were trying to contain some huge and mysterious secret.

Robic catches himself, strides inside and proceeds to lead a swift tour of his spare, well-kept apartment. Here is his kitchen. Here is his bike. Here are his wife, Petra, and year-old son, Nal. Here, on the coffee table, are whiskey, Jägermeister, bread, chocolate, prosciutto and an inky, vegetable-based soft drink he calls Communist Coca-Cola, left over from the old days. And here, outside the window, veiled by the nightly ice fog, stand the Alps and the Austrian border. Robic shows everything, then settles onto the couch. It’s only then that the smile reappears, more nervous this time, as he pulls out a DVD and prepares to reveal the unique talent that sets him apart from the rest of the world: his insanity.

Tonight, Robic’s insanity exists only in digitally recorded form, but the rest of the time it swirls moodily around him, his personal batch of ice fog. Citizens of Slovenia, a tiny, sports-happy country that was part of the former Yugoslavia until 1991, might glow with beatific pride at the success of their ski jumpers and handballers, but they tend to become a touch unsettled when discussing Robic, who for the past two years has dominated ultracycling’s hardest, longest races. They are proud of their man, certainly, and the way he can ride thousands of miles with barely a rest. But they’re also a little, well, concerned. Friends and colleagues tend to sidle together out of Robic’s earshot and whisper in urgent, hospital-corridor tones.

‘‘He pushes himself into madness,’’ says Tomaz Kovsca, a journalist for Slovene television. ‘‘He pushes too far.’’ Rajko Petek, a 35-year-old fellow soldier and friend who is on Robic’s support crew, says: ‘‘What Jure does is frightening. Sometimes during races he gets off his bike and walks toward us in the follow car, very angry.’’

What do you do then?

Petek glances carefully at Robic, standing a few yards off. ‘‘We lock the doors,’’ he whispers.

When he overhears, Robic heartily dismisses their unease. ‘‘They are joking!’’ he shouts. ‘‘Joking!’’ But in quieter moments, he acknowledges their concern, even empathizes with it — though he’s quick to assert that nothing can be done to fix the problem. Robic seems to regard his racetime bouts with mental instability as one might regard a beloved but unruly pet: awkward and embarrassing at times, but impossible to live without.
‘‘During race, I am going crazy, definitely,’’ he says, smiling in bemused despair. ‘‘I cannot explain why is that, but it is true.’’

The craziness is methodical, however, and Robic and his crew know its pattern by heart. Around Day 2 of a typical weeklong race, his speech goes staccato. By Day 3, he is belligerent and sometimes paranoid. His short-term memory vanishes, and he weeps uncontrollably. The last days are marked by hallucinations: bears, wolves and aliens prowl the roadside; asphalt cracks rearrange themselves into coded messages. Occasionally, Robic leaps from his bike to square off with shadowy figures that turn out to be mailboxes. In a 2004 race, he turned to see himself pursued by a howling band of black-bearded men on horseback.

‘‘Mujahedeen, shooting at me,’’ he explains. ‘‘So I ride faster.’’

His wife, a nurse, interjects: ‘‘The first time I went to a race, I was not prepared to see what happens to his mind. We nearly split up.’’

The DVD spins, and the room vibrates with Wagner. We see a series of surreal images that combine violence with eerie placidity, like a Kubrick film. Robic’s spotlit figure rides through the dark in the driving rain. Robic gasps some unheard plea to a stone-faced man in fatigues who’s identified as his crew chief. Robic curls fetuslike on the pavement of a Pyrenean mountain road, having fallen asleep and simply tipped off his bike. Robic stalks the crossroads of a nameless French village at midnight, flailing his arms, screaming at his support crew. A baffled gendarme hurries to the scene, asking, Quel est le problème? I glance at Robic, and he’s staring at the screen, too.

‘‘In race, everything inside me comes out,’’ he says, shrugging. ‘‘Good, bad, everything. My mind, it begins to do things on its own. I do not like it, but this is the way I must go to win the race.’’

Over the past two years, Robic, who is 40 years old, has won almost every race he has entered, including the last two editions of ultracycling’s biggest event, the 3,000-mile Insight Race Across America (RAAM). In 2004, Robic set a world record in the 24-hour time trial by covering 518.7 miles. Last year, he did himself one better, following up his RAAM victory with a victory six weeks later in Le Tour Direct, a 2,500-mile race on a course contrived from classic Tour de France routes. Robic finished in 7 days and 19 hours, and climbed some 140,000 feet, the equivalent of nearly five trips up Mount Everest. ‘‘That’s just mind-boggling,’’ says Pete Penseyres, a two-time RAAM solo champion. ‘‘I can’t envision doing two big races back to back. The mental part is just too hard.’’

Hans Mauritz, the co-organizer of Le Tour Direct, says: ‘‘For me, Jure is on another planet. He can die on the bike and keep going.’’

And going. In addition to races, Robic trains 335 days each year, logging some 28,000 miles, or roughly one trip around the planet.

Yet Robic does not excel on physical talent alone. He is not always the fastest competitor (he often makes up ground by sleeping 90 minutes or less a day), nor does he possess any towering physiological gift. On rare occasions when he permits himself to be tested in a laboratory, his ability to produce power and transport oxygen ranks on a par with those of many other ultra-endurance athletes. He wins for the most fundamental of reasons: he refuses to stop.

In a consideration of Robic, three facts are clear: he is nearly indefatigable, he is occasionally nuts, and the first two facts are somehow connected. The question is, How? Does he lose sanity because he pushes himself too far, or does he push himself too far because he loses sanity? Robic is the latest and perhaps most intriguing embodiment of the old questions: What happens when the human body is pushed to the limits of its endurance? Where does the breaking point lie? And what happens when you cross the line?

The Insight Race Across America was not designed by overcurious physiologists, but it might as well have been. It’s the world’s longest human-powered race, a coast-to-coast haul from San Diego to Atlantic City. Typically, two dozen or so riders compete in the solo categories.

Compared with the three-week, 2,200-mile Tour de France, which is generally acknowledged to be the world’s most demanding event, RAAM requires relatively low power outputs — a contest of diesel engines as opposed to Ferraris. But RAAM’s unceasing nature and epic length — 800 miles more than the Tour in roughly a third of the time — makes it in some ways a purer test, if only because it more closely resembles a giant lab experiment. (An experiment that will get more interesting if Lance Armstrong, the seven-time Tour winner, gives RAAM a try, as he has hinted he might.)

Winners average more than 13 miles an hour and finish in nine days, riding about 350 miles a day. The ones to watch, though, are not the victors but the 50 percent who do not finish, and whose breakdowns, like a scattering of so many piston rods and hubcaps, provide a vivid map of the human body’s built-in limitations.

The first breakdowns, in the California and Arizona deserts, tend to be related to heat and hydration (riders drink as much as a liter of water per hour during the race). Then, around the Plains states, comes the stomach trouble. Digestive tracts, overloaded by the strain of processing 10,000 calories a day (the equivalent of 29 cheeseburgers), go haywire. This is usually accompanied by a wave of structural problems: muscles and tendons weaken, or simply give out. Body-bike contact points are especially vulnerable. Feet swell two sizes, on average. Thumb nerves, compressed on the handlebars, stop functioning. For several weeks after the race, Robic, like a lot of RAAM riders, must use two hands to turn a key. (Don’t even ask about the derrière. When I did, Robic pantomimed placing a gun in his mouth and pulling the trigger.)

The final collapse takes place between the ears. Competitors endure fatigue-induced rounds of hallucinations and mood shifts. Margins for error in the race can be slim, a point underlined by two fatal accidents at RAAM in the past three years, both involving automobiles. Support crews, which ride along in follow cars or campers, do what they can to help. For Robic, his support crew serves as a second brain, consisting of a well-drilled cadre of a half-dozen fellow Slovene soldiers. It resembles other crews in that it feeds, hydrates, guides and motivates — but with an important distinction. The second brain, not Robic’s, is in charge.

‘‘By the third day, we are Jure’s software,’’ says Lt. Miran Stanovnik, Robic’s crew chief. ‘‘He is the hardware, going down the road.’’

Stanovnik, at 41, emanates the cowboy charisma of a special-ops soldier, though he isn’t one: his background consists most notably of riding the famously grueling Paris-to-Dakar rally on his motorcycle. But he’s impressively alpha nonetheless, referring to a recent crash in which he broke ribs, fractured vertebrae and ruptured his spleen as ‘‘my small tumble.’’

His system is straightforward. During the race, Robic’s brain is allowed control over choice of music (usually a mix of traditional Slovene marches and Lenny Kravitz), food selection and bathroom breaks. The second brain dictates everything else, including rest times, meal times, food amounts and even average speed. Unless Robic asks, he is not informed of the remaining mileage or even how many days are left in the race.

‘‘It is best if he has no idea,’’ Stanovnik says. ‘‘He rides — that is all.’’

Robic’s season consists of a handful of 24-hour races built around RAAM and, last year, Le Tour Direct. As in most ultra sports, prize money is more derisory than motivational. Even with the Slovene Army picking up much of the travel tab, the $10,000 check from RAAM barely covers Robic’s cost of competing. His sponsorships, mostly with Slovene sports-nutrition and bike-equipment companies, aren’t enough to put him in the black. (Stanovnik lent Robic’s team $8,500 last year.)

Stanovnik is adept at motivating Robic along the way. When the mujahedeen appeared in 2004, Stanovnik pretended to see them too, and urged Robic to ride faster. When an addled Robic believes himself to be back in Slovenia, Stanovnik informs him that his hometown is just a few miles ahead. He also employs more time-honored, drill-sergeant techniques.

‘‘They would shout insults at him,’’ says Hans Mauritz. ‘‘It woke him up, and he kept going.’’

(Naturally, these tactics add an element of tension between Robic and team members, and account for his bouts of hostility toward them, including, in 2003, Robic’s mistaken but passionately held impression that Stanovnik was having an affair with his wife.)

In all decisions, Stanovnik governs according to a rule of thumb that he has developed over the years: at the dark moment when Robic feels utterly exhausted, when he is so empty and sleep-deprived that he feels as if he might literally die on the bike, he actually has 50 percent more energy to give.

‘‘That is our method,’’ Stanovnik says. ‘‘When Jure cannot go any more, he can still go. We must motivate him sometimes, but he goes.’’

In this dual-brain system, Robic’s mental breakdowns are not an unwanted side effect, but rather an integral part of the process: welcome proof that the other limiting factors have been eliminated and that maximum stress has been placed firmly on the final link, Robic’s mind. While his long-term memory appears unaffected (he can recall route landmarks from year to year), his short-term memory evaporates. Robic will repeat the same question 10 times in five minutes. His mind exists completely in the present.

‘‘When I am tired, Miran can take me to the edge,’’ Robic says appreciatively, ‘‘to the last atoms of my power.’’ How far past the 50 percent limit can Robic be pushed? ‘‘Ninety, maybe 95 percent,’’ Stanovnik says thoughtfully. ‘‘But that would probably be unhealthy.’’

Interestingly — or unnervingly, depending on how you look at it — some researchers are uncovering evidence that Stanovnik’s rule of thumb might be right. A spate of recent studies has contributed to growing support for the notion that the origins and controls of fatigue lie partly, if not mostly, within the brain and the central nervous system. The new research puts fresh weight to the hoary coaching cliché: you only think you’re tired.

From the time of Hippocrates, the limits of human exertion were thought to reside in the muscles themselves, a hypothesis that was established in 1922 with the Nobel Prize-winning work of Dr. A.V. Hill. The theory went like this: working muscles, pushed to their limit, accumulated lactic acid. When concentrations of lactic acid reached a certain level, so the argument went, the muscles could no longer function. Muscles contained an ‘‘automatic brake,’’ Hill wrote, ‘‘carefully adjusted by nature.’’

Researchers, however, have long noted a link between neurological disorders and athletic potential. In the late 1800’s, the pioneering French doctor Philippe Tissié observed that phobias and epilepsy could be beneficial for athletic training. A few decades later, the German surgeon August Bier measured the spontaneous long jump of a mentally disturbed patient, noting that it compared favorably to the existing world record. These types of exertions seemed to defy the notion of built-in muscular limits and, Bier noted, were made possible by ‘‘powerful mental stimuli and the simultaneous elimination of inhibitions.’’

Questions about the muscle-centered model came up again in 1989 when Canadian researchers published the results of an experiment called Operation Everest II, in which athletes did heavy exercise in altitude chambers. The athletes reached exhaustion despite the fact that their lactic-acid concentrations remained comfortably low. Fatigue, it seemed, might be caused by something else.

In 1999, three physiologists from the University of Cape Town Medical School in South Africa took the next step. They worked a group of cyclists to exhaustion during a 62-mile laboratory ride and measured, via electrodes, the percentage of leg muscles they were using at the fatigue limit. If standard theories were true, they reasoned, the body should recruit more muscle fibers as it approached exhaustion — a natural compensation for tired, weakening muscles.

Instead, the researchers observed the opposite result. As the riders approached complete fatigue, the percentage of active muscle fibers decreased, until they were using only about 30 percent. Even as the athletes felt they were giving their all, the reality was that more of their muscles were at rest. Was the brain purposely holding back the body?

‘‘It was as if the brain was playing a trick on the body, to save it,’’ says Timothy Noakes, head of the Cape Town group. ‘‘Which makes a lot of sense, if you think about it. In fatigue, it only feels like we’re going to die. The actual physiological risks that fatigue represents are essentially trivial.’’

From this, Noakes and his colleagues concluded that A.V. Hill had been right about the automatic brake, but wrong about its location. They postulated the existence of what they called a central governor: a neural system that monitors carbohydrate stores, the levels of glucose and oxygen in the blood, the rates of heat gain and loss, and work rates. The governor’s job is to hold our bodies safely back from the brink of collapse by creating painful sensations that we interpret as unendurable muscle fatigue.

Fatigue, the researchers argue, is less an objective event than a subjective emotion — the brain’s clever, self-interested attempt to scare you into stopping. The way past fatigue, then, is to return the favor: to fool the brain by lying to it, distracting it or even provoking it. (That said, mental gamesmanship can never overcome a basic lack of fitness. As Noakes says, the body always holds veto power.)

‘‘Athletes and coaches already do a lot of this instinctively,’’ Noakes says. ‘‘What is a coach, after all, but a technique for overcoming the governor?’’

The governor theory is far from conclusive, but some scientists are focusing on a walnut-size area in the front portion of the brain called the anterior cingulate cortex. This has been linked to a host of core functions, including handling pain, creating emotion and playing a key role in what’s known loosely as willpower. Sir Francis Crick, the co-discoverer of DNA, thought the anterior cingulate cortex to be the seat of the soul. In the sports world, perhaps no soul relies on it more than Jure Robic’s.

Some people ‘‘have the ability to reprocess the pain signal,’’ says Daniel Galper, a senior researcher in the psychiatry department at the University of Texas Southwestern Medical Center at Dallas. ‘‘It’s not that they don’t feel the pain; they just shift their brain dynamics and alter their perception of reality so the pain matters less. It’s basically a purposeful hallucination.’’

Noakes and his colleagues speculate that the central governor theory holds the potential to explain not just feats of stamina but also their opposite: chronic fatigue syndrome (a malfunctioning, overactive governor, in this view). Moreover, the governor theory makes evolutionary sense. Animals whose brains safeguarded an emergency stash of physical reserves might well have survived at a higher rate than animals that could drain their fuel tanks at will.

The theory would also seem to explain a sports landscape in which ultra-endurance events have gone from being considered medically hazardous to something perilously close to routine. The Ironman triathlon in Hawaii — a 2.4-mile swim, 112-mile bike ride and marathon-length run — was the ne plus ultra in endurance in the 1980’s, but has now been topped by the Ultraman, which is more than twice as long. Once obscure, the genre known as adventure racing, which includes 500-plus-mile wilderness races like Primal Quest, has grown to more than 400 events each year. Ultramarathoners, defined as those who participate in running events exceeding the official marathon distance of 26.2 miles, now number some 15,000 in the United States alone. The underlying physics have not changed, but rather our sense of possibility. Athletic culture, like Robic, has discovered a way to tweak its collective governor.

When we try understanding Robic’s relationship to severe pain, however, our interest tends to be more visceral. Namely, how does it feel?

‘‘I feel like if I go on, I will die,’’ he says, struggling for words. ‘‘It is everything at the same moment, piled up over and over. Head, muscles, bones. Nobody can understand. You cannot imagine it until you feel it.’’

A few moments later, he says: ‘‘The pain doesn’t exist for me. I know it is there because I feel it, but I don’t pay attention to it. I sometimes see myself from the other view, looking down at me riding the bike. It is strange, but it happens like that.’’ Robic veers like this when he discusses pain. He talks of incomprehensible suffering one moment and of dreamlike anesthesia the next. If pain is in fact both signal and emotion, perhaps that makes sense. Perhaps the closer we get to its dual nature, the more elusive any single truth becomes, and the better we understand what Emily Dickinson meant when she wrote that ‘‘pain has an element of blank.’’

It’s a gray morning in December, and Robic is driving his silver Peugeot to one of his favorite training rides in the hills along Slovenia’s Adriatic coast. The wind is blowing 50 miles an hour, and the temperature is in the 40’s. If Robic’s anterior cingulate cortex can sometimes block out negative information, this is definitely not one of those times.

‘‘This is bad,’’ he says, peering at the wind-shredded clouds. ‘‘It makes no sense to train. You cannot train, and I am out there, cold and freezing for hours. I am shivering and wondering, Why do I do this?’’

Robic often complains like this. Even when the weather is ideal, he points out the clouds blowing in and how horrible and lonely his workout will be. At first it seems like showboat kvetching that will diminish as he gets more familiar with you, but as time wears on it’s apparent that his complaints are sincere. He isn’t just acting miserable — he is miserable.

The negativity is accentuated, perhaps, by the fact that Robic trains exclusively alone. What’s more, he’s famously disinclined to seek advice when it comes to training, medical treatment and nutrition. ‘‘Completely uncoachable,’’ says his friend Uros Velepec, a