Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

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

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which use a logographic writing system and need larger font sizes.
***/

/*{{{*/
body {font-size:0.8em;}

#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}

.subtitle {font-size:0.8em;}

.viewer table.listView {font-size:0.95em;}

.htmlarea .toolbarHA table {border:1px solid ButtonFace; margin:0em 0em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none ! important;}
#displayArea {margin: 1em 1em 0em 1em;}
/* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
noscript {display:none;}
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler > fields syncing permalink references jump'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteTiddler'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
<!--}}}-->
To get started with this blank TiddlyWiki, you'll need to modify the following tiddlers:
* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* MainMenu: The menu (usually on the left)
* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These InterfaceOptions for customising TiddlyWiki are saved in your browser

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

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

----
Also see AdvancedOptions
!Project Setup
#Make a directory to put your project in, the project-directory I used was named {{{~/configureDNSMasq}}}
#Copy the files {{{/etc/dnsmasq.conf}}} and {{{/etc/networking/interfaces}}} into the project-directory.
#Create a file named {{{updateConfiguration.sh}}} and make it executable ({{{chmod +x ./updateConfiguration.sh}}}), this file will serve as our deployment mechanism.

The deployment mechanism doesn't really change, between ips on static networks, so lets go ahead and write it first.
*[[Finding out at what times people visit your page on Facebook]]
	All and all not a bad day today.  I started the morning off by reading some more about Spring Framework JDBC.  Soon [[Fr. Called me|Aggrigating One Single Blog RSS Feeds to Multiple Social Networking Profiles]], my mother came home, and when I was done talking to Fr. about his web questions, I needed to eat lunch, so I made a peanut butter & jelly sandwich.  

	I watched a little bit more of the Wolf Man, while I ate my sandwich, got a little lost in the story a good bit.  I can't believe the Werewolf's name was Larry.  The actor who played the Werewolf was named Lon Chaney.  Broski sent me that tape after the library got rid of it.  I got to the part where Larry's father beat him with a silver cane, and then realized that it was almost time to go to an appointment I had scheduled. 

!Fender Bender!
On my way to my appointment an old-dude and a high schooler had a fender-bender which me late for my appointment.  I got out to make sure they were both okay and didn't need a witness.  The old-dude had a really big car, like the one my grandfather sold for $50, and the young high schooler guy looked like a stoner wore a hoodie and and had a beard.  Both of them were driving slowly when the fender bender happened.  It held up my Blue Bull and the school bus behind me.  I finally got to my appointment, after I asked them if it was okay for me to go.

!Entertainment
Then tonight we went to Lancaster to pickup my sister so we could go see [[The Nut Cracker, Sweet!|http://en.wikipedia.org/wiki/The_Nutcracker]] as performed by the local Mennonite high school.  It was pretty cool, enjoyed it...thought it was over after The Nut Cracker took on the 7 headed mouse, but really it was just the 15 minute intermission...so when we got back they had people dancing again.  And those ballerinas on their toes ouch!  Oh and it wasn't just the high-school that put it on, the high school had help from some actual Ukrainian Ballerinas. 

!Friendly's
After my family and I attended the ballad, we went to Friendly.  I noticed that they were offering ''Fronions'' on the menu :-p that doesn't sound at all appetizing to me. My mother and sister couldn't make up their mind on what to have for desert.  My father and I told them {{{"You best make up your mind or the waitress won't come back until one of yinz goes to the bathroom."}}} and my father and I promptly ordered...receiving our ice-cream 5 minutes later, at which time my mother and sister were still deciding.  While we ate our ice cream in front of them they finally decided on the Frugle Fudge Sunday or something like that.  The waitress didn't come back for quite some time, and then they ordered their Sundays after we were already done with ours.  

!Delivering the Christmas Tree
Finally we took my sisters Christmas tree up to her apartment.  It was in a cardboard box so old that it looked like a bunch of pieces of cardboard held together by a piece of string. 

We also moved her bed so that it wouldn't face the cold outside wall.  And we moved the really cheap bookshelf she inherited from me from when I was in college.  The bookshelf almost collapsed (again) under the stresses of pushing it across the floor.  Someday I think it will collapse as we bought it at Value City for $15 dollars when I was in college.  I hope it doesn't just collapse while my sister is sleeping.  I wouldn't like that.  

So then we said good bye to my sister and we drove home.  EOF.
We didn't get too many trickers or treaters over here.  There was a Gisha Girl which I'm pretty sure only stuck around because she had an umbrella with her costume, and some kids creepy father that dressed as [[Rorschach|http://en.wikipedia.org/wiki/Rorschach_(comics)]] from The Watchmen.  Other than that we really didn't have that much on our front porch, which means that we have tons, tons of left over candy.  

I can hear some poor kid asking his father, "But Daddy!  I wanna go tricker-treating", the response to which of course might have been "Not now son!  The Phillies are in the World Series and I wanna watch the game!"

I really wanted those kids to get their riddlen-ridden-rear-ends to get their trick-er-treat on so we wouldn't have sooo much candy left.  I think they should re-enstate Tricker-treat to another night after the series is over.  
*[[That Roger Wilco Guy|http://www.nickawilliams.com/]]
*[[Making sure geolocation support stays on]]
Oh wtf man...

{{{
LF_ExtPriceOrd |= (*(Xnum *)LF->Get("SELL_QUANTITY_ORDERED") * *(Xnum *)LF->Get("PRICE"));
}}}

That's confusing...

c++decl
cdecl

Maybe these will eventually help!
*[[Bookkeeper's Boot Camp]]
{{{
<html>
	<head>
		<title>Javascript 1: Introduction to JS :: Lab 15, Project 2</title>
		<script type="text/javascript">
		<!--
			function generateATable()
			{
				tableContainer = document.getElementById("tableDiv");
				var tableElement = document.createElement("table");

				var trElement1 = document.createElement("tr");
				var trElement2 = null;



				var aaCell = trElement1.insertCell();
				var abCell = trElement1.insertCell(0);

				var textNodeAA = document.createTextNode("AA");
				var textNodeAB = document.createTextNode("AB");

				aaCell.appendChild(aaCell);
				abCell.appendChild(abCell);

				var baCell = trElement1.cells[0].cloneNode(FALSE);
				var bbCell = trElement1.cells[1].cloneNode(FALSE);

				var textNodeBA = document.createTextNode("BA");
				var textNodeBB = document.createTextNode("BB");

				trElement2 = trElement1.cloneNode(FALSE);

				baCell.appendChild(textNodeBA);
				bbCell.appendChild(textNodeBB);

				trElement2.appendChild(baCell);
				trElement2.appendChild(bbCell);

				tableElement.appendChild(trElement2);

				tableElement.insertBefore(trElement1, trElement2);

				tableContainer.appendChild(tableElement);
			}
		//-->
		</script>
	</head>
	<body>
		<div id="tableDiv">
			
		</div>
		<a href="javascript:generateATable()">Click here to Generate the Table</a>
	</body>
</html>
}}}
*[[The Mouse is Just Too Fast for Fading Transitions]]
*[[Asked a question|http://groups.google.com/group/tortoisesvn/topics]] on the Tortoise SVN mailing list about why the working copy on my thumb drive doesn't update the icons in the folder when I make a change to a file.
*[[Test]]
Looking into education for .NET:

Perice College - includes paying for books, software etc... 
.NET Programming - preqsites yes
1. VB.net 1   $1375.00 Fall -> $1435.00 (7-weeks long)
2. VB.net 2   $1375.00 Fall -> $1435.00
3. ASP.NET 3  $1375.00 Fall -> $1435.00

Carolen Stone
<span class="skype_pnh_print_container">215-670-9248</span><span tabindex="-1" dir="ltr" class="skype_pnh_container"><span class="skype_pnh_mark"> begin_of_the_skype_highlighting</span>&nbsp;<span dir="ltr" title="Call this phone number in United States of America with Skype: +12156709248" class="skype_pnh_highlighting_inactive_common"><span skypeaction="skype_dropdown" class="skype_pnh_left_span">&nbsp;&nbsp;</span><span skypeaction="skype_dropdown" title="Skype actions" class="skype_pnh_dropart_span"><span skypeaction="skype_dropdown" style="background-position: -5849px 1px ! important;" class="skype_pnh_dropart_flag_span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;&nbsp;&nbsp;</span><span class="skype_pnh_textarea_span"><span class="skype_pnh_text_span">215-670-9248</span></span><span class="skype_pnh_right_span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span>&nbsp;<span class="skype_pnh_mark">end_of_the_skype_highlighting</span></span>

A little steep wouldn't you say?
*[[Learned a thing of two about making Custom Modules for Joomla|Creating a Hello World Module for Joomla 1.5]]
>I've got to remember to answer [[this question|http://stackoverflow.com/questions/1412697/jquery-method-of-calculating-the-correct-offsetleft-of-an-element-in-a-table]] on StackoverFlow on Monday, as the people that gave me answers helped me figure it out.
*Received an answer to the question I asked [[yesterday|12 April 2009 - aleer]] on the Tortoise SVN mailing list:
{{{
Andrew,
 
Check the TortoiseSVN documentation under settings/icons overlays.  Tortoise
does not show icons by default on removable media, only on fixed drives.
You can modify this on the settings page.
 
Cheers,
 
Tom
}}}
It's Friday the 13th, but I'm trying not to pay attention to that today.  I bet there will be some really cheesy movies on this weekend! Joy!
*[[Making min-width work in IE6]]
*[[Committing Hunks in GIT]] 
*[[Drop.io Developer]]
*[[What ever happened to the pda?]]
*[[Nice new Site (Foley Business Forms)]]!
*[[Todo for foleybf.com]]
*[[Hmm I'll have to send this to my boss|http://headrush.typepad.com/creating_passionate_users/2006/03/how_to_be_an_ex.html]]
Hmm I was thinking...should a catalog really be made up of list items? {{{<li>}}}

Can list items contain tables?

I was thinking of laying out our new catalog at work using unordered lists instead of several layers of tables.

However each of those items in the catalog might contain tables with tabular data so a {{{<li><table>...</table></li>}}} would have to be valid.

*[[Question 1|http://doctype.com/valid-html-syntax-include-table-inside-list-item]]
*[[Question 2|http://doctype.com/best-method-laying-out-multicolumn-lists-css]]
*[[Question 3|http://doctype.com/laying-out-catalog-index-page-unordered-list]]
Went to a pre-conference thing at work today.  It was actually quite enjoyable.  Among the amusing quotes were:

>"When we were looking for a name for our company long ago when we had just started up, our main competition was a company called ''"Galaxy"''.  My son suggested that we name our company ''"Black Hole Systems"'', since black holes swallow up galaxies..."
>You have to be able to let things go. One of the curiosities of Wikipedia is that the most obsessed users always win. You can’t compete with someone who devotes hours every day to maintaining their pet topic, with scripts to protect it. This system, on some level, must work because if it didn’t Wikipedia would be permanently broken.
- [[Stackoverflow Blog|http://blog.stackoverflow.com/2009/04/podcast-49/]]

hmm interesting...really like that story about @codinghorror running down the street beating on the windows of a taxi that almost ran him over.  I remember being like that when I first became a programmer. It's at that point in your life that you realize that you need to learn some soft-skills.
[<img[http://farm3.static.flickr.com/2170/2116340024_c2baf6a92e_m.jpg]]''Added my resume in searchable-form to:''
*Dice.com
*Career Builder.com
*JobCircle.com

Went to [[http://www.ajb.org|www.ajb.org]], but wasn't too successful.  Need to call them and ask for some sort of identification number...
[[Image on Flickr|http://www.flickr.com/photos/leeand00/2116340024/]]
It's cold today...there was a big ice storm.
*[[Writing Documentation for Route 6 Radio]]
!Applied for Jobs At
+++[dice.com]
*Applied for 3 Postions
===<br/>
+++[Phone Calls Recieved]
*Rite Aid - ''Applied''
*Adminstrative Office of PA Courts - ''Applied''
*Evolution Staffing
*__Fidelity__
//(Check your email)//
===
*[[Syncing Files with SyncBack]]
*[[Micro / Nanofluidic Computing|http://www.rle.mit.edu/micronano/movies.htm]]
''Today''
*Saw alot of jobs on Dice today and so I perged all the old jobs I haven't applied for yet out of the database.  Also hotmail is not working today so I'm waiting for it to come back up, and when it does I'll send alot of resumes out.
Material generally isn't boring, it's just something you don't understand and therefore your brain wishes to ignore it at first by making it boring for you.

The best way I've found to read something that I find dry is to use to tool like [tiddlywiki][1] to go over the material.   

Begin by downloading the [tiddlywiki][1], and familiarizing yourself with how to use it:

 - [List of Tiddlywiki YouTube Videos][2]

Now while you are reading the *dry material* make a new [tiddler][3] in your [tiddlywiki][1] and turn any words that you don't understand into new [tiddlers][3] where you can write the meaning of the unknown term and reference it again when it comes back up in the text later.


Let me give you an example.

If you are reading an article/textbook and it says something like:



  [1]: http://www.tiddlywiki.com/
  [2]: http://www.youtube.com/results?search_query=tiddlywiki&search_type=&aq=f
  [3]: http://www.tiddlywiki.com/#Tiddler
*[[Facebook the evil productivity sucking blackhole that weezels itself into other logins]]
*[[Setting up MIA on an OpenWRT Router]]
*[[Mother had me look up washers and dryers today to figure out if a top-loader or a front-loader washing machine was better|Washing Machine Ordeal]]
!College Job Search (Gathering)
I've decided to start looking for a job at a college.  I started off this-morning looking at CMU, which had about 3 potential jobs listed.  

Next I headed out to http://maps.google.com/ zoomed in over PA, and typed in {{{college or university}}}.

''There appear to a whole bunch of colleges''

Found out you can execute Groovy Scripts inside of the beta version of freemind...oh I'm gonna use this!
*[[Unzipping Files in C++]]
*[[Grouping Project Related Stackoverflow Questions Together Using Delicious|Grouping Project Related Stackoverflow Questions Together Using Delicious - Tag Heirachies]]
*[[Searching Tags/Users with Stackoverflow]]
After trousing about the coffee shops in Lancaster, my blog has a new look!
*[[mod_rewrite.c in Wordpress]]
*[[Augmented Reality|http://interactive.digitalpictures.com.au/?p=392]] - Wow I have got to try this out when I get home!
Working on James's site again today, today he wants me to implement several things and here's a list:
*[[Hotel Finder Application|Hotel Finder Application - Route 6 Radio]]
*Wherever rout six crosses the western border and the easter boarder of PA.
*Pictures BIO's on their own page  Lower lefthand side. "What about James and Jeff?)
*===Can get a website off of route 6 radio James@route jeff@ shoot to regular email===
*Make my own profile...Picture of me...interview etc..
*30 Day Time limit...
*
''TekSystems''
Replied to an email from TekSystems from a Mr. Anju Bhalla.
Today was a pretty good day.
*[[Setup a profile at CyberCoders.com|Sites with My Resume]]
*[[New Job Search Tip|Job Search Tips]] - [[Filling in Those Pesky Text Only Fields with Tables]] 
*[[Getting Some Comments On This Blog]]
*[[Recieved an Email from Object CTalk|Questions Answered for  Object CTalk]]
*[[Got Mail Merge to Work in OOo]]
*[[Tested Myself on the Module 1 SL Quiz|Test: SL Ivory Tower Library of Prims Module 1]]
*[[Entered the Table of Contents into the Marriage Wiki|Marriage Wiki]]
+++[+Applied to Susquehanna.net]
Okay that's all nice and done with...that only took the whole morning! hahah!  Oh well..hopefully they'll pick me up, it sounded like a fun job that I would enjoy.
===

+++[+Called back Sabba]
Sabba said that not riding on an air plane would not be a problem and that they are still considering me for the position, but that the hiring manager still needs to get well.
===

+++[+Received reply from resolutionsconsulting]
#Called J.Y. to confirm date was okay.
#Emailed back resolutionsconsulting to let them know that the date would be fine.
===

+++[+The Matlen Silver Group]
The Matlen Silver Group called me about a build engineer position, and I "email-faxed" them a consent forum for submitting my resume to GSI Commerce.
===
*Recreate the [[blueprint sample page|http://www.blueprintcss.org/tests/parts/sample.html]] and [[blueprint grid tests|http://www.blueprintcss.org/tests/parts/grid.html]] using webby and compass.
*[[DeDuplicating Records in a Third Party Database]]
*[[The Death Of A Coffee Substitute]]
Well today I found a webcast to watch on .NET and I also found a university to learn .NET at.  I'm here sitting outside hoping it doesn't rain before the webcast is over...
*[[GTD|Get Things Done]]
*[[Looking for ]]
Well not much on the job front today.

But tommarrow I need to warm my eyes up in the morning, before I start, that should get me going!
*[[The Tiddlywiki Tab Mystery]]
*[[PhraseExpress Setup]]
*[[What's wrong with Windows]]
Well my hard drive at work crashed two days ago and now I'm trying to pickup the pieces and get my computer back to the state it was in eariler.  I think I may see about using that new feature of Windows Vista to see if I can back it up that way, when I'm done.
*[[Bacula Certificate]]
*[[Started Setting up my .NET Development Environment|Setting up .NET]]
*[[Getting Control of your Browser Windows with Session Manager]]
>The SQL Server feature 'RS_Server_Adv' is not in a supported state for repair, as it was never successfully configured. Only features from successful installations can be repaired. To continue, remove the specified SQL Server feature.

>The SQL Server feature 'Analysis_Server_Full' is not in a supported state for repair, as it was never successfully configured. Only features from successful installations can be repaired. To continue, remove the specified SQL Server feature.

Just had to uninstall some of the features
*[[Westell 6100 Config]]
*[[DMZ Setup]]
*[[Getting Some Comments On This Blog]] <- Finished that up so now you can post some comments!
*[[Recieved Reply From JavaRanchSaloon]] (About the transfer of setting from one project to another.)
*Received a call from Human Capital, stating that they will probably have some opportunities in the coming months.
*Found a cool site where you can discuss things with other people who are in IT.
**[[http://www.ittoolbox.com]]
*Received a tip from a message board, and needed to update it on my resume, so I started re-posting it online (so far I've got):
**Jobster.com
*[[Found a Great way of deploying with git]]
Ah!!! Stupid laptop!!!!  I opened the case this morning and the thing was way way hot!  It turned on in the case again.  I need to find a way to stop it from doing this, or I'm not going to have a laptop any more!  I ran a diagnostics test on it, and everything seems to be fine, but it smells like burning!  That doesn't seem to be a good sign.  
*[[Testing With JMeter]]
Need a new job.
*[[Geo-RSS]]
*[[Left Right Inner SQL Pattern]]
''Things I studied Today''
*[[How to Avoid Burnout|Avoiding Burn Out - 3 December 2007]]
I made a dumb comment [[in a blog|http://lehighvalley.tumblr.com/post/62822149/plate-face-foiled]] about some guy that lives in my town and robs stores with a paperplate attached to his face...decieded may I should take it back, he might live here...guy who owns the blog wasn't home, well hopefully if he robs stores with a paperplate on his face he won't be reading this on the Internet.  But there is the Blue Rhino thing so I'm still kinda worried....

Anyway I'm just trying to get a track-back, can I getta track-back?
[[http://lehighvalleyand20something.disqus.com/plate_face_foiled/trackback/|http://lehighvalleyand20something.disqus.com/plate_face_foiled/trackback/]]
*[[Removing Proprietary Attributes from html tags in Awful 3rd Old Third-Party HTML Code Using Regular Expressions]]
*[[Found Great Horizontal Navigation Tutorial]]
*[[Its probably about time I Start a CSS Wiki]]
*[[Creating a Windows VIM Image]]
*[[Choosing the Right LCD Monitor to Buy]]
*[[Geo-RSS]]
*[[Setting up a mobile-mobile development environment in linux with GIT and DNSMasq]]
*
''Attended''
*[[Marriage Class]]
*Applied to two jobs today
**Entry Level Web Developer at D&H Distributing
**Web Developer at Lancaster Newspaper Inc.
*Sent out 3 Thank you Notes!
*[[Interview with Jason Fried of 37 Signals]]
*[[Building a computer with my boss]]
*[[Looking into Zope - Apache - SSL]]
*[[Math is always faster than doing something procedural]]
''Applied for five jobs''
Today I received an email from Vanguard:
+++[Recieved the following email:]
{{{Good afternoon,
 
I am a Recruiter with Vanguard and I recently received your resume in
consideration of our Technology Leadership Program.  For further
information about the program, please use the following link to view the
job description:
 
https://careers.vanguard.com/pljb/vanguard/vgcareers/applicant/VG/students_it.shtml
 
Only U.S. citizens and lawful permanent residents will be considered for
this program.  Also, a cumulative GPA of 3.0 or higher is preferred.  The
program is open to graduating seniors and professionals with 0-2 years of
work experience.  If you meet these requirements and are interested in the
program and employment with Vanguard (located in Valley Forge, PA), please
take the following steps to schedule a phone interview with one of my
colleagues:
1.  Log on to vanguardcareers.com and create a profile.
2.  Respond back to me with your availability for the next few weeks so
that we may schedule some time to speak further about your interests.
 
I look forward to hearing back from you and discussing the exciting
opportunities waiting for you at Vanguard.
 
Best regards,
Tracy Schatzel
Recruiter
Vanguard
Phone:  <span class="skype_pnh_print_container">(610) 503-5485</span><span tabindex="-1" dir="ltr" class="skype_pnh_container"><span class="skype_pnh_mark"> begin_of_the_skype_highlighting</span>&nbsp;<span dir="ltr" title="Call this phone number in United States of America with Skype: +16105035485" class="skype_pnh_highlighting_inactive_common"><span skypeaction="skype_dropdown" class="skype_pnh_left_span">&nbsp;&nbsp;</span><span skypeaction="skype_dropdown" title="Skype actions" class="skype_pnh_dropart_span"><span skypeaction="skype_dropdown" style="background-position: -5849px 1px ! important;" class="skype_pnh_dropart_flag_span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;&nbsp;&nbsp;</span><span class="skype_pnh_textarea_span"><span class="skype_pnh_text_span">(610) 503-5485</span></span><span class="skype_pnh_right_span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span>&nbsp;<span class="skype_pnh_mark">end_of_the_skype_highlighting</span></span>
Email:  Tracy_Schatzel@Vanguard.com
}}}
===

I really need to get on this tomorrow, and give them a call as I already have a profile on their website.
*[[Looking into CSS Frameworks|Compass and Webby]] and [[Webby|Compass and Webby]] Today.
*[[Sent my application out to Penn State]]
*[[A Chorded Keyboard?]]
*[[Converting IPv4 addresses to IPv6 Equivalent]]
[[Mock Video Interview]]
*[[The ever so useful SQL INSERT IN and UPDATE IN]]
Today I finished creating a tiddlywiki of the [[documentation of the Webby project|http://webby.rubyforge.org/user-manual/]] to [[provide a quick reference to it's users|http://groups.google.com/group/webby-forum/browse_thread/thread/1509d952c604ae74]].  Hopefully somebody will find this useful, and not just me. :-)

Next I need to continue reading/wiki-ee-ing the compass manual, maybe when I'm done they'll want a tiddlywiki manual too! :)

  *later...*

Well they [[seemed to like it|http://groups.google.com/group/webby-forum/browse_thread/thread/1509d952c604ae74]].
*''.NET Course (And be sure to post Gov's phone #)''
**''TODO:'' See if anyone on Craigs List wants to take the .NET course at RACC
**''TODO:'' See if anyone on Facebook's Reading network wants to take the .NET course this summer.
The new internship seems to be swimming along.
My weekend is going great!  Last night I watched a RiffTrax of Jurassic Park with my sister and my Dad, (my mother is in N.J. for the weekend).  Then today my Dad and I went to take my grand parents to Hosses' (Hoss's?) and then off to the grocery store.  That normally would be kinda boring, but I got to try out the new GPS I just got on the way down!  

I was supposed to meet my Aunt in the parking lot of the Giant while my Dad took my grandparents grocery shopping;  she called me on the cellphone, and told me to wait out in front of the store for her.  I waited out in front of the store, and then she called me up and said she was in the parking lot.  

Unfortunately, she was at the wrong Giant.  So she never got to give me the key to get into her house.  

So we had to meet my Aunt at a wedding reception.  

Oh, the reason I needed to get into her house was, that, I needed to install some software I wrote to help my cusin Nickolas find a job; he used to work at a pet store, and they recently went out of business...making my Aunt and Uncles house looking...a bit like a pet store.  

Yeah, so after we were done at the grocery store (I got a great deal on this hair gel, normally it's 13.00 dollars but this place had it for three)  

After we left the grocery store I went into the reception, completely under-dressed for the occasion and got the key from my Aunt.

Then we hung out in perverbal zoo that is my Aunt's place, and I installed the software, while my grandparents and father waited.

We dropped off my grandparents and now I'm home.  So that's been the weekend so far...pretty good if you ask me.
*[[HTML5 Headers: The Mystery Solved]]
Hanging out at Crave today...
*Sent a resume to 
+++[Calling...]
#Jan 7th - Mike Roberts - Corprate Staffing Services -  <span class="skype_pnh_print_container">610-771-1084</span><span tabindex="-1" dir="ltr" class="skype_pnh_container"><span class="skype_pnh_mark"> begin_of_the_skype_highlighting</span>&nbsp;<span dir="ltr" title="Call this phone number in United States of America with Skype: +16107711084" class="skype_pnh_highlighting_inactive_common"><span skypeaction="skype_dropdown" class="skype_pnh_left_span">&nbsp;&nbsp;</span><span skypeaction="skype_dropdown" title="Skype actions" class="skype_pnh_dropart_span"><span skypeaction="skype_dropdown" style="background-position: -5849px 1px ! important;" class="skype_pnh_dropart_flag_span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;&nbsp;&nbsp;</span><span class="skype_pnh_textarea_span"><span class="skype_pnh_text_span">610-771-1084</span></span><span class="skype_pnh_right_span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span>&nbsp;<span class="skype_pnh_mark">end_of_the_skype_highlighting</span></span>


===
#Jan 7th - Java Developer - 1 Year contract - 
#Java Developer <span class="skype_pnh_print_container">570-894-3630</span><span tabindex="-1" dir="ltr" class="skype_pnh_container"><span class="skype_pnh_mark"> begin_of_the_skype_highlighting</span>&nbsp;<span dir="ltr" title="Call this phone number in United States of America with Skype: +15708943630" class="skype_pnh_highlighting_inactive_common"><span skypeaction="skype_dropdown" class="skype_pnh_left_span">&nbsp;&nbsp;</span><span skypeaction="skype_dropdown" title="Skype actions" class="skype_pnh_dropart_span"><span skypeaction="skype_dropdown" style="background-position: -5849px 1px ! important;" class="skype_pnh_dropart_flag_span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;&nbsp;&nbsp;</span><span class="skype_pnh_textarea_span"><span class="skype_pnh_text_span">570-894-3630</span></span><span class="skype_pnh_right_span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span>&nbsp;<span class="skype_pnh_mark">end_of_the_skype_highlighting</span></span> ????
+++[Called...she's calling me back]
#Jan 7th - Lauren Spary IT Staffing Firm in Philly - <span class="skype_pnh_print_container">215-209-0100</span><span tabindex="-1" dir="ltr" class="skype_pnh_container"><span class="skype_pnh_mark"> begin_of_the_skype_highlighting</span>&nbsp;<span dir="ltr" title="Call this phone number in United States of America with Skype: +12152090100" class="skype_pnh_highlighting_inactive_common"><span skypeaction="skype_dropdown" class="skype_pnh_left_span">&nbsp;&nbsp;</span><span skypeaction="skype_dropdown" title="Skype actions" class="skype_pnh_dropart_span"><span skypeaction="skype_dropdown" style="background-position: -5849px 1px ! important;" class="skype_pnh_dropart_flag_span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;&nbsp;&nbsp;</span><span class="skype_pnh_textarea_span"><span class="skype_pnh_text_span">215-209-0100</span></span><span class="skype_pnh_right_span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span>&nbsp;<span class="skype_pnh_mark">end_of_the_skype_highlighting</span></span>
===<br/>
+++[Called...]
#Jan 7th - Randy McKay - Pyramid Consulting  <span class="skype_pnh_print_container">724-934-0158</span><span tabindex="-1" dir="ltr" class="skype_pnh_container"><span class="skype_pnh_mark"> begin_of_the_skype_highlighting</span>&nbsp;<span dir="ltr" title="Call this phone number in United States of America with Skype: +17249340158" class="skype_pnh_highlighting_inactive_common"><span skypeaction="skype_dropdown" class="skype_pnh_left_span">&nbsp;&nbsp;</span><span skypeaction="skype_dropdown" title="Skype actions" class="skype_pnh_dropart_span"><span skypeaction="skype_dropdown" style="background-position: -5849px 1px ! important;" class="skype_pnh_dropart_flag_span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;&nbsp;&nbsp;</span><span class="skype_pnh_textarea_span"><span class="skype_pnh_text_span">724-934-0158</span></span><span class="skype_pnh_right_span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span>&nbsp;<span class="skype_pnh_mark">end_of_the_skype_highlighting</span></span>
Stated something about jobs in Pittsburgh (with Fedex Ground) , and in Camp Hill.
===<br/>
+++[Called...]
#Bill Blake Sabba Software - Technical Consultant - <span class="skype_pnh_print_container">781-994-1066</span><span tabindex="-1" dir="ltr" class="skype_pnh_container"><span class="skype_pnh_mark"> begin_of_the_skype_highlighting</span>&nbsp;<span dir="ltr" title="Call this phone number in United States of America with Skype: +17819941066" class="skype_pnh_highlighting_inactive_common"><span skypeaction="skype_dropdown" class="skype_pnh_left_span">&nbsp;&nbsp;</span><span skypeaction="skype_dropdown" title="Skype actions" class="skype_pnh_dropart_span"><span skypeaction="skype_dropdown" style="background-position: -5849px 1px ! important;" class="skype_pnh_dropart_flag_span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;&nbsp;&nbsp;</span><span class="skype_pnh_textarea_span"><span class="skype_pnh_text_span">781-994-1066</span></span><span class="skype_pnh_right_span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span>&nbsp;<span class="skype_pnh_mark">end_of_the_skype_highlighting</span></span>

''eLearning'' - 50% Travel...

Middleware - Platform looks up at our application and 
===
*[[Creating a Windows PE Bootable Thumb Drive]]
*[[Setting up VirtualBox with OpenWRT]]
[[article link|http://www.codeproject.com/KB/cpp/pointers.aspx]] - [[article author|http://www.codeproject.com/script/Membership/Profiles.aspx?mid=21]] - [[quiz links|A Beginner's Guide to Pointers: Quizzes]]
!What are pointers?
Pointers are basically the same as any other variable.  However, what is different about them is that intead of containing actual data, they contain a pointer to the memory location where information can be found. This is a very important concept.  Many programs and ideas rely on pointers as the basis of their design, linked lists for example.

!Getting Started
How do I define a pointer?  Well, the same way as any other variable, except that you add an asterisk before its name.  So, for example, the following code creates two pointers, both of which point to an integer:

{{{
int *pNumberOne;
int *pNumberTwo;
}}}

Notice the {{{p}}} prefix in front of the two variable names?  This is a convention used to indicate that the varuiable is a pointer.  Now, let's make these pointers actually point to something.

{{{
pNumberOne = &some_number;
pNumberTwo = &some_other_number;
}}}

The {{{&}}} (ampersand) sign should be read as //"the address of"// and causes the address in memory of a variable to be returned, instead of the variable itself.  So, in this example, {{{pNumberOne}}} is set to equal the address of {{{some_number}}}, so {{{pNumberOne}}} now points to {{{some_number}}}.

Now if we want to refer to the address of {{{some_number}}}, we can use {{{pNumberOne}}}.  If we want to refer to the value of {{{some_number}}} from {{{pNumberOne}}}, we would have to say {{{*pNumberOne}}}.  The {{{*}}} dereferences the pointer and should be read as "the memory location pointed to by," unless in a declaration, as in the line {{{int *pNumber}}}.

!What we've learned so far: An Example
Phew! That's alot to take in.  I'd recommend that if you don't understand any of those concepts, to give it another read through.  Pointers are a complex subject and it can take a while to master them.  Here is an example that demonstrates the ideas discussed above.  It is written in C, without the C++ extensions.  

{{{
#include <stdio.h>

void main()
{
   // declare the variables:
   int nNumber;
   int *pPointer;

   //now, give a value to them:
   nNumber = 15;
   pPointer = &nNumber;

   // print out the value of nNumber:
   printf("nNumber is equal to : %d\n", nNumber);

   // now, alter nNumber through pPointer:
   *pPointer = 25;

   // prove that nNumber has changed as a result of the above by
   // printing its value again:
   printf("nNumber is equal to : %d\n", nNumber);
 
}
}}}

!A Trap
See if you can spot the fault in the program below:

{{{
#include <stdio.h>

int *pPointer;

  void SomeFunction();
  {
    int nNumber;
    nNumber = 25;

    // make pPointer point to nNumber:
    pPointer = &nNumber;
  }
  void main()
  { 
     SomeFunction(); // make pPointer point to something

     // why does this fail?
     printf("Value of *pPointer: %d\n", *pPointer);
  }
}}}

>I'm going to guess that this fails because when {{{SomeFunction()}}} ends, {{{nNumber}}} was declared in the local scope of {{{SomeFunction()}}} and no longer exists when it is called to be printed by {{{*pPointer}}}.

This program firstly calls the {{{SomeFunction}}} function, which creates a variable called {{{nNumber}}} and then makes the {{{pPointer}}} point to it.  Then, however, is where the problem is.  When the function leaves, {{{nNumber}}} is deleted because it is a local varaiable. Local variables are alaways deleted when the exection leaves the block they were defined in.  This means that when {{{SomeFunction}}} returns to {{{main()}}}, the variable is deleted.  So {{{pPointer}}} is pointer at where the variable used to be, which no longer belongs to this program.  If you do understand this, it may be wise to read back over on local and global variables, and on scope.  This concept is also important.

So, how can the problem be solved?  The answer is by using a technique known as [[dynamic allocation|Dynamic Allocation]].  Please be aware that this is different between C and C++.  Since most developers are now using C++, this is the dialect that the code below is using.


!Dynamic Allocation
[[Dynamic Allocation]] is perhaps the key to pointers.  It is used to allocate memory without having to define variables and then make pointers to point to them.  Although the concept may appear confusing, it is really simple.  The following code demonstrates how to allocate memory for an integer.
{{{
int *pNumber;
pNumber = new int;
}}}

The first line declares the pointer, {{{pNumber}}}.  The second line then allocates memory for an integer and then makes {{{pNumber}}} point to this new memory.  Here is another example, this time using a {{{double}}}:

{{{
double *pDouble;
pDouble = new double;
}}}

The formula is the same every time, so you can't really fail with this bit.  What is different about dynamic allocation, however, is that the memory you allocate is not deleted when the function returns, or when the execution leaves the current block.  So, if we rewrite the above example using dynamic allocation, we can see that it works fine now:

{{{
#include <stdio.h>

int *pPointer;

void SomeFunction()
{
	// make pPointer point to new integer

	pPointer = new int;
	*pPointer = 25;
}

int main()
{
	SomeFunction();

	printf("Value of *pPointer: %d\n", *pPointer);
	return 0;
}
}}}

Read through and compile the above code sample.  Make sure you understand why it works.  When {{{SomeFunction}}} is called, it allocates some memory and makes {{{pPointer}}} point to it.  This time, when the function returns the new memory is left intact, so {{{pPointer}}} still points to something useful.  That's it for dynamic allocation!  Make sure you understand this, and then read on to learn about the fly in the ointment, and why there is still a serious error in the code above.

!Memory Comes, Memory Goes
There's always a complication and this one could become quite serious, although, it's very easy to remedy.  The problem is that although the memory that you allocate using dynamic  allocation is conveniently left intact, it actually never gets deleted automatically.  That is, the memory will stay allocated until you tell the computer that you've finished with it.  The upshot of this is that if you ddon't tell the computer that you've finished with the memory, it will be wasting space that other applications or other parts of your application could be using.  This eventually will lead to a system crash through all the memory being used up, so it's pretty important.  Freeing the memory when you've finished with it is very simple.

{{{
delete pPointer;
}}}

That's all there is to it.  you have to be careful, however, that you pass a valid pointer, i.e. that is a pointer that actually points to some memory you've allocated and not just any old rubbish.  Trying to {{{delete}}} memory that's already been freed is dangerous and can lead to your program crashing.  So here's the example again, updated this time so it doesn't waste any memory:

{{{

#include <stdio.h>

int *pPointer;

void SomeFunction()
{
	// make pPointer point to new integer

	pPointer = new int;
	*pPointer = 25;
}

int main()
{
	SomeFunction();

	printf("Value of *pPointer: %d\n", *pPointer);
        delete pPointer;
	return 0;
}
}}}

One line difference is all it took, but this line is essential.  If you don't delete the memory, you get what is known as a "memory leak", where memory is gradually leaking away and can't be reused unless the application is closed.

!Passing Pointers to Functions
The ability to pass pointers to functions is very useful, but very easy to master.  If we were to make a program that takes a number and adds five to it, we might write something like the following:

{{{
#include <stdio.h>

void AddFive(int Number);

void AddFive(int Number)
{
	Number = Number + 5;
}

int main()
{
	int nMyNumber = 18;

	printf("My original number is: %d\n", nMyNumber);
	AddFive(nMyNumber);

	printf("My new number is: %d\n", nMyNumber);

	return 0;
}
}}}

However the problem with this is that the {{{Number}}} referred to in {{{AddFive}}} is a copy of the variable {{{nMyNumber}}} passed to the function, not the variable itself.  Therefore, the line {{{Number = Number + 5}}} adds five to the ''copy'' of the variable, leaving the original variable in {{{main()}}} unaffected.  Try running the program to prove this.

To get around this problem, we can pass a pointer to where the number is kept in memory to the function, but we'll have to alter the function so that it expects a pointer to a number, not a number.  To do this, we change {{{void AddFive(int Number)}}} to {{{void Addfive(int *Number)}}}, adding the asterisk.  Here is the program again, with the changes made.  Notice that we have to make sure we pass the address of {{{nMyNumber}}} instead of the number itself?  This is done by adding the {{{&}}} sign, which (as you recall) is read as "the address of".

{{{
#include <stdio.h>

void AddFive(int *Number)
{
	*Number = *Number + 5;
}

int main()
{
  int nMyNumber = 18;

  printf("My original number is %d\n", nMyNumber);
  AddFive(&nMyNumber);
  printf("My original number is %d\n", nMyNumber);
  return 0;
}
}}}
Try coming up with an example of your won to demonstrate this.  Notice the importance of the {{{*}}} before {{{Number}}} in the {{{AddFive}}} function?  This is needed to tell the compiler that we want to add five to the number pointed to by the variable {{{Number}}}, rather than add five to the pointer itself.  The final thing to note about functions is that you can return pointers from them as well, like this:

{{{
int * MyFunction();
}}}

In this example, {{{MyFunction}}} returns a pointer to an integer.

{{{
#include <stdio.h>

int * AddFive();

int* AddFive()
{
  int *plNumber = new int; // Dynamically allocated so that it 
                           // survives the end of the function call.
  *plNumber = 5;

  return plNumber;
}

int main()
{
   int *pNumber;

   pNumber = AddFive();
   printf("My new number is: %d\n", *pNumber);

   return 0;
}
}}}

!Pointers to Classes
There are a couple of other caveats with pointers, one of which is structures or classes.  You can define a class as follows:

{{{
    class MyClass
    {
    public:
	int m_Number;
	char m_Character;
    };
}}}

Then you can define a variable of type {{{MyClass}}} as follows:
{{{
MyClass thing;
}}}

You should already know this.  If not, try reading up on this area.  To define a pointer to {{{MyClass}}}, you would use:

{{{
MyClass *thing;
}}}

...as you would expect.  Then you would allocate some memory and make this pointer point to the memory:

{{{
thing = new MyClass;
}}}

This is where the problem comes in: how then would you use this pointer?  Well, normally you would write' {{{thing.m_Number}}}, but you can't with a pointer because {{{thing}}} is not a {{{MyClass}}}, but a pointer to it.  So, {{{thing}}} itself does not contain a variable called {{{m_Number}}}; it is the structure that it points to that contains {{{m_Number}}}.  Therefore we must use a different convention.  This is to replace the "{{{.}}}" (dot) with a "{{{->}}}" (dash followed by a greater than sign).  An exampel showing this below:
{{{
class MyClass
{
public:
	int m_Number;
	char m_Character;
};

void main()
{
	MyClass *pPointer;
	pPointer = new MyClass;

	pPointer->m_Number = 10;
	pPointer->m_Character = 's';

	delete pPointer;
}
}}}

!Pointers to Arrays
You can also make pointers that pint to arrays.  This is done as follows:
{{{
int *pArray;
pArray = new int[6];
}}}
This will create a pointer, {{{pArray}}}, and make it point to an array of six elements.  The other method, not using dynamic allocation, is as follows:

{{{
int *pArray;
int MyArray[6];
pArray = &myArray[0];
}}}

Note that instead of writing {{{&MyArray[0]}}}, you can simply write {{{MyArray}}}.  This, of course, only applies to arrays and is a result of how they are implemented in the C/C++ language.  A common pitfall is to write {{{pArray = &MyArray}}}, but this is incorrect.  If you write this, you will end up with a pointer to a pointer to an array (no type), which is certainly not what you want.

!Using Pointers to Arrays
Once you have a pointer to an array, how do you use it?  Well, let's say you have a pointer to an array of {{{int}}}s.  The pointer will initially point to the first value in the array, as the following example shows:

{{{
#include <stdio.h>

int main()
{
	int Array[3];
	Array[0] = 10;
	Array[1] = 20;
	Array[2] = 30;

  	int *pArray;
	pArray = &Array[0];

	printf("pArray points to the value %d\n", *pArray);

	return 0;
}
}}}

To make the pointer move to the next value in the array, we can say {{{pArray++}}}.  We can also, as some of you probably guessed by now, say {{{pArray + 2}}}, which would move the array pointer on by two elements.  The thing to be careful of is that you know what the upper bound of the array is (3 in this example), because the compiler cannot check that you have not gone past the end of array when you are using pointers.  You could easily end up crashing the system that way.  Here is the example again, this time showing the three values that we set:

{{{
#include <stdio.h>

int main()
{
	int Array[3];
	Array[0] = 10;
	Array[1] = 20;
	Array[2] = 30;

	int *pArray;
	pArray = &Array[0];

	printf("pArray points to the value %d\n", *pArray );
	pArray++;
	printf("pArray points to the value %d\n", *pArray);
	pArray++;
	printf("pArray points to the value %d\n", *pArray);

	return 0;
}
}}}

You can also subtract values, so {{{pArray - 2}} is 2 elements from where {{{pArray}}} is currently pointing.  Make sure, however, that you add or subtract to the pointer and not its value.  

>This kind of manipulation using pointers and arrays is most useful when used in loops, such as the for or while loops.

Note also that if you have a pointer to a value, e.g. {{{int* pNumberSet}}}, you can treat it as an array.   For example, {{{pNumberSet[0]}}} is equivalent to {{{*pNumberSet}}}; similarly, {{{pNumberSet[1]}}} is equivalent to {{{*(pNumberSet + 1)}}}.

{{{
#include <stdio.h>

int main()
{
   int *pNumberSet;
   pNumberSet = new int[6];

   for(int i = 0; i < 6; i++)
   {
     pNumberSet[i] = i;

     printf("pNumberSet[%d]: %d\n", i, *(pNumberSet + i));
   }

  
  

   return 0;
}
}}}

One final word of warning for arrays is that if you allocate memory using {{{new}}}, as in the following example:

{{{
int *pArray;
pArray = new int[6];
}}}

...it must be deleted using the following:

{{{
delete[] pArray;
}}}

Notice the {{{[ ]}}} after {{{delete}}}.  This tells the compiler that it is deleting a whole array and not just a single item.  You must use this method whenever arrays are involved; otherwise, you will end up with a memory leak.

!Common Questions and FAQ
''Q:'' Why do I get ''"symbol undefined"'' errors on {{{new}}} and {{{delete}}}?
''A:'' This is most likely caused by your source file being interpreted by the compiler as being a plain C file.  The {{{new}}} and {{{delete}}} operators are a new feature of C++.  This is usually remedied by ensuring that you are using a {{{*.cpp}}} extension on your source code files.

''Q:'' What's the difference between {{{new}}} and {{{malloc}}}?
''A:'' {{{new}}} is a keyword only present in C++ and is now the standard way (other than using Windows' memory allocation routines) to allocate memory.  You should never use {{{malloc}}} within a C\C++ application unless absolutely necessary.  Because {{{malloc}}} is not designed for the example of the problems that can arise.  As a result of the problems that arise from the use of {{{malloc}}} and {{{free}}}, and __because they are now for all intents and purposes obsolete__, they are not discussed in any detail in this article.  I would discourage their use whenever possible.

''Q:'' Can I use {{{free}}} and {{{delete}}} together?
''A:'' You should free memory with the equivalent routine to that used to allocate it.  For instance, use {{{free}}} only on memory allocated with {{{malloc}}}, {{{delete}}} only on memory allocated with {{{new}}} and so on.
>''leeand00:'' 
>>These are some links to some quizzes I made on the article [[A Beginner's Guide to Pointers|http://www.codeproject.com/KB/cpp/pointers.aspx]] written by [[Andrew Peace|http://www.codeproject.com/script/Membership/Profiles.aspx?mid=21]]
#[[Getting Started (1)|http://quizlet.com/set/322852/]]
#[[Dynamic Memory Allocation (2)|http://quizlet.com/set/323393/]]
#[[Passing variables to Functions (3)|http://quizlet.com/set/323679/]]
#[[Pointers to Classes (4)|http://quizlet.com/set/323702/]]
#[[Pointers to Arrays (5)|http://quizlet.com/set/324221/]]
My friend NAT contacted me today and told me about a [[project he built|http://joy2chord.sourceforge.net/]], a chorded keyboard.  I've never heard of such a thing until today, but apparently it is a way to type without so many keys, instead you type using combinations of keys allowing you to type one handed.  NAT says he built his for only $15.  Interesting, now if I could only build one for my Palm TX.
Sure, by now I'd think that everybody already knows how to do this, but something tells me it isn't true.

So could anybody tell me why there aren't a whole lot of C++ programmers left?  Might it have something to do with the fact that it's such a pain in the rear to setup your development environment?  I come from the land of Java, I'm used to things like code completion, and documentation...In Linux its easy to get such things for C++, but in Windoze, unless you've got a nice $800 M$ product, you can't seem to do anything. 

So far I've found a simple VIM Macro that worked for about a half hour and then died, because it won't display the dialog that asks for the new function name.

Wholey Freescrollize [[Strong Bad]]!  Your source code is the length of an aircraft carrier!

[[Setting the Options for Simian|http://www.redhillconsulting.com.au/products/simian/]]
{{{
C:\Users\XETEX\Desktop\simian1\bin>java -jar simian-2.2.24.jar -language=c -thre
shold=100 -ignoreVariableNames -ignoreIdentifiers -ignoreLiterals  "C:\somesrc.cpp"
}}}
''Command Input''

{{{
Similarity Analyser 2.2.24 - http://www.redhillconsulting.com.au/products/simian/index.html
Copyright (c) 2003-08 RedHill Consulting Pty. Ltd.  All rights reserved.
Simian is not free unless used solely for non-commercial or evaluation purposes.

{failOnDuplication=true, ignoreCharacterCase=true, ignoreCurlyBraces=true, ignoreIdentifierCase=true, 
ignoreIdentifiers=true, ignoreLiterals=true, ignoreModifiers=true, ignoreStringCase=true, 
ignoreVariableNames=true, language=C, threshold=100}

Found 153 duplicate lines in the following files:

 Between lines 590 and 918 in C:\somesrc.cpp

 Between lines 203 and 530 in C:\somesrc.cpp

Found 165 duplicate lines in the following files:

 Between lines 442 and 802 in C:\somesrc.cpp

 Between lines 428 and 789 in C:\somesrc.cpp

Found 636 duplicate lines in 4 blocks in 1 files

Processed a total of 505 significant (1221 raw) lines in 1 files

Processing time: 0.109sec
}}}
''Command Output''
Experts at this company enjoy working with a wealth of new technologies, software, methods and tools to turn business strategies into results
/***
!Metadata:
|''Name:''|AddFeaturesPlugin|
|''Description:''|Plugin used to compare features of various products. |
|''Version:''|0.0.1|
|''Date:''|Mar 25, 2012|
|''Source:''|http://sourceforge.net/project/showfiles.php?group_id=150646|
|''Author:''|Andrew J. Leer (leeand00(at) hotmail(dot) com)|
|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|''~CoreVersion:''|2.0.11|
|''Browser:''|Firefox 1.5+; InternetExplorer 6.0|

!Syntax:

!Revision History:
|''Version''|''Date''|''Note''|
|0.0.1|Mar 25, 2012|Yup.|

!Code section:
***/
//{{{
config.options.theTitle="FeaturesAllDigitalSolutionProvider";

config.macros.addfeaturesplugin = {
  modifierPressed: false
};

config.macros.addfeaturesplugin.displayFeaturesAll = function() {

		if(store.getTiddler(config.options.theTitle))
			fields = null;

story.displayTiddler("top", config.options.theTitle, null, true, null, null, true);
// DEFAULT_EDIT_TEMPLATE
};

config.macros.addfeaturesplugin.editFeaturesAll =  function() {
    config.commands.editTiddler.handler(null, null,config.options.theTitle);
};

config.macros.addfeaturesplugin.bringUpAndEdit = function(dasArgs) {
      console.log("bringUp");
      config.macros.addfeaturesplugin.displayFeaturesAll();
      config.macros.addfeaturesplugin.editFeaturesAll();
};

config.macros.addfeaturesplugin.keyDown = function(dasArgs) {
  console.log(dasArgs.keyCode);
  if(dasArgs.keyCode == 91) { /* Start menu button */
     console.log("startmenu key down");
     config.macros.addfeaturesplugin.modifierPressed = true;
  }

  if(config.macros.addfeaturesplugin.modifierPressed && 
     dasArgs.keyCode == 71) { /* g key */
      console.log("g key down");
      config.macros.addfeaturesplugin.bringUpAndEdit();
      config.macros.addfeaturesplugin.modifierPressed = false;

      return true;
   }
  return false;
};

config.macros.addfeaturesplugin.keyUp = function(dasArgs) {
  if(dasArgs.charCode == 91) {
     config.macros.addfeaturesplugin.modifierPressed = false;
  }
};

addEvent(document, "keydown", config.macros.addfeaturesplugin.keyDown);
addEvent(document, "keyup", config.macros.addfeaturesplugin.keyUp);
//}}}
!Adding a New Network

Say that you've moved your laptop / development machine to another location where there is a different wifi network with different settings.  What to do?  Well as we did eariler you're going to need to find out what the settings are in this new location.  

The first thing you will need to do is cut a new branch in our git repository since we don't want the settiings from the other network overwritten.  

{{{
git checkout -b <new-network-name>
}}}

Running a {{{git status}}} at this point will confirm that  

vim # changes....
sudo ./updateConfiguration
vim # changes...
sudo ./updateConfiguration
#until it works if you don't know what you're doing...
git commit
}}}



[[edit|Adding a New Network - Network Management - Local Setup - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq]]
!!Local Setup of Apache using Lamp

<<tabs "ewqrqwgvsa2342"
"4.2.1" "httpd.conf" "httpd.conf - Adding a Virtual Host to Apache - Setting up Accessible Virtualhosts - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq"
"4.2.2" "virtual-host config file" "virtual-host config file - Adding a Virtual Host to Apache - Setting up Accessible Virtualhosts - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq"
>>

[[edit|Adding a Virtual Host to Apache - Setting up Accessible Virtualhosts - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq]]
!!Making dns-names for the virtual hosts on our web-server...
After it is all setup and you want to add additional sites to your development environment, 

Each record in the {{{dnsmasq.conf}}} consists of the form...

{{{
address=/<virtual-hostname>.<suffix>/<ip-address>
ptr-record=<virtual-hostname>.<suffix>,<ip-address>
}}}

And it can even refer to other hosts provided you use their ip

[[edit|Adding dns names to dnsmasq - Setting up Accessible Virtualhosts - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq]]
     I've been off of coffee for some time now, but yesterday I gave in and had a shot of espresso in my Chi-tea because I just couldn't get going!  

    So then in due fashion with back when I used to drink coffee to keep going I went out and bought a bunch of exercise equipment (hey! there was a sale!) oh and a bicycle helmet!  Then I came home assembled the exercise equipment and, exercised for a good while.  

Soon I found myself in bed, unable to sleep, thinking to myself I had too much caffeine today...and now I can't stop!

    So I stayed awake and read up on the wonders of coffee.  I came across an article on how coffee causes increased neural activity soon after consumption.  

  "Hmm that's about right...", I thought to myself, "When I woke up thismorning I couldn't get going for about two hours!", I though some more..."Then when the barista talked me into having a shot of espresso in my Chi-tea, I was productive for the rest of the day!", which is great of course, unless you plan on sleeping.  

   I though back even further, "last time I drank any coffee I was having withdrawl symptoms, because it seemed no matter what I did, I just couldn't get enough caffeine to squeeze another drop of energy out of me".

   Shortly there after the coffee stopped working, I went though awful withdrawl symptoms, I had headaches for about a month.  I had practically no energy.


*''Ginsing''
**Organic Plum Passion - Harney &amp; Sons
!A Problem

	Since I started attending the blogosphere, I've never set on using a single place for all of my blog entries.  Copying and pasting the entries everywhere becomes very tedious and time consuming, making sure that every entry is on every page...it was becoming more trouble than it was actually worth. 

	So today I was speaking with [[a priest|http://www.facebook.com/profile.php?id=502920863]] from my Church, who seemed to have a similar problem.  Fr. wants to reach the kids using a Youth Group website for our Church.  Unfortunately all the kids now days hangout on multiple social networking sites, ([[MySpace|http://www.myspace.com]], [[Facebook|http://www.facebook.com]]).  All of these sites have a common place for the youth to meet, which are usually referred to as ''groups''.  Unfortunately to keep all of these groups up to date, you have to go into each social networking sites and update their groups one at a time.  A time consuming operation to say the least.  

So both of us have a similar problem...

!A Solution to Both Problems
	Well the intelligent folks on the web have already come up with a solution to this problem...enter [[RSS Feeds|RSS Feed]].  

<<tiddler "RSS Feed">>

	Now what this all means is that if you are posting content on your blog, you only have to enter that content once, because the RSS Aggregators on each of the sites you want to display the content on pick up your changes and display them.
I think the time has come to discuss an important distinction.  The distinction between [[pleasure]] and [[enjoyment]].

!Pleasure
<<tiddler "pleasure">>

!Enjoyment
<<tiddler "enjoyment">>

[[enjoyment]] [[pleasure]]
Background: #ddff88
Foreground: #000
PrimaryPale: #bbee66
PrimaryLight: #aa0033
PrimaryMid: #440000
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #99cc00
SecondaryMid: #db4
SecondaryDark: #440000
TertiaryPale: #bbee66
TertiaryLight: #EEC591
TertiaryMid: #440044
TertiaryDark: #000
/***

!Metadata:

|''Name:''|ArchivedTimeline|

|''Description:''|Timeline archived monthly.|

|''Version:''|0.7.0|

|''Date:''|Aug 25, 2007|

|''Source:''|http://sourceforge.net/project/showfiles.php?group_id=150646|

|''Author:''|BramChen (bram.chen (at) gmail (dot) com)|

|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|

|''~CoreVersion:''|2.0.11|

|''Browser:''|Firefox 1.5+; InternetExplorer 6.0|



!Syntax:

{{{<<timeline [modified|created [maxentries [dateFormate]]]>>}}}

!Examples:

{{{<<timeline>>}}}

{{{<<timeline created 10>>}}}

{{{<<timeline modified 10 "MMM DD, YYYY">>}}}



!Revision History:

|''Version''|''Date''|''Note''|

|0.7.0|Jul 25, 2006|Accept a date format parameter|

|0.6.3|Jan 14, 2007|Cleaned codes, Removed config.macros.timeline.slider and config.macros.timeline.onClickSlider|

|0.6.2|Dec 10, 2006|Add monthFormat to display month format for Chinese|

|0.6.1|Aug 12, 2006|A great effect on config.macros.timeline.slider for Firefox, thanks Bob McElrath|

|0.6.0|Jul 25, 2006|Runs compatibly with TW 2.1.0 (rev #403+)|

|0.5.2|Jun 21, 2006|Fixed bugs for dateFormat of TW 2.1|

|~|~|Change default dateFormat to "0DD MMM, YYYY"|

|0.5.1|Jun 04, 2006|Added config.macros.archivedTimeline.orderBy for localization|

|0.5.0|Apr 19, 2006|Fixed bug for twice records of the same date ()|

|~|~|Added Date.prototype.convertToLocalYYYYMMDDHHMM<<br>>in order to backward compatible with 2.0.6-|

|0.4.0|Apr 03, 2006|Added new parameter, {{{<<timeline [sortfield] [maxentries]>>}}}|

|~|~|Added config.options.txtTimelineMaxentries|

|0.3.1|Feb 04, 2006|JSLint checked|

|0.3.0|Feb 04, 2006|Fixed several missing variable declarations|

|0.2.0|Dec 26, 2005|changed for the new feature of Macro timeline of TW 2.0.0 beta 6|

|0.1.0|Nov 3, 2005|Initial release|



!Code section:

***/

//{{{

version.extensions.archivedTimeline = {major: 0, minor: 7, revision: 0,

	date: new Date("Aug 26, 2007"),

	name: "ArchivedTimeline",

	type: "Macro",

	author: "BramChen",

	source: "http://sourceforge.net/project/showfiles.php?group_id=150646"

};

config.options.txtTimelineMaxentries=0;

config.macros.archivedTimeline = {

	tooltips: "Archives sorted by  ",

	orderBy:{modified: "modified", created: "created"},

	monthFormat: "0DD MMM YYYY",

	dateFormat: "0DD MMM YYYY"

};

config.macros.timeline = config.macros.archivedTimeline;



config.macros.timeline.handler = function(place,macroName,params) {

	var field = params[0] ? params[0] : "modified";



	place.appendChild(document.createTextNode(this.tooltips + this.orderBy[field]));

	var tiddlers = store.reverseLookup("tags","excludeLists",false,field);

	var lastMonth = ""; var lastDay = ""; var theText = "----\n"; var i = 0;

	var last = (params[1])?params[1]:config.options.txtTimelineMaxentries;

		last = (isNaN(last)||last<1) ? 0:tiddlers.length-Math.min(tiddlers.length,parseInt(last));

	var dateFormat = params[2] ? params[2] : this.dateFormat;

	var cookie; var archives;

	for (var t=tiddlers.length-1; t>=last; t--) {

		var tiddler = tiddlers[t];

		var theMonth = tiddler[field].convertToLocalYYYYMMDDHHMM().substr(0,6);

		var theDay = tiddler[field].convertToLocalYYYYMMDDHHMM().substr(0,8);

		if(theMonth != lastMonth) {

			if (lastMonth === "") {

				lastMonth = theMonth;

				}

			else {

				place.appendChild(document.createElement('hr'));

				cookie = 'chktimeline'+(i++);

				archives = this.formatString(this.monthFormat, lastMonth);

				var panel = config.macros.slider.createSlider(place,cookie,archives,this.tooltips + archives);

				wikify(theText,panel);

				lastMonth = theMonth; theText = '----\n';

			}

		}

		if(theDay != lastDay){

			theText +=  tiddler[field].formatString(dateFormat) + '\n';

			lastDay = theDay; 

		}

		theText += '* [[' + tiddler.title + ']]\n';

	}

	place.appendChild(document.createElement('hr'));

	cookie = 'chktimeline'+(i++);

	archives = this.formatString(this.monthFormat, lastMonth);

	var panel = config.macros.slider.createSlider(place,cookie,archives,this.tooltips + archives);

	wikify(theText,panel);

	place.appendChild(document.createElement('hr'));

};



config.macros.timeline.formatString = function(template, yyyymm)

{

	var dateString = new Date(yyyymm.substr(0,4)+'/'+yyyymm.substr(4,2)+'/01');

	template = template.replace(/DDD|0DD|DD/g,'');

	return dateString.formatString(template);

};

if (!Date.prototype.convertToLocalYYYYMMDDHHMM){

	Date.prototype.convertToLocalYYYYMMDDHHMM = function(){

		return(String.zeroPad(this.getFullYear(),4) + String.zeroPad(this.getMonth()+1,2) + String.zeroPad(this.getDate(),2) + String.zeroPad(this.getHours(),2) + String.zeroPad(this.getMinutes(),2));

	}

}

//}}}
{{{
	var container = document.getElementById("buttons");
	var btns = container.getElementsByTagName("input");

	for(var i = 0; len = btns.length; i < len; i++) {
		(function(n) {
			btns[n].onclick = function() {
				alert(n);
			 };
		})(i);
	}

}}}
''Fact:''
>There are only {{{2080}}} working hours in a year.

Believe it or not, using all of these hours, __only for work__ or trying to add to these hours can actually hinder your productivity, and worse yet land you in therapy!

A really neat opensource program that can take care of this problem is called [[Workrave|http://www.workrave.org/]].  [[Workrave|http://www.workrave.com/]] runs on Windows and Linux (and I'm guessing MacOSX....).

<<slider "12/3/2007 3:16 PM" "Workrave Introduction" "+Introduction">>
<<slider "12/3/2007 3:14 PM" "WorkRave - Recommended Settings" "+Setting up Workrave to Fit Your Needs">>
{{{root@sysresccd# ls -l /dev/disk/by-id | grep scsi-SATA_VBOX > hdds_byId.txt}}}

[[?|http://forums.virtualbox.org/viewtopic.php?t=4108&highlight=]]

[[?|http://www.derekhildreth.com/blog/how-to-properly-backup-a-virtualbox-machine-vdi/]]
Finished my bacula course: http://bit.ly/2zABBY0
I believe it was a late night on the computer much like this one, when I stumbled across a lone Tweet [[somewhere in the Reading area|http://streamd.in/]]; and I believe it said something about a 3D printer.  Intrigued, and having heard of 3D printers in Make magazine, I clicked on the name: [[tbuser|http://www.twitter.com/tbuser]] and discovered that this solitary tweet had come from none other than [[Tony Buser|http://tonybuser.com/]].  I sent him a message, inquiring about his 3D printer.   

This was no ordinary geek that I had stumbled across on Twitter; Tony is as of this writing is one of two known people in the Berks county area who have built their own RepRap printers.  He's even contributed to the project itself, with his online system for the RepRap called [[Cloudscad|http://blog.cloudscad.com/]].

If you don't know what a Rep Rap 3D printer is, it's a 3D printer capable of reproducing itself.  Reproduces itself? Impossible you say?  Inconceivable?  That's the same thing I said when I received a message back from Tony in which he asked if I were interested in joining a Hackerspace in Reading, PA.  I really didn't think such a thing was possible; but the following Thursday (and several subsequent Thursdays there after) I was proved wrong on two counts:  #There are indeed enough people interested to start a Hackerspace geeky community here in Reading, PA (we're finding more people all the time!)
#The RepRap is capable of producing just about anything (and I'm sure we're going to push it's limits even further at the new Hackerspace)

Now with that little bit of doubt pushed aside, I'd like you to think about yourself as a hacker of technology.  Me? You say? What could I possibly do?  If Tony can found a Hackerspace in Berks County, if a Rep Rap can re-print a copy of itself, than you, you my friend ought to be able to put aside your own self doubt and surprise yourself!  The only thing holding you back is not trying.

The Berks Colab Hackerspace's home on the web is located at [[http://www.berkscolab.org/|http://www.berkscolab.org/]]

If you're interested in joining us, please fill out our [[Interest Survey|http://berkscolab.org/2010/10/27/berks-colab-interest-survey-3/]].
*The less shiny the better.
*Around 48"
*Check Walmart
*''greenest green'' or ''bluest blue'' you can find will work fairly well.
*Try Rayon fabric
Background: #bbbbff
Foreground: #000
PrimaryPale: #99aacc
PrimaryLight: #006699
PrimaryMid: #002244
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #002244
TertiaryPale: #99aacc
TertiaryLight: #aaaaff
TertiaryMid: #000
TertiaryDark: #8B7355 
!By Dave Gifford

Background: #FFFFFF
Foreground: #000
PrimaryPale: #FF8C69
PrimaryLight: #FF8C69
PrimaryMid: #8B4C39
PrimaryDark: #410
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #FFD39B
TertiaryLight: #EEC591
TertiaryMid: #CDAA7D
TertiaryDark: #8B7355
Use these buttons to select different editing processors or mouse functions.

+++[Upper button bar]
The upper button bar can be found in the monitor to the top lieft.  It has the following functions:

''New Movie''
Opens a new movie.

''Load Movie''
Loads a previously saved movie.

''Save Movie''
Saves current movie.

''Create a backup copy''
Creates a backup copy of the current movie with all relevant media files.

''1-Click''
Opens the Movie Show Maker.

''MAGIX Song Maker''
Opens MAGIX Song Maker

''MAGIX Story Maker''
Opens MAGIX Story maker.

''Mixer''
Opens the mixer.

''Program Settings''
Opens program settings.

''Context Help''
Opens the context help for explanations for specic areas of the program.
===<br/>
+++[Lower Button Bar]
The following buttons are available in all modes (Storyboard and timeline modes):

''Undo''
All changes, including objects and cursor manipulations can be undone.

''Redo''
The "Redo" function undoes the previous "Undo" function.

''Delete''
This function deletes all selected objects or scenes from the arrangment.

''Cut selected objects''
Copies all selected objects to the clipboard.

''Copy Objects''
Makes a copy of all selected objects.  The copies appear alongside the original and can be dragged to the correct position using the mouse.

''Insert Clipboard''
This button inserts the contents of the clipboard at the position of the start marker.  The next scenes get moved back.

''Copy''
This button copies the selected scene into the clipboard.  From here it can be moved to a different poistiion in the film or into a different film altogether.

''Duplicate objects''
Duplicates all selected objects.  The copies appear alongside the original and can be dragged to the correct position using the mouse.
===<br/>
+++[Additonal Buttons in the Timeline Mode]
The following buttons are only available in the Timeline mode:

''Video Cleaning''
Opens the video optimization dialog for selected video and picture objects.

''Title Editor''
Opens the Title Editor.

''Form Group''
Orders all selected objects into groups.  As soon as an object is selected in the group, all objects in the group become highlighted so that you can work on them collectively.

''Ungroup''
Turns all selected objects into free-standing objects again.

''Object grid''
Use this button to switch the object grid on and off.  When the object grid is switched on, the objects snap into place beside one another so that everything fits in seamlessly.

''Set chapter markers''
Sets a chapter marker to the position of hte start marker.  Read more in the [[Burn Interface]].

''Set automatic chapter markers''
Opens the dialog to automatically set chapters.  Please also read the section [[Automatically setting chapter markers|Scene Recognition]] in the [[Edit Menu Chapter]]

''Mouse mode for individual objects''
This mouse mode functions much like the "Intelligent mouse mode", except that when moving objects, only the selected objects are moved.

''Curve Mouse Mode''
This mouse mode is used for drawing the volume and effect curves.  The last-editied curve effect is displayed on the object as a red curve.  You can freely draw this type of curve using the curve mouse mode.

''Strech Mouse Mode''
This special mode is for customizing the length of objects.  With timestretching, audio objects can be expanded or compressed using the handles at the bottom.  The duration of the audio material is therefore lengthened without changing the pitch.  Playback of the video object is accelerated/decelerated with the help of the handles at the bottom.

''Preview Audio''
In this mode you can preview audio objects as long as the mouse button is held down, along with the whole length and independent of the start and end markers in the timeline.  Other object types are protected against inadvertent moving.


''Scrub mouse mode''
This mode is especially suiited to searching for specific parts of a video.  By holding down the mouse buytton, the arrangement can be viewed at the point where the cursor is positioned.  The play back cursor follows the movements of the mouse.

''Intelligent mouse mode''
Select objects with a left-click.  When the Shift key is pressed, multiple objects are selected.  

You can move an object by holding down the mouse over it while dragging it to the desired position.  All objects that border the object on the same or on adjacent tracks are also moved, staring from the mouse position.  This means that every object that overlap adjacent tracs (fades, fade effects) and those that directly connect from one to the next ([[Hard Cuts]]) are pushed together (The technical term for it is "Ripple until black").  This is useful for keeping previously specified fades intact when you wish to move involved objects.  To move individual objects, switch to the mouse mode for individual objects (see bellow).  You can also drag an object vertically onto a free track thereby breaking the connection with the following objects.  You will then be able to move it freely without having to move other objects with it.
===<br/>
[[article link|http://www.cplusplus.com/doc/tutorial/templates.html]]

!Function Templates
Function templates are special functions that can operate with [[generic types]]. This allows us to create a function template whose functionality can be adapted to more than one type of class without repeating the entire code for each type.

In C++ this can be achieved using [[template parameters|Template Parameters C++]].  A [[template parameter|Template Parameters C++]] is a special kind of parameter that can be used to pass a type as an argument: just like regular function parameters can be used to pass values to a function, template parameters allow to pass also types to a function.  These function templates can use these parameters as if they were any other regular type.

{{{template <class identifier> function_declaration;}}}
{{{template <typename identifier> function_declaration; }}}

The only difference between both prototypes is the use of either the keyword {{{class}}} or the keyword {{{typename}}}.  Its use is indistinct, since both expressions have exactly the same meaning and behave exactly the same way.

For example, to create a template function that returns the greater one of two objects we could use:

{{{
template <class myType>
myType GetMax (myType a, myType b) {
	return (a>b?a:b);
}
}}}

Here we have created a template function with {{{myType}}} as its template parameter.  This template parameter represents a type that has not yet been specified, but that can be used in the template function as if it were a regular type.  As you can see, the function template {{{GetMax}}} returns the greater of two parameters of this still-undefined type.

To use this function template we use the following format for the function call:

{{{function_name <type> (parameters); }}}

For example, to call GetMax to compare two integer values of type {{{int}}} we can write:

{{{
int x,y;
GetMax <int> (x, y);
}}}

When the compiler encounters this call to a template function, it uses the template to automatically generate a function replacing each appearance of {{{myType}}} by the type passed as the actual template parameter ({{{int}}} in this case) and then calls it.  This process is automatically performed by the computer and is invisible to the programmer.

Here is the entire example:

{{{
// function template
#include <iostream>
using namespace std;

template <class T>

T GetMax(T a, T b) {
	T result;
	result = (a>b) ? a : b;
	return (result);
}

int main() {
	int i=5, j=6, k;

	long l=10, m=5, n;
	k=GetMax <int>(i, j);
	n=GetMax <long>(l,m);
	cout << k << endl;
	cout << n << endl;
	return 0;
}
}}}

!!!Result:
{{{
6
10
}}}


In this case, we have used {{{T}}} as the template parameter name instead of {{{myType}}} because it is shorter and in fact is a very common template parameter name.  But you can use any identifier you like.

In the example above we used the function template {{{GetMax()}}} twice.  The first time with arguments of type {{{int}}} and the second one with arguments of type {{{long}}}.  The compiler has instantiated and then called each time the appropriate version of the function.

As you can see, the type {{{T}}} is used as a parameter {{{GetMax}}} the compiler can find out automatically which data type has to instantiate without having to explicitly specify it within angle brackets (like we have done before specifying {{{int}}} and {{{long}}}).  So we could have written instead:
{{{
int i, j;
GetMax (i, j);
}}}

Since both {{{i}}} and {{{j}}} are of type {{{int}}}, and the compiler can automatically find out that the template parameter can only be {{{int}}}.  This implicit method produces exactly the same result:

{{{
// function template II
#include <iostream>
using namespace std;

template <class T>
T GetMax (T a, T b) {
   return (a>b?a:b);
}

int main () {
	int i=5, j=6, k;
	long =10, m=5, n;
	k=GetMax(i, j);
	n=GetMax(l, m);
	cout << k << endl;
	cout << n << endl;
	return 0;
}
}}}

!!!Result:
{{{
6
10
}}}


Notice how in this case, we called our function template {{{GetMax()}}} without explicitly specifying the type  between angle-brackets {{{<>}}}.  The compiler automatically determines what type is needed on each call.

Because our template function includes only one template parameter (class T) and the funciton tempalte itself accepts two parameters, both of this {{{T}}} type, we cannot call our function template with two objects of different types as arguments:

{{{
int i;
long l;
k = GetMax(i, l);
}}}

This would not be correct, since our {{{GetMax}}} function template expects two arguments of the same type, and in this call to it we use objects of two different types.

{{{
template <class T, class U>
T GetMin (T a, U b) {
	return (a<b?a:b);
}
}}}

In this case, our function template {{{GetMin()}}} accepts two parameters of different types and returns an object of the same type as the first parameter ({{{T}}}) that is passed.  For example, after taht declaration we could call {{{GetMin()}}} with:

{{{
int i,j;
long l;
i = GetMin <int, long> (j, i);
}}}

or simply:

{{{
i = GetMin(j,l);
}}}

even though {{{j}}} and {{{i}}} have different types, since the compiler can determine the appropriate instantiation anyway.

!Class templates
We also ave the possibility to write class templates, so that a class can have members that use template parameters as types.  

For example:

{{{
template <class T>
class mypair {
	T values [2];
   public:
	mypair (T first, T second)
	{
		values[0]=first; value[1]=second;
	}
}
}}}
The class that we have just defined serves to store two elements of any valid type.  For example, if we wanted to declare an object of this class to store two integer values of type {{{int}}} with the value 115 and 36 we would write:

{{{
mypair<int> myobject (115, 36);
}}}

this same class would also be used to create an object to store any other type:
{{{ 
mypair<double> myfloats (3.0, 2.18);
}}}

The only member function in the previous class template has been defined inline with the class declaration itself.  In case that we define a function member outside the declaration of the class template, we must always precede that definition with the {{{template <...>}}} prefix:

{{{
// class templates
#include <iostream>
using namespace std;

template <class T>
class mypair {
	T a, b;
  public:
	mypair (T first, T second)
	     {a=first; b=second;}
    	T getmax();
};

template <class T>
T mypair<T>::getmax ()
{
  T retval;
  retval = a>b? a:b;
  return retval;
}

int main () {
   mypair <int> myobject (100, 75);
   cout << myobject.getmax();
   return 0;
}
}}}

Notice the syntax of the definition of member function {{{getmax}}}:

{{{
template <class T>
T mypair<T>::getmax ()
}}}

Confused by so many {{{T}}}'s?  There are three {{{T}}}'s in this declaration:  The first one is the template parameter.  The second {{{T}}} refers to the type returned by the function.  And the third {{{T}}} (the one between angle brackets) is also a requirement: It specifies that this function's template parameter is also the class template parameter.

!Template specialization
If we want to define a different implementation for a template when a specific type is passed as template parameter, we can declare a specialization of that template.

For example, let's suppose that we have a very simple class called {{{mycontainer}}} that can store one element of any type and that it has just one member function called {{{increase}}}, which increases its value.  But we find that when it stores an element of type {{{char}}} it would be more convenient to have a completely different implementation with a function member {{{uppercase}}}, so we decide to declare a class template specialization for that type:

{{{
//template specialization
#include <iostream>
using namespace std;

// class template
template <class T>
class mycontainer {
	T element;
   public:
	mycontainer (T arg) {element=arg;}
	T increase () {return ++element;}
};

// class template specifications
template <>
class mycontainer <char> {
	char element;
    public:
	mycontainer (char arg) {element = arg; }
	char uppercase()
	{
		if((element>='a') && (element<='z'))
			element+='A'-'a';
		return element;
	}
};

int main () {
	mycontainer<int> myint(7);
	mycontainer<char> mychar ('j');
	cout << myint.increase() << endl;
	cout << mychar.uppercase() << endl;
	return 0;
}
}}} 

This is the syntax used in the class template specialization:
{{{ 
template <> class mycontainer <char> { ... };
}}}
  Posting #:   	 4174
 Job Title:  	Software Developer
 Division:  	SEI
 Department:  	SEI-CERT
 Job Grade:  	N/A
 Hiring Range Min:  	Negotiable
 Hiring Range Max:  	Negotiable
 Job Classification Code:  	4513
 FT/PT Status:  	Regular Full Time
 Location:  	5000 Forbes Avenue Pittsburgh, Pennsylvania 15213-3890 United States
 Additional Posting Information:  	 
 Job Description:  	
Summary

The CERT Program® is part of the Software Engineering Institute (SEI), a federally funded research and development center at Carnegie Mellon University in Pittsburgh, Pennsylvania. CERT engages in cutting-edge research and development, and provides robust training and education programs focused on ensuring that software developers, Internet security experts, network and system administrators, and others are able to resist, recognize, and recover from attacks on networked systems. The Development team within the CERT Coordination Center (CERT/CC) provides technical capability to the development of tools and software systems amplifying the CERT/CC's operational capabilities. The primary roles of the Development team include: software development, software design, integration and testing of software systems, requirements analysis and specification synthesis, packaging and deployment assistance of software systems. The successful candidate will serve as a self-motivated, strong contributor in the design, development, and deployment of a variety of enterprise-level systems that support the CERT/CC's core business activities. The individual in this position will be responsible for a combination of in-house development and integration of 3rd-party (including open-source) systems.

''Minimum Requirements''

*BS in Computer Science, Computer Engineering or equivalent plus three years experience developing software systems; 
*Candidates should have at least 2 years of experience in developing enterprise applications 
*within a small team and will be able to demonstrate experience in full life-cycle development from:
**conceptual design 
**to deployment, 
**systems integration, 
**the creation of mission-critical information storage 
**and retrieval systems 
***(e.g., CRM, financial, or publishing systems), 
*use of source code control, 
*configuration management, 
*problem tracking tools; 
*successful candidates will apply sound software engineering practices to system design and development 
**(e.g., 
***systematic approach to system specification, 
***architecture, 
***design, 
***development and documentation of code, 
***configuration management, 
***inspections and testing, 
***packaging and deployment
*be expert in Java/JEE at an enterprise level, 
*have significant experience Perl or other dynamic languages, 
*possess excellent technical problem-solving skills, 
**develop, 
**document, 
**explain technical decisions, 
*be strongly self-motivated to tackle challenging problems, 
*learn quickly and have a history of producing creative and innovative solutions, 
*prioritize work effectively, 
*interact effectively with technical and non-technical audiences via both written and verbal communications, 
*collaborate and work effectively within a closely coordinated team environment, 
*maintain composure while dealing with difficult people, 
*recognize and deal appropriately with confidential and sensitive information, 
*handle shifting priorities, 
*meet inflexible deadlines, 
*possess mentoring/training skills; 
*primarily sedentary in an office setting with some mobility. 
*Ability to travel to various locations within the SEI and CMU community, 
**customer sites, 
**conferences, 
**and offsite meetings with some frequency; 
**normal office conditions; however, close contact with computer for prolonged periods of time; *the ability to work well under pressure of deadlines and with confidential information; 
*candidate must pass a background investigation, 
*be eligible to obtain a United States DoD Secret Clearance, and be a U.S. citizen;

''Preferred Requirements''

*Master of Science in Computer Science, 
*Computer Engineering or equivalent plus one year experience developing software systems; or PhD; ideal candidates will have experience with a significant number of the following: experience with build technologies such as 

*Ant/make, 
*scripting languages in general, 
*interested in researching, 
*learning, 
*evaluating and reporting on various new technologies or implementations, developing web services and related technologies (e.g., XML, WSDL, SOAP, REST, XSLT) , applications using RPC mechanisms (e.g., XML-RPC); messaging (e.g., JMS), creating web-based applications and services in security-sensitive environments (e.g., familiarity with x.509 certificates, PKI, encryption, defense-in-depth concepts), leading small team development efforts, serving as a database (DBA) or system administrator, packaging and deploying server-side applications on Linux and/or UNIX systems (e.g., RPM, WAR, EAR), developing content management systems and related technologies (e.g., Alfresco, Bricolage), developing web-based user interfaces (e.g., XHTML, CSS, JavaScript, AJAX).
Type the text for 'Check the Sound Settings'
!Step 1: Check the Speakers
>First we need to check your speakers to ensure that there is indeed sound coming from them.  [>img[http://www.route6radio.com/images/radiohelp/speakerssmall.png]]

>If your speakers need to be plugged into a wall outlet make sure they are plugged into an electrical wall outlet.  

>Make sure that your speakers are powered on as well (sometimes they will have a little green or red light that will light up to let you know that the speakers are turned on).

''If the little green or red light is not lit up, please be sure that:''
##The speakers are plugged in to an electrical wall outlet. [img[http://www.route6radio.com/images/radiohelp/electricalplug.png]]
##The power button is pressed. [img[http://www.route6radio.com/images/radiohelp/r6r_power_switch.png]]

''Make sure that if your pair of speakers has a volume knob that it is turned up about three fourths of the way up. [img[http://www.route6radio.com/images/radiohelp/r6r_vol.png]]''

''Finally be sure that the speakers or head phones are plugged into the computer and connected to the right spot, There should be a ''Green Jack'' in which you can plug in your  //speakers// or //headphones//.''

| [img[http://www.route6radio.com/images/radiohelp/plugplugged.png]] |
| ''The Green Jack in the back of your computer.'' |

If you still don't understand, please be sure to [[click here|Extended Headphone Jack Help]]

Otherwise proceed to the next step, [[checking the sound settings|Check the Sound Settings]].
>I've been trying to figure out what makes a good flat-panel monitor for computer programming for a good while now.

>I'm trying to figured it out so I went to this [[blog post|http://mitchfincher.blogspot.com/2007/11/migraine-headaches-computer-monitors.html]] and discovered the [[follow website|http://www.techmind.org/lcd/index.html]] with advice from someone who works in the LCD monitor industry on buying a monitor.

!LCD technology and tests
LCD monitors are rapidly becoming shipped with new computers by default, and are superior to the old CRT screens for the majority of applications.  Although liquid crystal displays boats perfect image geometry and should be perfectly sharp, in reality they still have shortcomings:
*Viewing angle dependancies
*Poor blacks
*Motion-blur
are still issues, particularly for photographic and LCD television applications.  Certain flicker or shimmers can be caused by sub-optimal user-adjustment, or shortcuts taken at the factory.  On this page I explain a little of LCD screen technology and give you some pointers to the factors which separate teh best from the rest.  A large number of test patterns are provided to aid in setting and diagnosis of  your display.

!Active-matrix LCD technology 
A modern desktop liquid crystal display (LCD) computer-screen consists of an active-matrix panel and polarizers (which together act as an electricilly-controlled pixel-level light filter) situated immediatly in front of a backlight (large-area uniform light source - usualy consisting of one to four cold-cathode florescent lamps (CCFL), a lightguide diffuser).  The panel is connected to a dozen or so row- and column-driver chips which address the display with the picture data, and are driven by the rest of the monitors electronics.  I'm not going explain the basics of LCD panel in any more detail - this is already covered on hundreds of sites.

!LCD vs. CRT
The table bellow shows the main factors differentiating LCD and CRT displays from a users' perspective.

|!LCD |!CRT |
|compact |bulky |
|lightweight |heavy |
|low power (c. 20W) |high power (c. 150W) |
|perfectly sharp |limited sharpness; tend to blur more at high brightness, and with age |
|perfect image geometry |tends to suffer from geometric distortions, which may be picture (brightness) dependent, and worsen with age. |
|"consistent" tonal scale |strong bright areas can cause other regions of the picture to dim. |
| excellent text contrast| poor text contrast (limited bandwidth) |
| do not normally flicker| inherently flicker (although peoples sensitivity varies) |
| constrast/colour change with viewing angle)| constistent image irrespective of viewing angle. |
|poor black on dark images |good blacks (quality monitor, properly adjusted) |
|native interface would be digital (e.g. DVI) |naturally suited to analog interface |
|image //can// be sub-optimal with analog interface |

On the basis of image-quality alone, in my opinion  LCD is the montor of choice for "office" and technical/CAD applications (largely text-based, or detailed but colour-non-critical graphics), while CRT still has the upper hand for high-end photographic/art work and for television displays.
Higher priced LCDs (probably usuing "In-Plane Switching" "IPS" liquid crystal modes) marketed specifically for pre-press or photographic work should have colors which are less affected by viewing angles for that application (IPS tends to have a less- good black-state -lower contrast- however).

"Vertically Aligned" eg "MVA" (Multidomain -VA) boast the darkest blacks, equivalently highest contrast, or any LCD technology, but response time and viewing angle are poorer than IPS.

!LCD Tests
!!Clock/phasing for Analog inputs

LCD panels use discrete pixels and ideally should be connected to the image source via a digital interface such as DVI.  In an analog video signal from a computer's "VGA connector" the luminace data for one pixel runs into the next in a time continuum.  @@To properly recover the data back into the correct discrete pixels requires accurate synchronization of a "sampling-clock" in the monitor to the "pixel clock" in the graphics card.@@  Although possible, this can be technically tricky to get right (the VGA output was never designed for this!)  @@Symptoms of incorrect clock/phase settings include blurry or shimmering text, and shimmering on fine cross hatch patterns.@@  The "automatic" adjustment of many LCD monitors is not always successful, and manual tweaking may be needed.  It is probably wise to allow the monitor (and PC) to warm up for 5 to 10 minutes before running this test.
*[[Clock/phasing test screen|http://www.techmind.org/lcd/phasing.html]]
For an illustrated explanation of what these controls do, and how to use them, see [[Clock/Pitch and Phase controls|http://www.techmind.org/lcd/phasexplan.html]]

!Inversion
In liquid crystal pixel cells, it is only the magnitude of the applied voltage which determines the light transmission (the transmission vs. voltage function is symmetrical about 0V).   To prevent polarisation (and rapid permanent damage) of the liquid crystal material, the polarity of the cell voltage is reversed on alternate video frames.  Unfortunately it is very difficult to get //exactly// the same voltage on the cell in both polarities, so the pixel-cell brightness will tend to flicker to some extent at half the frame-rate.  If the polarity of the whole screen were inverted at once then the flicker would be highly objectionalble.  Instead, it is usual to ahve the polarity of nearby pixels in anti-phase, thus cancelling out the flicker over areas of any significant size.  In this way the flicker can be made imperceptible for most "natural" images.

<html>
<body>
<table>
<tr><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><b>+</b></td><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><b>+</b></td><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td width=160>&nbsp;<br>&nbsp;</td>

 <td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><b>+</b></td><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><b>+</b></td><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><b>+</b></td><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><b>+</b></td><td width=200>&nbsp;<br>&nbsp;</td></tr>
<tr><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><b>+</b></td><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><b>+</b></td><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td>&nbsp;<br>&nbsp;</td>

 <td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td width=64>&nbsp;<br>&nbsp;</td></tr>
<tr><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><b>+</b></td><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><b>+</b></td><td>&nbsp;<br>&nbsp;</td>

 <td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><b>+</b></td><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><b>+</b></td><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><b>+</b></td><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><b>+</b></td><td width=200>&nbsp;<br>&nbsp;</td></tr>
<tr><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><b>+</b></td><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><b>+</b></td><td>&nbsp;<br>&nbsp;</td>

 <td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td>&nbsp;<br>&nbsp;</td></tr>
<tr><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><b>+</b></td><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><b>+</b></td><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td>&nbsp;<br>&nbsp;</td>

 <td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><b>+</b></td><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><b>+</b></td><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><b>+</b></td><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><b>+</b></td><td width=200>&nbsp;<br>&nbsp;</td></tr>
<tr><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><b>+</b></td><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td bgcolor="#ffc0c0"><b>+</b></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><b>+</b></td><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><b>+</b></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td>&nbsp;<br>&nbsp;</td>

 <td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td bgcolor="#ffc0c0"><center><b>-</b></center></td><td bgcolor="#c0ffc0"><center><b>-</b></center></td><td bgcolor="#c0c0ff"><center><b>-</b></center></td><td>&nbsp;<br>&nbsp;</td></tr>
<tr><td colspan=13>Line-paired RGB sub-pixel<br>dot-inversion pattern</td><td colspan=13>Row inversion (lower power)<br>used eg. on laptops</td><tr>

</table>
</body>
</html>

The following test patterns deliberately excite only one polarity-half of the inversion pattern for some common schemes, and one of them ''should'' cause your screen to flicker.  This is ''not'' a fault with the screen, @@bgcolor(red): but enables you to find out which inversion scheme your screen uses.@@

Note: if using an analog-input monitor, the following tests will not be meaningful unless the clock and phasing settings are correct (see [[previous test|http://www.techmind.org/lcd/phasing.html]]).

@@color(red):Warning to anyone who suffers from epielepsy@@or other extreme flicker-sensitivity: one or more of the tests bellow is likely to make your LCD flicker at 30 to 40Hz.

*[[Pixel dot-inversion|http://www.techmind.org/lcd/dotinv.html]]
*[[RGB sub-pixel dot-inversion|http://www.techmind.org/lcd/dotinvrgb.html]]
*[[Line-paired pixel dot-inversion|http://www.techmind.org/lcd/dotinv2l.html]]
*[[Line-paired pixel dot-inversion (offset)|http://www.techmind.org/lcd/dotinv2lb.html]]
*[[Line-paired RGB sub-pixel dot-inversion|http://www.techmind.org/lcd/dotinvrgb2l.html]]
*[[Line-paired RGB sub-pixel dot-inversion (offset)|http://www.techmind.org/lcd/dotinvrgb2lb.html]]

*[[Row-inversion (also known as line-inversion|http://www.techmind.org/lcd/rowinv.html]] - likely to be used on laptops.
*[[Line-paired row-inversion|http://www.techmind.org/lcd/rowinv2l.html]] - likely to be used on laptops.
*[[Line-paired row-inversion (offset)|http://www.techmind.org/lcd/rowinv2lb.html]] - likely to be used on laptops.

*[[Dot-inversion (green test)|http://www.techmind.org/lcd/greendot.html]] - will flicker with the (non line-paired) dot-inversion schemes.
*[[Line-paired dot-inversion (green test)|http://www.techmind.org/lcd/greendot2l.html]] - will flicker with either of the line-paired dot-inversion schemes.
*[[Line-paired dot-inversion (green test)|http://www.techmind.org/lcd/greendot2lb.html]] - will flicker with either of the line-paired dot inversion schemes (offset).

>My laptop screen seems to use [[Line-paired RGB sub-pixel dot-inversion|http://www.techmind.org/lcd/dotinvrgb2lb.html]] since it flicker's when I view that image.
>My screen down at work seems to get thrown off by [[Line-paired RGB sub-pixel dot-inversion (offset)|http://www.techmind.org/lcd/dotinvrgb2lb.html]]

On IE, you can ''switch to full-screen (and back) using F11''.  You mighta lso want to set the toolbar to auto-hide (right-button menu when in full-screen mode).

//Extreme tech://
The inversion patter for any given screen will inevitably flicker to some extend and is not a fault.  @@If it really flickers a great deal then it //may// indicate that common-electrode voltage has not been setup properly.  @@  In that case you might also perceive a "dot crawl" effect on plain colors of medium brightness.  A grossly mis-set common-voltage will also make your screen more susceptible to temporary 'image sticking' problems.  Common-electrode voltage can sometimes be adjusted by means of an //internal// preset, or on a manufacturer's configuration screen. (adjusted for minimum flicker on the inversion-pattern)...but doing so would almost certainly invalidate your warrentee.  Typically, with optimum setting, the centre of the screen will have minimum flicker on the inversion pattern, while the flicker will increase somewhat toward the left and right edges.  If there's a distinct minimum anywhere on the screen, then the setting is pretty close.  Note also that the optimum setting is likely to drift over the life of your screen, and may be slightly affected by temperature and the greylevel of the test pattern.  
//Any adjustments are made at your own risk!//
*[[Dot-crawl / line-crawl test page|http://www.techmind.org/lcd/dotcrawl.html]]

>Now I'm not entirely sure what the dotcrawl test page is supposed to do; I did notice however that the box with the horizontal lines in it did seem to move vertically upwards.

Some diagonal cross-hatch patterns used for shading by CAD programs can interact with inversion and cause objectionaable flicker on some LCD monitors - this should only be a problem if the manufacturer has left the common-electrode voltage grossly mis-set.  Having seen the severity of the effect on some new monitors (and how easily it could have been tweaked out at the factory) I'm beginning to for the opinion [January 2005] that in some cases this flicker //could// argueably be classified as "fault" with the product.

Laptop LCD screens tend to be optimised for lower power, wioth some relaxation of image-quality criterion.  As well as (often) lower brightness and less saturated colors, laptop screens usually use 'row inversion' (aka 'line inversion') scheme rather than the dot inversion now universal in desktop screens.  @@If you look closely at a row-inversion LCD, particularly if it is shown a fairly plain, mid-brightness color, you may see a slight horizontal line interference pattern on alternate lines, which may appear to drift up or down on the screen.  This is also not uncommon on color mobile-phone displays, or personal DVD players.@@

!Cross-talk
Owing to the way rows and columns in the display are adressed, and charge is pushed around, the data on one part of the display has the potential to influence what is displayed elsewhere.  This is generally known as ''cross-talk'', and in @@matrix displays@@ typically occurs in the horizontal and vertical directions.  Cross-talk used to be a serious problem in the old passive matrix (STN) displays, but it is rarely discernible in modern active-matrix (TFT) displays.

A fortunate side-effect of inversion (see above) is that, for most display material, what little cross talk there is, is largely canceled out.

For most practical purposes, the level of cross talk in modern LCDs is negligible.

Certain patterns, particularly those involving fine dots, can interact with inversion and reveal visible cross-talk.  If you try moving a small Window in front of the [[inversion pattern|http://www.techmind.org/lcd/index.html]] (above) which makes your screen flicker the most, you may well see cross-talk in the surrounding pattern.

Different patterns are required to reveal cross-talk on different displays (depending on their inversion scheme).  the following patterns may show cross-talk on your screen.

*[[Crosstalk 1|http://www.techmind.org/lcd/crosstalk1.html]]
*[[Crosstalk 2|http://www.techmind.org/lcd/crosstalk2.html]]
*[[Crosstalk 3|http://www.techmind.org/lcd/crosstalk3.html]]
*[[Crosstalk 4|http://www.techmind.org/lcd/crosstalk4.html]]

@@These patterns are not comprehensive and should not be used blindly to rate one screen against another. @@  The appearance of a visible cross-talk from any of these patterns does not indicate a "fault condition" with your display!

!Color, and viewing-angle dependence

Colors displayed by LCD screens tends to vary with viewing angle.  Please go to the following page to see this effect:
*[[Color and viewing-angle dependence|http://www.techmind.org/lcd/colour.html]]
>I can definitely see this...but I don't think I would have noticed if you hadn't said anything about it. Interesting.

@@Most low-price 15" and 17" LCD monitors use the Twisted Nematic ("TN") liquid crystal mode; with these displays the image looks much lighter if looked down on from above, and much darker if looked at from bellow.@@

>Yup, that's my laptop's display!

@@bgcolor(green):Newer liquid-crystal modes such as ''Vertical Alignment ("VA"), or ''In-Plane Switching ("IPS") '' have less viewing-angle dependence, but may suffer slower response times and/or lower contrast.@@

!Greyscale setup
Although not specific to LCD screens, I'm providing a greyscale test-page for completeness.
*[[Greyscale alignment page|]]

>"Bear in mind that the amount of ambient light in your room will affect how the colors display"
>>Neat I really didn't know about that.  Maybe that's why those "brown flowers" I used on that webpage looked to good to me as wall paper when I was at [[crave|http://www.crave8.com]]

!Refresh rate, response time, flicker and motion-blur

There seems to be alot of confusion and mis-infromation on these topics on the we; here's my clarification...

''Refresh Rate'' is the rate at which the electronics in the monitor addresses (updates) the brightness of the pixels on the screen (typically 60 to 75Hz).  For each pixel, an LCD monitor maintains a constant light output from one addressing cycle to the next (sometimes referred to as 'sample-and-hold'), so the display has no refresh dependent flicker.
@@//There should be no need to set a high refresh rate to avoid flicker on an LCD.//@@

>Ah ha!  well that clears up that little line of bull...I've seen 100Hz refresh rates on the net for LCD monitors...hmm makes ya think!

''Response time'' relates to the time take for the light throughput of a pixel to fully react to a change in its electrically-programmed brightness.  the viscosity of the liquid-crystal material means it takes a finite time to reorient in response to a changed electric field.  A second effect (which ahs a rather more complicated explanation) is that the capacitance of the LC material is affected by the molecule alignment, and so if a step chance brightness is programmed, as the LC realigns the cell voltage changes and the brightness to which it settles is not quite what was programmed.  Unless 'overdrive' (which tries to pre-compensate for this effect) is employed, it may take several refreshes before the light output stabilizes to the correct value.  Response Rate for dark-to-light is normally different from light-to-dark, and is often slower still between mid-greys.  VESA and others define standard ways of measuring response time, but a single figure rarely tells the whole story.

@@Manufacturers 'response times' rarely tell the whole story.  Unless bellow 16ms are likely to be of only marginal benefit, owing to more-dominant 'sample and hold' effects (see bellow)@@.

The visual effect of ''motion blur'' is self-explanatory and is fairly intuative to realize that a slow pixel response-time will cause this problem.
For each class, names of related objects should be recorded.  All objects required to fulfill responsibilities are obvious collaborators. Classes that require / supply services or data from/to the class under consideration should also be recorded.
The notion of //stress-free productivity// starts with off-loading what needs to get done from one's head, capturing everything that is necessary to:
*Track
*Remember
*Take Action On
Into what Allen calls a //bucket:// a physical:
*Inbox
*Tape Recorder
*Notebook
*A PDA
*A Desktop etc...

The idea is to get everything out of your head and into a collection device, ready for processing.  All buckets should be emptied (processed) at least once per week.

Allen doesn't advocate any preferred collection method, leaving the choice to the individual.  He only insists upon the importance of emptying the buckets regularly.  Any storage space (physical inbox, email inbox, tape recorder, notebook, PDA etc.) that is processed regularly by the individual is acceptable.
Background: #D9BD74
Foreground: #68382
PrimaryPale: #8C9A89
PrimaryLight: #18f
PrimaryMid: #3D4025
PrimaryDark: #D9BEA7
SecondaryPale: #ffc
SecondaryLight: #401F1C
SecondaryMid: #3D
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #8C9A89
TertiaryMid: #3D40
TertiaryDark: #666
Error: #f88
Ever have an issue where you started working on one commit in your working directory, but by the time you're done it turns into something that should have been two or three different commits?  And then what if the damn commits overlap?  You have changes from both commits in one file...well that's the problem we're out to solve today: 

>''Note:'' Special thanks to this [[helpful video|https://www.youtube.com/watch?v=1tqMjJeyKpw]].

#First when adding a file which has changes that you want to split into multiple commits, run the following command:
##{{{git add -p <path-to-file>/<file-name>}}}
#When you find two hunks that are too close together
##Press the {{{s}}} key
#Open a gvim editor with the following command: {{{:new | 0read ! git show HEAD:<path-to-file>/<filename>}}}
#When editing the patch to include / exclude hunks:

There will be two lines at the top of the file, the first line isn't important, and the second line will be in the format:

{{{
@@<r>, <d> +<r>,<D> @@
}}}
*{{{r}}} - Line # {{{r}}} of the original file, find it in the gvim editor with the original file.
*{{{d}}} - How many lines after the first line {{{r}}} this patch effects.
*{{{r}}} - The line in the new file where the add and leave alone lines will be replaced.
*{{{D}}} - "Leave alone" + "Add"

|>|>|!What the first character of a line in a patch means.|
|' '|Leave alone|(included in commit)|
|+|Add|(included in commit)|
|-|Remove|(removed from commit)|

!Links
*[[helpful vim command for counting lines|http://vim.wikia.com/wiki/Count_number_of_matches_of_a_pattern]]
**{{{%s/^ / /n}}} - Count "leave alone" lines.
**{{{%s/^-/ /n}}} - Count "Remove" lines.
**{{{%s/^+/ /n}}} - Count "Add" lines.

Top line of the patch

>''Note:'' The total number of lines, above should add up to the total number of lines in the patch.

>''Note:'' Total number of lines will be the line right before {{{#---}}} minus 2.


You should then checkout the commit and test it before pushing it upstream!


------
{{{
@@ 47,30 +47,7 @@
}}}

*First set of numbers is the state of our file before we made changes to it
**The line at the very top, is what our file looked like before and on what line it was on.
**The first number in the first set is the line that the patch starts on in the original file.
**The second number in the first set is that our original patch applies to the next 30 lines of the file (if you count them below, you'll find 30 lines)
*Second set of numbers is the state of our file after we made changes to it.

in vim, to show old version of the file:
:new | 0read ! git show HEAD:./fileA.txt
Today, I'm looking into the idea of using a [[CSS Framework|http://acts-as-architect.blogspot.com/2008/11/compass-primer.html]] and [[Webby|http://webby.rubyforge.org/tutorial/]] to build the static pages dynamically that I need to create for work.

>''Note:'' As I stated [[here|http://stackoverflow.com/questions/518168/utilitiy-dynamic-creation-of-static-pages-im-not-asking-this-because-i-want-t]] (no [[points|http://stackoverflow.com/faq#reputation]] for that question), I would much rather use a [[content management system|http://www.joomla.org/]] to build such pages, but my current employer doesn't believe in using a serverside scriping language unless they've written it themselves. 

So here I go, even if not by choice.  At least now if I need to throw something together quick I can do so without setting up a server.  Seems like this might work for proof of concept or maybe rapid prototype development.  (Still it wouldn't be my first choice...)

To get started on this I have started to download and install Ubuntu on Virtualbox since the OS they provide me at work wouldn't be suitable for this task.  In the mean time, I've decided to read the articles on [[Compass|http://acts-as-architect.blogspot.com/2008/11/compass-primer.html]] and [[Webby|http://webby.rubyforge.org/tutorial/]] while ubuntu downloads and installs.

Unfortunately, a client called me in the middle of my reading so I started installing Ubuntu, it appears to be installed correctly.

Alright now I can get to the business of actually trying this thing out.  I first installed {{{git}}} which I suppose is the new subversion.  

Next I installed ruby using the command:
{{{
sudo apt-get install rails
}}}

Next up we have to check sass out of the repository:
{{{
$ git clone git://github.com/nex3/haml.git
}}}
...and compile it...
{{{
$cd haml
$cd rake install
}}}

haml eh?  I didn't think this had anything to do with Mark...

Okay and now I'm supposed to test it...

{{{
$ sass -v 
The program 'sass' is currently not installed. You can install it by typing install sufary
}}}

Hmm good to know...I wonder what happened...take a trip to the {{{./bin}}} directory and ah, there it is...

{{{
$ cd ./bin
$ ./sass -v
Haml 2.1.0.ddd4a99
}}}

Okay there we are, now on to installing Compass...
{{{
$ gem sources --add http://gem.github.com/
}}}
Added a repository to {{{gem}}}

{{{
$ sudo gem install chriseppstein-compass
}}}

Okay thanks Chris now I believe it's installed...lets just test it out:

{{{
$ compass
bash: compass: command not found
}}}

Great!  I sent a question to the mailing list, and now I'll go work on [[Webby|Installing Webby]] for a while...

Okay [[Chris Eppstein|http://groups.google.com/groups/profile?enc_user=zHXCZRMAAACiZjOE_R-okBTcA9n3prf0h-kUg4S0n7nbF1Te82ZIng]] the guy that wrote this thing just got back to me and [[re-compiled the Compass gem that wasn't working right|http://groups.google.com/group/compass-users/browse_thread/thread/9a55a9eae3b5d1cf/ab570ecfdbcc7610?lnk=gst&q=leeand00#ab570ecfdbcc7610]]  I re-ran the command:
{{{
sudo gem install chriseppstein-compass
}}}
For now this seems to have fixed the problem as running:
{{{
compass -v
Compass 0.3.9
Copyright (c) 2008 Chris Eppstein
Released under the MIT License.
}}}
Seems about right.
IPv6 addresses have a third form for specifying IPv4 addresses.  But what if we want to convert those addresses into IPv6 form?

IPv4 addresses are made up of four octets; each octet is a decimal numbers that represent 8-bits. (see [[this firewall.cx article to view this clearly|http://www.firewall.cx/networking-topics/protocols/supernetting-a-cidr-/189-supernetting.html]])

IPv6 addresses are made up of eight hexquads; each hexquad is a hexidecimal number that represents 16-bits.

Of course there's always the [[Third Form|https://wiki.ubuntu.com/IPv6#Reading_IPv6_Addresses]] for representing such addresses, but I thought it would be interesting to find out how one converts this from IPv4 to IPv6.

And now thanks to some of my friends over at [[Server Fault|http://serverfault.com/questions/319190/ipv6-ipv4-third-form-conversion/319196#319196]] I believe I've come across an answer.

Take an address such as was given to me in the example question from [[Server Fault|http://serverfault.com/questions/319190/ipv6-ipv4-third-form-conversion/319196#319196]]:

{{{192.168.50.254}}}

the chap on [[Server Fault said|http://serverfault.com/questions/319190/ipv6-ipv4-third-form-conversion/319196#319196]] that the result comes out to be:

{{{::c0a8:32fe}}}

Well now how did he come to this conclusion?

The answer is quite simple...[[use a hex converter program|http://www.subnetonline.com/pages/converters/hex-to-bin-to-dec.php]] to convert each of the octets as follows:
----
In the first octet is {{{192}}}, entering this into the [[hex converter program|http://www.subnetonline.com/pages/converters/hex-to-bin-to-dec.php]] as a decimal results in the hexidecimal number {{{c0}}}.

...so lets concatenate that to the first hexquad of our IPv6 address: {{{::c0}}}
----
Converting {{{168}}} to hex in the same way results in {{{a8}}}

...concatenation of this to our existing hexquad results in {{{::c0a8}}}
----
Since two octets fit within a single hexquad, the next two octets will create the next hexquad in our address:

Converting {{{50}}} to hex in the same way as above results in a hexadecimal {{{32}}}

...once again concatenation of this to our existing hexquad results in {{{::c0a8:32}}}
----
And as for the last octet {{{254}}} from decimal to hex this conversion results in {{{fe}}}

and concatenated to the end of the existing address completes our address with {{{::c0a8:32fe}}}.
[[Article Link|http://docs.joomla.org/Tutorial:Creating_a_Hello_World_Module_for_Joomla_1.5]]

A module is a lightweigh and flexible extension taht is used for page rendering.  They are used for small bits of the page that are generally less complex and are able to be seen across different components.

You can see many examples of modules in the standard Joomla! install: - menus - Lastest News - Login form - and many more.

This tutorial will explain how to go about creating a simple Hello World module.  Through this tutorial you will learn the basic file structure of a module.  This basic structure can then be expanded to produce more elaborate modules.

+++[+File Structure]
There are four basic files that are used in the standard pattern of module development:

>[[mod_helloworld.xml]]
>>This file contains information about the module. It defines the files that need to be installed by the Joomla! installer and specifies configuration parameters for the module.

>[[helper.php]]
>>This file contains the helper class which is used to do the actual work in retrieving the information to be displayed in the module (usually from the database or some other source).

>[[tmpl/default.php]]
>>This is the module template.  This file will take data collected by the [[mod_helloworld.php]] and generate the HTML to be displayed on the page.
===<br/>
+++[+Creating mod_helloworld.php]
The [[mod_helloworld.php]] file will perform three tasks:
#Include the helper.php file which contains the class to be used to collect the necessary data.
#Invoke the template to display the output.
#Include the template to display the output.

The helper class is defined in our [[helper.php]] file.  This file is included with a require_once statement:

{{{
require_once( dirname(__FILE__).DS.'helper.php' );
}}}

[[require_once|http://us.php.net/manual/en/function.require-once.php]] is used because our helper functions are defined within a class, and we only want the class defined once.

Our helper class has not been defined yet, but when it is, it will contain one method: {{{getHello()}}}

For our basic example, it is really not necessary to do this - the "Hello World" message that this method returns could simply be included in the template.  We use a helper class here to demonstrate the basic technique.

Our module currently does not use any parameters, but we will pass them to the helper method anyway so that it can be used later if we decide to expand the functionality of our module.

The helper class method is invoked in the following way:
{{{
$hello = modHelloWorldHelper::getHello( $params );
}}}

The one line that we haven't explained so far is the first line.  This line checks to make sure that the file is being included form the Joomla! application.  This is necessary to prevent variable injection and other potential security concerns.
===<br/>
+++[+Creating helper.php]
The helper.php file contains that helper class that is used to retrieve the data to be displayed n the module output.  As stated eariler, out helper class will have one method: {{{getHello()}}}.  This method will return the 'Hello, World' message.

Here is the code for the [[helper.php]] file:
<<slider "9/12/2008 2:54 PM" "helper.php" "++helper.php">>

An important point ot note is that the template file ahs the same scope as the [[mod_helloworld.php]] file.  What this means is that the variable $hello can be defined in the [[mod_helloworld.php]] file and then used in the $hello file without any extra declarations or function calls.
===<br/>
+++[+Creating mod_helloworld.xml]
The [[mod_helloworld.xml]] is used to specify which files the installer needs to copy and is used by the Module Manager to determine which parameters are used to configure the module.  Other information about the module is also specified in this file.

The code for [[mod_helloworld.xml]] is as follows:
<<slider "9/12/2008 3:15 PM" "mod_helloworld.xml" "+mod_helloworld.xml">>

You will notice that there are two additional files that we have not yet mentioned: {{{index.html}}} and {{{tmpl/index.html}}}.  These files are include so that these directories cannot be browsed.  If a used attempts to point their browsers to these folders, the index.html file will be displayed.  These files can be left empty or can contain the simple line:
{{{
<html><body bgcolor="#FFFFFF"></body></html>
}}}
===<br/>
+++[+Conclusion]
Module development for Joomla! is a fairly simple, straightforward process.  Using the techniques described in this tutorial, an endless variety of modules can be developed with little hassle.
===<br/>
Hmm sounds almost like //Model - View - Controller//
[[based on this article minus the environment variables|https://technet.microsoft.com/en-us/library/hh825232.aspx]]

#Install Windows AIK as an administrator:
##Set the following options for installation:
#**{{{Deployment and Imaging Tools Environment}}}
#**{{{Windows Installation Environment}}}
##Pay attention to the directory where it is installed.
#Set the following environment variables
##{{{WinPERoot}}} should be set to point to {{{<the-installation-directory>\X.X\Assessment and Deployment Kit\Windows Preinstallation Environment}}}
##{{{OSCDImgRoot}}} should be set to point at {{{<the-installation-directory\X.X\Assessment and Deployment Kit\Deployment Tools}}}
#Connect your USB drive and make note of the drive letter.
#*''Note:'' that it will be formatted.
#In {{{}}} run: (from [[link|https://technet.microsoft.com/en-us/library/hh825109.aspx]])
##{{{copype <amd64|x86|ARM> C:\WinPE_<amd64|x86|ARM>}}}
##{{{MakeWinPEMedia /ufd C:\WinPE_<amd64|x86|ARM> <your-usb-stick-drive-letter>}}}

Then you should be able to boot in the Windows PE execution environment.

This is useful for when you:
*[[Setup a bunch of new machines...with an answer file|http://windowsafg.no-ip.org/win7x86_x64.html]]
**([[note this however before you use it|http://security.stackexchange.com/questions/126573/is-it-safe-to-use-this-online-tool-to-generate-my-windows-answer-file]])
*Or...[[If you can't get into a machine because the local admin account is locked out|https://4sysops.com/archives/forgot-the-administrator-password-the-sticky-keys-trick/]]
Today I'm trying to figure out how you create an image using the new WIM format from windows. Last week my [[RAID array at work died|24 October 2008 - aleer]], and now I need a way to get back up and running, fast! It's supposed to create a hardware agnostic image so that if your hardware fails you don't have to use the same hardware to restore the backup of your data.

+++[Creating a Windows Live CD (can't believe I'm saying this)]
I am following the article [[here|http://userssuck.com/2007/03/30/create-a-winpe-boot-disk-for-imaging-repair/]]

So far I have gotten the {{{.img}}} burned and installed the AIK.  

I tried to create a windows PE image for my Intel 64-bit processor but received the following error:
{{{
C:\Program files\...\PETools\>copype.cmd ia64 C:\WinPE_ia64
Invalid architecture: ia64
}}}

I noticed that there are directories in the {{{PETools}}} directory for {{{amd64}}} and {{{x86}}}, which make me assume that those would be valid architectures.

I wrote to the author of the article by leaving a comment on this blog.  And then after work today, he got back to me!  Here is what he had to say:


>Hi Andrew,
>I've added a comment to the story for you, but figured it might be quicker for you if I followed up with you via email.  To answer your question, ia64 is for the Itanium series of Intel processors.  ''__Most likely what you'll want is the amd64 option which is compatible with Intel's Pentium D, Core, and Core2 line of processors.__''<br/>
>I hope this helps.  If you run into any other questions, let me know. I've been deploying Vista in production and creating custom winpe disks since shortly after Vista was released, and have probably run into just about every problem  you may encounter. 
>Regarding your blog comment about Vista being hardware agnostic, I can definitely vouch for that.  I had a hard drive that I moved through 3 different computers with drastically different hardware without a hitch.  If you're planning on deploying an image to a wide variety of hardware, you can also use the pnputil command with the -a flag to add drivers to the driver store on your reference computer, so when you take the image and deploy it, they'll all be there.  I generally grab all the drivers for all the current models of Dell's that I'm supporting and add them to the driver store to be safe, and we run that one image across 4 models of Optiplex desktops and 7 models of Latitude laptops.

Okay, so this time I tried it, and using the amd64 profile, and I got:

{{{
C:\Program Files\Windows AIK\Tools\PETools>copype.cmd amd64 C:\WinPE_amd64

===================================================
Creating Windows PE customization working directory

    C:\WinPE_amd64
===================================================

        1 file(s) copied.
        1 file(s) copied.
C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\bcd
C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\boot.sdi
C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\bootfix.bin
C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\etfsboot.com
C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\fonts\chs_boot.ttf
C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\fonts\cht_boot.ttf
C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\fonts\jpn_boot.ttf
C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\fonts\kor_boot.ttf
C:\Program Files\Windows AIK\Tools\PETools\amd64\boot\fonts\wgl4_boot.ttf
9 File(s) copied
C:\Program Files\Windows AIK\Tools\PETools\amd64\EFI\microsoft\boot\bcd
C:\Program Files\Windows AIK\Tools\PETools\amd64\EFI\microsoft\boot\fonts\chs_boot.ttf
C:\Program Files\Windows AIK\Tools\PETools\amd64\EFI\microsoft\boot\fonts\cht_boot.ttf
C:\Program Files\Windows AIK\Tools\PETools\amd64\EFI\microsoft\boot\fonts\jpn_boot.ttf
C:\Program Files\Windows AIK\Tools\PETools\amd64\EFI\microsoft\boot\fonts\kor_boot.ttf
C:\Program Files\Windows AIK\Tools\PETools\amd64\EFI\microsoft\boot\fonts\wgl4_boot.ttf
6 File(s) copied
        1 file(s) copied.
        1 file(s) copied.

Success

Updating path to include peimg, oscdimg, imagex

   C:\Program Files\Windows AIK\Tools\PETools\
   C:\Program Files\Windows AIK\Tools\PETools\..\AMD64
}}}

On to the next step.  According to the tutorial, the next step is to copy the tool for creating VIM images into the directory we just created. ({{{WinPE_amd64}}})

{{{
C:\WinPE_amd64>copy "C:\Program files\Windows AIK\Tools\AMD64\imagex.exe" .\WinPE_amd64\iso\Tools\
}}}

Alright, that seemed to work.   

Now the tutorial says I'm supposed to create a file for ImageX so that it excludes certain files.
The files name is {{{wimscript.ini}}} and needs to be located in the same directory as we copied {{{imagex.exe}}} into.

Finally he says we need to make an ISO file of the new Windows PE distribution we just made.
(and I imagine burn it to a cd).  I've never seen this command before, but lets give it a shot.

{{{
oscdimg -n -bc:\WinPE_amd64\etfsboot.com c:\WinPE_amd64\ISO c:\WinPE_amd64\winpe_amd64.iso
}}}
===<br/>
+++[Removing Hardware Information]
I am now following this tutorial, the second part in the Users Suck!  VIM creation series.

The following command is supposed remove any trace of hardware information and thus make the back up hardware agnostic.
I'm a little concerned that this might screw my computer, up, but seeing as it isn't even setup yet, I don't think that's much of a problem.
{{{
C:\windows\system32\sysprep\sysprep.exe /generalize /oobe
}}}

A window then appeared with a title bar saying {{{Sysprep is working}}} and I waited for it to complete.  It now appears that my computer has shutdown.  Maybe this is the part where I'm supposed to boot from the Windows PE CD I created in the last step...Okay after booting from the CD it says {{{"Windows is Loading Files"}}} and you wait for it to boot from the CD.  

===<br/>
+++[Finding a place to put the image]
Now that Windows PE has booted up, we need to check if it is indeed been dolled out an ip address from the dhcp server.  
===<br/>
+++[Creating the Image]

===<br/>

+++[Rebooting]
Shockingly since we removed all the hardware specific stuff with the {{{sysprep.exe}}} command, the computer starts up with {{{please wait while windows starts up for the very first time}}}.
===
[[article link|http://www.fewt.com/2011/01/building-dmz-with-dd-wrt.html]]

#Logged into DD-WRT Router.
#Visited the {{{Setup->Networking}}} tab.
##Under {{{VLAN Tagging}}}, clicked {{{Add}}}
##In resulting {{{Tagging}}}
[img[http://i9.photobucket.com/albums/a58/Maskkkk/Leave.png]]
<<gradient vert #cecece #ffa500 #ffffff>>Set Limits!>>
If you're anything like me you get ''really'' involved in your projects at work.  Staying longer than necessary, and forgetting to leave long after ''5:00 PM''!

I can tell you from //personal//, ''painful'', experience that doing this too often (''I.E. everyday...'') is dangerous to your ''health'' as well as your ''career''!
>>If your boss makes a stink about this, by all means @@color(red):__GET A NEW JOB!__@@.  
>>>You won't be there long anyway.  Five months at most of this type of behavior and you'll be having health problems.

>So if you find the cleaning lady at your office dismissing you for the day, everyday...this timer in [[Workrave|http://www.workrave.org]] will be really helpful.  
I've been tasked with removing a duplicate record from a third party database.

In order to achieve this the first thing I did was to gather a list of tables and all their fieldnames.  Using MS-Access and VBA [[this wasn't terribly difficult to achieve|http://stackoverflow.com/questions/1275502/using-vba-to-export-all-ms-access-sql-queries-to-text-files/12482264#12482264]].  

Now that I have a list of tables and their fields, I can place this data in an excel spreadsheets and search / filter for fields that appear to have a foreign key to the duplicate record.  

|!Field Description |!Field Name |!Table Name |
| | ... | ... |

For example, there is a table called {{{T_Employee}}} that has a duplicate record.  {{{T_Employee}}} has a primary key of type {{{COUNTER(10)}}} which is related to foreign keys in other tables of type {{{INTEGER(10)}}}, and this provides our first clue for what we are looking for...

I spoke with a gentleman at the company that created / supports this 3rd party database and they gave me a list of tables they thought records should be updated or deleted from...Handily this gentleman also included in the list, a list of tables with rows for update, and a list of tables with rows for deletion.  While this didn't give me a list of all the tables it provided a pretty good starting point for creating an ERD to refer to when creating the de-duplication queries, and also for finding other fields that he may have forgotten to tell me relate.

When looking at the list of tables and their fields that relate to our duplicate record, I found patterns in the field names which also helped to narrow down which fields / tables need to be taken into a account in our duplicate record merger; for example some of the foreign keys related to our duplicate records primary key contained the following strings (where {{{*}}} is a wildcard character:
*{{{*_EmployeeID}}}
*{{{*_Caregiver}}}
*{{{*_CaregiverID}}}
*{{{*_Emp}}}
*{{{*_EmpID}}}
*{{{Pay_Emp_ID}}}

After using these strings to filter through the list of fields in the table above, and copying them into another blank spreadsheet, I was able to find more tables that were related (abet not explicitly through relationships) and compare them to the fields I already had in my ERD.

!Clues
*The primary key of duplicate record is {{{COUNTER(10)}}} therefore...
**The foreign keys of the duplicate records should be {{{INTEGER(10)}}}.


The idea here is to merge the records (and their related records) and then later to look for duplicates.  Simply deleting won't do the trick because users are entering information for both records as though they are active.

#Get a list of all tables in the database and their fields, (via VBA CSV export and import into excel)
#Ask somebody with more knowledge about the database for which records with foreign keys related to the duplicate need to be updated and deleted.
#Create an ERD with the relationship and how they relate to the duplicate.
**''Note:'' Put the table with the duplicate record in the middle of the ERD, so that it's foreign relations surround it.
**Also split these groups of tables into both UPDATEable and DELETEable record relations.
#Test these relations to make sure they return actual records in the expected 1-M or M-M relationships.
#Look over the list of field names you were given, and try to spot patterns in the names, now if we use the patterns in these names, we should be able to find other foreign keys and related tables.  
**For example, if you find 5 field names named {{{*_EmployeeID}}} //({{{*}}} being the wildcard)//, back in the excel spreadsheet of table and field-names, filter with {{{text filters->contains}}} and type {{{_EmployeeID}}}, the resulting list should give you a list of other foreign keys in other tables which you can go back and ask the person with more knowledge about; so copy them into a separate blank spreadsheet of possibly related field names. You may have to do this several times for each foreign-key field name-pattern that you find.
#In the new list of possibly related field names, compare them to the ones in your ERD, bold them if they are present, and color them red if they are to be deleted, and blue if they are to be updated.
#Finally with the fields you are not certain about, go to the person in support and ask them about the other field names that you found.
#Finally, you can take your findings in the possibly related fieldnames spreadsheet, and write a script to update the fields to be updated, delete the fields to be deleted (including the duplicate record itself) and finally use a deduplication tool like [[duke|http://code.google.com/p/duke/]] to check for duplicates between the duplicate records', child-records, and the non-duplicate records' child-records.
#
 
[[13 October 2015]] [[3 August 2015]] [[5 June 2014]] [[4 April 2013]] [[22 October 2012]] [[24 March 2012]] [[10 January 2012]] [[25 November 2011]] [[2 September 2011 - aleer]] [[Hitchhikers Guide to The Galaxy and The Babel Fish...]] [[Berks Colab]] [[Saving and Growing - Carpatho-Rus Chant and Hymnology]] [[2 December 2009 - aleer]] [[What's wrong with Windows]] [[Really hoping I can get an answer to this question]] [[Interview with Jason Fried of 37 Signals]] [[15 October 2009 - aleer]] [[12 September 2009 - aleer]] [[Upgrading to OOo 3.1.0 From 3.0.1]] [[Miloro and his Mother And Sister Singing at Pascah]] [[ZUI]] [[22 May 2009 - TODO]] [[Spending the Weekend at Crave]] [[29 April 2009 - aleer]] [[16 April 2009 - aleer]] [[12 April 2009 - aleer]] [[JSUnit 2.2 on Firefox 3.07 - FTW]] [[Fixing Activesync 4.5 on my ASUS A626]]
[[8 February 2009 - aleer]] [[6 February 2009 - aleer]] [[Using Tiddlywiki to Diagnose a Patients Symptoms]] [[2 March 2009 - aleer]]
!Deploying the settings using our shell script

[[edit|Deploying Settings - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq]]
!Writing the Deployment Mechanism
{{{

# Copy the configuration files out to their respective locations
sudo cp ./dnsmasq.conf /etc/dnsmasq.conf
sudo cp ./interfaces /etc/network/interfaces

#Restart Networking
sudo /etc/init.d/networking stop
sudo /etc/init.d/networking start

# Restart the dnsmasq service
sudo /etc/init.d/dnsmasq stop
sudo /etc/init.d/dnsmasq start

#Restart lampp (or whatever webserver you happen to be using...)
sudo /opt/lampp/lamp_stop
sudo /opt/lampp/lamp_start

}}}

Now anytime we modify the configuration, we can easily just run this script and have everything deployed, configured and ready to go.
|!Table Header 1|!Table Header 2|
|Cell |Cell |
{{{
function displayFeaturesAll() {
var theTitle = "FeaturesAllDigitalSolutionProvider";

		if(store.getTiddler(theTitle))
			fields = null;

story.displayTiddler("top", theTitle, null, true, null, null, true);
// DEFAULT_EDIT_TEMPLATE
}
}}}

{{{
function editFeaturesAll() {
    var theTitle = "FeaturesAllDigitalSolutionProvider";
    config.commands.editTiddler.handler(null, null,theTitle);
    
}
}}}
Any organizational system is no good if excessive time is spent organizing tasks instead of actually doing them.  Allen's contention is that if one can make it simple, easy, and fun to take the necessary actions, one will be less inclined to procrastinate or become overwhelmed with too many [[Open Loops|Open Loops - GTD]]
#Signed up for a free developer key here: [[http://api.drop.io|http://api.drop.io]]
**@@''Note:'' they say that I'll probably need to sign up for a premium key later.
#Went to the following URL: [[http://api.drop.io/drops/about?api_key=[YOUR_API_KEY]&version=2.0|http://api.drop.io/drops/about?api_key=[YOUR_API_KEY]&version=2.0]] to try it out.
#Hold the plug to your headphones or speakers which looks like the following: 
|[img[http://www.route6radio.com/images/radiohelp/plugs.jpg]]|
| ''Headphone or Speaker Plug'' |
#Now, in the back of the computer, look for a set of holes
The holes you will be plugging your headphones or speakers into will most likely be located in the back of your computer.  Make sure you plug it into the right one, since there are three of them. 
|[img[Three plugs in the back of your computer|http://www.route6radio.com/images/radiohelp/empty_plugs.png]]|
| ''Head Phone '' |
The main thing that's REALLY EVIL about Facebook is that there are so many external productivity sites that use Facebook Connect as a login option. This requires that you login to Facebook to login to these other sites.  Meaning that if you want to login to a productive site, such as [[Quizlet.com|http://www.quizlet.com]] and when you signed up for it, you were just too damn lazy to enter your email address and a password, and then store the password in a password keeper (see how much work that is?)...instead you joined the site using Facebook Connect, which means if you had a facebook account, you had to use a total of two mouse clicks to join the site.   I don't think it takes a genious to see which couse of action //"Joe Webuser"// is going to pick.

However, many of these sites have an option to disconnect or unlink from Facebook and to just use a regular username and password instead. (Though they're usually burried in the settings somewhere).  This seems to be missing from the article but is essential to anyones ability to ignore the productivity sucking blackhole that is Facebook.

Facebook is an absolutely horribe drag on concentration, and I would even go so far as to attribute the fall of Western civilization to it; it's polarizing our country by leading to un-civialized conversations about guns, abortion, religion, and sexual orientation, that you never would have had the balls to have if you weren't sitting in front of a computer screen instead of within an arms lengths of anybodys fist.  Prior to Facebook, you could have remained friends with these people because your views and their views about these un-civalized and un-discussed topics would have remained in the "I'm afraid to talk about these section of the brain".  

So, lets review...the symptoms in our country caused by Facebook are: 

{{{
Lack of Productivity + Cult-like dedication to left or right causes = Polarization and fall of Western Civialization
}}}

...and just because you wanted to keep up with your relatives and friends. 

Basically this means much of the Facebook consuming populus can't work together because they're all too angry at each other about their differing views on topics that have nothing at all to do with productivity, thus the GDP falls, and thus peoples ability to concentrate is disappated

And if you try to tell someone how awful their facebook usage is for them, they look at you a bit like Gollum from the LoTR would if you tried to take away //his precious//:

[img[http://i9.photobucket.com/albums/a58/Maskkkk/Gollum.jpg]]
''The way most people react when you tell them Facebook is bad for them...''

Facebook is much worse than TV ever was.  TV is not ever present, on every website you visit, and it doesn't ask you to use it as an easier login than 

Lifehacker suggests that people should use a program on their router that limits 

So with that here is my attempt at installing MIA 


So to fix all of this and reclaim your productivitiy you need to:
#Make a list of all the sites you use regularlly that you use Facebook Connect to login to...
#Switch these sites to use something else.  <br/>These first two steps will no doubt be a long and ardugous task...that will take quite a bit of time...your browser history will really come in handy at this point.
#Setup your router and cellphone so that it restricts access to http://connect.facebook.com/ and http://www.facebook.com/
##And Gollum if you can't part with //your precious// so easily, restrict it to just during the set times during the day when you need to get things done.
##If you run a simple end-user friendly modem, this will likely be easier.
##If you run a not-so-simple opensource router like I do (OpenWRT), you'll need to setup a program called MIA (Mom's Internet Access Helper) to get this done.
##Alternately, you've also got the option to setup a local dns that will prevent you from accessing the sites...though it isn't quite as effective as doing this through your router, it can come in handy when your connected at a different location...a good start to this is my article [[Setting up a mobile-mobile development environment in linux with GIT and DNSMasq]].
Discovered that using a [[certain perl module|http://search.cpan.org/~lunatic/Text-ASCIITable-0.18/lib/Text/ASCIITable.pm]] I can create plain-text tables for those pesky job applications that only allow you to use text.
{{{
   .=-----------=.
   | info | info |
   |-===========-|
   | info | info |
   |=-----+-----=| <-- between each row
   | info | info |
   '=-----------='
}}}
{{{
\<td.+(align=\"right\"|style=)
}}}

Maybe this could be better...
{{{
/*jQuery.each(jQuery("a.tiddlyLink"), function(index, theLink){
  if(theLink.innerHTML == "FeaturesAllDigitalSolutionProvider") {
     console.log(theLink.onclick);
  }
});*/
}}}



Over the past few days I've been 
{{{Home | }}}

*
*Make it look less default.
Alright nice!  I got my Activesync syncing again!  

!The Problem
I haven't been able to make this thing sync for over a month, and I couldn't figure out what the [>img[http://www.mobilitysite.com/blogimages/ASUSLaunchesStainlessSteelPDAtheASUSA626_8149/ASUSa6265.jpg]]problem was...whenever I'd plug it into my computer's USB port, I would get a "connecting..." message from Activesync 4.5 and then it would fail.  Microsoft's crummy trouble shooter came up, and I tried all the things they asked me to, but none of them worked.  

!The Fix
Tonight I finally got some time, and found a way of fixing the problem.  I had to:
#{{{Start->Activesync->Menu->Connections...}}} and I made sure that the {{{Synchronize all PCs using this connection:}}} was checked and that {{{`USB Default}}} was selected in the dropdown list.
#I went to {{{Start->Settings->Connections->USB Settings}}} and change the setting to {{{ActiveSync (low speed)}}}
[[Centering a Horizontal Navigation in a Liquid Layout |http://www.3point7designs.com/blog/2007/04/09/justified-horizontal-navigation-with-liquid-layouts/]]
[[Deployment with git|http://danbarber.me/using-git-for-deployment/]]
!Putting version control in place with GIT
When we switch between networks wired or wireless, provided we are using a static ip available within a static range in that network we can store the version of our configuration as a whole (both files) in a named branch in a GIT repository.

But first, we're going to init version control by running {{{git init}}} in the project directory, next we'll add the files to the project, and lastly after committing some modifications we'll cut another branch to store more settings in.

#In the project-directory run {{{git init}}}
#Run {{{git add .}}} to add all the files to the vcs,
#Lastly run {{{git commit}}} to commit the initial version of the files.
**When prompted give it a message of {{{Initial Commit}}}
What two key elements are promoted through GTD?
Control and perspective.
What are the three models used in GTD to gain control and perspective?
1. A workflow process\n2. A framework with 6 levels of focus.\n3. A natural planning method.
What is the "Workflow Process" used for?
To gain control over all the tasks and commitments which one needs or wants to get done.
What are the five steps of the workflow process?
1. Collect\n2. Process\n3. Organize\n4. Review\n5. Do
What is the second major model in GTD?
Six Different Levels of Focus
What are the six different levels of focus?
1. Current Actions\n2. Current Projects\n3. Areas of responsibility\n4. Yearly goals\n5. 5 year vision\n5. Life goals.
As one ____ in the altitude of the six different levels of focus one is able to see the bigger picture.
What are the "open loop holes" in GTD terminology?
*projects\n*actions\n*unfinished business\n*commitments
Input gained from a variety of "heights" gives one
A varying perspective.
Once a week you should, weekly review focusing on...
Different levels of the six different levels of focus.
Why should you weekly review the six levels of focus?
So that perspective gained from the review will drive one's priorities, which in turn determines the priority of if and when one is to do the particular individual tasks and commitments gathered during the workflow processs.
The Workflow Model has a "horizontal" focus on...
Doing individual tasks.
The Natural Planning Model has a "vertical" focus on...
planning projects and thinking through topics.
What are the five stages of the natural planning model?
1. Defining the purpose and principles.\n2. Envisioning the outcome.\n3. Brainstorming\n4. Organizing.\5.Identifying Next Actions.
*[[Tickler File|Tickler File - GTD]]
*[[Software Tools for GTD]]
*[[Other Tools]]

[[edit tiddler|GTD Tools and Techniques]]
>Today I was looking to using geo-rss, so far I've found an example geo-rss feed [[here|http://www.fao.org/geonetwork/srv/en/rss.latest?georss=simple]], and I've used [[dipity|http://www.dipity.com]] to map it out.

>My next task is figuring out how to add this to my blog content so I can map my posts, which seems to me that it may have something to do with changing the way the rss feed is generated in tiddlywiki:

>Seeing as the RSS feed is generated like this for the [[example geo rss feed||http://www.fao.org/geonetwork/srv/en/rss.latest?georss=simple]] I found earlier looks like this:
{{{
<rss xmlns:gml="http://www.opengis.net/gml" 
     xmlns:georss="http://www.georss.org/georss" 
     xmlns:media="http://search.yahoo.com/mrss/" 
     version="2.0">
}}}

>And my blog's RSS feed kinda like this:
{{{
<?xml version="1.0"?>
<rss version="2.0">
}}}

>I need to find a way to put the three xml namespaces in the rss of the blog.

There also appears to be a microformat for this:
{{{
<span class="georss:point" title="43.3432 -69.2341">Here is a point</span>
}}}

<html>
<body>
<span class="georss:point" title="43.3432 -69.2341">Here is a point</span>
</body>
</html>

Ah, I seem to have found a function in the tiddlywiki called {{{generateRss()}}} which generates the headers for the RSS feed, I will either have to [[override|http://tiddlywikiguides.org/index.php?title=Overriding_core_functions]] this method in a plugin (if you can do that...) or modify the code myself.
[[From Wikipedia|http://en.wikipedia.org/wiki/GTD]]

//Getting Things Done// (commonly abbreviated as GTD) is an action management method created by David Allen, and described in a book of the same name.  Both "Getting Things Done" and "GTD" are registered trademarks of the David Allen Company.

GTD rests on the principle that a person needs to move tasks out of the mind by recording them externally.  That way, the mind is freed from the job of remembering everything that needs to be done, and can concentrate on actually performing those tasks.

!GTD Methodology
GTD is defined by David Allen on his website.  In traditional time management, priorities usually play a central role.  In contrast, Allen promotes two key elements in his version of time management:
*control 
*perspective

Allen advocates three major models for gaining control and perspective:
#A workflow process
#A framework with 6 levels of focus
#A natural planning method.

The first major model is the //workflow process,// which is used to gain control over all the tasks and commitments which one needs or wants to get done.

!!Work Flow Phases
The [[workflow process|Work Flow Phases - GTD]] consists of five distinct phases listed below:
#[[Collect|Collect - GTD]]
#[[Process|Process - GTD]]
#[[Organize|Organize - GTD]]
#[[Review|Review - GTD]]
#[[Do|Do - GTD]]

!!Six Levels of Focus
Allen uses an altitude analogy to illustrate his second major model, [[6 Different Levels of Focus|6 Levels of Focus - GTD]], from the bottom up, are:
#[[Current Actions|Current Actions - GTD]]
#[[Current Projects|Current Projects - GTD]]
#[[Areas of Responsibility|Areas of Responsibility - GTD]]
#[[Yearly Goals|Yearly Goals - GTD]]
#[[5 Year Vision|5 Year Vision - GTD]]
#[[Life Goals|Life Goals]]
As one ascends in altitude, one is able to consider the "bigger picture."  
Considering: 
*projects
*actions 
*unfinished business
*commitments 
("open loops" in GTD terminology) and other "input" from a variety of "heights" gives one varying perspective.

Allen advocates a weekly review focused on different levels.  The perspective gained from these reviews.  The perspective gained from these reviews should drive one's priorities, which in turn determines the priority of if and when one is to do the particular individual tasks and commitments gathered during the workflow process.  During a weekly review, the user determines the context for the tasks and places them on the appropriate lists.  

Examples of grouping together similar tasks include:
*Making a list of telephone calls to make.
*Making a list of errands to do while downtown.

Context lists can be defined by the set of tools available or by the presence of individuals or groups for whom one has items to discuss or present.

Allen expects that the first two models are sufficient most of the time to gain control and perspective on the majority of tasks and projects.  However, there are some cases in which more involved planning and thinking are necessary.  This leads to the third major model, which is the [[natural planning method|Natural Planning Method - GTD]].  

!!The Natural Planning Model
While the [[Workflow Model|Workflow Model - GTD]] has a "horizontal" focus on doing individual tasks, the [[Natural planning method|Natural Planning Model - GTD]] has a "vertical" focus on planning projects and thinking through topics.

The [[Planning Model|Natural Planning Model - GTD]] consists of 5 stages:
#[[Defining the purpose and principles|Defining the Purpose and Principles - GTD]]
#[[Envisioning the outcome|Envisioning The Outcome - GTD]]
#[[Brainstorming|Brainstorming - GTD]]
#[[Organizing|Organizing - GTD]]
#[[Identifying next actions|Identifying Next Actions]]

GTD is based on making it easy to:
*Store
*Track
*Retrieve
all information related to the things that need to get done.  Allen suggests that many of the mental blocks we encounter are cuased by insufficient 'front-end' planning (i.e., for any project we need to clarify what is to be achieved and what specific actions are required to achieve it.).  It is most practical, according to Allen, to do this thinking in advance, generating a series of actions which we can later undertake without any further planning.

Allen contends that our mental "reminder" system is inefficient and seldom reminds us of what we need to do at the time and place that we can do it.

Consequently, the "next actions" stored by context in the "trusted system" act as an external support which ensures that we are presented with the right reminds at the right time.

A capsule of GTD from Allen's book __//Ready for Anything//__:
>"Get everything out of your head.  Make decisions about actions required on stuff when it shows up - not when it blows up.  Organize reminds of your projects and the next actions on them in appropriate categories.  Keep your system current, complete and reviewed sufficiently to trust your intuitive choices about what you are doing (and not doing) at any time.

<<tiddler "GTD Tools and Techniques">>
Browser sessions can quickly get unruly and swallow up massive swathes of your computer's memory.  When this occurs, often the browser becomes prone to crashes and thus you loose your work; And although this has been made better by browsers which restore your session (i.e. opening every window that was open at the time of the crash) it is still a sub-optimal solution since you still load up all of the windows back into memory that you originally had open (causing yet another enviable crash at some time down the road).  

Enter the [[Session Manager|https://addons.mozilla.org/en-US/firefox/addon/session-manager/]] plugin for Firefox.  The session manager helps keep the unruly number of tabs you may have open at any given time in memory in check by organizing them into sessions (//read:// groups of urls, windows and tabs) that work just like the return of the windows that are persisted when Firefox crashes, except that it give you control over all the groups of windows that you want to open at a given time, instead of having only a single persistent session when the browser is closed or crashes.  

The utility is limitless!  Need to quick switch between tasks?  
For instance suppose one client needs you to work on their firewall configuration, and another client needs you to add html5 microformats to their website.

These are completely different tasks with completely different sets of documentation that need looked at.  So we can make one session for the firewall client, and make another session for the html5 client.  Then you can easily switch between them if say for instance you're working on the firewall when the html5 client calls you, you can easily switch sessions (without having the windows for both tasks open at the same time).

While I'm aware of [[tab candy|http://vimeo.com/13560319]] that Firefox offers, [[tab candy|http://vimeo.com/13560319]] works more like a messy desk than it does a solid pattern for being able to store and organize groups of urls for use at a later time.  [[Tab candy|http://vimeo.com/13560319]] is also limited to only one level of storage where as [[Session Manager|https://addons.mozilla.org/en-US/firefox/addon/session-manager/]] has a way of grouping sessions into single level folders, making it especially great for re-opening documentation on bugs that may be reopened over time.

The easiest way to split an unruly Firefox session into something manageable is to:
#Open a text editor
#Go through your tabs one by one and add them to a list like so...
**(Of course I'm using stupid examples but it's just so you get the idea)
{{{
Router Stuff
- http://www.openwrt.org
- http://www.ip6tables.org

Social Networking
- http://plus.google.com
- http://www.facebook.com
- http://www.twitter.com
- http://www.myspace.com

etc...
}}}

And then close out all of your windows and start opening the urls from above in one single list, in windows as you would have them organized.  

For example you might take all of the urls listed under {{{Router Stuff}}} and open them in two separate tabs or windows...

After you have opened them click the orange Firefox logo at the top of the window, and click {{{Session Manager -> Session Manager -> Save Session}}}.

The {{{Session Manager}}} dialog will appear and you can enter a name as well as a group for the session. 

If you want subsequent windows that you open with the session to be saved and added to the session when you are using the session and open them again check {{{Make this an auto-save session}}}.

>In some cases I would recommend this, but in other cases I would not.  It's probably better to re-save your session manually, adding the new windows because it forces you to think before mindlessly adding more urls to the session; this kind of defeats the point of removing the clutter in the first place.

Lastly when you're done, click the {{{Save}}} dropdown button at the top left part of the window and click {{{save}}}.

Now that particular session will appear in the {{{Firefox -> Session Manager}}} menu under the group you categorized it under.

Now repeat the process for the other URLs in the list.  Now, isn't that less clutter and less memory?  Feels great doesn't it?  

I looked today to see if there was a way to get a commenting system in place on this blog.  I checked the [[TiddlySpot FAQ|http://faq.tiddlyspot.com/]] and it said that if I use a service called [[Haloscan|http://www.haloscan.com/]] combined with a [[macro for haloscan|http://end.com/~speth/HaloscanMacro.html]],  I can actually have users comment on my blog entries.  

	However, it appears that their service is currently down.  I'll have to try this another day.  Feedback in this blog would really be great!  I can't wait to try it!
I'm at the womelsdorf library and I'm using a monitor that isn't hard on the eyes at all it's called a [[ViewSonic VA912b|http://www.viewsonic.com/products/desktopdisplays/lcddisplays/valueseries/va912b/]]

(I was running it at 1024x768)

And here's the bit that makes all the difference:
''Panel Surface:'' Anti-glare 

>It just so happens you can write groovy scripts that can be evaluated inside of Freemind beta.  Sweet! Here we go...strait from the [[freemind wiki|http://freemind.sourceforge.net/wiki/index.php/FreeMind_0.9.0:_The_New_Features#Scripting_via_Groovy]]:

{{{
def log = c.getFrame().getLogger(this.getClass().getName());

log.info("groovy script start!");
log.info("node.isLeaf(): " + node.isLeaf());
log.info("node.getChildCount(): " + node.getChildCount());
log.info("node.getClass().getName(): " + node.getClass().getName());
}}}

Yields the following results:

{{{
    note.isLeaf(): false
    node.getChildCount(): 3
    node.getClass().getName(): freemind.modes.mindmapmode.MindMapNodeModel
}}}


!Scripting via Groovy
Groovy scripts may be attached to individual nodes in that map.  

When the "evaluate" is selected via the menu or keypress ''(Alt-F8)'', all nodes in the map are searched (depth-first) for one or more attributes named {{{script}}}.  If such an attribute is found, the value of the attached attribute is passed to the Groovy engine to execute.

Only nodes are evaluated, which attribute keys start with {{{script}}}.  However there is noting preventing a script on one node from acting on other nodes via normal operations (e.g. {{{node.getChildren()}}} or similar) as far as I can tell from the code.

!Assignment vs. Operation
If the value of the script attribute starts with the equals sign {{{"="}}}, the the node text will be replaced by the RESULT of the script evaluation.  Be careful not to overwrite your nodes!  See the example for using the {{{"node.getText()"}}} in an assignment script.

If the value of the script attribute does not begin with the equals sign, then the script will run and may affect the map, but the expression result is not assigned to the node text.
I just figured out a neater way to group together related sets of questions using [[del.icio.us|http://del.icio.us/]].

Today I was trying to figure out how to [[Unzip Files in C++|Unzipping Files in C++]], we'll use this an our example.

I have five questions that I need answered concerning this issue:

*[[projects|http://delicious.com/leeand00/projects]]
**[[xetex-unzip|http://delicious.com/leeand00/xetex-unzip]] (tagged with [[projects|http://delicious.com/leeand00/projects]])
***[[question 1|http://stackoverflow.com/questions/1833888/unziping-files-to-existing-directories-in-visual-studio-2005-c]] (tagged with [[xetex-unzip|http://delicious.com/leeand00/xetex-unzip]]
***[[question 2|http://stackoverflow.com/questions/1836191/tips-for-writing-the-least-verbose-visual-c-code-you-can-in-visual-studio-2005/1836295#1836295]] (tagged with [[xetex-unzip|http://delicious.com/leeand00/xetex-unzip]])
***[[question 3|http://stackoverflow.com/questions/1837333/which-version-of-zlib-should-i-use-with-visual-c-on-visual-studio-2005]] (tagged with [[xetex-unzip|http://delicious.com/leeand00/xetex-unzip]])
***[[question 4|http://stackoverflow.com/questions/1837312/which-version-of-boost-should-i-use-with-c-visual-studio-2005]] (tagged with [[xetex-unzip|http://delicious.com/leeand00/xetex-unzip]])

When you click any of the links I've created above their children display, making a hierarchy of tags.
>No I think you have it backwards, God is always here but if you don't have faith in him it does not matter if you believe in him because he is not a positive force in your life. Like if I have a car and I don't have faith in its abilities then the car is nothing to me because I won't use it. you see what I mean......... :) x
- [[source|http://uk.answers.yahoo.com/question/index?qid=20080719130827AAjySLw]]
A while ago I started making a blog theme for Wordpress to try out some HTML 5.  I started making it, [[read about how HTML 5 handles headers differently to make way for screen readers|http://diveintohtml5.info/semantics.html#new-elements]].  At that time I structured pages in this blog theme with {{{<header>}}}s {{{<footer>}}}s and {{{<sections>}}}. Though the semantic markup looked a little verbose to me, but I continued along following what I knew about it from my reading.  

Then it came time to start coding the CSS for the site.  At that point my CSS, though well organized ended up becoming (unbelievably) more verbose than my semantic markup; "What have I done wrong?" I wondered to myself.   Well today after buying a book called [[Smashing Book 4|http://www.smashingmagazine.com/smashing-book-4-new-perspectives/]] and starting upon the first chapter, I found a footnote that led to the blog of [[stubbornella|http://www.stubbornella.org/content/2011/09/06/style-headings-using-html5-sections/]].  The first chapter of [[Smashing Book 4|http://www.smashingmagazine.com/smashing-book-4-new-perspectives/]] drove home the point that using selectors and id tags to style your CSS elements is evil, and that you should use reusable classes instead.  And [[stubbornella|http://www.stubbornella.org/content/2011/09/06/style-headings-using-html5-sections/]]'s blog drove this point home even further when she pointed out the error of the exact reason for my CSS code verbosity: Using section element selectors to style much of my content.  I verified this on the [[Programmers Stackexchange|http://programmers.stackexchange.com/questions/220791/why-are-section-header-and-footer-tags-not-used-much-when-i-see-sit?noredirect=1#220791]] where I was rightly beaten over the head with a few downvotes to remind me that the HTML5 spec is not yet officially released.

With that said I believe I have some major stylesheet refactoring to.
Things which absolutely have to be done by a particular deadline or meetings and appointments which are fixed in time and place.
<html>
<body>
<iframe width="420" height="345" src="http://www.youtube.com/embed/p5mWQFGF7w8" frameborder="0" allowfullscreen></iframe>
</body>
</html>
I think I first read Hitchhikers Guide to the Galaxy when I was about 12 years old.  I remember coming across the following passage, which didn't bother me at the time, but after a few Philosophy classes in college, it really bugged me for years:

>"I refuse to prove that I exist," says God, "for proof denies faith, and without faith I am nothing."
>"But," says Man, "the Babel fish is a dead giveaway isn't it? It could not have evolved by chance. It proves that You exist, and so therefore, by Your own arguments, You don't. Q.E.D."
>"Oh dear," says God, "I hadn't thought of that," and promptly vanishes in a puff of logic.
>"Oh, that was easy," says Man, and for an encore goes on to prove that black is white and gets himself killed on the next zebra crossing.
[[Demonstration of the rationalist/fideist paradox in H2G2|http://en.wikipedia.org/wiki/Fideism#In_culture]]

Though I comprehended most of it, I didn't quite comprehend the line {{{and without faith I am nothing}}}. 

I didn't quite understand why God would be nothing if not for faith...so I did some Googling and as usual found someone else asking my question:


>If god is nothing without faith,....?
>does that mean lack of faith makes god non-existent?
[[link|http://uk.answers.yahoo.com/question/index?qid=20080719130827AAjySLw]]

Despite it not being the number one answer, these two answers made the most sense to me:
<<tabs "cookie" 
            "1" "H2G2 helpful answer 1" "H2G2 helpful answer 1"
            "2" "Hitchhikers Guide to The Galaxy and The Babel Fish...helpful answer 2" "Hitchhikers Guide to The Galaxy and The Babel Fish...helpful answer 2">>

So instead here is the re-written version of the paradox:

>"I refuse to prove that I exist," says God, "for proof denies faith, and without faith I am nothing, @@to you who doesn't believe in me@@"
>Your assumption that God exists ONLY if faith exists is erroneous.
>
>God exists whether or not we believe in Him.
>
>Having faith in Him doesn't mean that He has suddenly "POPPED" into existence!!!! Sorry, but that's an utterly rediculous idea.
>
>Let's see now... in the "OLD" days, before "White Man" discovered and explored the continent of Austrailia, NO White man had ever seen a Duck-billed Platypus.... nor did the scientists of that day even believe that such a "mixed-up" animal could EXIST.
>
>But it did... for THOUSANDS, if not millions of years, it existed and lived, thrived and roamed the lands of Austrailia.
>
>Now, even when the White explorers returned to Europe, with drawings, even LIVING platypuses, many scientists STILL REFUSED to believe it's existence. They thought these were HOAXES.
>
>So what makes God's existence any different?
>
>So, if the Duck-billed platypus is nothing without anyone believing it exists, does that mean they don't exist because no one believes they exist?
>
>
>Have a blessed day.
- [[source|http://uk.answers.yahoo.com/question/index?qid=20080719130827AAjySLw]]
[[article link|http://www.codeproject.com/KB/cpp/complex_declarations.aspx]] | [[By Vikram A Punathambekar|http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=55714]]

>Ever came across a declaration like {{{int * ( * (*fp1) (int) ) [10] }}} or something similar that you couldn't fathom?  This article will teach you to interpret such complex C/C++ declarations, including the use of typedef, const and function pointers.

!Contents
*[[Introduction|How to interpret complex C/C++ declarations - Introduction]]
*[[The Basics|How to interpret complex C/C++ declarations - The Basics]]
*[[The const modifier|How to interpret complex C/C++ declarations - The const modifier]]
*[[The subtleties of typedef|How to interpret complex C/C++ declarations - the subleties of typedef]]
*[[Function Pointers|How to interpret complex C/C++ declarations - Function Pointers]]
*[[The right-left rule|How to interpret complex C/C++ declarations - The right-left rule]] [Important]
*[[Further Examples|How to interpret complex C/C++ declarations - Further examples]]
*[[Credits|How to interpret complex C/C++ declarations - Credits]]
Function pointers are probably the greatest source of confusion when it comes to interpreting declarations.  Function pointers were used in the old DOS days for writing TSRs; in the Win32 world and X-Windows, they are used in callback functions.  There are lots of other places where function pointers are used: 
*Virtual Function Tables
*Some Templates in STL
*Win NT/2K/XP system services.  Let's see a simple example of a funcition pointer:
{{{
int (*p)(char);
}}}
This declares {{{p}}} as a pointer to a function that takes a {{{char}}} argument and returns and {{{int}}}.

A pointer to a function that takes two {{{float}}}s and returns a pointer to a pointer to a {{{char}}} would be declared as:
{{{
void * (*a[5]) (char * const, char * const);
}}}
Ever came across a declaration like {{{int * ( * (*fp1) (int) ) [10];}}} or something similar that you couldn't fathom?  This article will teach you to interpret C/C++ declarations, starting from mundane ones //(Please bear with me here)// and move on to very complex ones.  We shall see examples of declarations that we come across in everyday life, then move on to the troublesome {{{const}}} modifier and {{{typedef}}}, conquer function pointers, and finally see the [[right-left rule]], which will allow you to interpret any C/C++ declaration accurately.  I would like to emphasize that it is __not__ considered good practice to write messy code like this;  I'm merely teaching you how to understand such declarations.  
Let me start with a very simple example.  Consider the declaration:
{{{
int n;
}}}

This should be interpreted as ''"declare {{{n}}} as an {{{int}}} "''.

Coming to the declaration of a pointer variable, it would be declared as something like:
{{{
int* p;
}}}
This is to be interpreted as ''"declare {{{p}}} as an {{{int *}}}"'' i.e., as a pointer to an {{{int}}}.  
>I'll need to make a small note here
>>It is always better to write a pointer (or reference) declaration with the {{{*}}} (or {{{&}}}) preceding the variable rather than following the base type.  This is to ensure there are no slip-ups when making declarations like:
{{{
int* p, q;
}}}
At first sight, it looks like {{{p}}} and {{{q}}} have been declared to be of type {{{int *}}}, but actually, it is only {{{p}}} that is a pointer, {{{q}}} is a simple int.
----
We can have a pointer to a pointer, which can be declared as:
{{{
char **argv;
}}}
In principle, there is no  limit to this, which means you can have a pointer to a pointer to a pointer to a {{{float}}}, and so on.

Consider the declarations:
{{{
int RollNum[30][4];
int (*p) [4]=RollNum;
int *q[5];
}}}

Here, {{{p}}} is declared as a pointer to an array of 4 {{{int}}}s, while {{{q}}} is declared as an array of 5 pointers to integers.

We have a mixed bag of {{{*}}}s and {{{&}}}s in a single declaration, as explained below:

{{{
int **p1;      // p1 is a pointer to a pointer to an int.

int *&p2;     // p2 is a reference to a pointer to an int.

int &*p3;     // ERROR: Pointer to a reference is illegal.

int &&p4;    // ERROR: Reference to a reference is illegal.

}}}
The {{{const}}} keyword is used when you want to prevent a variable (oops, that's an oxymoron) from being modified.  When you declare a {{{const}}} variable, you need to initialize it, because you can't give it a value at any other time.
{{{
const int n = 5;
int const m = 10;
}}}
The two variables {{{n}}} and {{{m}}} above are both of the same type - constant integers.  This is because the C++ standard states that the {{{const}}} keyword can be placed before the type or the variable name.  Personally, I prefer using the first style, since it makes the {{{const}}} modifier stand out more clearly.

{{{const}}} is a bit more confusing thwn it comes to dealing with pointers.  For instance, consider the two variables {{{p}}} and {{{q}}} in the declaration below:

{{{
const int *p;
int const *q;
}}}

Which of them is a pointer to a {{{const int}}}, and which is a {{{const}}} pointer to an {{{int}}}?  Actually, they're both pointers to {{{const int}}}s.  A {{{const}}} pointer to an {{{int}}} would be declared as:
{{{
int * const r= &n; // n has been declared as an int
}}}

Here, {{{p}}} and {{{q}}} are pointers to a {{{const int}}}, which means that you can't change the value of {{{*p}}}.  {{{r}}} is a {{{const}}} pointer, which means that once declared as above, an assignment like {{{r=&m;}}} would be illegal (where {{{m}}} is another {{{int}}}).but the value of {{{*r}}} can be changed.

To combine these two declarations to declare a {{{const}}} pointer to a {{{const int}}}, you would have to declare it as:
{{{
const int * const p = &n;  // n has been declared as const int.
}}}

The following declarations should clear up any doubts over how {{{const}}} is to be interpreted.  Please note that some of the declarations will NOT compile unless they are assigned values during declaration itself.  I have omitted them for clarity, and besides, adding that will require another two lines of code for each example.
{{{
char ** p1;			// Pointer to	Pointer to	char

const char **p2;	     // Pointer to 	Pointer to const char

char * const * p3; 	     // Pointer to const pointer to 	 char

const char * const * p4;  // Pointer to const pointer to const char

char ** const p5;	     // const pointer to	pointer to	char

const char ** const p6;   // const pointer to	     pointer to      char 

char * const * const p7;  // const pointer to const pointer to 	  char

const char * const * const p8; // const pointer to const pointer to const char
}}}
This is a simple rule that allows you to interpret any declaration.  It runs as follows:

Start reading the declaration from the innermost parentheses, go right and then go left.  When you encounter parentheses, the direction should be reversed.  Once everything in the parentheses has been parsed, jump out of it.  Continue till the whole declaration has been parsed.

One small change to the right-left rule:  When you start reading the declaration for the first time, you have to start from the identifier, and not the innermost parentheses.

!Examples:
<<tabs "7/10/20084:20 PMs" 
      "Example 1" "How to interpret complex C/C++ declarations - The right-left rule example" "How to interpret complex C/C++ declarations - The right-left rule example">>
{{{
int * (* (*fp1) (int) ) [10];
}}}

This can be interpreted as follows //(read the right-most column up and down when finished)//:
|1. |Start from the variable name | {{{fp1}}} |
|2. |Nothing to the right but ) so go left to find {{{*}}} | is a pointer |
|3. |Jump out of parenteses and encounter ({{{int}}}) | to a function that takes an {{{int}}} as argument. |
|4. | Go left, find {{{*}}} | and returns a pointer |
|5. |Jump out of parentheses, go right and hit {{{[10]}}} | to an array of 10 |
|6. |Go left find {{{*}}} | pointers to |
|7. |Go left again, find {{{int}}} | {{{int}}}s |
!Result
{{{fp1}}} is a pointer to a function that takes an {{{int}}} as argument, and returns a pointer, to an array of 10 pointers to {{{int}}}s.
{{{
int *( *( *arr[5]) ()) ();
}}}

|1. |  |  |
{{{typedef}}} allows you a way to overcome the +++^10em^[*-applies-to-variable-not-type rule]Remember this?<br/>{{{int* p, q;}}} <br/> and how they're not both pointers?===.  If you use  {{{typedef}}} like:

{{{
typedef char * PCHAR;
PCHAR p,q;
}}}

both {{{p}}} and {{{q}}} become pointers.  If the {{{typedef}}} had not been used, {{{q}}} would be a {{{char}}}, which is counter-intuitive.

Here are a few declarations made using {{{typedef}}}, along with the explanation:

{{{
typedef char * a;	// a is a pointer to a char

typedef a b();		 // b is a function that returns 
			       // a pointer to a char

typedef b *c;		// c is a pointer to a function

typedef c d();		// d is a function returning
			      // a pointer to a function
			      // that returns a pointer to a char

type def d *e;		// e is a pointer to a function
			      // returning a pointer to a
			      // function that returns a 
			      // pointer to a char.

e var[10];		  // var is an array of 10 pointers to 
			      // functions returning pointers to
			      // functions returning pointers to chars.
}}}

{{{typedef}}}s are usually used with structured declarations as shown below.  The following structure declaration allows you to omit the {{{struct}}} keyword when you create variables even in C, as is normally done in C++.

{{{
typedef struct tagPOINT
{
	int x;
	int y;
}POINT;

POINT p; /* Valid C code */
}}}
[[article link|http://hotjobs.yahoo.com/resume/Five_Common_Cover_Letter_Mistakes__2003228-1318.html?subtopic=Cover+Letters]]
#Read the document out loud.
**You may catch spelling errors you may have missed //({{{jog}}} instead of {{{job}}})//
#Only after you have double checked your cover letter should you attach it and send it off.
#Make sure you've added exactly which job you are applying for.
#Research the Company
#Make sure you don't repeat yourself.
<html>
<body>
<a href="http://ipv6.he.net/certification/scoresheet.php?pass_name=leeand00" target="_blank"><img src="http://ipv6.he.net/certification/create_badge.php?pass_name=leeand00&badge=1" width=128 height=128 border=0 alt="IPv6 Certification Badge for leeand00"></img></a>
</body>
</html>
|!Placement in List |!Corresponding Id in Database|
| 1 | 15 |
#Installed Ruby [[eariler|Compass and Webby]]
#Installed Red Cloth:
{{{
apt-get install libredcloth-ruby1.8
}}}
#Installed ruby1.8-dev (thanks to [[phresus and mando|http://stackoverflow.com/questions/520862/installing-webby-on-ubuntu]])
{{{
apt-get install ruby1.8-dev
}}}
#Installed hpricot 0.6
{{{
sudo gem install hpricot --version=0.6.0
}}}
#Installed webby
{{{
sudo gem install webby
}}}
#Installed bones (dependency required by webby after I tried to run it)
{{{
sudo gem install bones
}}}
#Installed cucumber (dependency required by webby after I tried to run it again...)
{{{
sudo gem install cucumber
}}}
#Installed hoe (dependency required by webby after I tried to run it again...curious name on that one...)
{{{
sudo gem install cucumber
}}}
#Installed RedCloth
{{{
sudo gem install RedCloth
}}}
/***
|''Name:''|IntelliTaggerPlugin|
|''Version:''|1.0.2 (2007-07-25)|
|''Type:''|plugin|
|''Source:''|http://tiddlywiki.abego-software.de/#IntelliTaggerPlugin|
|''Author:''|Udo Borkowski (ub [at] abego-software [dot] de)|
|''Documentation:''|[[IntelliTaggerPlugin Documentation]]|
|''~SourceCode:''|[[IntelliTaggerPlugin SourceCode]]|
|''Licence:''|[[BSD open source license (abego Software)]]|
|''~CoreVersion:''|2.0.8|
|''Browser:''|Firefox 1.5.0.2 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 1.5.0.2 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);};})();}
// %/
I was [[on stackoverflow today|http://stackoverflow.com/questions/1674915/how-to-teach-someone-that-less-is-more/1675199#1675199]] and I asked a question about (well I didn't know what it was at the time, but...) technical debt.  

One of the answers led me to an [[interview with Jason Fried of 37Signals| http://www.inc.com/magazine/20091101/the-way-i-work-jason-fried-of-37signals_pagen_2.html]]  in which I found some really neat things that Fried does:

----
>"Then companies start adding more and more stuff to keep their existing customers happy. But you end up dying with your customer base, because the software is too complicated for a newcomer"

I tend to remember having a really difficult time figuring out exactly how the software at the company I am currently employed at and I noticed that customers around here usually get what they want (this makes the software overly complex in my opinion).  Although I'm sure this doesn't win Mr. Fried too many friends, I understand why he does it.  


----
>"We want to get rid of interruption as much as we possibly can, because that's the real enemy of productivity."

The way we constantly answer phones around where I work now, it's no wonder that we don't get much done.


----
>"After lunch, I get a little lazy between 1 p.m. and 3 p.m. I don't feel that productive, so I'm usually screwing around, which I think is really important."

>"Everyone should read stuff on the Web that's goofy or discover something new."

I would have to agree with this, because if you don't screw around you generally won't learn anything new.


-----
>"I hate it when businesses treat their employees like children."

This seems to imply that he doesn't like the type of organization where the messages come down, but if any messages go back up, they are completely ignored or the originator of the message is punished for their input.  I really hate this sort of thing too because not only does it damage the relationship between the higher-up and their employees, it could also be bad for the business as a whole.  Now don't get me wrong, the person in charge that is cutting the pay checks should still make the final decision; but they definitely need to be able to listen to and take into account input from their employees.  Otherwise they'll have a Last Czar of Russia situation where the king has no-idea what the needs of the people are.


----
 >"What's the point? (of the 40 hour work week) As long as the work gets done, I don't care what people do all day."

Agreed.


----
>Around 3 p.m., I like to have another cup of tea as a pick-me-up. The one I'm drinking lately is gyokuro, which has high levels of theanine, a potent amino acid that helps you really focus for a few hours.

I'll have to look into that drink he's talking about, I've never heard of it, maybe it just hasn't hit the East Coast yet.
One of the things that has always annoyed me as we've all moved in the direction of desktop web development to mobile web-development is the inability to develop a mobile, mobile web development environment on a laptop, that can be easily transported from network to network with little downtime in the reconfiguration of the development environment, while still being able to access the development webserver on the mobile device on which it is being tested.  

>''Note:'' At the moment this only works for static ip addresses, but in the future maybe I'll do a writeup on a way to do this for dynamic ips.  

>''Note:'' You only have to create a new branch of configuration for each new network you visit.

An easy solution to this can be found with the tools Bash, DNSMasq and GIT.  Here's how these tools will be used:
*GIT will serve as our version control for configurations between networks.
*{{{/etc/dnsmasq.conf}}} and {{{/etc/networking/interfaces}}} will serve as our configuration files that will be tracked for different networks by branches in GIT.
*Bash will serve as our deployment mechanism, to:
**Deploy configurations to Ubuntu and DNSMasq
**And restart services such as Networking, DNSMasq, and our webserver after the configuration is deployed.
I was working a good bit on CSS this week, and I realize that I've forgotten a bit since my high-adieus from web development last year.  

For instance the whole {{{float: left;}}} {{{float: right;}}}  ... {{{clear: both}}} thing, I completely forgot about that.  

Also I've made a good number of toolbars lately (well okay so I made like two), but both would have been made easier/faster with the [[previous aforementioned tutorial|Found Great Horizontal Navigation Tutorial]].  

Oh and I forgot that CSS3 seems to be rearing it's ugly head (hopefully it's alot nicer than the previous CSS's. //(CSS's?)...//

So this got me thinking I should really make myself a personal Wiki for all things CSS.  I need to drop the whole: {{{"Oh, but CSS is so easy...I don't need a wiki for that..."}}} yeah let your pride go and see what you can really accomplish; write it down!
Okay today I finally got JSUnit working on Firefox 3 again.  I wish I could say it was easier to do but it isn't....[>img[http://www.jsunit.net/logos/logo_jsunit.gif]]

#Make sure in {{{about:config}}} that the property {{{browser.cache.check_doc_frequency}}} is set to {{{1}}}.
**The browser interprets this setting as //"check for a new page every time it's loaded."//
#Make sure in {{{about:config}}} that the property {{{security.fileuri.strict_origin_policy}}} is set to {{{false}}}.
**Yes, this is a security setting, so you'll probably want to set it back to true later.
#When running a test in {{{testRunner.html}}}, ''instead of'' specifying it's path in the conveniently provided file browser, specify the path to your test in the url parameter {{{testpage}}}.
**(If you want you can also specify an {{{autorun=true}}} parameter as well so you don't have to click the ''Run'' button everytime.)
!!Example of specifying the page to test via URL:

{{{
file:///.../testRunner.html?testpage=c:/temp/someTest.html
}}}

...and if you still have trouble, make sure for certain that you are editing the right copy of the file.  If you have more than one checkout it is very easy to be in the wrong directory and miss it because 
<<slider "12/22/2007 7:31 PM" "Filling in Those Pesky Text Only Fields with Tables" "+Filling in Those Pesky Text-Only Fields with Tables">>
#[[Fix the Menus]]
#[[Look Into Route 6 Motel Search Rates Via Web Service]]
#[[Look|Website Look]]

[[Directions]]
<html>
<body>
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/wHEoMpMvz7A&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/wHEoMpMvz7A&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object>
</body>
</html>

More great music!
<html>
<body>
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/zZt64_XOflk&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/zZt64_XOflk&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object>
</body>
</html>

Now that's music!
So what happens is that 
Alot of times what happens is I get a list of first names and last names from HR and they refuse to send any unique identifiers I can use to match them against another database; so when this happens what I do is load them into a database that supports linking to another database (for instance MS Access) and then I run the following three queries ({{{VIEW}}}s):

{{{

}}}
''_inner_join''

{{{

}}}
''_right_join''

{{{

}}}
''_left_join''

So what happens is that most of the records match up, and they end up being displayed in the ''_inner_join'', but the ones that don't match end up in the ''_right_join'' or the ''_left_join'' depending on which table they are in.  Most of the time they are unmatched on typo's or firstnames that have similar name that someone calls the person vs. their actual name in the HR database such as {{{Andy}}} vs. {{{Andrew}}}; and renaming one of them (usually the non-HR one) and then if you re-run the queries ({{{VIEWs}}}, the mis-matched items should disappear from the ''_right_join'' and ''_left_join'' lists and appear in the ''_inner_join'' list.
!Local Setup
Now that version control has been applied to our project, we can start tinkering with the settings, customizing them for each network we might connect to or develop on.  

<<tabs "sdfwefrwfsad"
"3.1" "Local Setup of the network card" "Local Setup of the network card - Local Setup - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq"
"3.2" "Local Setup of DNSmasq" "Local Setup of dnsmasq - Local Setup - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq"
"3.3" "Configuration Deployment" "Configuration Deployment - Local Setup - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq"
"3.4" "Configuration Testing" "Configuration Testing - Local Setup - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq"
"3.5" "Network Management" "Network Management - Local Setup - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq" 
>>
!!Local Setup of dnsmasq
We're going to be a little bit more careful with the {{{dnsmasq.conf}}} file, it's not as simple as the interfaces file, and it contains instructions used for configuring it.  First we'll set the domain...

<<tabs "sdafwrf3223eadf"
"3.2.1" "Setting up a domain for dnsmasq" "Setting up a domain for dnsmasq - Local Setup of dnsmasq - Local Setup - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq"
"3.2.2" "Tweeking dnsmasq" "Tweeking dnsmasq - Local Setup of dnsmasq - Local Setup - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq"
>>
!!Local Setup of the network card
The first thing we need to do any sort of web development work (or even internet access) is an ip address, and thus we have to change the settings in the {{{interfaces}}} file of our project-directory.  The {{{interfaces}}} file will be deployed later when we run our bash script.  

Now the file may have some other content in it to begin with, but remember that in our initial commit, we saved those changes earlier so we don't have to worry about losing them; thus the file contents can be replaced with the following:
{{{
auto lo
iface lo inet loopback


auto eth0
iface eth0 inet static
address 10.0.2.202
netmask 255.255.255.0
gateway 10.0.0.1
dns-search leerdomain-localLAN
dns-nameservers 127.0.0.1 10.0.1.10 10.0.1.9
}}}


The first thing we do is setup the loopback interface.  

In the file above we are setting the ip address of the local development machine to {{{10.0.2.202}}}, this will be the ip address that our local dns-names resolve to in the next step.  We also set the gateway and the netmask of the network, if these are unknown, or if the format of the ip address is unknown, these can be easily tracked down by looking at another machine on the network (preferably one with a static ip address). 

Also we set the dns-search suffix which we will also be setting in the next step.  I set mine to {{{leerdomain-local}}} because the {{{.local}}} suffix is being used by the the [[bonjour software|http://en.wikipedia.org/wiki/.local]] from Apple.  

And lastly, if you still have network-manager setup (as opposed to uninstalling it and using {{{/etc/resolve.conf}}}), Ubuntu 12.04 and on are capable of taking the client dns nameservers ip addresses from the {{{interfaces}}}, making things a bit more convenient.  After writing {{{dns-nameservers}}} you can add as many space separated dns server ips as you'd like; in the example above I'd like my development machine to use the ip address of the localhost, {{{127.0.0.1}}} since it's the same machine that will be hosting dnsmasq (my local development dns server).  

If I were setting up a dns client on a mobile device like an iPhone, Android or a Tablet, a pc or anything else on the same network with us, I would have to set it to point to the ip of this machine (the {{{address}}} in the example above) , since in order to resolve the dns address using our local dns server the client has to be pointing at it.

With that we can save our file and go on to connect up the local dnsmasq name-server.
*Wants to post events like the fall follage festival, do a bit on the radio about fall nistalga.
*Be able to book motel rooms
**[[Yahoo Travel API|http://developer.yahoo.com/travel/]]
**[[Yahoo PHP REST CALL API|http://developer.yahoo.com/php/]]
!Code Base Blues
I recently got a new job working at a company where the code base is over ten years old.  I noticed that the code is rather lengthy, non-object oriented, contains very little documentation, and in a day of languages like Ruby and Groovy, it is very difficult to read.  There aren't many subroutines, and when there is a subroutine it goes on for about five pages and does way more than just one thing.  
!!But There's A Pattern Here Somewhere...
Eventually you'll realize that there is a method to what appears at first sight to be madness.  I have started to notice an order (not a design pattern) to the code, it can still be very frustrating to read, but realizing this definitely makes it easier.  I have found that when reading code like this, it can be helpful to do two things:
#Ask the development team that has been writing it for so long for advice 
**(Request they make you screen casts explaining the various faucets of the code if they'll do so...)
#Use VIM as an editor to cut those five page subroutines down to a manageable size.
**Without disturbing the way the team at large already does things.

VIM has some wonderful facilities for accomplishing this, one of them included out of the box is code folding, 
!Creating Folds
>First what you need to do is tell VIM how you want it to ''recognize'' a fold.  Bellow are some of the ways you can do this:

>The best way I've found to do this is to use the ''marker'' option for folding code.  The ''marker'' option works quite well in that as long as it is a language that supports C/C++ style comments (a.k.a Java, C#, Perl etc..) you can always make code snippets 


!Opening and Closing Folds
>''Note:'' Be sure your in VIM's //normal mode// before trying this, otherwise you'll just get a //"zo"// or //"zc"// typed in your code that you didn't want.
|!Keys to Type |!What these keys do |
| {{{zo}}} |Opens the fold under the cursor |
| {{{zc}}} |Closes the fold under the cursor |
+++[RDBMS or filesystem?]
Interesting, in the [[Zope documentation|http://www.zope.org/Resources/ZopeIntro/]] it says that you indeed can hook Zope up to a real database instead of just the binary file it uses by default.  I was unaware of this and need to look into this further.
>"Zope objects are stored in a high-performance transactional object database that can use either the filesystem or an RDBMS as its backing store."
===
Name: Blue
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
Name: Green
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: Red
Background: #fff
Foreground: #000
PrimaryPale: #fdd
PrimaryLight: #c55
PrimaryMid: #711
PrimaryDark: #500
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
Name: Smoke
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
Name: Teal
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
<html>
<body>
<object height="346" width="430" data="http://lads.myspace.com/videos/vplayer.swf?u=YUhSMGNEb3ZMMk52Ym5SbGJuUXViVzkyYVdWekxtTmtiaTV0ZVhOd1lXTmxMbU52YlM4d01EQTNOekl4THpBekx6TXlMemMzTWpFNU1qTXpNQzVtYkhZPQ==&amp;d=71" allownetworking="all" allowscriptaccess="never" type="application/x-shockwave-flash">
  <param value="never" name="allowScriptAccess"/>
  <param value="all" name="allowNetworking"/>
  <param value="http://lads.myspace.com/videos/vplayer.swf?u=YUhSMGNEb3ZMMk52Ym5SbGJuUXViVzkyYVdWekxtTmtiaTV0ZVhOd1lXTmxMbU52YlM4d01EQTNOekl4THpBekx6TXlMemMzTWpFNU1qTXpNQzVtYkhZPQ==&amp;d=71" name="movie"/>
</object>
</body>
</html>
----
+++[Articles]
[[Committing Hunks in GIT]]]
===
----
<<tag "Archives">>
+++[Blogroll]
[[Eric Wendelin's Blog|http://eriwen.com/]]
[[Cropped and Blurred|http://croppedandblurred.blogspot.com]]
[[My Cozen and Her Friends|http://scavengervlog.blogspot.com/]]
[[RiverC|http://riverc.tumblr.com/]] | [[RiverC's other blog|http://blog.riverc.org/]]
[[Adam Altemus |http://www.adamaltemus.com/?p=20]]
[[Tony Buser|http://tonybuser.com/]]
===

----
+++[Settings]
[[Welcome to Tiddlyspot]]
GettingStarted
[[MainMenu]]
[[DefaultTiddlers]]
[[Pings and Trackbacks|http://www.haloscan.com/]]
===

----
<html>
<body>
<a href="http://webmonkey.com" target="_new"><img src="http://www.google.com/s2/favicons?domain=webmonkey.com"/></a>
<a href="http://www.bloglines.com" target="_new"><img src="http://www.google.com/s2/favicons?domain=bloglines.com"/></a>
<a href="http://del.icio.us/leeand00/" target="_blank"><img src="http://www.google.com/s2/favicons?domain=del.icio.us"/></a>
<a href="http://www.facebook.com/people/Andrew_J_Leer/"><img src="http://www.google.com/s2/favicons?domain=facebook.com"/></a>
<a href="http://twitter.com/leeand00/" target="_new"><img src="http://www.google.com/s2/favicons?domain=www.twitter.com"/></a>
<a href="http://www.jobster.com/people/andrewleer" target="_new"><img src="http://www.google.com/s2/favicons?domain=www.jobster.com" width="16" height="16"/></a>
<a href="http://remix.kwed.org/" target="_new"><img src="http://www.google.com/s2/favicons?domain=remix.kwed.org"</a>
<a href="http://www.mediafly.com/Users/leeand00" target="_new"><img src="http://www.google.com/s2/favicons?domain=www.mediafly.com"/></a>
<a href="http://www.flickr.com/leeand00/" target="_new"><img src="http://www.google.com/s2/favicons?domain=www.flickr.com"/></a>
<a href="http://java.sun.com" target="_new"><img src="http://www.google.com/s2/favicons?domain=java.sun.com"/></a>
</body>
</html>
----
<<tiddler "Total StackExchange Rep">>
<<tiddler "My Facebook Profile">>
<<tiddler "IPv6 Certy">>
Okay after trying to figure this out for some time, 

I discover a forum posting that read that if you use the following stylesheet:
{{{
	/* the following rules apply only to IE6 */
	* html /* put what every you want here */{
		/*and these styles will only work with IE6 */
	}
}}}
IE6 will read it, and all other browsers will ignore it's contents.

I also discovered that the following stylesheet code will cause IE6 to have a min-width, only problem being that the other browsers won't ignore it unless it is contained in the rules above.


{{{

     width: expression(document.body.clientWidth < 933? "933px" : document.body.clientWidth > 1202? "1200px" : "auto");
}}}

And thus we have (only applying the rule to IE6):

{{{
	/* the following rules apply only to IE6 */
	* html #all{
		width: expression(document.body.clientWidth < 933? "933px" : document.body.clientWidth > 1202? "1200px" : "auto");
	}
}}}
When working in HTML5 using geolocation support you want to be able to test what happens when a user accepts geolocation for a particular site, or denys it.

However the browser usually saves the user's preferences for a particular site, so undoing this takes a few menu clicks.

<<tabs "574"
"Firefox" "Making sure geolocation support stays on - Firefox" "Making sure geolocation support stays on - Firefox"
"Chrome" "Making sure geolocation support stays on - Chrome" "Making sure geolocation support stays on - Chrome" 
>> 
Enable or disable location sharing

#Click the wrench icon wrench icon on the browser toolbar.
#Select Options (Preferences on Mac and Linux; Settings on a Chromebook).
#Click the Under the Hood tab.
#Click Content settings.
#In the page that appears, scroll down to the "Location" section. Select your default permission for future location requests:
**Allow all sites to track my physical location: Select this option to let all sites automatically access your location.
**Ask me when a site tries to track my physical location: Select this option if you want Google Chrome to alert you whenever a site requests your location.
**Do not allow any site to track my physical location: Select this option to automatically deny site requests for your location.

>Click Manage exceptions to remove previously-granted permissions for specific sites.
>How do I undo a permission granted to a site?
>
>If you've given Firefox permission to always give your location to a site and later change your mind, you can easily revoke that permission. Here's how:
>
>>Navigate to the site to which you've given permission
>>Go to the Tools menu, then select Page Info
>>Select the Permissions tab
>>Change the setting for Share Location
From the [[Firefox website|http://www.mozilla.org/en-US/firefox/geolocation/#undo-permission]]
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-6221972-1";
urchinTracker();
</script>
|!Date |!Task |
|[[2/22/2008|22 February 2008]] | Entered Table of Contents into Marriage Wiki |
>''Or:'' Stupid Excel tricks to do comparisons instead of writing stupid VBA code to verify something.

>@@color(red): Please note that the {{{SocialSecurityNumber}}} field ''__IS NOT__'' and actual SSN but a PRIMARY KEY.@@
----
----
From the post merge (or uncommited transaction)
{{{
CREATE VIEW getMeThemUnCommitedCounts AS SELECT e.SocialSecurityNumber, V_VisitDate, count(*) AS cnt
FROM T_Visit_Log AS x INNER JOIN T_Employees AS e ON x.V_EmployeeID = e.SocialSecurityNumber
WHERE e.SocialSecurityNumber = 60003660 OR e.SocialSecurityNumber = 60003926
GROUP BY e.SocialSecurityNumber, V_VisitDate
ORDER BY V_VisitDate, e.SocialSecurityNumber;
}}}
----
From the pre merge (or 
{{{
CREATE VIEW getMeThemOriginalCounts AS SELECT e.SocialSecurityNumber, V_VisitDate, count(*) AS cnt FROM T_Visit_Log x INNER JOIN T_Employees e ON x.V_EmployeeID = e.SocialSecurityNumber WHERE e.SocialSecurityNumber = 60003660 OR e.SocialSecurityNumber = 60003926 GROUP BY e.SocialSecurityNumber, V_VisitDate ORDER BY  V_VisitDate, e.SocialSecurityNumber
}}}

Followed by a call to the other view
{{{
SELECT  V_VisitDate, sum(cnt) FROM getMeThemOriginalCounts GROUP BY V_VisitDate
}}}
----
----
When comparing two columns of INTEGER or DATE values together from a database, and a database with changes in it (or if you like a transaction without the changes, and a transaction with the changes in it), you can take the results of a query of 515 or so rows from both sources and dump them into excel side by side.

I myself was doing a count after merging a duplicate record from the imposter to the original to verify if the counts still matched before commiting the transaction and there were 515 records so eyeballing it was not really an option.

#Dump the records into excel side by side, and subtract the counts (or dates) from each other in a separate field, and make the equation go the whole way to the bottom.  At the bottom sum the newly created separate field with the sum of the two fields and see if it comes out to zero.  If it does come out to zero there are no differences between the two columns.

Doing this procedurally, would have been expensive not only to the CPU, but also would have taken alot of time, using math instead to figure this out was faster and cheaper.
Background: #ffeedd
Foreground: #000
PrimaryPale: #ddaa99
PrimaryLight: #cc9999
PrimaryMid: #552233
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #cccccc
SecondaryDark: #552233
TertiaryPale: #ddaa99
TertiaryLight: #EEC591
TertiaryMid: #552233
TertiaryDark: #8B7355
{{{
tr "																	" : 566
form "																	" : 499
tr "																	" : 494
table "																" : 348
td "															" : 347
tr "														" : 345
table "													" : 344
td "												" : 343
tr "											" : 342
table "										" : 318
td "									" : 317
tr "								" : 166
table "							" : 165
td "						" : 32
tr "					" : 31
table "				" : 27
td "			" : 26
tr "		" : 23
table "	" : 22
}}}



{{{
td "			" : 26
tr "		" : 23
table "	" : 22
}}}

{{{
<!-- 10/31/09 <form name="form1" method="post" action="CHECK_OUT_REFERENCE" onsubmit="return (validateAndAttachAdditionalFieldsToSpecialInstructions() == true) ? true : false"> 10/31/09-->


tag = {
	"tagText" : null,
	"indent"  : null,
	"lineNumber" : null
};

var stack = [];
var tag = nextTag();

if(tag.isOpening())
{
   stack.push(tag);	
}
else if(tag.isClosing() 
{
   var poppedTag = stack.pop();

   if(poppedTag.tagText != tag.tagText)
   {
	// EITHER:
	// Throw an error and tell the user
	// what line it is on (poppedTag.lineNumber, indent)
        //
	// OR:
	//
	// Replace the missing tag where before inserting the closing tag.
   }
}
}}}
[img[http://i9.photobucket.com/albums/a58/Maskkkk/MicroBreak.png]]<<gradient vert #cecece #ffa500 #ffffff>>Take a Microbreak>>
The [[Microbreak]] is the shortest and most frequent of the <<tag "timer">>s in [[Workrave|http://www.workrave.org]].  
>Although, modifying the settings can change this, the [[Microbreak]] timer is meant to give your eyes a short break, relatively frequently.
!How it Works
#''When the [[Microbreak]] <<tag "timer">> runs out, a Mr. Lightbulb appears on the screen.'' [>img[Unlike Clippy, the friendly Mr. Lightbulb is unlikely to be the bane of your existance.|http://i9.photobucket.com/albums/a58/Maskkkk/mrlightbulb.png]]
**...if you stop typing and moving the mouse, the [[Microbreak]] @@color(green):will begin@@.
**...if you do not stop moving the mouse and keyboard, the [[Microbreak]] @@color(red):will not begin@@.
#''You'll hear a //*Sparky Sound*//''
**...and As you hear this, close your eyes, this signifies the beginning of the [[Microbreak]].
#''Wait...and rest your eyes''
**Breathe in and out, so your heart can pump and provide fresh @@color(red):hemoglobin@@ to your @@color(blue):tired eyes@@.
**...alternatively, if you are lucky enough to have a window look far off and out into the distance.
#''Next you'll hear a //*Pop! Sound*//''
**...this indicates it's safe to //return to work//.
<html>
<body>
<object width="320" height="240" ><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://www.facebook.com/v/214520005716" /><embed src="http://www.facebook.com/v/214520005716" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="240"></embed></object>
</body>
</html>
Background: #eeddaa
Foreground: #000
PrimaryPale: #ddcc99
PrimaryLight: #bb8833
PrimaryMid: #553322
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #cccccc
SecondaryDark: #553322
TertiaryPale: #ddcc99
TertiaryLight: #EEC591
TertiaryMid: #553322
TertiaryDark: #8B7355
Today, I went over to [[College Grad.com|http://vcf.collegegrad.com/Candidate/]] to try my hand at their mock interview process.

You need a webcam and a microphone to get started.   

First a video sequence of an interviewer shows up and asks the following common interview question(s):

+++[Question 1]
>''Tell us about yourself.''

Groan!  What do I say now?  Luckily the mock interview process gives you time to record your answer again...so I went out to [[WikiAnswers.org|http://wiki.answers.com/Q/How_do_you_answer_'Please_tell_us_about_yourself'_in_a_job_interview]] where they told me the following:

>''A person is defined in 3 different ways:''
>>1. Who he is right now.
>>2. What he has done in the past.
>>3. What he will become in the future.

And of course they specify that you need to answer these questions //professionally//, not about your personal self.

I came up with the following answers to those three questions:

>"I am a Computer Programmer."

>"I have 2 years in team environments experience developing  Java, J2EE, MVC and AJAX based web applications."

>"In the future I would like to learn other languages and frameworks to increase my marketability in the Software Engineering Field."
===

+++[Question 2]
>''What type of positions are you seeking?''


===
*//In one of those buttery scenes// I can't believe it's not butter (on my pecs)
*No, no I'm not Atlas, I'm Fabio the Greek god of lust.
Rated NR
Copyright 1997 Windmill Productions
Review by [[Andrew Leer|http://leeand00.tiddlyspot.com/]]

!The Characters
Danny Nilesen - 
Teddie Nielsen - 
Phillip Frodden - The sleazy, overly male boyfriend of  Danny's aunt, played by Timothy Bottoms.  His character plays as though he should be on the [[Lifetime|http://www.mylifetime.com/on-tv/schedule/daily]] after house work special.  
Wilshire Frodden - 
Gus - 
Colleen Mithell
Atlas -
Sheriff Tyrell - 
Billy - 
Dolores Mitchell - 
Medic -
Girl in Store -

!The Plot
Shot on location in Utah, Mr. Atlas looks like a movie from the Hallmark Channel, for people who thought Touched By An Angel and Walker Texas Ranger were too religious.  

!Things I Learned From This Movie


!Stuff to Watch For
01:23 - 8086 Fighter!
@@color(red):01:46 - RANDOM ACT OF BULLY VIOLENCE AGAINST DANNY!@@
@@color(red):0:2:00 - RANDOM ACT OF BULLY VIOLENCE AGAINST A TEXT BOOK!@@
@@color(red):02:03 - RANDOM ACT OF BULLY VIOLENCE AGAINST DANNY!@@
04:30 - No, but I have some Rubies!
07:44 - Timothy Bottoms lives up to his name.


!Sounds

!Images

[[Mr Atlas Jokes]]
<html>
<body>
<div class="vcard">
<a class="url fn" href="http://leeand00.tiddlyspot.com">Andrew Leer</a>
<a class="email" href="mailto:leeand00 -at- hotmail.com">leeand00 -at- hotmail.com</a>
<div class="adr">
	<span class="locality">PA</span>
	<span class="country-name">US</span>
</div>
<div class="tel">724-422-4873</div>
</div>
</body>
</html>
<html>
<body>
<a href="http://www.facebook.com/people/Andrew_J_Leer/698010716" title="Andrew J. Leer's Facebook profile" target=_TOP><img src="http://badge.facebook.com/badge/698010716.957.294104454.png" border=0 alt="Andrew J. Leer's Facebook profile"></a>
</body>
</html>
/***
|Name|NestedSlidersPlugin|
|Source|http://www.TiddlyTools.com/#NestedSlidersPlugin|
|Version|2.3.1|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides|Slider.prototype.stop|
|Description|show content in nest-able 'slider' or 'floating' panels, without needing to create separate tiddlers for each panel|

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// TW2.2+
// hijack Morpher animation handler 'stop' handler so overflow is visible after animation has completed
if (version.major+.1*version.minor+.01*version.revision>=2.2) {
	Morpher.prototype.coreStop = Morpher.prototype.stop;
	Morpher.prototype.stop = function()
		{ this.coreStop.apply(this,arguments); this.element.style.overflow = "visible"; }
}
//}}}
<<tabs "asderwq"
"3.5.1" "Adding a New Network" "Adding a New Network - Network Management - Local Setup - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq"
"3.5.2" "Switching Networks" "Switching Networks - Network Management - Local Setup - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq">>
For every item requiring attention, decide what is the next action that can be physically taken on that item. 

!!!Example:
If the item is, "Write a Report", the next action might be, "Email Fred for meeting minutes," or, "Call Mary to ask questions about requirements."  

Though there may be many steps and actions required to complete the item, there will always be something that needs to be done //first//, and this step should be recorded in the next actions list.  Preferably, these spteps are organized by the context in which they can be done, such as "in the office", "by the phone," or "at the store."
Just finished putting this site up today.  I think it turned out nice.  [[Click here to see it.|http://www.foleybf.com/]].

I myself would have gone with a different color scheme, but the company logo dictated that green and blue would be what I used.
Asking my boss...when I can schedule my ophthalmologist apt.
{{{Andy,

It doesn't really matter to me.  You have accrued 54 hours of paid time off and you can use some of that or schedule the appointment so that you can still get 8 hours of work in that day.}}}
Allen describes a suggested set of lists which can be used to keep track of items awaiting attention:
*[[Next Actions - Organize - GTD]]
*[[Projects - Organize - GTD]]
*[[Waiting for - Organize - GTD]]
*[[Someday/Maybe - Organize - GTD]]

A calendar is important for keeping track of appointments and commitments;  however, Allen specifically recommends that the calendar be reserved for the [[hard landscape|Hard Landscape - GTD]].

@@To-do items should be reserved for the next action lists.@@

A final key organizing component of GTD is the filing system.  A filing system must be easy, simple, and fun.  Even a single piece of paper, if needed for reference, should get its own file if it doesn't belong in an existing folder.  Allen suggests a single, alphabetically organized filing system, in order to make it as quick and easy as possible to store and retrieve the needed information.
Some followers of GTD advocate a //'back-to-basics'// approach to personal management, and a rejection of over-engineered, high-tech solutions in favor of simple, less-expensive tools such as preprinted cards, index cards, the Hipster PDA, or even the Moleskine paper pad.

David Allen himself says he relies on a "vanilla" Palm PDA and records "events of the day" on paper to be processed later.
PhraseExpress is a great little macro/textexpander program I discovered one day after Lifehacker's Autohotkey simplification program Texter was thrown by the way side by it's developer Adam Pash.  

I needed to find a new textexpander and what I found was so much better than Texter, mainly because of it's automation of keyboard shortcuts, and it's ability to organize macros/textexpansions called phrases in a folder structure.  

Now one thing that annoyed me off the bat with PhraseExpress was that while it has this incredible macro language for automating keystrokes and other things it had a seemingly clunky user interface, which really "appeared" to bog down it's usefulness in writing macros, considering the process of macro writing is a bit of a trail and error process.  Opening the window for editing the textexpansions appeared to only be possible by using the mouse, breaking the productivity sin of taking your hands off the keyboard and moving them to the mouse (which is clearly an inferior device to the keyboard and second only to the touch screen!).  

However, rooting around the settings today, I came across a shortcut for opening the PhraseExpress window in a timely manner using the keyboard.  

#Right click on your trusty PhraseExpress Tray Icon, and select {{{settings}}} from the context menu.
##Now in the resulting PhraseExpress window, click {{{Tools->Settings}}}
###In the resulting {{{Settings}}} window look at the left hand tree-panel and click {{{Options->HotKeys}}}.
###Finally in the right hand panel there will be a label, followed by a couple of buttons and a dropdown, in the second group of these there will be labeled {{{Edit the last used phrase}}}, set a keyboard shortcut for opening the last edited textexpansion and click {{{OK}}}.

Now when you press the keyboard shortcut you set above, you will be able to quickly edit your macros into submission.

{{{
{#insert selectFieldAll}{#clipboard -copy}{#END}{#sleep 300}{#insert newTid}{#clipboard -paste}
}}}  
When processing a bucket, a strict workflow is followed:
#Start at the top
#Deal with one item at a time
#Never put anything back into "in".
#If an item requires action:
**Do it (if it takes less than two minutes), OR
**Delegate it, OR
**Defer it.
#If an item does not require action:
**File it for reference, OR
**Throw it away, OR
**Incubate it for possible action later.

If it takes under two minutes to do something, it should be done immediately.  The two-minute rule is a guide-line, encompassing roughly the time it would take to formally defer the action.
Every [[open loop|Open Loop - GTD]] in one's life or work which requires more than one physical action to achieve becomes a [[project|Project - GTD]].

These projects are tracked and periodically reviewed to make sure that every project has a next action associated with it, and thus can be moved forward.
#Desired Job Location
**In or around the Philadelphia area.
#Desired Salary or Hourly Rate:
**$40,000-$50,000/per year
**$25/per hour
#Date Available:
**{{{01/11/2008}}}
#US Citizen / Clearance Status
**US Citizen, received a security clearance during my software developer position at Mobilvox.
Is alot like a cable hookup. 

>At the one end of the ''cable hookup'', you have the ''cable company''.  At the opposite end of the ''cable hookup'' you have a ''television''.  In between the two you have ''a cable''.

[img[http://i9.photobucket.com/albums/a58/Maskkkk/path2808.png]]

>Similarly, with RSS, there is an ''RSS Blog'' which sends out the RSS content of a blog or podcast, through an RSS XML Stream (accessed by a URL).  Now the websites in which that content will be posted recieve that RSS XML Stream where it is displayed on the websites.
http://www.odinjobs.com
[[http://groups.google.com/group/tiddlywiki/browse_thread/thread/a3138414434e9a9b?hl=en|http://groups.google.com/group/tiddlywiki/browse_thread/thread/a3138414434e9a9b?hl=en]]

And if a plugin such as this does not exist, maybe I'll have to develop it myself...
The people at the Java Ranch Saloon answered my question concerning the transfer of settings from one Eclipse installation to another.  I tried it out this afternoon and it worked! :-D
In order to rejoin split objects together at a later stage, simply highlight the individual parts and select the command:

{{{edit->forming group}}} to join the selected objects together alone group.

[[also see Splitting Objects|Splitting Objects]]
/***
| Name:|RenameTagsPlugin|
| Description:|Allows you to easily rename or delete tags across multiple tiddlers|
| Version:|3.0 ($Rev: 1845 $)|
| Date:|$Date: 2007-03-16 15:19:22 +1000 (Fri, 16 Mar 2007) $|
| Source:|http://mptw.tiddlyspot.com/#RenameTagsPlugin|
| Author:|Simon Baird <simon.baird@gmail.com>|
| License|http://mptw.tiddlyspot.com/#TheBSDLicense|
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) {
		store.suspendNotifications();
		for (var i=0;i<tiddlers.length;i++) {
			store.setTiddlerTag(tiddlers[i].title,false,tag);
		}
		store.resumeNotifications();
		store.notifyAll();
	},

	renameTag: function(oldTag,newTag,tiddlers) {
		store.suspendNotifications();
		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
		}
		store.resumeNotifications();
		store.notifyAll();
	},

	storeMethods: {

		saveTiddler_orig_renameTags: TiddlyWiki.prototype.saveTiddler,

		saveTiddler: function(title,newTitle,newBody,modifier,modified,tags,fields) {
			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":""])))
						config.renameTags.renameTag(title,newTitle,tagged);

					if (!this.tiddlerExists(title) && newBody == "")
						// dont create unwanted tiddler
						return null;
				}
			}
			return this.saveTiddler_orig_renameTags(title,newTitle,newBody,modifier,modified,tags,fields);
		},

		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":""])))
					config.renameTags.removeTag(title,tagged);
			return this.removeTiddler_orig_renameTags(title);
		}

	},

	init: function() {
		merge(TiddlyWiki.prototype,this.storeMethods);
	}
}

config.renameTags.init();

//}}}
These actions are assigned to an object.  Responsibilities should be described with short verb phrases.  Again, it is important to use the right words.
[img[http://i9.photobucket.com/albums/a58/Maskkkk/RestBreak.png]]<<gradient vert #cecece #ffa500 #ffffff>>Take a Restbreak>>
During a RestBreak you first do exercises that help to avoid [[RSI|http://en.wikipedia.org/wiki/Repetitive_strain_injury]].  These exercises are displayed on the screen by [[Workrave|http://www.workrave.org/]].

Once you've completed these exercises, you need to go and take a walk, and get away from your computer for a bit.

Upon returning from your [[Restbreak]], the Workrave timers will not start again until your mouse is moved or keys on the keyboard are pressed.  This is a great feature since you might get tied up on your [[Restbreak]] talking to your fellow employees on the way back.  
The lists of actions and reminders will be of little use if not reviewed at least daily, or when ever possible.  Given the time, energy and resources available at a particular moment, one must decide the most important task to be done immediately, and do it.  

If one is inclined to procrastinate, one may end up always doing the easy tasks and avoiding the difficult ones.  

To solve this, one can decide to do the actions of the list one by one, following their order, just like processing an inbox.

At least weekly, the discipline of GTD requires that all outstanding actions, projects and [[waiting for|Waiting for - Organize - GTD]] items are reviewed, making sure that any new tasks or forthcoming events are entered into one's system, and that everything is up to date.  Allen suggests the creation of a [[Tickler File|Tickler File - GTD]] in order to help refresh one's memory each week with the outstanding tasks and projects.
Term for the area of the world where Route 6 radio will be selling
*Home
*Music/local artists
**Country
**Accoustic
*Weather
**County A
**County B
**Etc...
*Local Events (Route 6 Hometown Calendar)
**Winter Events
**Spring Events
**Summer Events
**Fall Events
*History
**History of Route 6 in PA
**History of area
*Advertising (maybe a link at the bottom not in the top menu)
*Outdoors
**Hunting
**Fishing
*Delectable Delicacies
**Wineries
**Cheeseries
**Maple Syrup
*Local ‘happy news’
**Birthdays
**Anniversaries
Robin

5:00-8:00 SL Time
>Hello fellow Carpies!
>
>I just received an email from a relative that contains a link to a Carpatho Rus radio show that is played on the air in Pittsburgh.  The Radio show host however is in debt to the radio station ($700) and needs support to keep 
>the show on ([[listen to the very end of this episode to find out more|http://jj.wedo810.com/12-06-09%20Carpatho-Rus%27%20Living%20Tradition%20Program.mp3]]).  His name is Jerry Jumba and I'm sure I've heard of him on the radio before. 
>
>So everybody enjoy, [[listen|http://JJ.WEDO810.com]] and donate!  :)
>
>(By the way the link is just a directory of mp3's as I'm pretty sure Jerry isn't too computer savy...but be grateful that he at least got these on the Internet and help him preserve our heritage)
>
>The most recent radio show contains the address to send donations to.

{{{
Dear Radio Listeners on the WEB, 
 
              Vitajte! Welcome!  
 Enjoy Carpatho-Rus' Radio on the WEB by entering:    http://JJ.WEDO810.com     in your search engine. Click in,  and click on the titles and dates of the broadcasts. 
 
              Recent dates: November 29 and December 6 are also Christmas broadcasts of Carpatho-Rus' 

roždestvenýj koljadý, koljadký, and ščedrivký.  
 
Best Regards,  
Jerry Jumba
 
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

                   

                       Saving and Growing - Carpatho-Rus' Chant and Hymnology

 

        There is a great need to rescue of the living tradition of vocal prayer chant and hymnology knowledge of Carpatho-Rus' Eastern Christianity. The best standards of vocal cultural transmission into American English need far more continuous examination, a paying of attention to the details of the sacred artistry that is at work in the original living tradition chant. This trusted congregational musical life lives the knowledge and the energy of shared prayer, and is the best evolved chant source of musical integrity by which congregations chant successfully and communally harmonize to realize the loving presence of God in Divine Liturgy. 
 
          For over four decades I applied myself to learn as much as I could find in my continuous search of this living tradition chant. I have hundreds of field recordings and wrote more than 45 volumes in C-Rus' Chant curriculum in careful collaborations. Since the 1980's I schooled over 140 cantors, and these students have various levels of accomplishment within their ongoing commitment. Some have much chant learning to accomplish in order to complete and fulfill their commitment to these studies that bring the fullness of chant knowledge forward in Eastern Christian liturgical prayer life.
 
        I work for the opportunities to save, grow, and share this divine prayer vocal knowledge of the Eastern Christian Carpatho-Rus' Chant. To look and listen for the best practices of this vocal knowledge in all our churches, is sacred musicology that respects the evolved melodic and harmonic integrity of sacred vocal music. To hear the range of great Carpatho-Rus' vocal prayer music involves the field work is to listen and record objectively, and participate personally to study and know the melodic integrity and artistry from numerous successful cantor practitioners who live to demonstrate chant by strong faith and the love of God, and by faithfulness to a vocal knowledge standard that is a successful vocal connection, so that each person in the congregation might be embraced and inspired to join their energy in singing divine chant, to bring God's loving presence forward within each of us. To reveal this chant with accurate music writing, is to save an innocent sacred chant from a terrible oblivion. 
 
              The duty of our living generation is to renew its artistic integrity in the communal Eastern Christian nurture by which our people's inspiration to seek God's love, has lived to realize victories over sin (!) and found God's love!  To renew our participation in Divine Liturgy at this highest possible standard is the work at the center of my life, so that we, in a great enlightened collaboration of spirit and grace, apply the finest and proven chant education principles in the accuracy of the transmission of the vocal knowledge so that we may achieve in our present day a renewal of the musical integrity of the Carpatho-Rus' vocal prayer chant that we have earned from generations who prayed successfully, and taught us to pray.
 
            I hope most sincerely that we may let  the work and healing begin anew in those chant education principles and in the fullness of Carpatho-Rusin Chant research to the highest possible standard, to realize and know God's love and healing and hope continuously in good measure.
 
         Those generations before us found God's love by in the deepest commitments to prayer chant standards that bonded their grace and spirit within their community in prayer - living  the spiritual intelligence and energy within this Carpatho-Rus' Chant.  Learning the trusted vocal chant standard gives our people the confidence that God's love is continuous and available by our reaching for God's inspiration. Their chant learning is the prayerful work of learning the living tradition chant melodies with faithful pitch and rhythm in focused stylization, not distorted by unfocused stylization. Their learning is the careful handiwork of prayer music artisans who pay attention to the integrity of musical and vocal details, in grace and spirit realized. Through this prayer they showed the strength of spiritual development to live in grace and resist sin, and build and support churches wherever they needed to build. Our time to re-invest in the education of this vocal prayer knowledge is now. Our time to realize excellent education and act on behalf of the living spiritual life of this vocal prayer knowledge, with the artistic intelligence within its dynamic communal melody and harmony, is now.
 
           I live simply, not with a big budget, and work on my C-R Chant research publications with Grants in The Arts. I cantor, teach chant and instrumentalists, and play numerous musical job scenarios, sing along and instrumental. I hope to keep our connection real, and connect as a co-steward and a cultural citizen with discerning standards for the greater good that we may share and live well in the continuity and development of this worthy, long standing, trans-generational effort to earn and realize the grace and spirit of God in our lives.   

 

Cantor, Cantor Teacher,

Jerry Jumba

 


Subj: 	C-RS This Saturday and Sunday Holiday Ethnic Celebration 
Date: 	11/20/2009 8:31:22 P.M. Eastern Standard Time
To: 	jerryjumba-*at*-aol.com
Sent from the Internet (Details)
 

Dear Jerry Jumba                                                                                November 20, 2009

 

Holiday Ethnic Celebration

Heinz Regional History Center

Smallman Street, Pittsburgh

 

Featuring displays of Ethnic Holiday displays, food and entertainment

 

Saturday, Nov. 21 and Sunday, Nov. 22

11 a.m. - 3 p.m.

 

C-RS is sponsoring the Rusyn Christmas display, and will be selling Rusyn ethnic items, palachinki and cheregi

 

Jerry Jumba will perform Rusyn Carols - 2:10 p.m. Saturday and 11:40 a.m. Sunday

 

For more information, contact the Heinz History Center at <span class="skype_pnh_print_container">412-454-6411</span><span tabindex="-1" dir="ltr" class="skype_pnh_container"><span class="skype_pnh_mark"> begin_of_the_skype_highlighting</span>&nbsp;<span dir="ltr" title="Call this phone number in United States of America with Skype: +14124546411" class="skype_pnh_highlighting_inactive_common"><span skypeaction="skype_dropdown" class="skype_pnh_left_span">&nbsp;&nbsp;</span><span skypeaction="skype_dropdown" title="Skype actions" class="skype_pnh_dropart_span"><span skypeaction="skype_dropdown" style="background-position: -5849px 1px ! important;" class="skype_pnh_dropart_flag_span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;&nbsp;&nbsp;</span><span class="skype_pnh_textarea_span"><span class="skype_pnh_text_span">412-454-6411</span></span><span class="skype_pnh_right_span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span>&nbsp;<span class="skype_pnh_mark">end_of_the_skype_highlighting</span></span> 

 

 

http://www.heinzhistorycenter.org/events.aspx?EventID=8

 

 

The Carpatho-Rusyn Society is a non-profit, 501(c)(3) organization dedicated to manifesting Carpatho-Rusyn culture in the United States and supporting Rusyn culture in the Homeland in east central Europe.  It works to educate Rusyns and non-Rusyns about Rusyn culture and history, and to support the development of Rusyn culture on both sides of the Atlantic.   As a membership organization, it boasts over 1,800 members worldwide who support the organization's work through their annual contributions of dues as well as voluntary contributions to funds that support Rusyn cultural development abroad as well as humanitarian aid for Rusyn communities in Europe.  For more information, please visit www.c-rs.org

 

++++++++++++++++++++++++++++++++++++++++++++++++++

 

Subject: Question about the Heinz History Center performances Nov 21, 22, 2009
Date: 11/23/2009 10:02:19 A.M. Eastern Standard Time
From: Jerry Jumba 
 

                                                            Report From The Heinz History Center

 
          Saturday and Sunday, it was at the Western PA Heinz History Center in the Strip District. Each day  I chanted Carpatho-Rus' Christmas Carols bilingually with accordion accompaniment to give the full harmonization of the melody and narrated the Bethlehem Play (Viflejemska Ihra ) story in between the progression of carols. It went well !  Within me, this is a strong area of studied knowledge and life experience and teaching in classrooms with a well prepared energized and rational teaching method for the mystery of grace and spirit that comes forward in the revelation of Christ's birth. I had taught these carols in Byzantine Catholic day schools for twenty years, and in the Metropolitan Cantor's Institute in the Archieparchy of Pittsburgh (1984 - 1992), and in Byzantine Catholic and Orthodox churches since the early 1980's. 
 
          On Saturday I included a talented ten year old Alexandra Plummer who was dressed in costume and attending the C-RS Rusyn sales and information table with her mom Mary Huzinec and three more Carpatho-Rusyn Society workers. Alexandra danced for Jesus when I played the Shepherd's Palichki Tanec music, and she chanted - in a strong and clear child's voice - O Kto Kto Nikolaja Ljubit' bilingually with me to close the presentation. I introduced the hymn explaining how God sent the gift of His Son for the salvation of souls and how Nicholas of Myra earned sainthood and came along to epitomize the spirit of giving and help those in need for the greater good of nurture realized in our physical tangible needs and in our spiritual needs.
 
   On Sunday, toward the end of the presentation, I noticed an excellent cantor in the audience - Gerry Pozonsky Rhoads - who is an accomplished Cantor at St. Pius Byzantine Catholic Church in the Carrick section of Pittsburgh - just beyond South Side, and asked her to join me on stage for the closing carols which were Divnaja Novina, and Nebo I Zemlja. She chanted strong and true and I harmonized with her and the response was good.   
 
Jerry Jumba

 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
}}}
!Automatic

!Manual
Makes cuts only after confirmation at each scene transition.  The preview always displays the end of the previous scene and the beginning of the new scene.  

This option is helpful, for example, if a camera flash was captured in the source footage.  The flash from the camera would cause a sudden brightness modification even though there was no actual scene change.

''Separate at this point: ''  Select this option when there is significant variation between two images in the display.

''Next Scene: '' This option enables you to skip a point with-out cutting in the event that the scene was identified incorrectly.  Use this option to deliberately skip scene transitions and treat several scenes as a unit.

''Automatically cut all further scenes: '' 
This ends the manual scene recognition.  All future points will be automatically cut to create a new scene.

//Tip: You can also use the cut menu for cutting scenes.  Place the s-marker where you wish to performa a cut, and then select the "Cut Scene" command.//
!Cutting up a scene
This command cuts a scene at the point where the Start marker is positioned.

//Shortcut: t//


!Delete Scene start
This command cuts a scene at the point where the Start marker is positioned, and deletes all material that precedes the start position simultaneously.

//Shortcut: Ctrl+t//


!Delete Scene end
This command cuts a scene at the point where the Start marker is positioned, and deletes all material that follows the start position simultaneously.

//Shortcut: Shift+z//


!Divide Film
This command splits a movie at the point where the start marker is positioned, making two self-standing movies.

// Shortcut: Alt+t//
[[How to search Stackoverflow|http://stackoverflow.com/search]]

Oh and as a side note, to search your own tags you can use:

{{{user:me [tag1] [tag2]...}}}
/***
Quick and dirtly palette switcher for 2.1.x
<<selectPalette>>
WARNING this will overwrite your ColorPalette tiddler.
***/

//{{{

merge(config.macros,{

	setPalette: {

		handler: function(place,macroName,params,wikifier,paramString,tiddler) {
			var paletteName = params[0] ? params[0] : tiddler.title;
			createTiddlyButton(place,"apply","Apply this palette",function(e) {
				config.macros.selectPalette.updatePalette(tiddler.title);
				return false;
			});
		}
	},

	selectPalette: {

		handler: function(place,macroName,params,wikifier,paramString,tiddler) {
			createTiddlyDropDown(place,this.onPaletteChange,this.getPalettes());
		},

		getPalettes: function() {
			var result = [
				{caption:"-select palette-", name:""},
				{caption:"(Default)", name:"(default)"}
			];
			var tagged = store.getTaggedTiddlers("palette","title");
			for(var t=0; t<tagged.length; t++)
				result.push({caption:tagged[t].title, name:tagged[t].title});
			return result;
		},

		onPaletteChange: function(e) {
			config.macros.selectPalette.updatePalette(this.value);
			return true;
		},

		updatePalette: function(title) {
			if (title != "") {
				store.deleteTiddler("ColorPalette");
				if (title != "(default)")
					store.saveTiddler("ColorPalette","ColorPalette",store.getTiddlerText(title),
								config.options.txtUserName,undefined,"");
				this.refreshPalette();
				if(config.options.chkAutoSave)
					saveChanges(true);
			}
		},

		refreshPalette: function() {
			config.macros.refreshDisplay.onClick();
		}
	}
});

//}}}
The "Editing" menu lets you set a play marker at the current position of the Start marker.  The 3 markers can be set using the number keys 1-2-3.  This allows you to jump to a particular position of a longer video immediately, with out scrolling and searching.
Snap points (HotOffsets) server to mark certain positions in the movie to doc other objects there "magnetically".  For instance, you can set a snap point at the position of a door falling shut, in order to position an audio object of a door closing there.

!How to use snapoints
*Select a Video Object
*Set the start marker to the position where you would like to set the snap point.
*In the {{{Edit}}} menu select the option {{{Edit snap points->Set snap points}}}

A vertical line will now appear at the position of the start marker.  You can now drag & drop any other object to this position (audio objects, titles, fades, etc...)
+++[Setting up the Refactoring Tool]
You can download the [[refactor.vim|http://vim.sourceforge.net/scripts/script.php?script_id=208]] tool from vim's sourceforge site
===

+++[Setting up exuberant ctags]
The next two plugins I'm going to go over, both require that you have [[exuberant ctags|http://ctags.sourceforge.net/]] installed.  So lets install that first.

Go to their website: [[http://ctags.sourceforge.net/]] and download a copy, 
===

+++[Setting up the taglist.vim plugin]
>The "Tag List" plugin is a source code browser plugin for Vim and provides an overview of 
#Install taglist.vim by unziping it's contents into the various directories 
===
#Went to [[this website|http://www.microsoft.com/express/download/#webInstall]] and downloaded ''Visual Web Developer 2008 Express Edition''
#Closed all other programs and braced for installation.
#Opened the executable and installed.
**Installed the MSDN Express Library for Visual Studio 2008 (DL Size: 297 MB).
**Installed MS SQL Server 2005 Express Edition (x86) (DL Size: 36 MB)
**Installed MS Silverlight Runtime (DL Size: 1.4 MB)
**Told installer to install it all in {{{C:\ndev\Microsoft Visual Studio 9.0\}}}
***//(Disk Space Requirements 2.8 GB!?!??!) - Are you kidding me?!?! Oh well here we go...//
***It seems to me it's going to be a while...
#Hmm has an entire day passed?  Oh look it's done!
<<tabs "dasfewafeasce323"
"4.1" "Adding Names to dnsmasq" "Adding dns names to dnsmasq - Setting up Accessible Virtualhosts - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq"
"4.2" "Adding an equivalent virtual host to Apache" "Adding a Virtual Host to Apache - Setting up Accessible Virtualhosts - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq"
>>
#You need both libjson and mia packages.
#Packages that mia needs:
##iptables-mod-ipopt
##kmod-ipt-ipopt
##iptables-mod-nat-extra
##kmod-ipt-nat-extra
##libpthread
#Choose the appropriate ipk file for your openwrt firmware
#Modify /etc/init.d/mia script, change the {{{WAN_IF}}} and {{{LAN_IF}}} variables to your wan and lan interfaces if needed.
#Enable mia initscript.
#Access your router's UI: http://<ip-address>/mia/index.html

(Password) Authentication for uhttp:
#Create a file /etc/httpd.conf
#Put the following line in httpd.conf:
{{{
/mia:<username>:<password>
}}}

Where username and password are the credentials that you want to log in as.

Sources: 
*[[link 1|https://hoverbear.org/2014/11/23/openwrt-in-virtualbox/]]
*[[link 2|https://wiki.openwrt.org/doc/howto/virtualbox]]

#On your host:
##Retrieve the image using 

{{{
curl https://downloads.openwrt.org/chaos_calmer/15.05/x86/generic/openwrt-15.05-x86-generic-combined-ext4.img.gz \
 | gunzip \
 | VBoxManage convertfromraw --format VDI stdin ./openwrt.15.05-x86-generic-combined-ex4.vdi <dynamic-size-in-bytes>
}}}

512000000

{{{
VBoxManage createvm --name <whatever-ya-wanna-name-this> --register
}}}

{{{
VBoxManage modifyvm <whatever-ya-wanna-name-this> --description "A VM to build an OpenWRT Vagrant box." --ostype "Linux26" --memory "512" --cpus "1" --nic1 "intnet" --intnet1 "port1" --nic2 "intnet" --intnet2 "port2" --nic3 "intnet" --intnet3 "port3" --nic4 "nat" --natpf4 "ssh,tcp,,2222,,22" --natpf4 "luci,tcp,,8080,,80" --uart1 "0x3F8" "4" --uartmode1 "disconnected"
}}}

{{{
VBoxManage storagectl <whatever-ya-wanna-name-this> --name="SATA Controller" --add "sata" --portcount "4" --hostiocache "on" --bootable "on" 
}}}

{{{
VBoxManage storageattach <whatever-ya-wanna-name-this> --storagectl "SATA Controller" --port "1" --type "hdd" --nonrotational "on" --medium /mnt/vm_lab/openwrtlab/openwrt.15.05-x86-generic-combined-ex4.vdi
}}}

{{{
VBoxManage startvm home-lab-openwrt-gw --type "gui"
}}}

{{{
VBoxManage modifyvm home-lab-openwrt-gw --natdnshostresolver4 on
}}}
Make the nat work to resolve dns

{{{
...
config interface 'wan'
    option ifname     'eth3'
    option proto       'dhcp'
...
}}}
Edit {{{/etc/config/network}}} to get the NAT connection working...remember it's eth3 since it's adapter 4.

{{{
$ /etc/init.d/network restart
$ ping 8.8.8.8
$ ping www.google.com
}}}
Restart the network daemon


{{{
opkg update
}}}

{{{
passwd
}}}

!!!Setting up a domain for dnsmasq
The root domain that we will be serving pages up from is {{{leerdomain.localLAN}}}, this will be the suffix that we add to any machines that we have on our network.  In order to do this look for the line in the configuration file that reads
{{{
# Set the domain for dnsmasq this is optional but if it is set it 
# does the following things
# 1) Allows DHCP hosts to have fully qualified domain names as long
#      as the domain part matches this setting
# 2) Sets the "domain" DHCP option thereby potentially setting the 
#      domain of all systems configured by DHCP
# 3) Provides the domain part for "expand-hosts"
}}}
And below it make sure the {{{domain}}} setting is commented out and set to the domain suffix of your choice.
{{{
domain=leerdomain.localLAN
}}}
<<slider "Introduction - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq" "Introduction - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq" "+Introduction" >>

<<tabs "sdfaerqwer"
"0" "1 - Introduction" "1 - Introduction - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq"
"1" "Writing the Deployment Mechanism" "Deployment - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq"
"2" "Putting Version Control in Place with GIT" "GIT - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq"
"3" "Local Setup" "Local Setup - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq"
"4" "Setting up Accessible Virtualhosts on Apache" "Setting up Accessible Virtualhosts - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq"
"5" "Deploying Settings" "Deploying Settings - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq"
>>

Now this will serve as our setup for the current network.  Once the settings are deployed all we need to do is point each of the clients towards the dns server when we want to test them for development using a testing framework like 



!Pointing our clients at the dnsmasq dns server

Now this step will have to occur everytime we setup 

[[dom inspect link|http://www.itworld.com/mobile-wireless/349853/how-remotely-inspect-dom-mobile-device]]

{{{
git branches
git checkout <branch-name>

dig @8.8.8.8 yields no result....
dig @127.0.0.1 yields an answer.
}}}

#Downloaded and installed [[xampplite|http://sourceforge.net/project/downloading.php?groupname=xampp&filename=xampplite-win32-1.7.0.exe&use_mirror=internap]]
#
!@@color(red):Draft@@
!!Open the Firefox Profile Editor (for both Firefox 2 and 3)
{{{
"%FF_HOME%\firefox.exe" -profilemanager -no-remote
}}}

!!Opening a Profile So that it's opened in either FF2 or FF3 using a Windows Shortcut...

!!!Opening a Profile in FF3
> Just be sure the executable for Firefox 3 is being executed in the shortcut.
{{{
"C:\Program Files\Mozilla Firefox 3\firefox.exe" -P "WebDevFF3" -no-remote
}}}
{{{
import freemind.main.Tools.BooleanHolder 

 new File('file.csv').splitEachLine(',') { fields ->  println fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3];   

	def newNode = c.addNewNode(node, 0,  true)  newNode.setText(fields[0]); 
}
}}}
leeand00's blog journal
leeand00's Blog
*[[CyberCoders.com|http://www.cybercoders.com]]
*[[dice.com|http://www.dice.com]]
*[[jobster|http://www.jobster.com/]]
*[[monster.com|http://www.monster.com]]
*[[collegegrad.com|http://www.collegegrad.com]]
Software was specifically suggested by Allen as helpful and important for implementing GTD, including:
*digital outlining
*brainstorming
*project planning

However in 2001, Allen bemoaned the general lack of "good 'project management' tools, " concluding:

>...less structured and more functional applications will emerge in the coming years, based on the wys we naturally thing and plan.

Since that prediction, a virtual explosion of GTD-supporting software has emerged; in April 2008, more than 100 applications provided the core features for implementing [[Getting Things Done]] These tools now range from simple list managers to collaborative web services, both free and commercial, for all popular platforms and devices.  Much of this software specifically automates or reinforces the GTD methodology of collecting, processing, organizing, reviewing, and doing.
Things to be done at some point, but not right now. 

!!!Examples:
*Learn Chinese
*Take a diving holiday
<html>
<body>
<table>
<tr>
<td>
<a href="http://twitpic.com/4f7wm" title="Awesome Coffeeshop at 
109 E High St, Womelsdorf, PA where I... on Twitpic"><img src="http://twitpic.com/show/thumb/4f7wm.jpg" width="150" height="150" alt="Awesome Coffeeshop at 
109 E High St, Womelsdorf, PA where I... on Twitpic"></a><br/>
<a href="http://www.crave8.com/">The Crave Website</a>
</td>
<td>
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?q=crave8&amp;oe=utf-8&amp;client=firefox-a&amp;ie=UTF8&amp;hl=en&amp;ll=40.372901,-76.177139&amp;spn=0.006442,0.014119&amp;z=14&amp;iwloc=A&amp;cid=7402259740998695190&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps?q=crave8&amp;oe=utf-8&amp;client=firefox-a&amp;ie=UTF8&amp;hl=en&amp;ll=40.372901,-76.177139&amp;spn=0.006442,0.014119&amp;z=14&amp;iwloc=A&amp;cid=7402259740998695190&amp;source=embed" style="color:#0000FF;text-align:left">View Larger Map</a></small>
</td>
</tr>
</table>
</body>
</html>
If you ever work for a bunch of people who refuse to use the STL or string libraries of C++ here is some code for splitting strings apart and returning them as 2D character array.  

''If you use it send me some love!  (leave a comment)''

!Code
<<tabs "7/16/20082:07 PMs" 
     "main.cpp" "main.cpp - Split for C++ Test Case" "main.cpp - Split for C++ Test Case"
      "split.cpp" "split.cpp" "split.cpp"
      "split.h" "split.h" "split.h"

>>

!Output:
{{{
Original String: pe|butter|jelly|cheese|log|beef|regano|tea
pe
butter
jelly
cheese
log
beef
regano
tea
Press any key to continue
}}}
Objects may be split to separate each individual component into an independent object for editing.  

To use this function, you select the option {{{edit->splitting objects}}}

[[also see|Rejoining Objects]]
''Definition:''
>A sequence of visible tiddlers.
/*{{{*/
div.viewer {
   font-family:Verdana;
   line-height:190%;
   font-size: 16px;
   text-indent:1.5em;
}

div.viewer li {
   text-indent:0em;
}

/*}}}*/
/*{{{*/
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,h4,h5,h6 {color: #401F1C; background:transparent;}
h2 {color: #733630; background: transparent;}
h3 {color: #00FF00; background: transparent;}
h1 {border-bottom:2px solid #3D4025;}
h2,h3 {border-bottom:1px solid #3D4025;}

.button {color: #401F1C; 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]]; border-bottom: 10px solid #733630;}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {width: 100%; background-color: #401F1C;  color: #FFF;}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}

.tabSelected{color:[[ColorPalette::PrimaryDark]];
	background: #8C8564;
	border-left:1px solid [[ColorPalette::TertiaryLight]];
	border-top:1px solid [[ColorPalette::TertiaryLight]];
	border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:#D9BEA7; background-color:#401F1C; border-bottom: 1px solid [[ColorPalette::TertiaryLight]]}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background: #8C8564; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents pre {
color: black;
}
.tabContents .button {border:0;}

#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background-color: #8C8564;}
#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: #8C8564; 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-color: #8C8564;}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:#8C8564; 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: #734C29;}

.title {color: #333333;}
.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:#8C8564;}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color: #401F1C;}
.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 thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}

.viewer th {
   background-color: #401F1C;
   color: white;
   font-weight: strong;
}

.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 {background-color: yellow;}

.marked {background:yellow;}

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

#backstageArea {background-color: black; color: white;}
#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:black;}
#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)';}
/*}}}*/
''Definition:''
>The Tiddler that provides the tiddlywiki with it's stylesheets/CSS information.
[[article link|http://www.ceti.pl/~tss/smce/help.htm]]

!Learn proceeds in three stages:
#Repeating items scheduled for the current day (REPETITION).
#MEMORIZING new items.  Before you start this stage, you will be asked {{{Do you want to learn new material?}}}
#Repeating items that caused recall problems in stages 1-2 (FINAL DRILL).

Here is the best algorithm for using SuperMemo (tried successfully by thousands of users in several dozen countries of the world):
#Choose the daily working time from 5 to 45 minutes.
##If {{{To repeat}}} in your database(s) is different from zero, repeat outstanding items until {{{To Repeat}}} equals zero (use Learn).
##If you have got some time left for work with SuperMemo, and if {{{Pending}}} in your database is different from zero, memorize new items until Pending equals zero or until your time is up (whichever comes first).
##If you have got some time left for work with SuperMemo, add new items collected in (the step below) {{{use Add New}}}.  If your time is limited, select only the most important items.  Keep unused items for later use.  Continue appending new items until your time is up.
#In the course of your ordinary daily activities collect items that you want to remember (facts, figures, rules, vocabulary, names, phones, etc...).  For examples, see sample databases.

!Summary
the key to effective learning is minimizing the number of repetitions necessary to retain knowledge in your memory.  SuperMemo minimizes time needed for learning by approximating optimal intervals that should separate individual repetitions.  Knowledge memorized with SuperMemo must be split into smallest possible pieces called items.  Using SuperMemo, you must not forget that the quality of learning will depend on the selection of the material and the way it is split into individual items.

The remainder of the screen is divided into five parts:
#''Question'' field, which displays the current question (this field can be used to edit the question)
#''Answer'' field, which displays the current answer (this field is blank at times when the learner is supposed to recall the answer during a repetition cycle).
#''Statistics'' field, which contains the following data:
*Collection name - name of collection in use.
*Total number of items in the collection.
*Memorized - number of memorized items in the collection.
*Pending - number of pending items in the pending queue.
*To repeat: number of items to repeat and to drill.
**For example, if there are 48+5 items to repeat, you still have 48 outstanding items repeated again in the final drill.
***In other words there are at least 48+5=53 repetitions to be made on the present day.
#''Item'' statistics field with item parameters which characterize the currently displayed item:
*''Number'' - number of currently displayed item.
*''Last rep'' - date of a previous repetion of the current item.
*''Interval'' - interval between the last and the next repetion.
*''Next rep.'' - date of next repetition.
*(x) - number of repetitions which indicates that the displayed item has been repeated x times since it has been introduced into the collection or since it has been reset.
#Below the Answer window there is some place for miscellaneous button sets (quick buttons).  When there is no collection opened, there are up to three buttons with recent collection names.  So you can quickly open a recently used collection.

!SuperMemo CE/SP Basics
The main function of SuperMemo is to supervise the process of learning pairs of questions and answers
[[edit|Switching Networks - Network Management - Local Setup - Setting up a mobile-mobile development environment in linux with GIT and DNSMasq]]
>Alot of times I sync my files between work and my home computer, mainly my Tiddlywiki's that I use to learn about technology.   I usually copy my directory of personal wiki's to a thumb drive and then go back home, and copy them back onto my home computer, just incase I do a tutorial on the weekend that I could use back at work.  

>Of course I could just make a new copy of the entire directory, but after my Intranet of personal wiki's grew over to a size over a gigabyte, it became somewhat cumbersome and slow to copy and entire gigabyte of data between my home and work computer every day. 

>After consulting [[del.icio.us|http://del.icio.us/]] I found a program called SyncBack, which allows you to [[synchronize|synchronizing files]] two directories of files.   SyncBack is available from [[2brightsparks.com|http://www.2brightsparks.com/]].  

>I'm using the freeware edition of SyncBack, and the tutorial that they have on the website is only for SyncBackSE (which consequently isn't freeware), so I'm writing my own tutorial to so I can learn how to use SyncBackSE.  

!Creating a New Profile
#I've started by opening SyncBack freeware and selecting {{{Profiles->New}}} from the menu to begin creating a new profile.  
#Next the Profile type dialog is presented, and I have selected the radio button labeled, "''Synchronization: for keeping the contents of two directories identical''" and clicked "''__O__K''"
#I've given my new profile the name "''AndysIntranet''"
#The setup dialog for "''AndysIntranet''" is now displayed and at the top two browse textboxes are displayed:
**''Source:'' and ''Destination:''<br/><br/>I plan to use ''Source'' for the directory on my home computer, and ''Destination'' for the directory on my thumb drive which I take to work.<br/><br/> So, after plugging in my thumb drive, I select the two directories; 
#Next under the ''"Simple"'' tab, Sync
/***
|Name|TagGridPlugin|
|Source|http://www.TiddlyTools.com/#TagGridPlugin|
|Version|1.6.5|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Description|Generate a cross-referenced grid of tiddlers, based on tag values|

!!!!!Usage
<<<
Specify which tags should be used for the columns and rows of the grid to ''see a particular cross-section'' of your document, or use //all// tags to ''get an instant 'birds-eye' overview of your entire document''.

Each grid cell contains a label with the number of tiddlers in that grid cell.  Click the number to ''show a popup of cross-indexed tiddler titles''.  Grid cells with no matching tiddlers contain a "-" (dash) that can be clicked to ''create new tiddlers automatically pre-tagged with that cell's combination of tags.''

To keep the grid display from getting very wide, the grid tags used as column headings are not initially displayed.  ''Click directly above the column to show/hide that heading'', or toggle all column headings at once by clicking the {{{>>>}}} symbol in the upper-left corner of the grid display.  Clicking a displayed row/column tag heading opens the tiddler whose title is that tag name.

The macro syntax to include a tag grid in your tiddler content is:
{{{<<tagGrid columntags exclude:tags rowtags exclude:tags startcolor endcolor open inline colorall sortrows sortcolumns>>}}}
where:

''rowtags/columntags'' are each:
* a ''quoted'' space-separated lists of tags: {{{"tag1 tag2 [[tag3 with spaces]] tag4 ..."}}}
* //or,// a tiddler name preceded by "+": {{{+TiddlerName}}} where the specified tiddler contains a space-separated list of tags (same format as DefaultTiddlers)
* //or,// a tiddler name preceded by "@": {{{@TiddlerName}}} to use the same tags as those that are tagging the specified tiddler (i.e., the tiddler is a representative example of the kind of tags you are interested in cross-indexing)
* //or,// a tag name preceded by "=": {{{=tagName}}} to use the group of tags that are themselves, in turn, tagged with the indicated tagName (i.e., useful when you have defined a 'meta-tag'/classification system, a.k.a. "TagglyTagging" techniques)
* //or,// keyword: {{{all}}} (use all tags)
* if only columntags are specified, rows display all tags by default
* if no parameters are provided, both rows and columns display all tags
''exclude:tag tag tag''
* This optional parameter can be placed immediately following the columntags and/or rowtags parameter to selectively omit certain tags from the grid display.  You can exclude several tags at once by enclosing the entire parameter in quotes, e.g.: {{{"exclude:tag tag tag"}}}  
''startcolor/endcolor''
* describes a ''color gradient'' where the grid cell background color is calculated as a combination of  the starting and ending colors, in proportion to the cell value
* colors are specified using 6-digit hex-coded RGB values (e.g., red="FF0000", green="00FF00", blue="0000FF")
* the cells with the lowest number use the starting background color
* the cells with the highest number use the ending background color
* if one or both color values are omitted, all cells have //transparent// backgrounds
''open''
* causes the grid column headings to be shown when the grid is initially displayed (you can hide all the column headings using the &lArr; link, or just toggle one heading by clicking //near// the tag text.  (Note: clicking //on// the tag text will open the tiddler with the same name as the tag.
''inline''
* by default, cells with cross-indexed tiddlers display the total number of tiddlers in the cell.  When this number is clicked, a popup is displayed, containing links to the individual tiddlers in that cell.  However, the popup display makes it difficult to compare the contents of two or more cells because only one popup can be displayed at any given time.  To address this, you can use the ''inline'' keyword parameter to ''display the grid contents directly in the cells'', without using any popups.  While this can make the grid display significantly larger (to fit the text of each cell), it also enables quick comparisons between cells.  Inline rendering of the cell contents also makes it possible to print the entire grid contents for easy off-line reporting and analysis.
''colorall''
* by default, cells with no cross-indexed tiddlers have a //transparent// background (e.g., the tiddler's background colors shows through).  However, this can create a 'patchwork' appearance to the grid.  Add the ''colorall'' keyword parameter to force these 'empty' cells to use the specified startcolor instead of a transparent background.
''sortrows/sortcolumns''
* rowtags and columntags are normally displayed in the order specified in the macro parameters, or in alphabetical order when ''all'' is used to generate the list of tags.  Adding the ''sortrows'' and/or ''sortcolumns'' keyword parameters will sort the tags in decending order so that the most frequently used tags are displayed first (i.e., towards the top-left corner).
<<<
!!!!!Examples
<<<
{{{<<tagGrid +FavoriteTags +FavoriteTags eeeeff 3333ff colorall sortrows sortcolumns>>}}}
<<tagGrid +FavoriteTags +FavoriteTags eeeeff 3333ff colorall sortrows sortcolumns>>
<<<
!!!!!Installation
<<<
import (or copy/paste) the following tiddlers into your document:
''TagGridPlugin'' (tagged with <<tag systemConfig>>)
^^documentation and javascript for this plugin^^
<<<
!!!!!Revision History
<<<
''2007.07.24 [1.6.5]'' corrected handling for @TiddlerName with excluded tags, so that excluded tags are not actually removed from the @TiddlerName source tiddler.
''2007.07.04 [1.6.4]'' fix fatal "unterminated string" popup error caused by tiddlers containing double-quotes (now being encoded using "&quot;")
''2007.03.08 [1.6.3]'' use global flag to replace ALL single-quotes in tiddler titles (fixes popups where more than one tiddler title had a ' in it)
''2007.03.06 [1.6.2]'' removed debugging alert()s... D'oh!
''2007.03.06 [1.6.1]'' fix handling for excluding tags (was only removing last tag in list)
''2007.03.05 [1.6.0]'' added "exclude:tag tag tag..." parameter handling for both rows and columns
''2006.12.20 [1.5.1]'' fixed bordercolor calculation and CSS so grid correctly uses midtone-color for table cell borders
''2006.12.09 [1.5.0]'' added 'inline' keyword parameter to display tiddler titles directly in grid cells (in addition to popup)
''2006.11.03 [1.4.0]'' changed {{{=TiddlerName}}} param usage to {{{@TiddlerName}}} and added {{{=tagName}}} usage for specifying TagglyTagging "meta-tagged" groups of tag (based on ideas by GregWolff)
''2006.11.03 [1.3.3]'' performance optimization: calculate maximum cross-index value while building grid (eliminates extra calc during colormapping)
''2006.10.29 [1.3.2]'' fixes for IE: in decToHex and hexToDec, use substr() instead array indexing.  Also, use {{{>>>}}} and {{{<<<}}} instead of {{{&rArr;}}} and {{{&lArr;}}} for 'toggle headings' link text
''2006.10.29 [1.3.1]'' suppress border around table
''2006.10.21 [1.3.0]'' added {{{=TiddlerName}}} and {{{open}}} parameter handling
''2006.10.17 [1.2.1]'' fixed row/column sorting to properly sort undefined tags to the end of the list
''2006.10.16 [1.2.0]'' added optional row/column sorting and improved parameter parsing
''2006.10.15 [1.1.0]'' added features: background gradients, collapsible column headings, eliminated table borders around row/column headings
''2006.10.06 [1.0.1]'' calls to displayTiddler() use 'this' instead of 'null'
''2006.10.05 [1.0.0]'' initial release (converted from prototype inline script)
<<<
!!!!!Credits
<<<
This feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]
<<<
!!!!!Code
***/
//{{{
version.extensions.tagGrid= {major: 1, minor: 6, revision: 5, date: new Date(2007,7,24)};
config.macros.tagGrid= {
	verbose:false, // display debugging/performance feedback messages
	warn:true,	// display workload warning message before rendering
	threshold:300000, // workload warning threshold (workload=# of comparisons to perform)
	handler:
	function(place,macroName,params) {

		// get columns
		var columntags=params.shift(); var cols=[];
		if ((!columntags)||(columntags=="all")) // no param (or "all") - use all tags
			{ var all=store.getTags(); for (i=0;i<all.length;i++) cols.push(all[i][0]); }
		else if (columntags.substr(0,1)=="+") // get tag list from tiddler content
			{ var t=store.getTiddlerText(columntags.substr(1)); if (t&&t.length) cols=t.readBracketedList(); }
		else if (columntags.substr(0,1)=="@") // get tag list from tiddler tags
			{ var t=store.getTiddler(columntags.substr(1)); if (t&&t.tags) for (i=0;i<t.tags.length;i++) cols.push(t.tags[i]); }
		else if (columntags.substr(0,1)=="=")  // get names of "tagtiddlers" tagged with meta-tag
			{ var t=store.getTaggedTiddlers(columntags.substr(1)); for (i=0;i<t.length;i++) cols.push(t[i].title); }
		else cols=columntags.readBracketedList();
		if (!cols.length) { wikify("~TagGrid: no columns to display\n",place); return; }

		// exclude specific column tags
		if (params[0]&&params[0].substr(0,8)=="exclude:") {
			var ex=params.shift().substr(8).readBracketedList();
			for (x=0; x<ex.length; x++) {
				var i=cols.indexOf(ex[x]);
				if (i!=-1) cols.splice(i,1); // remove excluded tags
			}
		}

		// get rows
		var rowtags=params.shift(); var rows=[];
		if ((!rowtags)||(rowtags=="all")) // no param (or "all") - use all tags
			{ var all=store.getTags(); for (i=0;i<all.length;i++) rows.push(all[i][0]); }
		else if (rowtags.substr(0,1)=="+") // get tag list from tiddler content
			{ var t=store.getTiddlerText(rowtags.substr(1)); if (t&&t.length) rows=t.readBracketedList(); }
		else if (rowtags.substr(0,1)=="@") // get tag list from tiddler tags
			{ var t=store.getTiddler(rowtags.substr(1)); if (t&&t.tags) for (i=0;i<t.tags.length;i++) rows.push(t.tags[i]); }
		else if (rowtags.substr(0,1)=="=")  // get names of "tagtiddlers" tagged with meta-tag
			{ var t=store.getTaggedTiddlers(rowtags.substr(1)); for (i=0;i<t.length;i++) rows.push(t[i].title); }
		else rows=rowtags.readBracketedList();
		if (!rows.length) { wikify("~TagGrid: no rows to display\n",place); return; }

		// exclude specific row tags
		if (params[0]&&params[0].substr(0,8)=="exclude:") {
			var ex=params.shift().substr(8).readBracketedList();
		 	for (x=0; x<ex.length; x++) {
				var i=rows.indexOf(ex[x]);
				if (i!=-1) rows.splice(i,1); // remove excluded tags
			}
		}

		// get optional flag keywords and/or color gradient endpoints
		var defOpen=false;
		var colorAll=false;
		var sortRows=false;
		var sortColumns=false;
		var showInline=false;
		var p=params.shift();
		while (p) {
			switch (p.toUpperCase()) {
				case "OPEN":
					defOpen=true; break;
				case "COLORALL":
					colorAll=true; break;
				case "SORTROWS":
					sortRows=true; break;
				case "SORTCOLUMNS":
					sortColumns=true; break;
				case "INLINE":
					showInline=true; break;
				default:
					if (startcolor==undefined) var startcolor=p;
					else if (endcolor==undefined) var endcolor=p;
					else alert("unexpected parameter: '"+p+"'");
					break;
			}
			p=params.shift();
		}

		// get the tiddlers
		var tiddlers=store.getTiddlers("modified","excludeLists");

		// show "workload warning"... get permission to proceed...
		if (this.warn) {
			var workload=rows.length*cols.length*tiddlers.length;
			var warning="Cross-indexing %0 tiddlers in %1 row%3 by %2 column%4...\n(up to %5 comparisons MAY be needed)\n\n";
			warning+="This may take a while.  It is OK to proceed?";
			warning=warning.format([tiddlers.length,rows.length,cols.length,rows.length!=1?"s":"",cols.length!=1?"s":"",workload]);
			if (workload>this.threshold&&!confirm(warning)) { wikify("~TagGrid: display cancelled by user\n",place); return; }
		}

		// sort row and column tags in decending order, by frequency of use
		if (sortRows||sortColumns) {
			var tags=store.getTags(); var tagcount={}; for (i=0; i<tags.length; i++) tagcount[tags[i][0]]=tags[i][1];
			if (sortRows) rows.sort(function(a,b){return (!tagcount[a]||tagcount[a]<tagcount[b])?+1:(tagcount[a]==tagcount[b]?0:-1);});
			if (sortColumns) cols.sort(function(a,b){return (!tagcount[a]||tagcount[a]<tagcount[b])?+1:(tagcount[a]==tagcount[b]?0:-1);});
		}

		// cross-index tiddlers by tags, building lists of tiddler titles into grid[i][j] (sparse array)
		var time1=new Date();
		var grid=new Array();
		var max=0;  // track maximum cross-index value
		for (var t=0;t<tiddlers.length;t++) { // for each tiddler
			for (var i=0;i<tiddlers[t].tags.length;i++) { // for each tag in tiddler
				var row=rows.find(tiddlers[t].tags[i]); if (row==null) continue; // this tag not in rows
				if (!grid[row]) grid[row]=new Array(); // create row as needed
				for (var j=0;j<tiddlers[t].tags.length;j++) {  // for each tag in tiddler
					var col=cols.find(tiddlers[t].tags[j]); if (col==null) continue; // this tag not in columns
					if (!grid[row][col]) grid[row][col]=new Array(); // create cell
					grid[row][col].push("[["+tiddlers[t].title+"]]"); // add tiddler title to cell
					if (max<grid[row][col].length) max=grid[row][col].length; // check for new maximum
				}
			}
		}

		// compute gradient color map
		if (startcolor && endcolor) {
			var digits="0123456789ABCDEF";
			function hexToDec(s) // 2-digit conversion
				{ return digits.indexOf(s.substr(0,1).toUpperCase())*16+digits.indexOf(s.substr(1,1).toUpperCase()); }
			function decToHex(d) // 2-digit conversion
				{ return digits.substr(Math.floor(d/16),1)+digits.substr(d%16,1); }
			var steps=max;
			var startR=hexToDec(startcolor.substr(0,2));
			var startG=hexToDec(startcolor.substr(2,2));
			var startB=hexToDec(startcolor.substr(4,2));
			var endR=hexToDec(endcolor.substr(0,2));
			var endG=hexToDec(endcolor.substr(2,2));
			var endB=hexToDec(endcolor.substr(4,2));
			var rangeR=endR-startR;
			var rangeG=endG-startG;
			var rangeB=endB-startB;
			var stepR=rangeR/steps; if (stepR>0) stepR=Math.floor(stepR); else stepR=Math.ceil(stepR);
			var stepG=rangeG/steps; if (stepG>0) stepG=Math.floor(stepG); else stepG=Math.ceil(stepG);
			var stepB=rangeB/steps; if (stepB>0) stepB=Math.floor(stepB); else stepB=Math.ceil(stepB);
			var colors=[];
			colors[0]=startcolor;
			for (var i=1; i<steps; i++)
				colors[i]=decToHex(startR+stepR*i)+decToHex(startG+stepG*i)+decToHex(startB+stepB*i);
			colors[steps-1]=endcolor; // fixup for roundoff error
		}

		// generate HTML table containing popups (and optional inline links)
		var time2=new Date();
		var out="<html><table cellpadding='0' cellspacing='0' style='border:0;border-collapse:collapse'>";
		// column headings
		out+="<tr style='border:0;'><td style='text-align:right;border:0'>";
		out+="<a href='' style='font-size:80%;'";
		out+="	title='show all column headings'";
		out+="	onclick='return config.macros.tagGrid.toggleAllColumns(this,event,"+defOpen+")'>"+(defOpen?"&lt;&lt;&lt;":"&gt;&gt;&gt;")+"</a>";
		out+="</td>";
		for (var i=0;i<cols.length;i++) {
			out+="<td style='text-align:center;cursor:pointer;border:0;padding-left:2px;padding-right:2px' ";
			out+="	title='show/hide column heading' ";
			out+="	onclick='return config.macros.tagGrid.toggleColumn(this,event)'>";
			out+="<a href='' title='open tag tiddler'";
			if (!defOpen) out+="	style='display:none' ";
			out+="	onclick='story.displayTiddler(this,\""+cols[i]+"\");return false'>"+cols[i]+"</a>";
			out+="</td>";
		}
		out+="</tr>";
		for (var i=0;i<rows.length;i++) {
			// row heading
			var rowlink="<a href='' onclick='story.displayTiddler(this,\""+rows[i]+"\");return false'>"+rows[i]+"</a>";
			out +="<tr style='border:0'>";
			out +="<td style='text-align:right;border:0;padding-right:2px'>"+rowlink+"</td>";
			for (var j=0;j<cols.length;j++) {
				var content="";
				var bgcolor="transparent"; // default empty cell background
				if (colors && colorAll) bgcolor="#"+colors[0]; // empty cell background uses startcolor 
				var bordercolor=""; // default border color (inherits current CSS value)
				if (colors) bordercolor="#"+colors[Math.floor(colors.length/2-1)]; // border uses mid-tone color 
				var linkstyle=""; // use default unless background color is very light or very dark
				var cross=(grid[i]&&grid[i][j])?grid[i][j]:null;
				var hdr=rows[i]+(rows[i]!=cols[j]?(" + "+cols[j]):"");
				if (cross) {
					// cross-tagged list of tiddlers (in a popup)
					var label="<b>"+cross.length+"</b>";
					var tip=hdr;
					var list=cross.sort().join(' ').replace(/'/g,"\\'").replace(/"/g,'&quot;');
					var handler="return config.macros.tagGrid.popup(this,event,\'"+rows[i]+"\',\'"+cols[j]+"\',\'"+list+"\')";
					if (colors) {
						var c=colors[cross.length-1];
						bgcolor="#"+c;
						linkstyle="style='color:#000000 !important'";
						// invert link color if background is very light
						if (c.substr(0,2)<"60" || c.substr(2,2)<"60" || c.substr(4,2)<"60")
							linkstyle="style='color:#FFFFFF !important'";
					}
				} else {
					var label="&nbsp;-&nbsp;";
					var tip="create a new tiddler tagged with: "+hdr;
					var list="";
					var handler="var title=config.macros.newTiddler.title;";
					handler+="story.displayTiddler(this,title,DEFAULT_EDIT_TEMPLATE);";
					handler+="story.setTiddlerTag(title,\'"+rows[i]+"\',+1);";
					handler+="story.setTiddlerTag(title,\'"+cols[j]+"\',+1);";
					handler+="story.focusTiddler(title,\'text\');return(false);";
				}
				if (!showInline || !cross)
					content+='<a href="javascript:;" '+linkstyle+' onclick="'+handler+'" title="'+tip+'">'+label+'</a>';
				if (showInline && cross) {
					content+="<div "+linkstyle+"><span style='white-space:nowrap'>";
					content+=hdr+" ("+label+")";
					content+="</span></div><hr>";
					// list tiddler links inline in table cell
					for (t=0; t<cross.length; t++) {
						var title=cross[t].replace(/\[\[/g,'').replace(/\]\]/g,'');
						var handler="story.displayTiddler(null,'"+title+"');return false;"
						var tid=store.getTiddler(title);
						var author=tid.modifier;
						var date=tid.modified.toLocaleString();
						var tip=config.messages.tiddlerLinkTooltip.format([title,author,date]);
						if (t>0) content+="<br>";
						content+='<a href="javascript:;" '+linkstyle+' onclick="'+handler+'" title="'+tip+'">'+title+'</a>';
					}
					content+="<hr>";
					handler="var tids=\'"+list+"\'.readBracketedList();story.displayTiddlers(this,tids); return(false);"
					tip="display all tiddlers tagged with: "+hdr;
					content+='<a href="javascript:;" '+linkstyle+' onclick="'+handler+'" title="'+tip+'">open all...</a><br>';
					handler="var title=config.macros.newTiddler.title;";
					handler+="story.displayTiddler(this,title,DEFAULT_EDIT_TEMPLATE);";
					handler+="story.setTiddlerTag(title,\'"+rows[i]+"\',+1);";
					handler+="story.setTiddlerTag(title,\'"+cols[j]+"\',+1);";
					handler+="story.focusTiddler(title,'text'); return(false);"
					tip="create a new tiddler tagged with: "+hdr;
					content+='<a href="javascript:;" '+linkstyle+' onclick="'+handler+'" title="'+tip+'">new tiddler...</a>';
				}
				out+="<td style='background-color:"+bgcolor+";border:1px solid "+bordercolor+" !important;text-align:center'>"+content+"</td>";
			}
			out+="</tr>";
		}
		out+="</table>";
		out+="</html>";
		createTiddlyElement(place,"span").innerHTML=out;
		var time3=new Date();
		if (this.verbose) displayMessage("TagGrid: scan="+(time2-time1)+", generate table="+(time3-time2));
	},
	popup:
	function(here,event,row,col,list) {
		var tids=list.replace(/&quot;/g,'"').readBracketedList();
		var hdr=row+(row!=col?(" AND "+col):"");
		if (tids.length) {
			var p=Popup.create(here); if (!p) return;
			createTiddlyText(p,hdr);
			createTiddlyElement(p,'hr');
			for(var t=0; t<tids.length; t++) createTiddlyLink(createTiddlyElement(p,'li'),tids[t],true);
			createTiddlyElement(p,'hr');
			createTiddlyButton(createTiddlyElement(p,'li'),
				"open all...", "display all tiddlers tagged with: "+hdr,
				function(){story.displayTiddlers(null,tids); return(false);});
			var a=createTiddlyButton(createTiddlyElement(p,'li'),
				"new tiddler...", "create a new tiddler tagged with: "+hdr,
				function(){
					var title=config.macros.newTiddler.title;
					story.displayTiddler(this,title,DEFAULT_EDIT_TEMPLATE);
					story.setTiddlerTag(title,this.getAttribute("rowtag"),+1);
					story.setTiddlerTag(title,this.getAttribute("coltag"),+1);
					story.focusTiddler(title,"text");
					return(false);
				});
			a.setAttribute("rowtag",row);
			a.setAttribute("coltag",col);
			Popup.show(p,false);
		}
		event.cancelBubble = true;
		if (event.stopPropagation) event.stopPropagation();
		return(false);
	},
	toggleAllColumns:
	function(here,event,defOpen) {
		if (here.expanded==undefined) here.expanded=defOpen;
		var ex=here.expanded=!here.expanded; 
		here.innerHTML=ex?"&lt;&lt;&lt;":"&gt;&gt;&gt;";
		here.title=ex?'hide all column headings':'show all column headings';
		var cells=here.parentNode.parentNode.getElementsByTagName("td");
		for (i=1; i<cells.length; i++) cells[i].firstChild.style.display=ex?"inline":"none";
		event.cancelBubble = true;
		if (event.stopPropagation) event.stopPropagation();
		return(false);
	},
	toggleColumn:
	function(here,event) {
		here.firstChild.style.display=(here.firstChild.style.display=="none")?"inline":"none";
		event.cancelBubble = true;
		if (event.stopPropagation) event.stopPropagation();
		return(false);
	}
};
//}}}
>Takes are handled like other objects within the Timeline mode. (See [[Timeline Mode]])

Takes are references to multimedia files or special objects (visuals, titles, etc...) and in clude the additional characteristics an object may possess:
*Start Point
*End Point
*Fades
*Effects Editing
*Effect Curves

Takes can be used for the following applications:
+++[1. ]
1.Divide your video into takes while loading into the arranger.  
1.1Begin by pressing the {{{Expl}}} button.

The Play/Rewind/Rewind/FF/ transport functions are now active for the selected function video file within the Media Pool.  The Extras button allows you to set the In and Out points for the scene.  The selected scene can subsequently be saved into the [[Takes Directory]].

''Set In/Out Point'' //I/O Keys//:
Determine the start and end of a take.

''Go to In/Out Point'' //Shift+I/Shift+O Keys//:
Skip quickly to the start/end of the take.

''Jump Between In/Out Points'' //Ctrl+K)://
Checkout the scene!

''Save Take'' //Shift+T//: 
The scene is saved to the [[Takes Directory]]
===<br/>
+++[2.]
All scenes found by the automatic scene recognition function can be stored in the [[Takes Directory]], enabling quick assembly of scenes.
===<br/>
+++[3.]
The [[Takes Directory]] may be used to as either a source or destination directory.  Use the [[Takes Directory]] to build complex storyboards:

You can place takes from the directory into the arranger, or drag new scenes into the [[Takes Directory]] - allowing you to build compolex storyboards along the way:

Individual scenes that make up the video are cut first, before being arranged on the tracks.
===<br/>
+++[4.]
Since Takes also contain corresponding effects, one can store different variations of the same movie with differnt effects in the [[Takes directory]].  The [[Takes directory]] uses very little memory in contrast to rendering out the actual video files!
===<br/>
>Today I'm trying to figure out the mysterious inner-workings of the tiddlywiki function [[wikifyStatic|http://trac.tiddlywiki.org/browser/Trunk/core/js/Wikifier.js]]

Typing in the following function call into a Javascript console (with the tiddlywiki code loaded):
{{{
var result = wikifyStatic("plain ''bold'' __underline__ //italic//");
}}}

>Yields the following value in the result variable:
{{{
plain <strong>bold</strong> <u>underline</u> <em>italic</em>
}}}

>Now the big question on my mind is how did we get here?

For this I'm going to peer into the tiddlywiki source code...

*''wikifyStatic [Wikifier.js] (Dependencies)''
**createTiddlyElement
**Tiddler Class [Tiddler.js] (Dependencies)
**Wikifier Class [Wikifier.js] (Dependencies)
***Formatter Class [Formatter.js] (Dependencies)
****createTiddlyText() [???.js]
**** [FormatterHelpers.js]

>Still thinking on this one....
{{{filename.js}}}
| ![[Responsibility|Responsibility CRC]] | ![[Collaborators|Collaborators CRC]] |
|Stores operands, opcode, result.<br/>Performs arithmetic operations<br/>|[[Calculator|Calculator Class]]  |
|Carries out control operations.<br/>Produces quantity stored.<br/>Reports Error.|[[DerivedEngines|Derived Engines Calculator Class]]|
''Definition:''
>A special kind of parameter that can be used to pass a type as an argument.

{{{template <class identifier> function_declaration;}}}
{{{template <typename identifier> function_declaration; }}}

The only difference between both prototypes is the use of either the keyword {{{class}}} or the keyword {{{typename}}}.  Its use is indistinct, since both expressions have exactly the same meaning and behave exactly the same way.
|!Date |! Score |
| [[2/22/2008|22 February 2008]] | 76% |
| [[2/22/2008|22 February 2008]] | 82% |
| [[2/22/2008|22 February 2008]] | 94% |
Testing Halo Scan Trackbacks

''Backtracks''
http://leeand00.wordpress.com/2008/04/23/c-psaccades-13/trackback/
>''Update:'' This is not real transaction processing.  Locking the tables only emulates real transaction processing.  But for small apps it's probably [[good enough|http://stackoverflow.com/questions/804740/testing-for-concurrency-and-or-transactional-integrity-in-a-web-application-with/805187#805187]].

Alright, my tests with JMeter confirm that the table locking worked (I think...)

All the code is contained in [[this zip file|http://drop.io/leeand00/asset/jmeterphptest-zip]].

First I cleared out all of the data from the database using a DELETE FROM query.

There were two data input csv files: 
|! {{{al_csv.cvs}}} - Data for the AL user |!  {{{bl_csv.cvs}}} - Data for the BL user |
| [img[http://i9.photobucket.com/albums/a58/Maskkkk/AL_CSV_Data.png]] | [img[http://i9.photobucket.com/albums/a58/Maskkkk/BL_CSV_Data.png]] |

Each file has seven records within it for it's specified user.

[img[http://i9.photobucket.com/albums/a58/Maskkkk/JMeterCSVSetup.png]]

In JMeter I ran 7 threads each for a dataset of 7 records each (stored in csv files) against the php/mysql code.

[img[http://i9.photobucket.com/albums/a58/Maskkkk/JMeterHTTPRequest.png]]

Then after the tests ran in JMETER I checked the data in the database for both users using the following query where :username is either the username 'AL' or the username 'BL' :

{{{
"SELECT xwu.xwu_username AS usr_name, far.`far_receipt_form` AS rof, far.`far_purge_pre_revisions_clinician` AS pprc, far.`far_purge_pre_revisions_office` AS ppro, far.`far_purge_all_forms` AS paf, far.`far_inserting_new_forms_into_peb` AS infoeb, far.`far_edu_staff_revise` AS esrf, far.`far_edu_staff_revise_date` AS esrf_date
FROM `XebraWebUser` xwu
INNER JOIN `FormAckResponse` far ON xwu.xwu_id = far.xwu_id
WHERE xwu.xwu_username = ':username'"
}}}

|! AL Data  |! BL Data  |
| [img[http://i9.photobucket.com/albums/a58/Maskkkk/AL_Query_Result.png]] | [img[http://i9.photobucket.com/albums/a58/Maskkkk/BL_Query_Result.png]] |

The results that came back from the database perfectly matched the csv files proving that the {{{TABLE LOCKING}}} worked!!!! 

I think so anyway...comments?
!Obituary 
[<img[http://i9.photobucket.com/albums/a58/Maskkkk/PostumsPassing.jpg]]
Today I am in mourning for the death of a 135 year old coffee substitute.   Yes Postum (maybe your grandfather drank it...mine did) has been taken off the market.  I only got to drink one jar of this stuff, it was a powdery brown substance with a consistency similar to Foldger's Crystals.   Since my recent falling out with caffeinated coffee, I needed some where to turn; Postum was my new drink, but alas it died and will be buried in the pages of Coffee Substitute history. Postum is succeeded by it's many drinkers, mostly in the Nevada/Utah areas; and it is noted by CVS News that many of them are suffering from post-postum depression.


!Funeral Services
*Services in morning of Postum will be held at any Mormon or 7th Day Adventist Churches in America.
*Services will also be held in the [[Yahoo Postum Users Group|http://health.groups.yahoo.com/group/Postum/]] and at the [[Facebook Postum Group|http://www.facebook.com/group.php?gid=2432843523]]
*Last jars and regards will be held on [[Ebay|http://www.ebay.com]] for the next few days.  The last jars of Postum will be sold in groups of 3 for between $65 and $175 dollars.
Yup, it appears that the mouse is just too fast to do/stop a fade-in each time a new item is moused over.  I just tired to do that and I found that it caused the other images that were hidden to display for a few seconds.  

So instead I set it up so that the fade in only occurs when the pictures are fading in and out.  When the mouse event fires to change the display, 
''Definition:''
>The tiddler that provides the over-all structure of the tiddlywiki application (html) and contains references to other tiddlers.
Well that was *ahem* interesting...

So I'm using Firefox, and I'm doing a bit of heavy wikiing for my new internship, when I decided that all of these actions are getting to repetitive and that it's time to automate.  I decided to use PhraseExpress (a Text Expander) to automate some of the shortcuts to and make everything go faster.  Well...all is going well, I've got a keyboard shortcut setup and I go to move the cursor from the TiddlyWiki Title field to the tags field, when low and behold I get stuck in the content of the text area leaving nothing but a tab there.  The tab I expected to move the cursor from the content field on to the tab field.  

So trying to figure out what was going on I turned to the Add-Ons one of which is tabinta, thinking that maybe it did something to my tab key.  Nope...no such luck, I closed all my Tiddlers, and nothing. Nothing.  That wasn't the problem.  

So I went to another website to check what happens when pressing the good old reliable shift+tab and tab for moving between fields with a textarea present and it worked as expected there, I could move from one to another with ease.  

So then a thought crossed my mind...maybe the problem was in Tiddlywiki...//and it was!//  The problem was solved by taking a visit to the shadowed [[AdvancedOptions]] tiddler and unchecking the box marked {{{Use the tab key to insert tab characters instead of moving between fields}}} or {{{chkInsertTabs}}} for short (although you won't find it in this old Tiddlyspot blog because it's not not there!)
Recently, I was writing a database for my recent internship at [[IDP|http://www.idpcreative.com/]].  The requirements for the database at the time were just to analyze the many options we had recently been give when selecting a [[Digital Edition Solution Provider|http://english.stackexchange.com/questions/69416/what-is-an-overall-term-for-a-service-that-publishes-digital-publications]] A [[Digital Edition Solution Provider|http://english.stackexchange.com/questions/69416/what-is-an-overall-term-for-a-service-that-publishes-digital-publications]] or a (DESP as I have been calling them),  is one of those massive cloud services that a publisher will use to push a pdf of their publication to a bunch of Android, Kindle and iOS devices for sale on their digital newsstands.  These [[DESPs|http://english.stackexchange.com/questions/69416/what-is-an-overall-term-for-a-service-that-publishes-digital-publications]] also allow you to add features such as audio, video, auto-linking, html5 ads and interactive features, and occasionally will additionally publish a mobile and desktop website as well.  This is scary as hell if you're a web developer like I have been for most of my career since a DESP is like a CMS that somebody injected with steroids, so that even somebody with the technical know how of the equivalent batting average of a team like the Cubs would be able to hit a content home run out of the park and break several windows outside the stadium...but I digress.  The main point I'm trying to make here is that these DESP systems are very, very new, and very very packed with features; however if I may plug for the web developers here, the only thing they are more full of than features is hidden fees, for every tiny bell and whistle you want to add to your page (well most of them are like that...); but anyway that's how I got started doing this database research project in the first place.  But that isn't the point of this post.  The point is that I learned something interesting about SQL (maybe a bit too late for this project, but there's always another one...) and this was the usefulness of SQLs INSERT-IN-SELECT Syntax and SQLs UPDATE-IN-SELECT statements when dealing with weak-entity relationships (i.e. the table that sits on the many end of two 1 to M relationships).  

Strangely these useful statements were never covered in the database class I took in college, but they sure are useful (to be fair we did cover the nested SELECT-IN-SELECT statenent however).  

While adding the feature portion of this database in which there was a many-to-many relation between the DESP table and the Features table, I came upon a problem:

[img[http://i9.photobucket.com/albums/a58/Maskkkk/2012-06-07_16-21-07.png]]

Everytime I read through some new piece of marketing about a DESP and found out it could do X, I had to add (at most) three new records in three different tables to the database:
#If it didn't exist already I would have to add a new record to the {{{DigitalEditionsSolutionProvider}}} table to represent the solution.
#Next, (provided the feature did not already have a record) I would add a new record to the {{{Features}}} table to represent a new feature we didn't know these babies could support.
#And this being a M-to-M relationship, the weak-entity between these two tables with no primary key of it's own the {{{DESP_Features_Weak}}} table, would get a record to connect the aforementioned two tables.  
**This weak-entity would also get a foreign key ({{{fk_dfws_id}}}) to a state table ({{{DESP_Features_Weak_State}}}) to store a record state that would specify:
***...that I didn't yet ask the sales rep if the particular DESP supported the feature yet...
***...that the the particular DESP does/doesn't or will eventually support the feature...

So this covers the cases in which we add a a new DESP or a new Feature, but what happens when we have just added a record to either side of the M-to-M and there is no record between them yet to specify if I have even asked the sales rep about that feature yet?  The relationship just isn't there between the tables...and my believe is that if we don't want to leave anybody out in the cold and have to use an OUTTER JOIN to find the missing features when we do a full comparsion using queries later, we have to find a way to create the missing records everytime we add a new record to either the {{{DigitalEditionSolutionProvider}}} or the {{{Features}}} table; because of course we want to know if a DESP does, doesn't or will eventually support the features so we can compare and choose one of them using queries.  

Myself being more of a programmer than a database administrator, wrote an entire OpenOffice macro to do just this...although it worked, it wasn't anywhere near as elegant as it would have been to use an [[SQL-INSERT-IN|http://www.databasejournal.com/features/mysql/article.php/3887386/MySQL-INSERT-Statement-Variations.htm]] to make this happen.  Using an [[SQL-INSERT-IN|http://www.databasejournal.com/features/mysql/article.php/3887386/MySQL-INSERT-Statement-Variations.htm]], could have saved me alot of trouble and a day or so of thought, failure, and debugging.  I realize this now...but I sure wish I would have thought to google the words INSERT-IN and UPDATE-IN earlier, as it would have been a much easier statement to write, and combined with a STORED PROCEDURE, could have made adding a new {{{DigitalEditionsSolutionProvider}}}, or {{{Features}}} record much more simple, elegant and compact.  But what can I tell you...I've spent most of my career on the front-end doing Javascript or working in MVC Frameworks, so some of this is just starting to rear it's elegant head to me.

!Tools and Techniques

A file that helps refresh one's memory each week with the outstanding tasks and projects.

One device that Allen suggests is the 
''Ticker File'' for organizing paperwork (also known as ''The 43 Folders'').  

Twelve folders are used to represent each month and an additional 31 folders are used to represent each day.  The folders are arranged to help remind the user of activities to be done by that day.
[[Story]]
>This is just an article that I am reading, __I did not write it!__
[[article link|http://softwareas.com/tiddlywiki-internals-1-of-3-architectural-concepts]]
!Overview
A Tiddlywiki is a collection of "tiddlers", small blocks of content typically a paragraph or so in length.  At any time, a subset of these tiddlers is displayed in the UI (between zero and the total number of stored tiddlers).

A special property of Tiddlywiki is that the entire application resides in a single HTML/Javascript/CSS file (it's the quintessential SPA [[Single Page Application|http://softwareas.com/code.google.com/p/trimpath/wiki/SinglePageApplications]].)  This is why you can save a Tiddlywiki locally and run it off a file:// URL and stick it on your iPod or novelty hamburger USB stick.

In the file, all the tiddlers are stored inside invisible DIVs, which are read on startup into a TiddlyWiki data structure.  When you invoke the save feature, for example by hitting the //"Save Changes"// control, the invisible DIVs are refreshed with the latest content from memory, and the entire file is written out to the hard drive.

TiddlyWiki is much more than a specialised wiki - due to its flexible architecture and the possibility of plugins, it is more like a platform.  [[Examples of apps built on TiddlyWiki|http://osmosoft.com/#Products]].

[[TiddlyWeb|http://www.tiddlywiki.org/wiki/TiddlyWeb]] though not discussed specifically here, marks an important step in the future of TiddlyWiki development.  It's a RESTful server of Tiddlers, which would allow for great flexibility in the kinds of UIs you end up with, as well as allowing non-UI clients.

!Anatomy of a Tiddlywiki
The image below shows an Tiddlywiki in editable mode.  As for the UI, you can see it consists a main area with two sidebars.  The main area is a [[Story]] - a story is a sequence of visible tiddlers.  

[img[http://img.skitch.com/20080811-kkjw7cg9brkrigncj4epec43gx.jpg]]

A lot of this is configurable by changing special tiddlers.  In particular, the tiddler called [[PageTemplate|The PageTemplate Tiddler]] provides the overall structure, with references to other tiddlers, and [[Stylesheet|Stylesheet Tiddler]] the CSS styles.

!Object-Oriented Concepts in Tiddlywiki
There are may ways to deal with classes, objects, and prototypes in JS - see [[Javascript:The Good Parts|http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742/ref=pd_sim_b_1/102-7069230-4404147]] by Doug Crockford and [[Pro Javascript Design Patterns|http://www.amazon.com/JavaScript-Design-Patterns-Recipes-Problem-Solution/dp/159059908X]] by Ross Harmes and Dustin Diaz.

Tiddlywiki's OO relies on the constructor function pattern, where you create new objects using the {{{new}}} keyword.

{{{
var tiddler = new Tiddler();
}}}
''Example Constructor Function Pattern in Javascript.''

In JS, {{{new Fn()}}} will magically does a couple of things that let us use the familiar (from C++, Java, etc) idiom above.  It sparks the creation of a blank object, then it conducts a special execution of {{{Fn()}}} in which {{{this}}} is superfrajalistically tied to the new-born object.  This leads us to an idiom that is both called and implemented as if it were, for the most part, a constructor in OO languages like C++ and Java.  The {{{Tiddler}}} construction function is defined as follows:

{{{
function Tiddler(title)
{
    this.title = title;
    this.text = "";
   ...
   return this;
}
}}}

In addition, the new Tiddler has a number of standard Tiddler methods associated with it, so I can call them in typical OO fashion, e.g. {{{tiddler.isTagged("happy")}}}.  The implementations refer to the specific instance using the {{{this}}} keyword.  In Javascript, this can easily be achieved via prototypes.  Therefore, subsequent to the constructor definition, we encounter in Tiddler.js a menagerie of method definitions like:

{{{
Tiddler.prototype.isTagged = function(tag)
{
     return this.tags.indexOf(tag) != -1;
}
}}}

All of the attributes above are public, but Tiddlywiki also uses closures to ensure some attributes are only available externally via declared methods.  For example, the tiddlers of a Tiddlywiki is declared as a local variable, so there's no direct reference to it outside the methods declared in the same scope.

{{{
function TiddlyWiki()
{
    var tiddlers = {} // Hashmap by name of tiddlers
    this.tiddlersUpdated = false;
    ...

    this.fetchTiddler = function(title) {
       var t = tiddlers[title];
       return t instanceof Tiddler ? t : null;
    };
}
}}}
''Fetching a tiddler''


The above methods will also be available on each instance created with {{{new}}}, just as with those declared using the prototype assignment.  They are used in exactly the same way.

The only difference is that all these functions are re-created with each new instance, so they will consume more memory.  That's the price we pay for the encapsulation.

You will also find static methods present (i.e. global functions attached to a constructor purely for the same of namespacing them) For example:
{{{
TiddlyWiki.isStandardField = function(name) 
{
    return TiddlyWiki.standardFieldAccess[name] != undefined;
}
}}}
''Sample static method''

Typically, a class will be contained in a single, dedicated, Javascript file (within the source code from which a Tiddlywiki is built).  However, the previous example was actually contained in [[TiddlerFields.js]] rather than [[TiddlyWiki.js]], so it seems that class definitions may be distributed across multiple files in some limited cases.

And that's how Tiddlywiki handles basic OO.

You'll also see some parts of TiddlyWiki enhancing built-in Javascript types by extending their prototype - for example, [[BasicTypes.js]] endows all Arrays with a contains method, and [[Dates.js]] sticks a {{{getAmPm()}}} method onto each Date that's created.  Number, Array, and Date receive a dozen or so new methods.

Last but not least, there's also a healthy does of inheritance in Tiddlywiki. JS inheritance is a whole new can of worms.  We see an example in AdaptorBase, which serves as the base class for server adaptor subclasses.  AdaptorBase looks very normal, like Tiddler above.  FileAdaptor, a subclass, looks like this:
{{{
   function FileAdaptor() {

   }

  FileAdaptor.prototype = new AdaptorBase();
}}}
''Inheritance in Tiddlywiki''

Basically, JS has a concept of protoype chains.  The assignment means that any instance of FileAdaptor will now have all methods present in a new instance of AdaptorBase.  FileAdaptor goes on to define its own methods, using the standard prototype pattern.  If so inclined, it can override AdaptorBase's methods by defining them on its own prototype method.  (This is why we say {{{new AdaptorBase()}}} - if we had assigned {{{FileAdaptor.prototype}}} to {{{AdaptorBase.prototype}}}, anything we set on FileAdaptor would also be set on AdaptorBase.

!URL Arguments
Tiddlywiki uses the fragment identifier patter ([[described here|http://ajaxpatterns.org/Unique_URLs]]) to provide flexible loading strategies.  

Normally, the //DefaultTiddlers// are shown on startup.  However, this can be overridden via URL params.  For example, use http://www.tiddlywiki.com/#Examples to load with jsut the Examples tiddler showing.  Or, for multiple tiddlers, just separate with a space (%20 in URL 5peak)  http://www.tiddlywiki.com/#Examples%20Plugins. (An interesting possibility would be for Tiddlywiki to keep updating the URL to ensure its sync'd with the state of the app, so you could bookmark it at anytime to save that configuration.)

But maybe you don't want to manually list all the tiddlers - instead, you might want to show all tiddlers matching some criteria.  Then you'd want an automated mechanism for auto-selecting theose criteria (think iTunes Smart Playlist for dramatic effect.)  This would make the URL shorter, easier to understand the true purpose of the configuration, and future-proof it against any changes to the set of tiddlers we're interested in.

In Tiddlywiki, that mechanism is achieved with a URL "filter" prefix.  For example, show all tiddlers with "systemConfig" tag - 

{{{
http://tiddlywiki.com/#filter:[tag[systemConfig]]
}}}
''URL string to open all the tiddler's tagged systemConfig''

Other things you can do - 
{{{
http://tiddlywiki.com/#newTiddler:tiddlername
}}}
''Create a new Tiddler named tiddlername'' on startup.

The URL is modelled as a map, i.e. key-value pairs.  In the case of 

{{{
http://www.tiddlywiki.com/#Examples%20Plugins
}}},
that's just an alias for the cononical map form, 

{{{
http://www.tiddlywiki.com/#open:Examples%20open:Plugins
}}}
All this is managed by the [[Paramifiers|Paramifiers Class]] class.
[[article link|http://softwareas.com/tiddlywiki-internals-2-of-3-list-of-javascript-files]]

>Continuing the series, below is a list of all core JS files, organized into functional groups

+++[+Initialization]
*{{{main.js}}} - Runs the initialization sequence.
*{{{Paramifiers.js}}} - Handles URL params.
===<br/>
+++[+Generic (non-animation)]
*{{{BasicTypes.js}}} - Augments built-in Javascript Number and Array.
*{{{Crypto.js}}} - Crypto functions (Tiddlers can generate fingerprints)
*{{{Dates.js}}} - Augments built-in Javascript Date class.
*{{{Dom.js}}} - Supports DOM manipulations.
*{{{FileSystem.js}}}
*{{{Strings.js}}} - Augments built-in Javascript Number and Array.
*{{{Http.js}}} - Supports XmlHttpRequest based remoting.
*{{{RGB.js}}} - CSS color manipulation.
===<br/>
+++[+Generic (Specifically Animation )]
>See also [[(2005) TiddlyWiki animation write-up|http://ajaxpatterns.org/One-Second_Mutation#TiddlyWiki_2]]
*{{{Animator.js}}} - Runs the dynamic flow of stepping through an animation, delegating to specific strategies.
*{{{Morpher.js}}} - Morphin animation strategy.  Cool - smoothly animates between two CSS styles.
*{{{Scroller.js}}} - Scroller animation strategy.  Scrolls window to show an element. <br/>(The way the page smoothly scrolls to show a tiddler when you click its link.)
*{{{Slider.js}}} - Slider animation strategy.  Slides elements opening and closed.<br/>(e.g. Closing tiddlers or the Options box on right sidebar.).
*{{{Zoomer.js}}} - Zoomer animation strategy<br/>(the way a tiddler "jumps out" from it's link).
===<br/>
+++[+Tiddlywiki-Specific Utilities]
*{{{FormatterHelpers.js}}} - Utilities specifically for Formatters.
*{{{Refresh.js}}} - Mechanism for notifying and updating elements based on changes, e.g. if stylesheet shadow tiddler is updated.
*{{{Utilities.js}}} - Miscellaneous TiddlyWiki-specific utility functions.
===<br/>
+++[+Data Structures]
*{{{Tiddler.js}}} - Data structure representing a tiddler, i.e. a block of text with a title.
*{{{TiddlerFields.js}}} - Augments TiddlyWiki to manage tiddler fields.
*{{{TiddlyWiki.js}}} - Data structure representing a collection of tiddlers.
===<br/>
+++[+Data Import/Export]
*{{{AdaptorBase.js}}} - Adaptors convert from various wiki formats (e.g. Mediawiki) to TiddlyWiki.  This is the base class for Adaptors.
*{{{FileAdaptor.js}}} - Subclass of AdaptorBase which reads the default/standard Tiddlywiki format.
*{{{Import.js}}} - Marco to import tiddlers from another TiddlyWiki.
*{{{LoaderSaver.js}}} - Converts between HTML and a list of tiddlers.<br/>(I think the main purpose is to get a clean HTML list of tiddlers.)
*{{{Saving.js}}} - Saves the Tiddlywiki - main case is serialising everything to DOM elements and saving to local file system.
*{{{SavingRSS.js}}} - Serves Tiddlywiki as RSS format (e.g. Tiddlywiki.com RSS feed) showing time-sorted list of recently updated tiddlers.
*{{{Sync}}} - Syncs
*{{{TW21Loader.js}}} - Standard implementation of LoadBase (defined in LoadSaver.js
*{{{TW21Saver.js}}} - Standard implementation of SaverBase (defined in LoadSaver.js).
===<br/>
+++[+Strategies]
>This is a broad category of options and control-type functions.  The control-type functions are here because they are designed using flexible mechanisms which make them easily overrideable by plugin developers.
*{{{Config.js}}} - General Tiddlywiki config - controls capacities, names of shadow tiddlers, which options can be set, other stuff.
*{{{Commands.js}}} - Handlers for menus and toolbar.
*{{{Macros.js}}} - Defines built-in macros.
*{{{Formatter.js}}} - Formatters are strategies for locating regexp patterns in wiki text (wiki words, image URLs, etc.) and rendering them.
*{{{Options.js}}} - Options are cookie-based preferences.  The user can generally set them directly on the Tiddlywiki UI.  This is in contrast to Config.js settings, which are fixed unless the user cares to dive into the source code.
*{{{Wikifier.js}}}
===<br/>
+++[+UI Elements]
*{{{Backstage.js}}} - The backstage area of the page, with access to advanced features and acting as an escape route after over-enthusiastic bouts of customization.
*{{{ListView.js}}} - A table-like list, e.g. shows all options when you hit {{{Backstage|Tweak}}}.
*{{{Manager.js}}} - Plugin manager (accessible from {{{Backstage|Plugins}}}.
*{{{Messages.js}}} - Simple status notifications.
*{{{NewTiddler.js}}} - Macro for a new tiddler, e.g. when user hits "New Tiddler" menu option, and also "New Journal".
*{{{Popup.js}}} - Popup menu (e.g. when you click the name of a tiddler in the list of shadow tiddlers.)
*{{{Search.js}}} - Search implementation - allows user to search for a term.
*{{{Sparkline.js}}} - Generates CSS based [[sparkline|http://softwareas.com/en.wikipedia.org/wiki/Sparkline]] graphic.
*{{{Story.js}}}  - Manages the container of all visible UI elements.
*{{{Tabs.js}}} - A UI element for handling tabs.
*{{{Toolbar.js}}} - The toolbars shown at the top of a tiddler (with "close", "close others" etc controls - or "done"-"cancel"-"delete" if open).
*{{{Wizard.js}}} - Multi-step wizard UI framework.
===<br/>
+++[+Miscellaneous]
*{{{Deprecated.js}}} - Deprecated functions.
*{{{Guide.js}}} - A short readme file.
*{{{Lingo.js}}} - Internationalization-localization support - contains string keys and their English values.
*{{{Upgrade.js}}} - Support for upgrading Tiddlywiki version.
*{{{Version.js}}} - Short file with info about his version of TiddlyWiki.
===<br/>
>Concluding this series, below is a list of all core Javascript files, organized into functional groups.

!main.js
>{{{main()}}} is the function that runs onload.

!!Key functions:
*creates a new tiddlywiki data store (new TiddlyWiki()) - this is the collection of tiddlers users are exposed to.  The store is populated using TiddlyWiki.prototype.loadFormDiv(), which loads all the tiddlers from the "storeArea" div, which is an invisible lock on the page (and rendered back in an nice and visible manner later on).
*Creates a second TiddlyWiki data store to hold "shadow tiddlers" - these are the meta/config tiddlers holding data such as CSS styling.  Populated from invisible "shadowArea" div (which at compile time is defined in the Shadow/directory).
*Creates a new "Story div", a div which will show tiddlers to the user, and themes it according to {{{config.options.txtTheme}}}
*sets up {{{Popup.onDocumentClick}}} (removes popup menus when user clicks outside of the menu).
*Sets up event propagation - certain tiddlers are notified when certain actions occur.  The mappings are defined in {{{Refresh.js}}} (e.g. {{{{name:"StyleSheetLayout", notify:refreshStyles}}}})
*Sets up and renders backstage
*Loads plugins (plugins are evidently supposed to get a global ''plugin problem'' value if a problem occurs.

!!General
*Calls several lifecycle event handlers as it loads - the wiki config can provide hook functions which run upon particular lifetime events.
*Benchmarks most of the above (the benchmarking was possibility a quick fix - relies on variable t1,t2...t10 -> this could be optimised for conciseness using function wrappers, but maybe startup would be too slow that way.)
*After initial setup ensures tiddlywiki data structures and other initialization/config pieces are in place, it blats and shows the display with {{{restart()}}} and {{{refreshDisplays()}}}.

!Plugins

Tiddlywiki has a strong plugin architecture.  Each plugin is included as a regular (non-shadow) tiddler, one that must b e tagged //systemConfig//.  (For all intents and purposes, "system config" is synonymous with "plugin".)  There's an example shipping with the default tiddlywiki instance on tiddlywiki.com (and a more detailed example in the source code - {{{association/plugins/SparklinePlugin/SparklinePlugin.js}}}).  (Also of interest, [[the latest plugin template at the tiddlywiki.org wiki|http://www.tiddlywiki.org/wiki/Plugin_specs#Template]].)  

{{{
<div title="ExamplePlugin" modifier="JeremyRuston" modified="200609212329" tags="systemConfig">
<pre>/***
|''Name:''|ExamplePlugin|
|''Description:''|To demonstrate how to write a TiddlyWiki Plugins|
|''Version:''|2.03|
|''Date:''|Sep 22, 2006|
|''Source:''|http://www.tiddlywiki.com/#ExamplePlugin|
|''Author:''|JeremyRuston (jeremy (at) osmosoft (dot) (com))|
|''License:''|[[BSD open source license]]|
|''~CoreVersion:''|2.1.0|
|''Browser:''|Firefox 1.0.4+; Firefox 1.5; Internet Explorer 6.0|
***/

//{{{

// Uncomment the following line to see how the PluginManager deals with errors in plugins
// deliberateError();

// Log a message
pluginInfo.log.push(&quot;This is a test message from &quot; + tiddler.title);

</pre>
</div>
}}}

A plugin is esentially just a Javascript block which gets executed on page load.  All the biosketch info is optional (although in some cases, it does effect the processing, e.g. there is a check against the requried TiddlyWiki version).  "Just some Javascript" did you say?  [[This post on JQuery plugins|http://ejohn.org/blog/jquery-plugins-size-and-storage/]] by JQuery daddy John Resig is instructive.  His point is that a plugin architecture needs explicit points for plugins to hook into - i.e. an API - and the existance of a plugin catalogue.  Tiddlywiki doesn't have a plugin API //per se//, but it is structured with plenty of extension pointers to naturally hook into.  As for the catalogue, there's also a [[plugin wiki area|http://www.tiddlywiki.org/wiki/Plugins]] with a grander-scale plugin repo project in progress.

Incidentally, note that you don't have to register the Javascript  block as you might do in some other frameworks. (e.g. {{{runOnInit(myPlugin);}}})  It executes automatically when plugins are loaded.

Okay, so about those plugin extension points.  I'm still learning that.  In the case of sparklines, the purpose is to create a new macro (e.g. {{{<<sparkline 100 200 300>>), so it defines 
{{{config.macros.sparkline.handler(place, macroName, params)}}}, and it's "output" is to populate the {{{place}}} element with sparkline content.

Another popular pasttime for plugin developers is szhusing the global Formatter object to shape how stuff gets rendered.  e.g. if your formatter locates the built-in formatter named "heading", it could easily overwrite its handler method to MAKE ALL THE HEADING SHOUT AT UNSUSPECTING READERS.

To install a plugin, users use the import dialog, accessible from Backstage.  It's also possible to manually include plugins via cut-and paste into tiddlywiki.

There's much more to be said about plugins.  The bottom line is that Tiddlywiki's architecture lets you bend the core product into many things.  (By "architecture", I refer to both the plugin mechanism and the flexible nature in which the overall architecure is structured.)

!Tiddlers
Tiddlers are the atomic content blocks that make up a TiddlyWiki, typically about a paragraph in length.  A tiddler is simply a block of text, with extra info like a title, a list of tags, and a time stamp.  There's also a {{{fields}}} hash where you could store any arbitrary properties.  (This seems suitable for plugins, but the core also makes use of it, and I don't really get that.  Even for plugins, why can't they just make new fields dynamically?)

{{{Tiddler}}} is a Javascript class, so you get a new instance with {{{new Tiddler()}}}.  @@Internally, it uses a publish-subscribe mechanism, where a {{{changed()}}} method is called after any mutation.  This basically ensures the {{{links}}} property is up to date, as {{{links}}} is a redundant (and presumably there for performance) collection of links inside the tiddler.@@

A Tiddler also has a collection of "slices", though the collection is managed by {{{TiddlyWiki}}} rather than {{{Tiddler}}} (This relates to the fact that shadow tiddlers are mere text blocks - using TiddlyWiki to extract slices ensures shadow tiddlers can also be sliced up...and slices are a major feature of most shadow tiddlers, since they are config-related.

There's a string->string map from name to slice.  This is similar to the fields has, insofar as it's a free-form map.  In this case, though, it's something that can easily be changed by the user in real time.as the slice collection is sync'd to the tiddler content.  For example: |"slicename:"|"some slice content"|.  Slices allow for easily edited meta-data, e.g. stylesheet tiddler can have a slice called "backgroundColour".  Users then edit the backgroundColor slice content to set the background colour.  

A Tiddler also has a set of notification handlers - this is also managed by TiddlyWiki rather than the Tiddlers themselves. (again, this ensures the mechanism works for shadow tiddlers).  These are listeners/observers that are notified each time a tiddler is changed.

A file closely related to Tiddler is [[TiddlerFields.js]].  It actually alters the TiddlyWiki definition rather than the Tiddler definition, but in any event it deals with accessing the Tiddler's fields map.

!Shadow Tiddlers
Shadow tiddlers are a particular type of tiddler.  There's no separate "ShadowTiddler" class, but they are held in a seprate store and treated in special ways.  Indeed, shadow tiddlers aren't actually of class Tiddler (which is slightly confusing).  They are simly a title-text pairing;  the data structure is a map from title to text.  In contrast, regular tiddlers are mapped from title to Tiddler.

In particular, TiddlyWiki has a fallback mechanism when asked to return a tiddler - if the tiddler didn't exist, it will attempt to revert back to a shadow tiddler of the same name.  Shadow tiddlers are immutable (unless you hack source code), whereas tiddlers are of course easily edited.  You can override shadow tiddlers with regular tiddlers of the same name, but the original shadow still lurks (in a good way) in the background.

To see this, open an editable Tiddlywiki, choose a shadow tiddler from the right sidebar Contents menu (e.g. SiteUrl), edit it, and save it.  Then re-open it to verify your changes were affected.  Then delete it, and notice that it's still in the list of shadow tiddlers.  When you open it again, you'll see it now contains the original content.  (The shadow tiddler itself never changed).

Shadow tiddlers are used for config stuff like stylesheets.  The fail safe mechanism ensures you can easily restore factory defaults at any time.

!TiddlyWiki is essentially a hash of Tiddlers, keyed on their title.  More precisely, it's a wrapper around this hash.  Here's a (slightly refactored) look at the relevent code for managing tiddlers, which looks like any other hash wrapper:

{{{
function TiddlyWiki()
{
   var tiddlers = {}; // Hashmap by name of tiddlers
   ...
   this.clear = function() { tiddlers = {}; };
   this.fetchTiddler = function(title) {return tiddlers[title]; };
   this.deleteTiddler = function(title) { delete tiddlers[title]; };
   this.addTiddler = function(tiddler) { tiddlers[tiddler.title] = tiddler; };
}
}}}

There is also a set of similar methods which wrap around these to provide more intelligent behavior.  e.g. {{{createTiddler()}}} wraps around {{{addTiddler()}}} to provide "Add or retrieve if exists" functionality.  {{{getTiddler()}}} wraps {{{fetchTiddler()}}} to ensure null is returned if no such tiddler exists.  {{{removeTiddler()}}} wraps {{{deleteTiddler()}}} to delete only if the tiddler exists, and also notifies the tiddler's listeners.  Most other methods also do "general stuff" with the tiddlers hash.  A lot of them also run operations on behalf of Tiddlers themselves (this is mostly so it can endow shadow tiddlers - which are just strings - with certain behavior, as metntioned in the previous section.)

!Story
Story is the sovereign UI elemetn in TiddlyWiki - its the container of all visible Tiddlers which you'll usually see occupying the main, middle, column.  Theoretically, there could be more than one Story instance on the apge, but I'm told that there are some hard coding shenanigans that rule it out in the project's current state.  (Specifically, direct references to the "story" instance that main.js creates.)  So Story is a singleton class in practice.

One gotcha here is with the nomenclature - a "tiddler" inside Story.js is conceptually a DOM element, whereas in most other places it is a data structure.  Obviously, the tiddler UI element is a rendering of the tiddler data structure.  @@However, the implementation isn't entirely symmetrical because the data structure has a dedicated class (Tiddler), while the UI element doesn't; tiddler rendering is handled purely by the Story class.@@  In on case ({{{displayTiddler()}}}), either form is valid as the "tiddler" argument, similar to $() functions that accept either the element or the ID ({{{title = (tiddler instanceof Tiddler) ? tiddler.title | tiddler}}}).

Story's key properties are a container ID, which points to the container DOM element, and an idPrefix, the prefix for all tiddler IDs.  The container already exists on the page when a Story object is created to manage it.
!What is Time-line mode?

In the Timeline mode, your movies and scenes are chronologically displayed according to the duration of the file.

The length of an active object in the track reflects by its length in the overall movie project.  Each scene or file is as long as the representative "object(s)" in the track.  Simply use the TAB key to switch to timeline mode.
*==Fix The addresses (bigger font)==
*==Fix the email address as well so that there isn't so much blue on the bottom.==
*==Crop the Pill bottle and put it bellow the "...Then Contact us"==
*==Add the lady that is talking to the Contact us page.==
*Stock Forms and Labels a new link for that...
*Computer Products Wording
*same
<html>
<body>
<a href="http://stackexchange.com/users/ca5b0c1dd62a41bba4972992b4c5efcb"  title="profile for leeand00 on Stack Exchange, a network of free, community-driven Q&A sites">
<div style="text-align: left; width: 165px; height: 58px; background: url('http://stackexchange.com/users/flair/ca5b0c1dd62a41bba4972992b4c5efcb.png');">

</div>
</a>
</body>
</html>
MAGIX Movie Edit Pro II offers 16 tracks for object placement.   In princliple, any object type may be placed on any of the tracks.  Mute a single audio track by clicking on the "Mute" button or play individual tracks separately ("Solo or S") to emphasize a particular scene.
/***
Contains the stuff you need to use Tiddlyspot
Note you must also have UploadPlugin installed
***/
//{{{

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

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

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

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

// create some shadow tiddler content
merge(config.shadowTiddlers,{

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

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

'TspotSidebar':[
 "<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">><html><a href='http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download' class='button'>download</a></html>"
].join("\n"),

'TspotOptions':[
 "tiddlyspot password:",
 "<<option pasUploadPassword>>",
 ""
].join("\n")

});
//}}}
!!!Making sure we don't have to reconfigure this if it moves to a new vm...
Next I make sure that the {{{listen-address=}}} line is  commented it out since
doing so binds it to single address instead of all the addresses.

{{{ 
#listen-address=
}}}
    
Also note that 'interface=' must also be commented out for this to function
correctly, since 'interface=' causes only a single nic to be used by dnsmasq,
and we want to use all of them just incase this VM moves to another machine.

{{{
#interface=
}}}
I'm trying to figureout how to unzip a file from within a C++ program.  For a summary of what questions I'm asking about this so far, please visit:

[[http://delicious.com/leeand00/xetex-unzip|http://delicious.com/leeand00/xetex-unzip]]
<html>
<head>
    <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
  </head>
<body bgcolor="#FFFFFF" text="#000000">
    If you do a preview of the page in Timeline format, it will display
    all of the likes, posts, and comments (and anything else that you
    and your users have added to the business page).&nbsp; Doing a Preview of Timeline <b>will not </b>
switch your page over to Timeline. <br><br>When you login to the BCL Facebook Business page click the blue "Preview" button (see below):<br>
    <br>
    <img style="max-width: 100%" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4IAAACoCAIAAAA6tMf7AAAgAElEQVR4nOy951tUWb7of/6C++L+XpznPHfumTN9x4ABVHSctmltxqKhiEaQAiVIqqJyTrtyzjlRRZGzCijBnG0jjdqobWhzQlvbsTHQM92/FwWVCwrF0O1az+cF7Np710p71ae+a+1d//FFrg0AAAAAAAAAAHjP/McHzwEAAAAAAAAA4BMkWEM3r+He+vz/vRmVqxkfvDwAAAAAAAAAgN8FwRp6aelnP3054824tPSzD14eAAAAAAAAAMDvAqChAAAAAAAAAIAPQCQNtf3rt7H0r4YZP30546eGofENQ6++nPETY8+vv/mly7bfo4b+778JAAAAwMsHH5QAvxdAfwMApoUIGtow9Ntl209fIkcfj3nnq8u//ath3D4v23xBUMaeX3/77dcjyN+dhsakag+duv49SCCBBNJ4iknVfvChCfDxE5OqXa3uQjTsKWzYZzn8fe/2naeqXeeN9mMN2/Z0tfcd2stv7pB07av99lta89YcmbHCWOU8elLZtRNq78K5G8hOdd1+m9SpAP0NAIikobZXX8746csZry6Pa2iDzRcl9dNQ7w6/Rw39DSSQQALJLwEtAERDTKp2Y+PejQ3dyKotd354cMCoe7in73Z17a837u4xWK4f3fv9wGl+Q0OxWn/83qMNDM6Zm7cLICFOaTh2/R7e2bhWLtt6oqZjnwT0NwBgwrWhIbHPkSPDv3mn6QNDoUBDQQIJpN97AloAiIaYVC2hZVftgTN7q+t+u/H9v2798NvDG3cP7j0uoXPgS+4c3HHx4N72HbVMnWjnwOnNWNqhwYtr0UQEhbH/6mVidX2yRNxwvHnrIT3obwDABBrqm5GPZKX+oVCgoSCBBNIHTNeuXXv7kwAtAERDTKr26cjLf488/vXH+78MHP/p0IF7e3pe3/zuXrftWq/l1eldry+duNHjGj7UNHL1SGutrqHRdefp0wMDZ/dcvIRt3J5hqCmtqa1oagb9DQCIpKEeBx0eZQQ66OM9I+FWhb5PDV281uT54z+Xif9zmfi/EiQzvlYtWWea6nmAhoIE0h8pAQ0FvDdiUrUHd/df760d7qn99fj2l3tbf2o3DncbRga7z1dzh03s68yygdKcK3z0cLNivwH97NaZ/QePdJ45J9qx92uZ8x8SS7rClClTg/4GAITXUM/kuzf9q8Fjpd409Co0VjqhhnqUcWKiye7MZNV/JUi+yLX9ZaXiz4nyPyfK//sr+Z+WS/8rQTLza9WUSg40FCSQ/kgpkoaeP3++q6vL7XZ3dXWdP39+4pMALQBEQ0yqlt/UduXCwL+vHXzSo3zUxvlOn3u2ofLhPv0tJ/MCBbEz58vv1Zz9ZWtPMDf08tfvtTI7uZBSKFuvdqao3f9Q2b6Sm5Mkhk+5v63BNHzwPIDifwxZek/PDfUo48RMmte//EPxp+VSz98zv1b+OVEem6H3nvxPy6V/WamIvuTvQUOvdqtoNUff9buABBJIv0XQ0J6eHrvdbrfbW1tb7Xa71Wrt6emZ4CSfshYAoicmVbve1Xzo+Mnn5w4963SM9lc9PWQf3icbPVX7sk/3pI7xtFX74kDLcLumJmfxYS1qcIvlWw2/HVMuksnWqixJCvtXctsKheNt+xt34Mj14UvXL0k+dIW8Ae9MejrdA8OXrg93O95fWST7hy9dHz7S2fkRFP8jbJFJ+N1o6Mxk1f9dIQv7UmymznOG/7tCFn1MNLyGHq2hjae3F0igoSCB9N5SqIaeP3/ebrdv37795cuXv/322+vXr3t6eqxW6wQxUaChgGiISdXWd3a8vn311/29r5qrf7IIHzbLf9wj+3G/driFfoa77qqN+LRFeMVJOSDNvdipMJYmH8UVnqXi9mnERCGUJjP+Q1r1ldwerr+NWZSXieRmujTUcSmqt5tWJpSeMJXgUb0o5DKshh7svh5wwpDzeHZ4w5qcZg31NMf+g55/yztvvp92ARo6kYYuWWf603LpnxPlYeOd/+dLqfckf1ou9S4enZgwGnq1W0VTdV+dts9FoKEggfTeUqiGtre32+32kZER75bXr1+7XK729vZIJwEaCoiGmFTtzxdOjOzc9qtD9yO1/Imq8kWD7N5W6PlB1Ui/8nkzdLWG1E/K+N5JudYnaVdu6KxYObgKdouKPiNnGSHKWkj0D7F+pdwcWUNvurm2yQN70xoNfW+64yEKDfVUwlSZQEPfVdgYaOjbEKyhyxOZBxb+95uR9BXd/1T+iz7fUkNnJqu98c6gl/5zmTjoPDOT1dGUPIKGhmjj1W5VQHjU979nw9VuFa2mpmb8X284VdV91fcSbVr1FiSQQApJoRrqdrsbGxuDNra3t7tcrkgnARoKiIaYVO2vp/Y+dyivl2x4yKr82SX/tVZ8U73ZWvLFzf3mB9sU3zdRh/fonh5rGuqWH9YUn1idcGJR7MX1WVdoxKP17rUi2Qq55iuhdjINtQWEAMekc9jnKP5bxjXL/5Dxv4ODi2G9NkB3QuOjflsuXR++NDBQ7ndUwJ4BuYpoflPVUJ/qRciJZ4cIZQzV0HFb3X/p0vXhbodnhwD7v+TdEq6eg8ruLb5/NiZwxzfU0EjtMnDzyHhtSMZzNf7u/pHgiUT8Y9HQBVmG//03wf+K581KUfsTtOV/xfOC+N9/E8Rm6v1P5e+Xb6mh//2VNGg3j+DGrzGFnue/v5JGU/Jwk/Jjiumnole7VWMCebQmUCXHQ6dXu1W+I47W+B/teylwO0gggTTtKcpoaFVVFYiGAt6SmFTtSEftTyr2vx2iV3WKZ07orhZ5QbahIvH/kLLmnqyinG+H2pSbG0UVxpzPD+cm7pj7p92z/t/Zr5Z9k5H8fYe7TGdOlKj/wQ97p3xoNNSjDge7x5XL5yV+0dAxJdp/0E9ivIf4BQg9h4yrmz/Bp91/8At/qR3TnYHykI1++nXTzfXP80RMaVK+2xGioeFycmn/wegm5b359J7fp6HjBfGr85B69tWSXza8eYsmcjm5hgYSRbuMlSgwb37N4Xf4VLN06YfhUKbragrWUC+QfnfzjrMeOPrdX+TavP827zgbzamnVUN9u/mHV/8rQRJOQye/2+mLiW5R8sioqvtqQOgzIPzpi3gGhFCDVNX3EpieBwmkd5wirQ3t6up6/fr1b7/99vr1676+PqvV+u2330Y6CdBQQDTEpGp/PXXylx2tw3busyr+MzvxqrriZodGU/r1vwc6H9TyXuyo+2FbdSsrVw//68m8L4+mJzT95c+nkxLOFKw+Xa1az5N/KdT/gyONYm3ouM/5R8i8kuE/KR9qHj4lmpqGhgm/ee02UP6CApAhkdc3jr1FEQ0Nl5Nuhy3qSfmg3bwaGryK9NL1S5JwGupfS2EjtRPL6BtEQydqlyA39ZY3OI4bvumjaJFgE53Gqymihs5KVnmlc1aKSus+4q+hWveRSU89jRoatOekE/3RlHziO+XHhDJUH31xzTC7AA0FCaQPlSa+U769vd1qtXpulm9tbfUPkfonoKGAaIhJ1b78ZveLXU3/bNQ8dAt+amD+dmXf6PkDD7dWveqo+rla/nOdYaSt6ko194A0/2jB309k/H3/0tiBrC9Pl2d1apmZXOHnDOEKEm3CaOi4z3l0ZAoaOi4uAzfDrDF9BxoaMsUfMqkdrg4/bg0NFOjoNTQ3MJb5RqHH6dfQyOoZdYvYvvAz0em9miJq6Bd+4c8vAkOhUQZEp1FD//KP4J29zxmdlaIKeukv/wh/Q30QE2qoVxuP1viWdR7t7r7qM83xV/wNM2CCHmgoSCC9xzTpc0O3bdt29uzZ5uZmz/Obwpoo0FBANMSkap/fGXr6zd6HW23/Orvrcb/jtzPb/713+2UufgCXf4NZ/iMfc7gw4yeX8kazsmHjl3tzVx5an3yNj7vmlhptxkSmYCmV8wWWOtmk/FhkzicWk03KB6/OHPOPqDTUJzFTnJSPYDmT3GY0vRrqV/y31NBw9xuFrecQ/ws4JFAlp1b8SGtDJ2iXSBo6lcdXRbM2dNod9IsJNNQ//Kl1H/lzotw7TR9lxHFSv4w+eBkD10ygrd4HNnmIgWuiKXkYDfV7WpNPGoPm4L3/19SEDZiG3KIENBQkkN5HivJXlEZGRjzPEN22bVvoq0BDAdEQk6qVNDQPP3ly/sjuoVbJk4P2kT31v9Sq7xRn3c2BP0au+S4n+XBO+mMd52Gr42SNbJ+OuVfLOmLm7W5Q5onlCymceBpnCW5SDfWF1vyk0y/MFjTl6ic9gXHKCTU07DxyxFthAjU0N2ghY/Ck9gT2M70aGnY5qd8Jp6ChXwTd7RRpbWjITVHegOWk09+TFP8NblGKqKEhNfNmZvwuCa+hUvu+oNin1L5vVrKKo98d5Yz8F36WOcFvJkWpoUvWhbkVyf+Hl/xNNMof9gS/ogQSSH+kFP2PeY6MjGzfvn3nzp2hLwENBURDTKoWZqheb3EXGA3HtllenGr514FtL/Ts9rmfPaOWX8lN2/d5zL6vP3+oYX6ngHY5eYVSeYFMgWFUUmTsRIgbS4e+oHA/x5HfWX97t88nmhY+wue3f+LF/4g0NNRBfSaaMmaiUvs+vHTHxKeOcgo+yqWcc9ImCoh6Hx06Jy2qUOgXQENBAumPlcBvygPeGzGp2iSDM13vWm2wmGut/zzZ9ajF9LOCejw1cfey+e0zPjuXtvIY/PM7cuhulWmbSwzX2NL09hKTtlAvSpbxMmTcdULmCiL2XfW3yWaEPwY+Qg/7xIv/sWio2BreQT2Irftmpaj8xXTSN5jSbUMTMzM5eBmoZ/vcNK3n35nJU/hZeaChIIH0R0pAQwHvjZhUbYrWkaYyrNLbKjT6Z98dGemw/KyBnrEJNzaknl/x+dnUr55xCHfl1CGLSGqRL9dY4dZadKOdUitLk0F5Os5mI5fgDHun/KfCR+hhn3jxPxYNncBBw96uNOkbTJeDegiKiXo2ekKh0cdBPQANBQmkP1ICGgp4b8SkarOsjWssdetN1bn6qpN7d143UV5WSX4SM4eL115bB/+Rw/jZrh+QYKrp+SgFu6jGstFRBeezU7hkOL38K2xpAr5sGbHsU+5vH6GHfeLF/yNr6PTm+G/rzXNSNZ5757/Itc1N1c5J1fxtvXmq5wEaChJIIAWlT1kLANETk6rNru0U7T/D69nB7Oiubm+73et40qp5WW/7p07wVCN8Wec6pWC1qCCehJsj5SMtTE67ml7LwDlI+fx8plsg6xBWSApBfwMAgjU0mscqTfUJnR8nQENBAgmkoAS0ABANMalawo5d4oPfsnv3bnbVIl01ro6GE27o9lbThW3NW9T8Kh4tLxOOJBKLuYKv+EK4RpYilaaJaDAWLpNLXE6oTCGiMshFoL8BABM9N/SPTUyq9vjgrQ/9qQcSSCB9LOn44C2gBYBoiEnVfm2qZvQfRbbsXG93r7JVZ+stSJ1O09ZcxqSvXPNVesmG9E05qwuzEXTyEix5AY64gAQtrCStZpALSKUb+YxMJnkVO+wDmwCAT4tPV0O/yLXFpGoBAADAywcflAC/C2JStanS2hx3a0HtVoSzMdPiStZZ4Bozrb1nIxGbtHE9DFWxYmN+Su6qTWzakhJk7Gbk3zG4TIixHl+Rm5eSWbQulYxKxbNBlwMAPmkNBQAAAADgDQBfewCAaQFoKAAAAAAAAADgAwA0FAAAAAAAAADwAQAaCgAAAAAAAAD4APzH/7dUCAAAAAAAAAAAvGf+4+6nmvr6+q7+cBMAAAAAAAAAMF309fVFL2P/8aEf1ffB0unTp0dejgIAAAAAAAAApovTp09HL2NAQwEAAAAAAAAA0wPQ0KgS0FAAAAAAAACA6QVoaFQJaCgAAAAAAADA9AI0NKoENBQAAAAAAABgegEaGlUCGgoAAAAAAAAwvQANjSoBDQUAAAAAAACYXoCGRpWAhgIAAAAAAABML0BDo0pAQwEAAAAAAACmF6ChUSWgoQAAAAAAAADTC9DQqBLQUAAAAAAAAIDpBWhoVAloKAAAAAAAAMD0AjQ0qgQ0FAAAAAAAAGB6ARoaVQIaCgAAAAAAADC9AA2NKgENBQAAAAAAAJhegIZGlYCGAgAAAAAAAEwvQEOjSkBDAQAAAAAAAKYXoKFRJaChAAAAAAAAANML0NCoEtBQAAAAAAAAgOllahrKNVmFeodIYePITHStmVddo2lrt3Ruadnb37K/z9LVYmqvb2hsdZpdZrlVKzdK1UqhTiIzSQxuc1VTi6Ol1VBfpXFYZEonk2soZ/OJCk05VV5B127mabB6M0GjEtfY9c2N27859s25S2fOXRo8fv7G0LWH125ev3zxwrUL317/bsfxPVv2b29sb27qaKtqaK1q22JpabO0tNibm7VVVTqH01hVXVXVaDA45TobV6YmcbkMMZ+nlTGVQqZaShXwWqqb+rf27ti3d/fA8dPXLh4/d/JAf8+unm22Bodja72zvcnZ1qarrtW6qjVmjcGmMTl0SEzZB2+qt+HM2fPrNxWF8sEzBgAAAAAA4JNlahpK1+nYahNPYYIURrrWzLZVSd21moY6ZU2VrrFa4jKLzFqDwWTT23Rqi0CsYEoELDVfaJaq3UZDXZ2hrk7jtqqqLHJ9NVdmxXCFJUzuZrKojK4q5ihKhDK8TEZTKyhKub6+vqNv97ETg+dPf3fr4rU7l6/cvn710q3vT3w/0Ht8T/f+3o6uLe3t7fVN7TXNWwx1dcamBk2tW1tXY6iuNrrcZkeN1uhUmZ1Sg4Ull/NUMoleyVWIIJWUxufV1zb0dO7o27t3z/FjBwdP9R7cvW1ra+e2NntrtbHZqXfZNTar2uaw1tapjCqtWW6wacoriz94U70NHg3NKykvqEBtLEMWodAeDX3w8PHzkVcfPHsAAAAAAAA+QaamoVSjhq7TcdQGjtpE0xrJKh1TqubIlZBOw9LI+Dq5TKPQq1Vmo0lutUImDVkpJKl5VL0AsipELrvc7ZRVmUVWI12uY8kNVKEcxxGiBepygbqEKyvniKhiGVet5pmM+vp6V0vbzj0HTx098f3g+aGzA6cGju4/tX/f6f2HBo7sPrBrx/au/m3dPS1dzTXNeodd11gtqrNpOup09W5DdbWxuk7jdKuqqiU2G0+nFWgUMoVUIOQIpEI6n+2or9navf3AvoPHjh0/cPJEx+7emrY6W4ND6tJBRqncpFFo1Gq9yWSz64wqg0VmsqqQv0cNffZ45OoRD2f2tq/fVISh0CGRlMzmilUaj4beuffg2fMXHz6rAAAAAAAAPj2mpqF4BZ8iE/ElCqnKAOlMdLUOkqi5UgVPpyWJOFK13GY12rUak0qh1qoURo1QI2PKBUQJi6IScKx6cbVN6DBABjVZIqOJZUQahKdBlXQeki1EQSKGUksXiAQqtdhu0zXU22rquju37+nc8c3OnUcP7Dp2fO+uo339h3uOnDywd9/OXb0927dsa69pqjbbrE6bqd4pdOtF1Uatw2J3u831DTp3ncbpllttQr1eqlZqxBI1ny/kMGl0ksakq3JXd2/ZvrNvT/euPa6OVnODW2pV83QSEpci0khkCqlOoTKoVDqdRGcSG63yclThB2+q8Hhc84B6pKN0pGnDiP3LEeVnk3JD+bczvEWNlH/cHzryUWpoPxQfHx8fD/V+8Jx8ovRw4uPj4+M5/W95nkFnXnx8fDzCNfihSwQAAACAj5CpaShHzhdL+Ba+zCLWClV6mkLDFCrofAlFJsHxmEq1zKJR6gVcCxuykek2CsvI5Kg5fJFAyJNLOEYF16FnW3VMjYoh4IvFUiaNI+ZJeQy+UqblCKVcuVKi1LAlUpJcwjXqLY6q/o7O3TWNx1rb93d3DJw+cPz0voNH+w7u69u3q2/nzp3NrS11LQ0mu7Gh0V1T77Q3Vums2iq9rrWm3lZTZ6ipNdldBrNDZ7bpNFqbUObgi3QctpBC1EslWqXKWVVT19zubm3XulxSh0WgUejlUohEYAmYbD5TDUF2scioFemMAoNJUo7c+MGbKpiB1pGmDf5y+UI/74Vl6QvL0ld16ZF46f7as8+IZtaI8rPH/eJp0NBebrx/emt3mV4NHTOq8YRwDr2fBhozML8K8eRkGjPgewtf8aZH+N6nhgY1EPj6AQAAAJ8OU9NQCZupYzGdNK6ZIWaJpQSJnAgJsTQ2ks2kC7l2uUJLIGlQ6CY2p4ZIMZehNWU4C13gUBoMBgPPJKebJDSDmqdSKZgsAwOS0rkaSGyncDv11hqrQ6nV6cw2gUZD0sghg9qoN7TprY1M4UGT/Uh7U1ejvdalP/HN7tOH9+3f1be9r7e5c0vbjg6LReMQi6p5vE6bpc9V3SSUV8uURpdTU+s2WxxWg81qsBgkChOJ7cTSnViCoQJlo0MKJqTUGjROt8FVK7PYeUY9xBcYSCxRQRmbgJGwKFoM1kohNzg0rhp1da0GRyj54E3l4/bZsainNuZlDfz11pLX3ajRfoqPHehg+kgBO/RTRvspHg29c+/B22Rm3IS4PZ4tvdyPSSOGHIhQERzP6jvG3xE9FfKuNPQdxBo/gIZ63uucCwFMFAAAAD4ZpqahwvwCbXGpuQInxVPxQj5Wo6SLlWQWv4LJFIlEbUyJY21Rw6aKQwp1i0Jg4TJUGKKLK2/UO6ssDolNxbRI6Xq1VCxrINAtOZsVaKq8gtSAQLeVEbrs9vrGOq3NKjIZaSYtx6jRieVGLFWVjtjHlpyur3UJGCJq5dlv9g4e2r+/r6ejt6ejv7ettaFVp3IjyuqzCnaUkS/qnW1ohpXGljstglq7Umc0ynQ2uc7E4FlK8I2bsM3pGxvS8+tKCHIUkSuUsHV6rsbMlKrZCiWTTDduxOizNuoKNjdQ6bUlyHoCvqfF1r7V3rHNQWdWfvCmGuP22RH9ghFtzKv2jb8cUvxyWPnLfsHoDtTolrzR9uzR1jXh2YF+1ZztiYO+sCx96f76VV36NGhoWGno5Xr+DYjVjYvIuJdwIYRP0XzxsDHv8YuGjr1FHgIRfCrvbr4UpE3hstfDGdPQgCCc34Fht49nO8+XizGbHDPdULkMLX6QhgbswOkfCZY2T+nyHOd8uQp6lwiSNy7fY2nsDP4VElCEgI2BleNXXm8dhm3WyZrbNei3Q5BiBiqvX30G5tb/vUICqONfLcKVJbhCwAoBAAAA+GiYmoba80vaiyu3lZLtSAoNgjAKGYEnLidSsRyOlM3bUsGqW5m7Y1PlWaNlm11V59QYpEKXxug2uqxmm7pKI6lSiXQ6LUvUlo80rcho4ci6JLrTOH5dyrotEmlbnbu2vk5hs1F0SrZW6VDqnASWOQPxrdRw2unYblbXqkVXzhzZ19G2q7Ors39X8/aumnrHN+0tB7DsvasrOpPy74nteytY+7R2mVnDdujEEpmSIzaJFUYmz15J6a6g7U7O35NR2Ill6ihssUIN6UxMpYEqVBIhPptEt5UQXGuLq1fl78RStiLR/XJhX5t9S5djS5eDwf5oNLRpw4g2ZnQn7ZdD8l/2MH7px//Shx3dkhtRQL0aWpceukj0LTU0OBQa+pLHLTyz9gEukuc455vNh3pHA60rVEM9+4z5hP/fHpcKeDsf/p7qZ2OBVud/bKTtASUdy5Kn1JNpKMflzbP/ycO/0ViFcHte+ioH4RwKUtLgtwijoQHB6cAT+l5COIf8m8a/XOMa6hoMPHCSZo20HeEaDGjrACbS0MD1DGFk3b8tJizLeAP1Q0BDAQAA4KNhahrqzszfmpi9e1l+VzpKgabjGZxyBlRCZ6OYTBWD21vCal+Z31+M+9ZsarVI7dUKtVsvd5l0NofJZjXa1VqDVC2SVxF5HasKutcV15JZDRToFk9b/XlyFxM60NLU6Kg2Wh1Cq5mnUlQpdJZKijYNcYSnPGq3uUVQo1F+aHvH8e4du9q2dGzpqt3SbmpxdjRWtVbgH4jt25M37c4qP4eVnJRZqixGoUEt5vKFNBafxZJw2FomowVN3p2Uuz+z0E2kyEV8rlQuNtkFRgeOI6aKpCQShVVYqlmTv311YX9OcRsefbDZcmBXQ9/uuh39bjYH88GbagzlZy/tCb8cVnoE1EP0GqplFCBxeDKDWbApF0KuvndlcBo0NMznetDiTp9FRXSIgEPCREMd50YDHCVQqiJoaLjVk5z+wHP6ZSPS9vDqEyyF4d/aTy4hnw8FaqXPn3zbAyLEARU1UelCbDj4hEE7BCta0LsHB6cjNeukzT0WVQ27ICHgvcbqKqRug6to/L0m0M2x84yHQoF9AgAAwMfH1DR0CwJ1YFXZcVj59lSkbDOZSGGjaFARmY7mcLhk5lYkuzWtaCsCeUalO+g0bas36116TZ3dXOs2V1cZqzR6k9wgk1dTuR3rCi3LYNtovF0C5ZEKUtUK+C6ZtLfW2VRTo7U7uGYDWyYxCeVWJNWUUXCQIT1hqWqRS9ot+r1bW/e0tW1rbGrZ0lnbtbWqo66l1l6LJN5QOfdtpjSn5G/NKj0m0Nfo9FKVTEhns4kkCpVAZ5AENIKzEtu3Mnv/qiIXgyGVizhCCU+p5eqsZKkSxeaQIDYBi6ylMXoz8jsTswYduuPbq/ftrO/ZWdPV42RCH0001Kuh4w46VQ0lMFhilWb9xkLPA5sePHz8xpmJHA0N8hJfFHOaNTRo8jfiWsaAaVnIGeSR48rSG2F7eHuOWkMD3z3MdPNY8ncpFxQfH8/p9yxmdUws2aGCFXTTmJ+NBYpg0PT9eP30Rqmh3madrLn9zhxaURFn2ENfCjT1kYAuFLEswbI+DbfQAQAAAGB6mJqGVhegtuWjt2zAWHJQ9HICgcomUbnlRHouCY9l0t0csT23vDoj/yRVeJIraagkOJiQXa12VtktNTZNvUFTr9NbtA6xqJ/JdWdtaC5CnxJrd2FItjzEya31LU32qo4GQY2NZtOTpWINU2gvYy1gPGkAACAASURBVFRnlu8t5+1hKDog8XarZc+Wtu62ltrmRmtnh21re2dbW6fe4iwjnVDazuirOjB059qSvWJDg96oUsr5dAYdh8eT0BQqVkDBVFVWdiZn78gqsODwIh4EcXhssYKnNbF0erbdLHJbaFJmvUK4dTWidTn8itt6ptu9r79ue1/N1u4qGhP1wZtqjOnS0Gl5bmhYIevlQr3+s+ejHywaes7l6A3NrVebQlUm0va31NCANYt+GhruDGN6nYcIUahQhwuvoQE1M3E0NOKKgggaGqlZJ2/unsjrNyLdDhUmSjpRNDRiWYJPOFnDAQAAAOC9MTUNVRWU2YtQ5lKCsIKAIVIrmBwimYfGM5BcaBO2UsCkV/OFTRRWI5JQV4puJNLaVJo2Z1VDo9va4FA3GdWtRl21VqcR6MlYQ1lpHZ5gLS+vImL31Vn37qh3N1lMLS6O3UAyqAgigZDGt+AENcWsTrS4jSJuFii2uVzdW9paWpqqWxutW9rszc2NFlejWGchsmv5kj5XTYdGV4VndIjUdUaLSilnsxh4IqacUoGmo5j0SjWxsrm4tLZgsxRXyeWxhHK5zGBSWavkVVU0g5Jhk3OMPJOS3U0h9uIqu9VQX4u+r6d6a3dVS4eZSCn9wE3leTho04aPS0N9H+0B94j4/GmCxYIv305DA3UkvMp4jg26zShkAncKa0PDaOika0MDVzcGrg31ZficCxFw8vHz+/6NvAA3UEMjZnWCtaEBd/MET8qHuc3oDdaGhjy1ILgLBW8Pt/bX706vwEn8cItfx8rit1I2wtoGAAAAAHwopqahYhxBgSGK8TQalVUAsXLY7FIiE4NnlJWjCRQqkUVFUdFUAVWiE8t0YqVZYagzW1ochmaLolarrNMZWs2GRr3UIeIZuUIDlwJV1LWZt/U3Vjcb2rpdO/qanC6rXK2iicUYFpvM4Io4Cj1PZ5ea3Ta3u6auprWpurW+uq62rr6xpam9rb6tzdXc5mpqbWixOazOxprappomh6Pd6XbarAqtkspnlTIwCGZpPru0jF2KY5UK2Gg+C8PgklhKPs+sk1jMBqPNYq1ytjeZmhz1W10NTfodW237drmbe0w7jje2bnc0d1hqGrWVuGl9fL3HKQ+oRwZavT90FMDxqpED6pFd/OAn0mtmvdDP+6g0dORlxOeGTnrr9NtpaGCIERF+2jp4VneyO+IjbX97DfUWKvyd8r4qClrLGNHegnPlw296emxRZlB8d/zFMHfKxwevTB1LPnV74zvlA2+6Cmmj0AKGtm9QnfgKGPZO+fiAtaEhBQEAAADAB2dqGsqjUpgEMplIQ9NYuSzmOjq9mEAn4lm4zRhSBbakbHMxrowgoOOkTJwSktQZIZNI7lAYq9VVLm2T276lxtFsVTgUkJpHl7FIFjnDrmK7jdJDPR07m6u2VZtaXFUWg5ElFKMYbCSdS+TJ+Uqz3FKtr282tbUYt7aa2hsdTQ119Y3tNS3t1S0Nzmar1W1tbJJX2xW1dm2Nw+Wudpms9daqKpVWxRNwKSQmAQXhy4W4Egl+s4yK0gioGgVfo1OqrEal0WzSmqttjup6t8Nl6qizbG+ytNSr27bpt/ZbGjt1TVst9S0GZ60Sidk0nfX+7PGIfkE0P3c0opk19nylhtWvO0tH+ymv6tI/Og39CJiu51wCfmcER0ABAAAA8HtiahpKIeBRVDKGSEURGJvJrM1kNorAIlTSKEUYGZYhriSziypEpRgVjS2RiTlijl2nbNQpu3TyfoViH099kCTcV4zZt3bziUzM4aSyfljO8fzKgRLmFabmprbqpN7aZDLorUaGVFrJ5SH5YhRfTlNahNYagd0tr29QtDUq2xp0rY3W+nqnw+Wyud21W3SOeoWzRl1bU9XeVtVQX+usqVbqW3madoq4vYy1NRfft7r8YNrmE8kF38AL9q8r24ukb6Xy67iSepWpzuiot1VvaWhsrHHtam8abG682lz/XYPjW7dxqMFytEbXUqtx1KlNTmkpKm+aq/54lWd6/fWWwtdbCl81Z7+qS3/VnO359/WWQo90jtFLGN2OGu0qGe3Bvr2G4qj0P4aG9nDCLEb84LkCvHN6ue/uh6kAAAAA8D6ZmoYy0Wgci0FmQHgyhKZwcHQ+Hs8kFFTqCvG6jE2OjPzW7LK6rCJH9uZqGruey+9hcnbhyH2FZb2rEH2JiL1L1x9fknFh0aqbc3PvxOTeWLDm+7is72LXnIhbvWtx+pFNlduIjBoeX8uCRBwBJFORpRqmxipxNkvcTYqmNmljo7DGKXFXye0WrdlotjvVFrexpkXvcDtdtd11jZ06c49QtZMi6M6u3JlRunvlpiN/3/Bd3Pobc9feiVl9Y27W+djMk8tzO2G5TRkF/aWMQwzFIYnhsMmx2249U1t9hMJsTcnqzVzfl7m2Mzl9Nw7XaBBprAK5AdpUsn76a79pw4jys9edpaN9pNGukmA6i0a35I1uyQu1SaChHgInjoGDfjIELgIBDgoAAAC/X6amoRYklkahkog0HJGGobJwVDaNSFWXYrelFx5ctvbkksxTS1KPLss4CF/fn1vQn7PpeHr2QELq4CLYxQWw63EZN+LSb8am3YnLeDgn43FMxuPZ8Cez4I9mp92dD7+2AH5+CfzY31P3JufszENuxbPMPLFArGDL9SytjWutFVc3qlyNCnu1xGSSmHVKm1ZtN8utDqnG4tBbeo32owzh0dyKb2DrBpamXoxLurwg5cJi+OUFKY9mpTyblfpgDvxuDOzBzKS7c9MuLV019PnqC7FZ52MzLy5HnM0pO0Gn3DFqfyhBf7No5dnYlefmws4uzThdVFnFJbOkBLoIv25j1vTX/sPrI8rPXhgXjfZTRrcVTOKRQEMBAAAAAAD8sZji4+vLMCwihUyk4Mk0NJWOJlMpBLyxBLU3CXFxUfrtuSn35sKuxq28sCxtIGXtAGz1zYSMu3GwOzGJ92JW3pmbdHN+ytW4lCuL0i/GpVyZl3QzJun+bNjw7KTHc5Iezkt6GJd8ew7s8oKUU3/P7EtDNJQRHFyZXmkWa+08k1torZOba5Uml9JoUVrNcodO7jBoLLYqnaVDqulH04/ANpxdmHIjDvZgfuLzGNiz2KSbS1KuLIbdik2+FZdyYSn80lL4/cWp1+cmnp2TODQf9mh2+rNZGfdjUr9bmHw8Y83lzaW3U7JvxMIez0+9Nzv5clza6ewSHbGCAJUTWRVrNqS9kwY4oB5RfvaqYfVoH2m0bR3QUAAAAAAAAJ8OU9PQKiSaTiQSiWQcmYYiUyvwRDwOoyuv3JmCOL84/VYs/MFc2O05K68tSL6wLGNoSfrd2NT7MSk35qVeXpRx9vPM4wmrDiau3Z+0fs/KNQdWrj2+fO3ZhDVXlq65sSDzdkzq7Rmwx/NTH8bCL8+Df7MoYye8oKuCVcNTq+QmsdbONzhFumqp1qHWO9RWu6jKLLRqzDp1s1Dai6LugeWemQG7OQN2d0HqrTjYjc+W/zA3aeDz9EMr0nclZvamrO7OWtebtfYwbNWRxPTdKzMOrMg4tyjryrzMqwuzri5ddXrBygtLk28vSH4Yl/w4PvNaXMrg4tSD2ZtkqAIsvZDAKFmbm/qu2sCdNqKZ9bq7cnQ7CmgoAAAAAACAT4epaai5HEkk4HB4IpZErSCSS7AYDKZSjUTuSEMMLEm7GQd/NC95eDbs3pykawvSLsTBL8ZmfLd41akVOYdTEb1rNnVkF9QjimoLNjvzCmrzi1rzi3vySg+uLz2RVngmYcO5hZk341IfxaU9jsu6GZt5dtG6vSnFDSiGSaiWKU0CXZVA5xJrq9Rap9rkFNgsCp2qhcfvKkTuhuV8uzDjwayM57Frri3NOrYANpCw+kxK3uGckv5N5e2byxsqKupQyGYUckdZ2X4s5iCNehhLOrGm9JuE7OOLs84uzri+IP3ObNiTOUmP5yTdjEseWgg7tSxtX26BGl9Mh8ohAXpj4ep31QZXj4woP3thWTraTwleCQo0FAAAAAAAwB+XqWmooaycQMBhiSQcmYYkUUqwmEoMSlpRti0DcXJp2o04+E/zUp7NTH4yM+Xe/Izzi7J2LV/XnrWpMb+iColW4zAiEhoiopmkShKujIQvp5MrRTSckUauJVE7UOT9+ejjy9IvxyYNz055HpP1aGbWQNzq9pxyF1soFSk5KjOkreJrnWqVU6txiow2m0x5sAhzZlnG2RjY/djMF7PXPJibdTRhdXv6up1YUjeNsYXFaaAxHSSyiUgykshGMqGaRWkSsbboZPvM+rMy/VkC98C6kkNLsx4sWPX0f2C/zEr7aRbs8rzEs0uSTi5P259fYGWihVK8XE0tQ+a+w2bYxR9RfvaqLW+0lzDJ1DzQUAAAAAAAAH8UpqahprIKGpVMpTGINCaWykCRiJV4lKCkeMsqxDdLU6/Hpjybm/LzzJSfZsHvxmWdWpbdsqrQXILS4IlCOpnBphAgEoZJQDJwKBahhIktZGLKOASqkCmR8m1iaSckOJBfcSoh8+os2POZ6f/6a+aNOZm9GZtqCAwhxKdKNTSlCVLa5DKHVmZTKEyNLPGJxLU3Zq14EJP0LHbVo7+mnYtJ272mqJvGqhULTHKhRsgX0qkcLA7CYLkEApeMF7KJUiFNqxU2OPQHXa4Bc9VxvvxsKeX7havu/inx9Qz4s9lJ1+Jg55elnExIObSpsJZPVGhoWj0LWTndD2zyZwfJFxDtLAIaCgAAAAAA4FNgahrqQmJELDaPx6NzOGQ2h8hi4okYqCB/25r8b5amXp+X/GxuyrOZyQ/mpF1eumZvEsK5CSnDEEVkGodCZdCpDAaNQaNTyRQmk02g0ZAUEpJBJfI5HLlYrlA5JLIetmDPhpJvl656OCfj33/NfBiTvh+W7S5GCtgcnEiMFavJIr1IaNTwDXqWrL2cfHLByiezlz+LS30Ym3FxbubplQW7Maw2qVItl/DUEpaER2UyaCQii0hiMmgMFpUtYvCVPJlJpjNrnCZ9m9nUZzQOSNXfrtp8ITblySz4T7OS7yyGf7805czixLOby9rkTK2ZpTezKyrfWTTU66A9+NHtKBANBQAAAAAA8IkwNQ1tqSSq+XyZRAoJhXSegM7nkCk4Tj5i+5r8k0tTb8YkPZsDfzQr5Wpc2tHEdW1rNmnLcVwSBSLTGCQKi0LjMlh8FpfLgJgUFolIw5KoOAaTKhBwFAqBSq2QKZ0SWXMF4TAM8cOCrJ9npD6eDT+esKYhp0jCYWMkQhRfiuMpODy1miW3o5jb1hafX5j4LG7lT7HwS7OTjiVkHy2hb2PJZBSWQCRkyMREMR/PZZJoVCqVTKRS8FQilkGgi9linUxh1mptRqfL1uKy77GYv4WEp1I23I5LfzwTdm8R/PIi2GDc8h9QmC4dV+/gGmyc8nehoc8ej3SUjig/e+lMHO2njHZXgFuUAAAAAAAAfDpMTUO70VQjly8XSwQyCVcmZQt4NCpBVly0Iy337NKMe7OTn8xKuhubPrBsVcfqDYbiQh4WSydTWBQan84SMiEeG2KxIDqDxWByKFQmkUCjkJksNp8nlAmkSoFUKRRILSTm7vWogcWr7s+APZ4NP7cwtSsrX0yjlfM55SxBJUNAZ4vVVF5jPqY3ce3Q50l345Y/mJN8dkHGPgSumcCxcxVKnkzBlYqFMqZISOCx8AwykUEkMyhkBonCovHEfJlCrtRqNHazxm40WrT1Fs1WlfAoiXJqbuKjmOR7sUk3F8CuLIbdrMDsMAoMLq7GyiyuWDfNVf/s8Yg7bWoOCjQUAAAAAADAH4ipaeh2FMUC8ZViMV8qhiRiSMDhMEiGCmR/as7Q4oyHs5KfzEy5viD9YOIqc14OC1NMwFcSSHgmlSZgMCUQT8Tjs3lcOp9DhtgkGpNEoNLwdA6Ny4NEHL6MJZDROBIlgbM9B3186dq7MfBnc+A/zEvdl5wnJZArOOwKBr+SzidzeFoyo2t9yZG/p19ZArsTt+LBHPjpJWvbykgaFl8qUopFKiVXLhfIWRIBgcfAM4lkGp5GJdCoRBZEFwr5SrFUI1erLWa1zaQza2w2VY1bfUArG0jIGp6bcn8+7Gbsyktxidcr0NtNPJ2Lq7IyCsvXTGe9P7zucdBXzdlTeHY90FAAAAAAAAB/IKamoVuLsToKU8zlsvhcBhdiQUweg2RDoXbCcy4uzhiemfxoVsqVRRm9SWsEJblISlEFGYWlYBl0qgBiynl8qVDAEfEYIg6JwyRSKRQciYGlcohsLp3HYAtpLBGFJlKguN3ZuBNL19+fmzYyO3V4RurJFQhVJbGSCaGpAgyNT+RwNGTKrlWbBhfA7satHJ614tHs9FPLcpxYOp3Po0sVbLlWIFYIpTKajEfgU2k0HJuEhYhYiETgQAyxSKARSo0ylclsNdmsdrOhqkpvbzEearSeS0M8mJN8fw7sdhzs4mLYLQJph02or+ErrIxN06uh9i99cdAd6KgeXA80FAAAAAAAwB+LqWloA6JMiiWyaFQKi0FlM1lsmoBGsCOR/hp6eVFGd8oaBhJRQC8uYaAwTAKDRRXwIZmILxHzuRIuQ8QmsWkEKpGMJ9BxZBaZxWbwKGwBiSmgkcUqJL9rPfb439ffnwt/MTvlyV9TBxPy9RVULJ2Po8rwNCmBy9MSyfvT8y7MT3wYm/ho5vKHMeknlyOsRCaexyVJFAyllitXchUSupxL4VPYFAyPgOYRcWwygUEnCQUcnURqUWptFqvdbq+1WxtqbVVbbad2NHy/fvO9OUn35sLuLEq+tDTpHp3R75JZ6sVqB7ugYu101vvtsz9Xw0eUn720J4z24Ed7CeDHPAEAAAAAAHxqTPFXlBDFEApNJOIJTAqTyxJy2RIGyVpe2p+6/rul6cOzU57Mgl9ZmLU9eR2jHFFAL97MRCGZeBKHCgnYIilPLOHxxBxIwCIzSHgKgUAgEEkUChOi8gREvojEETGpUl0Fb1s2+siy1ffmJL2YnfJ4RurA8gJjBYtAlxFoWjxdSeSKtUTqofT8i7GJ9xesuBuTcHdu2vEEhAvDYDA5DJ6EI1VBcjlXIYKkHDaHxCNh+EQci0qk0YkUKlYoZOmUUotBa7NZHHZrnc3SWufo6Km72Nd2Jaf07nz47TmwG3Gwc0tW3qJS99fpXM0qo0tQjMye3np//nT46Q7miPKzEc2sVw2rR/spoz3YqT2+fhdljJ1EoKEAAAAAAAB+d0xNQ7U5CGJ5KQqHxNKIbA5LxGVJaERTSXFveva5zzMezE55Mgt+Y8GqnbB13BLEZnJxGbECRUYTGUQGh84TsoUijkAI8fgsCpVAIOExBDyWRiVxuVSRmCKS0nhSiCrRothtuaj9CZk35yQ+j0m6Ozv1+MpCbQVEoCvxNCOWridBUj2Rfjgj/8Ii2PXFK27EJdyZDz+xLLuugiqgQVyulC2SssQinkQgEDB5DAKPhOGQcEwqic4gs1gEuRzSGxRmm97mslY5rfVOS0e9Y8f22vMt7vPpiDvz4XfnJ99ckPTdUtgdOv1wk6m2TWuuFk67hnr48bs9z61fjCg/e6GfN7ZOdOLIqL+G+jG6mzW6Az3aVRJRZIGGAgAAAAAA+MiYmoZKc3Iqy4rL8BWVVDyTSRexGWIqwVi2uTsze2BZxv2YlGez0u/ErTq4Yp10EwKPLSaWl1KQSAoeQ6eR2BCNA9F5LBqXSaUSsHgcppKAw9CoZB6PKZJw+DIuJGNQhFIMvS6/rDcx9Vrs8ifzYN/HwfckF8nK2RiKCkUxV1INRJZCh2cdzir+7nP4UMLyi0sS7s5PPrNwdXsRUUmFeHwJTShk8jh8HlvOpIlJOCYJQycTWBQam0oV8WgKJaTUi9VWlanG4qi119baOxqrdnW4Txs0RxPSb8XC78XBby1MvrIs9SGdfazRVNeisTgFxeXTfaf8OD8+/eePB4w/62KDZbSrZLQ9O7xNamNeWP42ovzMwwtD3EvHl68aVr/uLB3tp4z2kUa7K0a3bvxja+igMy+e0//Bs/EWDDkQ8VDv6EgvNx7hGnxHJ38fR70XxmrpI87hhPRw4hHOoQ+eDcDvl3cz4vVD8XmOc9HtHPVIFdTb391Y/dFcVlOpxmmklxsfHx//Qd56WpmahspzsjGozUgyupJJYrDoIjZTwiBZKyt6MrK/XZZxdz78SUz6nbhVh5dnK/LzSajN9LIyWnkFDYOmkfA0OpHOIDEpBAaZQMZicRhsJQ6PodAoEA8SyARchYAtoxAhEYpUj9i8c3nqD3ErHs2HXYqF70kqFG2mlhMl5UQdkqgl0mU6PLRrffnp5VnnE5ZfW5LwcA7s3PyMPgTGSmAL+RISn0/icpkcSEij8YgEGhFLI+OYZDJEIYnZNLmAKZRAIo1Q5zTYay11bktXtXWwuf47geTYwpRbsWn34+A3YmFXliTfI1KO1RlqmlQmG7eoZFpvUQrh0f3bj/vFPhmtS3/dXTnaTxndjhrdVuC7h2kH+lXDaq+AhvJCP++lM/H1ts3jLls22pHrr6E7eUkyZsW0auiQAxE/lqIaazz7c3vC/xstEw5tflnyjptjV+yEw9Y5l++48d0GnXmeLQH2c86F8J453FFR1kN4DfU7YdS1GuHk03aUX5XGv08RDKql36teR/t5+dbfSXo4vmZ6g0/o3/+3u3fLB/SeaJombPbGN4ZVpXepoedciHhuz3vW0HfyrX7iip1iNU4bUxrWPpAoR8fUNNSai6BiyjBMPFbAYAs4Ih4k4dJcBOy+TMTQkvTbcSn3YlMvzYHvT8xRby5FI4spGBQZjSRikHgcCk9CE8gYIglLImJxWDQOg8XhCCQijUaHWCwhmy2BWBI6hSPdjOvILDydsPbGXNjj2cnDsauPJOQJN6KL0fRiFLccLSAS+HIMuwGB3p+Uc2XRimexy5/Ngl2el7YzeVNtOUVM51ayWCiRGMnn49lsCo3KIuHZJCydimJSMVIy1cgTSTlciMOQqSV6g6Jarzxotd01uY6mbvouLuP6jKT7c+E3Y2FDsSsekelHa/VWF1+upRRsXv2uW+L5yKtH928PH3F7puk9NzCNBUe9PtpVMtpPeVWXPqKZ5W+fw0fc94eOPO4XP3Mm+3zU/fVYfLSXMNpHet1Z+kI/z3vIRWHsGd6iH7cz305DhxwI3/XZw4nGmYYciHgEIm/s+jnnQiDyENOroedc0FiWvBeq948Jr8Zeri9XY7uN7z8+pPqEzE9wQ46Ktuoia+iUKyT8yaftKL+Xerlv8LXhbflENHQa32hqvREwxep977yxho7z3jV0Kjmftub4hDR0Sm/6B9JQdy6Cj62gcMk0GUcsFcnFArmYXUMjHc1CXFgMvxmXfCcOfjEufQ8sV4msqCSUkwloEr6SgK8kENF4EhpLQmPxlWgsEodFY9EYfCWOgCNTSUwajUtl8Ch0LolIFxZUbknd9O2y9TdiUx7FJD+at/rYsg3cnOKCCtwmFLMEw8EReHwCx1hB3LGu8PvYFSMzE57PSrw1J3lg2freteWWCiKDRKtgs4q5LCSLRWAyWDQyl06EmAQegyAmkNR0iMdk0hhkBpci5NEaZKLzZsfARtzA4tX341YP/zX50ayk+3HJlxfBhqm0Y/U6i5MnUuARm9LfT3s8H3n16MefHg72P92CHlNGzayXzsRXzdmjPfgxJe2njPZTXrXlvXQmeva5P3Tkx6f//PHpPx88fHzvyuDjfXqfjxoXvWpYPRZb7ae83rbZs7r0hWXpiPKzZ7Vrfnz6zzfPcJCReP2plxuP4EKIsME8jxP0QwjX4MvRQSfX0eu1rn4oMJAz6MyL53ChsZP4AnJQr99LE0V9QiUyyg+S8QN9g1qgyoQf7Ca+1INKNxUN9YuPjuchoDbC/gtxgqZsvPt4Tz6epeAyDjkQQQ3nX/yxYnrjxL4ThgaGfVsCJT4opOqthHP+nSHPcS6aaGho8DukqwTl09d74wOraIywvct3Hk6/X1v7shSma4WJlHu7ge9wX4UE9jf/QvVw4hEcLiK06gLxy8NYxrwHentdQM2M9z2PK/gZQ0A+vaf17RDUb/07rfdvb/F95xyrav8QHcTJC2qCMPU/4SUQtt2DR6rQESlghiRMOwb7U1CHCS5d2HaP1O2DukFoNQZ3sHB9MnBIidCfPcXxhckDRhtfi4RO+wRv8bZ4Lzc+aAQIrIFI0dBBZ158UMcI+UIbcrV6e0j8RONMuDHW/5Lx5jCcE0caBsd3DluxARvDZTJSE0e4lr0N5F91YceZoP09xQk4PKQaA1rfd+UGfD5CnPHMe4vmG5PDN9Z0MTUNrc/JV+PRIhFTppUaNUqzUm5U8Fs59OPrCi4uSbk+b+WdOPiFxen98FwJDomiI8kUDI2MoVAwFCqWTMPiqWgc0aOhKCymEleJxmHwRDyFSKLjSUwsiVGKwVPzS+vgiOPL1/8QB783J+lmXMbehHWkzOzsotJ1ZcQNlYwSIkSiQgISvbkIObhwxdMZnz+ZvXx4NuzB7NShxau70vP1hSV0Eg7DJJAYNAqDTmExKAw6i0blkElSGg0iY3AUJJqJxEIoJq3ChkbuLsMcWr76uxjYq9lZr/8M+3lm0sN5sMuLVz5iMY826M1VXL60Micv+V3U/gT8+PSf929fHz7i/qml0Dfnblz00v31q4bVr7cUenihn/ezLjZobv3ps58fPnpyf+jIj9uZ3tiqJz76qi3Pq6QeDb1z78EbZ9L/Y2z8whu3N1//DroIvZ+OeY5z/RDCNRhqXeN26xu2Qt7L91KE4FwPJz4+9HMxSg31H3Cj19Aov4iPZTjaSfnguMKYvgfXxthufrrmG/q945R3y/g+nqPGX/JkKaLqRYiGes8T+kE+5EAEaIcv2+dcjqBFDuMtPhYpH9syuYaGilHY2phY3YI+mcL0lng+xAAAIABJREFULt8yjEA/9oTzfbUXvtK8va6HE/AJF1whfkUIKlQPJz5s04eWJSga6j0wTD/xXZ7+rtMfPp9jZcxDIMLPtPofMq6Yvm81QfPCfhoa5noM9JWAqzvgEpik3YMuusARKWDGY9zXPVlC5CG86h+Yt8AAWFDpQq+I0UGnqydcxoKq1+9Y3xCKQOT5V9pEI974ljeflPfv5xNs8ZcY/87jnFxD/UoaPCyE68n+fcY3vET6whBQFeNN79fz+yHf94Ewn0fhhsGA1okiGhqUyQmaONy13Msd22es0iJ2gzBtF+bwsNXot3MYDfX/guT77uT5OPDvzGGHnbdkahpag0BoiFi5nKuxKO0mnUOvsurFW4XQ6Q1FF5ek3IpJfBgLv7wwbQ98gwxfhmVXkmloGg1HZxAYbBINIpFYeDwFiyWgcPhKDBaJRWOwWCwOS8IQyCgcqRRL2lBWXr4h356Sc3j5uiuLUm/Ph/0Ql7Y7YQ0uOWstYtP6IkxuObkQy0BT2HQ604LG7k/JvLRk5Y0FicNzYc9nJN+dlXRqadr2tGxXUZG6EqnA42RkipDGENJYUiJLiqfq2TQxGcUmlXCIJWJMkWnzpvbM7P6l8IvL1/4wN+nnvya9+nPi63mpt2cvPxe37AnEOlKvszh5QjlmQz78XdT+pDx99vOjH3+6d/OH4ZPtT7egvU4ZNCMfaYmnJz56f+jI3Vb8RcH80GPfoYYGdfTAC2PcM+L9hGP8+vT74hU4cgV8xvtemmgKe/yjYkoa6q/O0WtoFHOggaWb0qR8UOAnqDYCFm4GnPxlOBULGukC9wkJMIS+xfhRQTGJ0EoOXeTay418fo8zcXvOuRCePf0/EiIKZfiSRqyNkO7hH1GYoHf5RRfi48dDiZ4QFNQ75EB46jM0hh3U6/ze0RuZ8K+Q0GL6iUtExwrfx0I/qkNrxq+lAtwuJJ9jO/RDnP5BZ55H2sJFHD2ZD56C8DttmGho6FUTGJQNDhtHqKIwpQvJW9gxajwzni53zgU5h3o4nm8a4eJYPssPKl1QK4TOQngzFlK9gcdCvaODTq7vW3qQdkceMN9YQ0NH2jBj71iQLDDaF64rhtFQ/z0nXvseHOkM6TMTD+ahzRqUpeAMhx8Gp66hYb5fTdDEoV9L/NLYt8ew3SBszkMPn6AaI2joeLP6orxjxwZ25nfCFNeG5ucIKGi+iiO1KowWrdGo1GsFbQLm8exNlxenPJ658udZ8Hvz00+kIGykSiafwISILA6FyaOyhHS6gEbmkLB0HJpUiSGisfhKDA6LxuPQeFI5jlCMxiJQKHhRUe7aHANszYHlay8tSbsRC7sRm3Jg2SrMyuTs7JzCDeWb87HFZUQkhkoiUAVYjK2kqH31qpMJ6TcWp99fkHp/PuxebNKtJemDCVn74evbEYX1paimcmITkl6LglxYupWIdhArGivLWxGI7uSsE8uzHixe+2huxtXY5FuL4cNzYfdnJDxeDL8cm3B2wbInEONwvcZew5frCJuKM95dG0TDmI8+GL5784eHg/3DJ9sf94uHj7jvXRm8c+/BvQfDz0deRTr2+cirE6e/Xb+xgIIpsrPztkHwM+LlZ7gLPWtD30ZDJ5yUn0xDX3o+vAM/6QNnZt9aQ6MbuQIIzHC0Gjr5ypuQ0k1BQ33huvA2Fq2cRaOhUG/YsoS+hTcaFLmSIzSN52MpNM40vlRjyIHgOsYCSG+ooRH3CdwYfu41koYGfV72cuM5/T2csU9xyBnyORFeQyNYl3de9a01NHIAL1w99HLjEa6e8XBdqC/6NTe3p5c71qwcV6iijX2X6B2vh2nV0IkugWhi3tFo6DkXAuHqceZ5+hvC6Qr+XhG1hnprO94/cB7dcDHozEM4+z1jYw8nz+HkBk1rTDBgvnMNRbh6ggrr0Z2wmhV47YStuhBCRpVp0lBv44bUz7vT0IhNHFZDg84fqRuEzXnI4RNV4+QaGmZ48XbmCNfX2zE1DTUhclhEJFNM4+mEMq1UrhBIpAwXHb9/NeLiorQnM1NezUx7MDfjbHpBHYssljMlErZUwpdI+WIZlyfmMHh0IoOAJWGwOBQWi8ZisTgcAYMlVlTiC0uROcVlSRsQOamrDQmrjiSsu7Y47c5c2M35KYeXZRFWwDasWVOwrrgwp6KwALO5DIeswGKQFUxMqTwf0ZG09uSy1dcWZT6ck/xiJmw0JunhHNj3S5IPw7J2pa/fm1mwJ6tszypU79rylrUbunJy9mes/2Z55tCi1Ptz4aOfwZ/9FXZixtJb6TmPE1dfnr3szuKk7xctH1qa+ITFPNakdzdJjQ5WKfJdPbBpqjwfefX02c+eMKeHh4+eTOCgHs6cPb9+UxGGQmfwBDgqnc7hrs/ftH5j4Z17D95KQwMWEfr9HZWGjhN5CZH/+O4/tzgysYZ67xkKnDgLukUpzA1VYSKa4S7Ul4HXaoSFB6HDSmDppqahvmmjwCna0MrpcQaMpN5iRj0pH3adwwQfpd4JqbBjn2+kdjiHBp3ciJNxfnFBv+/fk0/KhwjKRLURrkShC2HD9S7vrO7L0ZFel7fgfqvlQj+oQudtA68XZ39whfgXIaRQwRoabjnKhBoaWjNj7YgYd0q/yfeAfAY2SsQwmMenw159gT3Ev89MqKEh080Bl8Ak7R7Yu8J89AZMygc8tcNjVyFyGe2kPCfgvcJ2yKDqDbz8/S7V+GAlmmDAfB+T8t7yeu8EDRnBIqwNDW39sWFhslElTKAxQs1H1lD/xg0ZB0KHwaCrdeoaOlETh17LgcvPXEE9MPCyCq2r0MMnqkZfywasVAlYd+sNWDh6gztzpFVwb8PUNNSWvYGFLqeziAwhkydkQxwqnY5WITd3p+cMLsl8HJPx08z063PTT60qruUxhAqmWizQCoUqkUAu4on5HC6LTicTSDgsoQJJqkCTkTgKikhAEVCl6MKNZbnZRZnpOcUJmfbFWQOL1z2Zk/F8RvLNOPi+FZnslNSi3GxEYQmipLK4DFeGIpWgcSUoFK4SDZWgDIjSrtSC7xflPJuROfo/Ka/+CnsYu/L6opUXF8O+WwI7vzjlwsK0G3OzbsRmXliYdmFh6pVZsDuzk54syHo0K+nh/yy/tTD5XH7+Q4g5nFv4XWzCrSVJVxYlDi1d+ZjNGthqb+vSuZuklfi8aaz0949XQyGRlMzmvvMHNr2RhnonMhAcbrgQVMAy/4k0NOwCdu9cQ4Tw6kjIxKsvPhRwqoAptsA7YMLNgPgIKt1UJuXHSwRxwtzCEnSLUsgEpfdU3o2T3qIUMK5NVl1ciBNcV77qCmoL34xP6EAWbqCMQkMD5vhCKsdvlA9507HM5EGcyaOhgaULDUL4FHwk3FsgEAF7+rpiUIUELLwLKMK0aGi423qCF4+G3KIU+t0y3Fe4sF035CaekD4zUXjYr3uHuwSiaPeAhggdkcYr31s/QSHAMNMm4w068S1KvklS/6/oARmLuCAk4Frz+4obrk8GD5gB2QvpAGO5ijCNM4VblMbkxuUtQug3w3AaGrQQa7w+Qr+uR+ghAZdA8GUVMsx6blHyezVC0Dp0GAw3MoSrWL+NYQOTEZs47MxG0PqKSN0gMNu+jWHWswVUo3/rj/dGDjdikMWvZYM78wfXUPtaBLOijEzCklkkKotMpmFxuFLepvyO9A2n/77+QezaBzMyLs7OPJpZ7IToHBFVxGZKmGwxi81nsSAGnU4mEbEYbAUKW1qBL60kleHIFURiBaGiGJ2fW5KzeuOa5PUln6c7FmZ8uzj7WUzm8xnwawvgO1dmiXOzkajiIgK2iEJGkxhECptEpuMJFDyOwiIwFDiquwBzMKl4aEn2zbisW7HwG4tTri+G3ViQeDM28WbsygdzYSOzkl/NhD+JSX00N+PBjOQHc+C3lmQOxiUOLUu5i0I/aXM83+K6V4ocilvxYEn61bmJg4sThzmci31123fZW7f+/+zdaUxbV8Lw8ZEeaaRKlaKqGo06mtEsmpkm3dIW+mbKi4j8YMSepUmakGbfyUYWyAIJ2chGEsK+r2b1hvECNja7AQO22cHG2MZ433qdm2u71zbmvB9I0rTpPM/knTZM2nP1++Aen3tt58jqX9fXOPNU0p4f8R/91fspM/T19AOX2vx4Wl78AOUX5X/8ePQn88//N/Mae71e1OgPfOj5k7/q1+ufCFomP3ClL/Qf4iWvDd2y+2J8fNK502cuJ525lHgy6UT80X0Xt2+tjNgmCo7TfrhN95cv5B9t6Y7cl33s+LnzCefPJiaeSUpMPHc2KfHkmdOHjh/de/DAvv0Hd+zYvW/voWNHEhKOJx0/dnbP/uObt+2N2bg9KnrLkbAvy4O39Adu1nwQq10ZIfs0mhv5RdrJ/fFXTx65cv7YlcsJ55MvX0h9mJKWeiLp4vnklJSU62eSMk+fK0+8ULn/CGXTjpawL/qCogffD5n4kKD+NEz7SZj2w7W6vwVbPwrXrI6Wfxw9HRjT+1kYL3K97EoKaKGCiXbddAuYF1nPJE6uDLZ9EKldRRR/QsQzc2b4dZzWkkZm7vnkg8u+VP8OmKHft3SV209z8KXvcCz/a3zlXjgJ9Er8T2dYX1uv5Yv636+Q/hf9S2X5Wv4TQcvkf7yiGlpeL5ehDw4cuXg64dz5M4kXz1w4f/bc2ZNnThy+dGBf5uYdlJg9PaF7+oN3doTsbFi/N/XA/sNH9x84cGDf/sN7Dhzcc+jQjoMHvtyze/OOHVu2b/9y+44de/YfPHQs/vjZ+ONJew4nbN0Tv2H73uiNWw9siMuI3tEUvVMUEScO39K/bht99+70a2cuPLx8Ku3ixbSrN27cvH4+5X5SSvb5S3cTz2ZfTmbm5RakJhffS2vIfcC8e7v3xm1ZctrkgVOSzXv6w7/oXxs9EBLZH0zsI8R0E7/oiPhy+Ksj2hu3EWa9d7J7QTdo1fdaveP4nNCVmib/O8G+MtLyUezo5zG6qzdkvLomdj6FkpF0fv+yL9W/A2YoBEEQBEH/aV4uQy9eOp2YmpScknTt3Jm7CWduHz1+8ejh00f2xx/ccXL/jot7917duffGjt0Xdu3Yd3BH3KEdO/bu2bFr3/Zdu7fv2bN1z+7NO3Zs2rH9yx07vty+fceufQcOHj1y7NTRE4kHjp3edfjk9gPHdhw4fPjI0YunT2ZePFt7OYl2NYl6+2Jt5pXMB6n5xffv3L3xIO1mdWZ29cMsUmE+r7J0rqbSSalHmqjaJvIEpWampWmK1TjFZir5PGULe4pcN5if03b9amPiqZKEA1nH9lRcOF1y6mjd2QRRYaZukIfoxQ5kFPNMI94pYBpBTqeoVoUb/0LUrowcCV7/6GHOJJtEoWRUk24lJe1d9qX6d8AMhSAIgiDoP83LZeilK4mXryTevJSUcfFc4enE7GMnrx0+dOrwnv3H9mw/tmt3/J4j8ftPHt579ODu3fG79hzde+Jw/Il9R47uPXBk34HD+w8c3Lvv0L798fsPHtm979ieA6cOHjtz5FTi0bOnjp05Hn/m6OGT8QeOHj0Sn5B44sq1xNw7yZUPr9Tl3yKX3qdW5PDptY2VZeS8fG5RSXd1tYBW21OS27l1mzh2Q11QEPPLLdS9u5ztvPnOFpW4e2qsf3pyYLivrb2pgZR19+bFEymXjl+6mpB86WTqhaN3zx9rKLwrFbdo9INmZMTlmXEho8CsGA7brHs/yvb36LlVkb1rokA9RdpYWk26VVJ09czpXcu+VP8OmKEQBEEQBP2neclrQ0+fyj2dkHk2ISvxZM6ZEw9PHLt9cH/Kvl1J+3ef3rf7wu59V/ceurnv0JV9B84e2pN4aP+1A/HXdx25suvglT2HUvceurT30NX9R9IOHruxL/7Gvvibe4/d2Hfi+p6TV/edTN13KnXfqVtHEtPiT91JOJN38UJ96qXmG9d70h/0Z+cONdT306giBl3MaBTX18+y2aYOvrGwsO+DIGRNpCEoSvRpCG1NMGjnu8SdDtUIYpyxGWZ0k1LZgLCpvvLm1eQrV86n3bx88WLCpQsnLp+Nz75/id/eIFf3arUDj+b6gX4CMJtE7wab/x6Grf5C/9nG9s+I/rr6vtr8ytIbhTmXT52A35SHIAiCIAj6Mb3kj3keOV52+PDDI3vT4/fcjt996+COG7u2XYrbmrR16/m47de370nffSh7/7HMw8duHTly/cCB9P1H0ncfSd97+O7B+PTDx9IPH3sQf+LhsYTM+JMZB4/d2xN/e9ehtB2Hb+w8cmP3sZt7T9zZfeLm7qNpB4+mHz1WdDyhISGJn5jaefn2QFEFLf0ePSuzvaq8tTBHUluOCttBI03450+cHxDNfw6af4+g+O/1/rsZQDbsV0q99lnMNmuaHdHKR9p4jLSbl88nn008f+ry1YuXUs+eOXPo9Jl9DzIv83nV8yMCMNYDWE3TX+ycXx1p+2uY+cOo6TWxPbFbkNqKrtrcmvI7FUU3Tp+AZ0MhCIIgCIJ+TC+XoVXxRyqOHMw9vi/r9IHspIO5iYfzTx7KOnrwVvzBuyeOZ544nX/ibPnpC9WJyRVnkvJPJuQknM5KOJV56nRm4tmH587cTzz1IPFUVtKZBwkn7h0/evPgoat79qbuPnB5/6Erh+JvHDmRc+JC1qmLd1OS71+7XHz9av2NG4I7D/ozCvRMnqS6vru2po9J6aotFVErzMPtQNrTHRyhD4y2vxfhDvxi9t2Q9r8FgrJSoBoFlskF16zRMDqrHOI2N9y4lZJyO+X87UvxScdOXjhxNuXkuQtHb15JoObdnqotcZaXWfYmiP+wxr1646NVEfL3Cd1riPLkC1ZmXV9jaTO9kEXJS046tOxL9e+AGQpBEARB0H+al8vQ4hNHyhPiy1JO16SnMPJuNRfd4+bdY2ffo+Vk0POyyA8zam/eaUi703T7Hj3tDik1tTg1OT81OffKpbxr1zOvX09PTb2bcuFByvk7SafTEo6nHjl64cChxEMHk44eST2ZcPP02awLqVmpVzPSb+dlP6jKyabnFghKSQPV1AkKa6aFP9bGHengDHDIfayaKWGzQ8h/lJ7Z9l6w7uNo+8pw5F2iPWh9Z0DQ8OF9gEcDKjHQTgD1+FQTpTT5Qk7K+fsXkzLOnbmXcDzz9PGiMycqjx1mHz7c+eX2rs9C1R+EI++G2f9IsK6OGg+K4oVHm0nFWgFthF8vamvo49fdvJyw7Ev17/iBDN25Z+lXlGCGQhAEQRC0LF7yDzYlHctOPlWYdrE25zavrljUTB7gkDvp1V2M+jZ6Hb+hhl1VwSwrpRcU1WRkFt68lnf3ckZa8v3U1LuXb9+8nnPtRvaVSzdSzl+4dD7xcmLSpZMpF05ePHEu6ezF82kXr9y7dO3WzRt3793KeXi/NDunJqekPr+yrrimobSOW0drra/l0qv5TFJbY3UnrW6I06IXdC5yW4Vf7hj+OMy4kuj5IMrzSfTUXwPlQcSu1Z+LiTHyuH1zh08rjycP7z/bufVY+5fxwq1Hejbv7Y7Z0Re+ZThko2JNlPmjUPRvIdifCe6/RTg/XSf7JLQtJFx1+5a7V6DsYk33sUeFTYNt5DtXziz7Uv07fiBDn/6YJ8xQCIIgCIKWxUv+mGf6leL7N8oeptUW3G+uLxUJGCNC7oiQK+3iitrZ7Swaq76KVlVRV1pcmZtb8PD+gwfX0u9fu5t25+b1B5euZ1y4fu/clbTzl64kJ19KvXQtLfX+rbSsKw8yrmfcf3An4/7te7czH6TnZBTmZFbk5FXnlpDyK8tL6ysq6muraxrJ1XxmpZBXJ+JThgScsR7R3MAwmJ4GvNZO4mbp6jDNSqLqD5+DyD0Tf/jY9AnRGBip+SRyenXYyMcRw4HrhgM3SFfHjn2ybuzj6OnVkeoPokyrotB3id6/rsX/utb6F4Lh45jB94O7QqOtmdlAJLRIe2Qivkrarhjij/ewMm6cX/al+l9VSCrFWukP3iUdm9iyY/ezDL2Rfn/LVzthhkIQBEEQtIxeLkNr8u9Ry3KbSEXN9eUdrDpxJ3tCJBgTCabE3cP9AiGf3UKvo5Eqq0sKS7OzMh8+uHb/VuqD9Ot3cq/dzEi5deH8rbNnb1+6cOvWndsPM+7kZmTkZ+UW5eUX5xYWZRfmZxXkpWdmZmZmlmTer8x5UJ6fU1FURCqpJlXUlVVXNDZVi/l1M0KqUtKsnOqTq2Zm5zRa+bRrYhwMz4wfvtj8YehU0Cbp30OQkC/V74boPyJa16wzr4md+zRSExhl+DhGszJcv3qdfvU60+qNlg83WN6LNb0frf8oXPFJ5HDIRvKnIX3xx3F2EypsnxW2zoz0zUyIFMNdsiH+SA/r3vXXIENtj5EtDZvuCdNtj5Hv3SUdm9iyY9eJxHNLGZp89TrMUAiCIAiCltfLZSinrqStsVbYTOtppglb6H0CxmBns6iTM9jd0tfB6eAymhsbyFXlJfk5menpaWlpyWk3k+/cu3In68bdu7fuJd14cOZq1rW0zMysh2X52VXZJZW55WXFxYXFRXl5xbn5JQVFRSVlBUXVebk1+Tmk4kJSeUVNVUNNLaWG0sBtbZzs5cxLuIbpToNGOqedUcwrTGaNRTmJDonBpAJwe2SHk/hrIjtXE4YCI/o/CBF9tHboE8LQasLox6GqwBhVYLR8daTs0xhZ4PqJwA3Dn60fCPqim7ClNXobe8eBkQcZs5Q6UV1FL6thdnxQqRyXijvlwz3yofbRHu69axeWfan+FWKtdENt1FfULV2qnufHlzI0PuH05bTbZ1NSk5JTns9Q22Nkyixf9icPQRAEQdAvystl6GAbe6SHP9LDF/FZXWxqO5vcwaG2c6gtjFo2o45Jq6M2VFeVF+VmPki/dfPGtetp19Jv3byXnp6elXW7JPd6aUFaQVFGXn5h9oPq3DxKZjU5q6GymJRXXppJKsyvKSwszc0uzc0uz80jFZTVldbX1zBq6C0NTD6Dxu5sFYgHusdHhcqpPsOM2CgXz0+J5uUip0X2SCnFxkVgbAj0CQGbjZVXKdJu9x1N4H65k//FV4LY7TzixpbgdS3BMby1UbywdbwNW7k79rfEJ/CSr/DvPmjLzWsryW/Ky2AW53bQ64Q8Vo+APdjfOSsbnh0TKUd7pwe7Mm9fWfal+hfli/ITODv30DffE6Y/G1zK0INHjydfTzt1/mLixeRnGSpSD+5t3PnPPs2HIAiCIAj6ibxcho70tMqGemYkvSN9bb18poBFZpErKdVF9dXFtaSSmqrSivKiosLcrOwHDzPuZ2RkZmYWZ2flF+ffqyl7QK0qoFUXk0mFtaVl1fmUioLGnNKq7IrCwvLcyqqiunpyA51dTW+poHEqKLQqMrWhgUKm0EhNzNomFrOppY3b3ivsHpH0KcYG5mXDqplh2YxkdFY8ON0rHO4YFHdMDHaNdfD66WRhbbWkiT7FZulbWvGOXiAU+1o70Ra+t7sHa2lG2CwVnT5UV8etqq4vry6uqM2vqMkqyCuvLisoLSwnVbUKeDxucwuLOS4dHB/smhzqmuhvz7h9ddmX6l9ke4zsbdyZ25eYxN17jBW/9AH9sww9m3zp+JnEZxlKldI31EYl8RJRzG222J8dZMosb5Zxl/21QBAEQRD0M/ZyGdrfxhrtb5+WCCcGuwY7eAIWlUwqLsq7X1qQVVyQWVSYU1Scm1+QnZOXnZ+fm19RnlVHzq+rpZKyOPX5jXQyg8Fg0So5teW8SjqngEzLKmzIza+tqC6nMh/yOm4IBh706+8J1fd7enK6aJX8MjKvhMqporIbmtp47LbWXj5vtKNtvKujV9hNGRKVjIhzJYOZA32FYsn95tb0ekYJi1/G5Fe0tFUJ2tpHxkZHJmdHJuwzs3PycZF8YNQwKVNOTU9OScSjnUIJkz9YwRl8wBTfaezL4bRfq6xOrai7XlV3t6yGwub390k7eG1D3XxpH2+krzXjzmtzNtT1jVesle6hby4fSk7rOPoVdcuUWf4sQ0+dOx+fcGopQzee//IrysaDjK3cKb7eaHagTtc33mYZN4mX+KxfIQiCIAiCfiIvl6F9Aqa4mycV8kUdzZ0tjObGujpSUVH+g6yM25mZd3LzHhYW5RYU5eYV5BaVFJbUVBfRWOU0ejO5pI1S2sxgsFhNHFYtt6mSXVPFKangFpRyqqnVLX13OyRH+d2bGG1B95mEh+yY0vo9NNIVfl1pf1PLUGf3sIgr7uF2t/Zw2MImFovS/LCWfaCev4nSsY0q2ERibq5gHWho31fesr+Ec7pReJotPMbg3xUO53GFNS09owqd1GComBI9HOksGRGXDY0W9Y0XdMuyOmZvtmvO8o0neXMnqF0p3J6T9LYECu9WS88dSkshhdcvnRIPdE9K22WjXXmZN5d9qf5XtsfIs3a8J0xPbj1QPpScITz1FXULvZu1lKEJiUlLGbrx3JavKBszhKd2Ub/SG81Gs3XKLE/iJX5F2XiMFW9+ZLd9/chigyUKQRAEQdBP5eUytIdH6+TSBCwyh17dWF9RX11cWZJXXJBZXJBdUV5UU1tZU1tJqqkg1VRU1JRXVlWTa9mMGha7oa6dVtPDIHcwyXQOqZZTRm2tKKy8x22ikNuEcY3ClaTmldUNq8trQwuYhCxWUDF/dS4nqLQttox3TzAmmNJ2Dou7hPwONpNcQ81pEO7I7vg4S7y6aGpNZsfahy0hWa0hWa0hmbygTO5nuS2f5jcHVbZ+kk5af6f2RGYjf8Q+aPAdKq0jpGd+djM76AEp5CElOJP1+YPWNYXi3z+UriqbWJPPWVtI+zir/pOs2rU51cS7hcdqmQKNcVo9MacQKWW9hXm3l32p/ldLH8dXSCqXbn9F3VI0cH6pRDdWxWyKj3uWocevnfqyen3RwPkk7l6qlK43mktEJV9RNl4RHI6jbJ4z6vVG89Jn9PBhH0oGAAAgAElEQVScKARBEARBP5GXy9BWRjWLVkmtKSaV55QUZBTl3S8uyCwrzqmsKK6vq2pkUBhNVFojmUytq60nVVeR6FV0Zk0jm0rmNta2NVVymVVkLqWKX5/HyinrqCb1dB6uYnxUyn2/oWsjv+tIe9dN0dRDqf7KkHUPTx1Bnlydwdlc1l4mne8cnujr7uhq4TTQmfc4QxtLe1eXKkKotniWKqlp/DRr/CR78jhzPJ41fpAzvp87dqRt8hRv9B5/uogzJhx3TJhA/ZiqXmOpNjnrHKDQ6M8ygNvzYGs38uey6XW9znQNnjdnvaMw3581F6mMhRMy0uSUyDwv04xoVSKtSlRecn/Zl+qfEWulc3b90u0KSeWWhthDTXubZdxmGfcoa3v5UPJSicbmRx9IOJqQmHT4zIktlRszhKfKh5LjKJtntZrDjIMJnJ0ZwlNxlM0ihVhvNKv02mZZyzFWPLxCFIIgCIKgn8jLZWhHC5nDJFHqiqvKsgpy7mRl3MzLvldekltNKqNR6zjNDC6PxWlmNDLI9Q2kKlIZiVRZV0+i0KrIzNKa5ryKltIqdnNVS2spt65I0r6R3PxpIScoj3t/xFreOcDuEzHEEu6UjCIcqhkcz5/WHuCLPsqpCM0qbxHNCFt72zjMeg4lvZ0XW9nwOalrj0BR3itt6uigdXWSOzob2trr+R0NrV0Ngm5Ku5DZ1dfZO9Td1T8mGZ+dVU3Mzc4i5jnEYvC4R1FE4veLALgkVa8pbr2v9Y57nXOoRmbWyA1qjVGhN0zoNSKdutuoFZn1YptpuK46a9mX6p+ZMsu3NGy62n5FrJUunQTN7UtM4Ozc27hzS8Omu10nlkr0iuDwlqLNCYlJm3M2XxEcXhpJ4SXHUTandRwtGji/i7ZVpBCPqSfT2m7EUTZHV4c3y7go5rZ9/WjZXyMEQRAEQT8/L5ehwnY6r6We2VhBri+uKMvKz72Tn3O/rDinprqcRq1r5jB4rWxuC5PJolHINdU1pZV1xSRyUT21uJZRUNacU9pcUckUVLF6SR2diY2sMOrgJ8XdqQJFXedEf3ffSE9bK581IO0f6GrvG+pvnZmuUioOc3l7qurZndJ2poDHpJK5lId93PVVZcGV7NNdYwxht1DQ2ClgtPHp/BaqgENp59A7mhtFHdzBzhZxR8tYr2ByoE023KmQ9Ssme80KqW1+SqYaGbOpJV7sirD/H5nVhRr7LKKw6nvNWolBNaSfFCAzbd65Npe6FTWLEesIah+j1OUs+1ItsT1G7gnT9zbuTOIl5ovym2XcObu+S9WzpSH2KGv70uBBxtbyoeTcvsSDjK1fUTYuZWj5UPJR1vbNBZuenSLd0hC7pSE2Q3iqaOD8V5SNaW03TrET9tA3XxEc/oqysXGUYTRbjWYr5sKX/VVDEARBEPTz83IZymsmNTLKKA1FdfVFVVV5JSUPi4qySkpyqkllFHINs4nazGHwmhs5HBqL0UClVjXQShro+WR6Lq0xn84qb2TTqczuGpa0RijfnkGNLhg4RJ6mdE2xWJzWZjKPWdHVQhkVCuT9PTKpuKu/t39qvFMsbmnjt7dx+S3UVlYDs41TIRVvr6YRy3nnumYaewa721p7+LyO1ua2Vo5AwG7rYHd0sQdFfOmQQDrEnRjmi/sYQz1U9XibZqzNNN1vVEhmVSOjenmPVXujRxSUR7kzrR23Tyg1gjnLqM42rVT26hWdmK4H1Xa7kDEMmcIc05T6vGVfqucJFX2HGQf30Dcv/YnQvY07o6vD0zqO5vYlHmVtj64OXzrfWT6UfLfrxLMTokUD5/fQNy9dMHq368RXlI1Lt5d2Ocra/ixJly4YhQ0KQRAEQdBP5+UytIlRTKEV1NTmVJGyK6tyKipyystzy8ryqipL6mor6ZTaJnodi9HQzKJymBQmo7qpsYLWWEShFzIaS3mNtQIGg81sI3EG7rbJYjKaiHebMrvnSFRWX1tzU2NVE728j0sTMutHO3nqMfHIQM+YqG+qu0fUzBS2M9sFNEErvbW3q3Fi9nAdL6y0PalLVd8raWvj9/L4/TyesJXb08nr6ucLh/jDY11j412TE53TU91SCXegnzEp4crFPOUgf3a4Y2ZWKtFMCvTKW0PS/1vcdG10btI+rVTyZzTDcya5SjOim5cgZjFiFrscMhcqczlmqA35y75U3+NAnUX9RbtoW68IDhcNnL/bdeJZei59KL+UmP9McuuBZ19gWjrCk6/VwwaFIAiCIOiVeLkMLau4W1XzsKomq6zyYXlFFomUX11dVFmZX1NVXF9TRq2rpDeQmLQ6TlN9M7OhubGOS6nhUOsoDDKjkdLdQBWSG3jM+tI27hZa56eFtHhua3avoKqJXF9H4nK5bTyusKVJ2EIXD7QOS9qH+9qG2lon+vomBod6OvndPW2dXfzOwaGOKcOZ2p6wUlFCn5E0LBX086QC7gS3Zby1ebiTJxps6x/pmFaIZfIh1cywWjmqUI2PK6SSycGJCZF5esgyI9GZZkZsKgFqTJUMr85tvDFmmLerUWWvSTFpmlOZtEqrVY1gc4+cKhemcqOzblRFayha9qX6QfNmY0Fv4YHGXXvom5O4e/8dBxlbT7ETlr6iBBsUgiAIgqCf2stl6LW00w+zrxWWpBcW3Ssryagj5ZNri2oq8yh1JbSGMgaV1ESrZjPquGwKj0NtZdAFDbRWOpPWwmU0Nwsp9AFyfTeTVNXFC2N2v1/XfIJLKelqpHCbmppYzKZmBpXGo9d3c6m93U0d7VTZSM+UuGd4UNjX097XIxgc7B4c7O4fGRbOmM6Te8NI4pNSpEGt7pwakEh6J/q7Jno7R0Ud/WPdvdP9Q/LB4WmxYmZSNj02OTsxqZ6aUk7abPOYbhozTFlsqmlU27fovDoy+WF2Y77Wp9IrvXPDHr0K088jZq0d0VkxrRlVYs45F6bGH6tplNJlX6p/ZukHkMbUk53T3f+OpQBd+lNNsEEhCIKg/xCriKmvl+effNEvYPt3FvflMpRGr3+QeffMmaO301IaKvNqSx7Sa/KopBxqTW5jfQGLVt7SVNPCqm9hkXlMKr+xsZPcLGji1QjY9e3M7haWpJEmbqQ09fQHNQr/UNl8q7uT2tbCYrW1N/e0NjEHOnkDXWyJkDPSw1IMd8xMCKeme8dlwtGJjumRdpm4XTHaPy2fGDJbT9IEQRXtSXIXy472mjQi85zErJw0zE4aFVKLYtA2K7XNTVnnDTaTak4xMz9pe6RxISqPTeFFlC5EgTmUWswgBb5rUsX7GdQCg1+LIV6rzGeRuW0zCKK0YiorprZhShRTYpgCQxUUSuGyvw8hCIIg6BdoFTE1vbTndfFihv7rmfU6bq80Q/34wuKCf8HlEvd2PLyeTK/IZZCyWfV5HFoRt6lM0FLdwaN08GjtLY1tzYxOZlMvhd3F5FAE1IYOcruAMdDMGGU1tYhGghmSlbWdlRJxT3dbb2ffoLBvUMgdGeZ3D/CG5VKV0TBjsUiMukG7YQCZ6zdMyHRTJrNCrxJrjTIpZj7ObQuk9Eb3aFIGp+/2D6YNDd0aGswUDeX0Dz4YHLw/JMoY7Mvuah+YV6OLXsSHYk4jQOaAXb2IafDHaq9TY3VbJwG4PTr3SRaj2AwMXtyLqhcRmQeZQFC5GZuxYioEnX2SoRjMUAiCIAhaHquIqftT6K+LFzPU5Xb/jL3SDAUe4LKikq5e4HbPjUobKwsopQ+7m2vbOFWdvFphB7W/q6m/i9XbxuxpbRK1MKRNtGE2pYtPEnTWdPey+3paR3r4rZOzQZSRT2t6O2bGpyXsidH2sQnBpKJlZE4w4dSViKXXu2YuDZiTJKYTQ8ozI7JbUzPpPcIhy/ysTqJDJ0d8+kNtrX+gi99hzayu5AWVNX1a2RxY2RZU1hVc1rWmsn1NVQuhhhFZWFYsHZ4DfrPPhWJ2gDgAYgdO06JbD3AD4nHIAbg3oQ3MYZZagRUsArcOoIoFxxSCym3ojN2hRBwKDIUZCkEQBEHL6bXPUKfrZ+yVZuiiBgMuIGZ3MUurLVPT2lFJE6monVPbyavrbmvoEzYO9bHEvZyhbtZAB2uojSEV0Ec76SPdNRIReXCsbWi0Z3K0V6gxBtWPfkbqH9RNz02x1KpOmbpdZeoZ0/dOOk1na6iEm6TgrJag0rZ38xl/L2d9XMUIK6xpMZvm0Bmzd2YKOE709/6ZPhQy4kzWeW9r0Cta/KoW3J4Dt+fANS24pvOnqZD0SVWHA9MCYPK7cK8TuJwAQ4HLuug2AtyMelA5AOnj859mNxVZgBkAgBsAqlhwyFBUbkdnHIgCRWZhhkIQBEHQ8nrdM9T5s95eaYY2JBfIGIP+GYeYJpCwW+uyc4QcelcLpVtA7emiivqaJCL2sIgzIuKM93GkA809w7zBCf70aJNyomVaLZpWiecVA1KLPYQh+7R2sNc6q9V2GMxSjW7UaJ1V6xU6q65HOtI8MF0tmsqVTl+f1sTPY4GN3cEF5DbcZwHIPKaaBosX+kY+LmtNR8AoAGoAZgFQAqADQA/A3NPbZgBQABC/FwVOD0B9TiPwWIHLApxm4LIsZejd8fnV2YwCC9ADn8+lXURnfcg0hs6gjxQuh9LtULlQJYYqMFRBaYAZCkEQBEHLYBUxdV8y7XXxYoZimPNn7JVm6EgWj3ausOMBdZLeM8bq/vA3v796JkHaKxD1sodEHMkQe0zSMiFtlku5quFW+UTn0Ez/qGpQN9Nlmu2eN46qDMNmjXgKscW2zn1U3c/RzWhsUrNt2mCYMViNeqPOpJM7ER3udhpRVO5CRQDQACDyJoKLWB0+YPWjWodaDkCyUPLBg9oSBKgW/Y9wO+K1objN40I8mMPpQlE3hrqdmNeLuZwO1I4DpwsgiEMB/BbgtgGnFbjtTzJ0QrM6m5FnAepFj8upXUCVPscMhioxVOlxqD0ozFAIgiAIWmariKl7k2mvix/I0MfYz9grzdDupOqx+7zJwo7mtCoJuX3VW7//x3vvTY+IJsZ6JsY7JscF0+OtM+M89WSrQdZmnOmfV0walQpEMYaoR/SW8TnLsFU3OINat/fMv1feXj4jUzjUFqvSZlJrLGatXY8iUy50ymhRGxwmK26c8mG9AITV9P93bluPCzxyO3CfSQ9ASl/v6lLyA8Q3CwC6gGKLdtxv9PvmgW/O75v3+bS+BYvX+7Xf71zwu/3A4wEoihkWFxCf27bgtAO37ZEXnQHgzuT86tymHBtQAq8L1y+45nxOpcs553JqvKja9+RsqBJDlZSG4mV/H0IQBEHQL9AqYuqei9QXyDTfSZRvhqtfnPOv6XIAAIBB9v+5+3e9mKHoY/R7pEVxAQEBcUXSF+/6UbFSAgICAgICLrGejLCXBuIKh3+0R3mlGTpzs1V0kdx/jT5Z3sXJqA343croEMLBPdsVs9KZ2X6FvFsxLVBOtWplArOiHVEOPFLInLNq14z8kWpCbx6ZMw9adIMzqPHEoGZ1CTdjQjHpdNjtGsyiMppVdlSF2Ptx14jZrnqE290LBqXTJAEgOKslPKe3xwlsDmTBb5UD9HQb7//SebcdHjnwIwsWbMHo9s37vLOLHvkiLvPjsgVc6cKUi34r5jSa7WrUaXG5bRhm8bgQD4Ysuu2IF5UBcHtS/X4uPcsO1MDv9JsWvHqfZ97l0bnc8zBDIQiCIOg/wf+YoQ7O928vsxcz9BH66HskhXEBAQFxhZIX7/pRPc3QgLhC6Yv/+eN4tRl6pVmcSJbcYE4Ut5ckZaz540dfRq/fuyvu3LmjFqt8crx9ZkKA6AdV4y3IXI9d0YPJxdj0KDY1gcyO6HV9WnO/ySCZtmkZCyAwlxKZXzcJgB2Zw9R9ABn3OyR+Z78LkyDYPOaxu7xatdvMdAJiUQcxr38YAAPi8ANMAbynOjo+qWPfQb0KgKOLOpdP58G1Xly74JpbxBSLTpkHm8DxKTcud3nVqHMec5kxpwPDUNyD+XyYGzPZPcgMADfH5R8V0LKRRRXwY34TvqDHvTpsQe/y6HyYxosqXY5ZDJ3F0FnKf+qvKEEQBEHQz9sqYuruC9QXPE3PC9TdF/qGHwMAvhkmLQ1+ozF8A8A3wyTq7k7HtxVjkO0mGRzf7iXTAAAeG7KW5jw2ZF2gPp0Ano489yhLdz02ZF2gZk1/AwBwTPe9+MR+IENf2L7N0BcGn3ai5NGjR8+yMSAgICCF9ejZUFxKSlxAQFwh67ldvp3z7fZkdlxcQEAKS1IY9+T200d+7vjfGXl6eMl3n8L3j760vdoMvcQev9DYn9wwVdJ9fuPRT3/3fmhQSEx0+Na4dckpx6ymSaNmQD7crJO3GeUCq7LTNttjU/QjcqlNMWTUdBj1HUa9WG5VDwJAzK//7H5tnsw077J7sVnMLHGZRKhNtOhX4Qt2G2Y2YmoTAOurGIEF3JAC4QAABnzB7kUnALg4MBJIaslCF2fBY2xB4/boPC49jpk8mNGLaT2o2u+ZQ9Fx54ICwRUIqrQjGtyDOlC71+fGPeiC1+5YcMgAuDs5szq//p4eUwIfumhy+fQunx5bMKJerQebw9FZDFGgDgXqUDTUw2tDIQiCIGgZ/O8Z+m0gPv9J/TfDnQbHUn0+DUdN51KwAk3nk0J1TPft/jZDn4bphW/v5RiezF86wtIjcgzgSeb+CxnqeGGTFMQFBATEFUi+HWKmPBt57uZ35qcwn9z3NB0LmAVxAU/u+IFDPp2dwny619M94gokzx3z2bQfPnwK8zvP4PvbK83QqfNU+SVGx5lKWXl37MrQoL8FhqwJIRIJm7du2LNvC6kiY3qUPz3MlQ+zVeOcWXnzlJY7Nd+qUXSZ5Z1WZbNN22rVD81ZFQM2A88N/k8Oh1DG71oAkzhq9qJW1OLCrSaL0oaYXGBBA1CKZT6ogfshuS+wpK0VgHkAtAueMQAuDaoCc1mlVjAHnC5c63EZfZjN5XS4nBiOYTiGunEUcZkxgDiBHXHPY+55L7C7/FYvcLlwBPi/Rhe+lgNfpmwmMK/uoQFTAx+2YHR5dS6v7tGCAfXqXc45NzqLIYollDqYoRAEQRC0DFYRU3edp7zge9eGOtjfDn4zXEXZdZ6SOfXN9zrGMdW7q/PJlaBsw9O9nmZo5vOnTpc2g2zpXseUbPgxAI+/cQCg6XxSq5k/8KwoL2Yognz9PeKCbQEBAdsKhp6NNCUHfG9LbvoaEedv+97I0rxt+eLnjhOQ3IQgQ08OKX7+gZZmJzc9uffZjW0F4u/MfzrvyY0nT+y7j/784z7v1WboRYr8CkNwtmSkSBDw1ipiIDGUEEYghv4j6LOvdnzx5Sbi2BBvRMQaFzNNml7FbKtUw5Zq2CpFq0nealdxUH0bYh61IEotZpgE4ECrPLiiJ7KCxlwAIgAmAZhdBFYAJpyLwz7A9/mDC8s+oLStZg0FVvJ5T/4Sk38agPM9U4F5zZlWMLQIFLhL7faocf+MD8j8QOEDqgWgXAQ6AJTAbwI+C27FcKMZmUYwpWvha8xtW/RZENw4B3y501OBmRUVyIIWeLEFo9trdPmMqN+M+gxulwbHlG5UtYQGrw2FIAiCoOWwipi68xzlBU/OhrJ/YPAbaSVl5znKw6lvltLzh3Z8Upk7z1F2Ps3Qh08L9QfmGxwaADSdvdKnMfrCYZ94MUPtL2yD+dsCAgK25Q8+G2FcDAgICLjIeGFSwEXG05sXGU/nPd3zhSnPH/IHj/ps2nfmP5v3ncP/4CFf2F5phs5epcmv0Tovlgvu1r37xp8InxEIhPA1wcERUeGhxOAtG8M2RgdbdaNaZb9O1aeYESjmOmfn2ixKPqJuQ3UdmGUARWZQdA736ibMc/0AxDFGA4uoKwtq9o2bbzlAGepvBiALASenPGtqez6obd8i+3qDVBdU3twFgArgFoDNAH9Sl3B1Xdd2xeItK8g0gRwjyDKDWw5wAwXpDpCBgHs6X77Jn6O01Sp1VgD8wIe79X6fCXObPb6vgceIOnVG4M0dkX5yM49k9ZiAx+M1+bwm3GfC/BZswYi75z2YCn+sxh/P4Y/n6OTSZX8fQhAEQdAv0Cpi6o4k8guWahJh/cDgN9JK8o4k8o7KpQs9vzeHzNI/yRpNB3lHEnlHBwIAAKgh43u7P9ErRZemI6wX933BD2Sozf49g3nbAgICtuUNfjvY+DQAn40MPK3Ap/MvNn5/2tJ4wEWG3fa0GQeef6CnefntyLfTvj3mc9OeZOiTJ/a0chu///yf90ozdDq1buxKbc+1qvqLOR+8/XfCGkLIWuJnwcFh0eEha4N2xW3avjki8cQOk3ZYPzeIIlNm86jNNIQZhW6z0GkbdiFyF6p3YTrgnbU7VToARAAc6+gPrqKuqeP/o74jrI4TXEz9vKzz86r+P9yrPyqz1QBwSDS6saRBsgjMi24UoErw9Y3+zhB612q6dHV555qS9qBC/mcl3JWVnL+TOO+Vsz8uYRJqBIRSRnQ5La6wSobhVhTx+L524ybUafEvOgBu8OF6G3CXj45E5JIqtSgCPIu4aRE3+bwm56IV85s8uNbrVHswzZJGCsxQCIIgCFoGq4ipOxLJL3iaoT8w+I204ulIheH5D9o1Hc8PPt33WYZ+e4Qnm2Oyd0ciOWPym28nLE3+/uN+68UMtdms3zOQ992Pu7flDdistqXE/HbI+p2BgICLjU/nLM1/dpyLjTbbwJOyHXj+gZZmX2z8duQ70547/ndGtuUNfHf+t8/gxdfySjNUfLZIerlSdKe24mz6P/78CSGIGBxMCCYQPw4MJIYRiCFBe+LWb/uC2MWnILZpFJ11IAoUmXKhA25U4kY1LtTucqBuzOLxTGIuqctjmjWq7cAvB75UtuB8c88BCieB3ZHY2Ha/Syr0LUoAmASgekpS0dmmxTC3x4X73WY/ylDKrkum4jsll8Tj1wdG7/aO3+ydSBmcujA0dVk0fq1vOF08cqW78/ZQ94Me3rzPbXaiToAjOIJ5HQu4DWAa4DNZ/SjfaLglnuWi4NECDlwm4DQveCyuBZtzweLFtT6n2ufSLmFQy5f9fQhBEARBv0CriKlfJTa8Ll7MUKvF8jP2SjO072TW8JWKwQfksrN3CauCCEGETwP/EUwghoVHEghrI4mE9THECOLnO+Ni3Zgec2gcdhXqUDgxiRsbdWE6N4p4HKgHNXm9Ux63FCzO4855ncsiRuxzAAwCIAZACMA4AMO4VwXADFiUA68c4DoAtD6gxxfNPmAGYBZ45AAoARgBQALAEACDAAwAMALALABqACaAbwh4xQCMATD19Nc+5T6/GQCdy2V1oY+Bf9aLjwPQA8AoAPMA2BfciM/t8GHYAuLyGXG31uvU+HG9D9f73UYGvWLZ34cQBEEQ9Au0ipi6PbHhdfFihpp/1tsrzdDeIw/E50uGMig58VfWrloT+jlhbRAhlBBGCCGEEgjEsNC1hOAvt24kEoOLsu+77IYFzIaj8+ij0cXFGdQ25sM0blSNP1Y7MZnXLVvAprBFex8ATQCwAWAA0AoABwABAO0AcBeBAAAhAAIAWhdBOwACADoB6PW45wFAgF/vxHQAdOOADAAdALYbqAAw45jZZVMCXyvm5AHQBEALACwA2gFoA6DDDwQe0AlAOwA9ALT7QRsAzQBw/EAIgGARjAHgAgtOlw7D1H6fyYMbPLjB6zY10iuX/X0IQRAEQb9Aq4ipcWcbXhcvZqjpZ7292gw9dG/oXLH4IfX69pOEDz4P/ZxACCIQ1xLDCKHEUGJEbGQwIfiLzRs3b1q/ISIMeHFEqwTA4XLL5ubbFnEZAPMWvWgBV7qds/6FORcyqnbpjvD7A6t7/5bdtTKn78O8oZXZne8Vt7xfynk3j/NhIS+whP9hPufjiq73SrpWFrStyWd9VUOZAouY3+tbWJxGPftJ7PfLu/5a3hdRIuhyAKMLs/sfl4jF64vqgsr4f8sX/L20fVVlx98L+e8VCD4p7n6/oPvPJf1/KxEGFvLXFHDXFHd+XNTxWU3fh6X81TnslJ5prccNAOb3mr1ug89jWcJorF729yEEQRAE/QKtIqbGnWl4XbyYocaf9fZqf1P+YPrghSJJNvVERFxEYEhYMJEYTIwIDSeEhIQTw9YSCOExEWERxA3rY8OCQypyswGGYLYZDJtAsWEvNmbRCf24wmgY/No+7vEondgkAnw7eKLVlJE/FYnfrdO9U+9Y0eBYwTCuYBrepJtWMJG32LYVdP2bFN3bVP2fGab3SNL/LqApADA4vEYE1wAQUUJfyZj8PW364zJhOwDTAEwAcHtCs7qweRVl5nc03W8bde+wTStqVe/Qde80zvyGrX6DY3iDpfsNXfFOg/w3tXPvkI2/Z5h/T1Z/TFbdnFnUArDgwXyYCXgsPtzsxc1e3Mygk5b9fQhBEARBv0CriKlxZ+pfFy9mqN5g+Bl7tRl6OH0wuaj3Qc3WQGLUP0JDg0OJIaERoeHEtQRiKDGEsDYyNoYYFkogrN27LS4kMLC1sQEs2qw2ic8vsxh6LDqhQdNjt0ltthEEnTDbJCbg28gRfcia/VO98g8U8wqS6Y160xt09a9piv8ia96gmt6gaH9do/p19dybJPUfG7TvlYvX5lGmALB7AQbACABBRdS/cZXvNM//tbSbDcCgHwwDkDY590k578+kkd/Uzf66YnxF/cyKOvXbDN2vasd/1TL/K771Vxz9m6y5FfXTb1arfkszr6hRrCiU/K1o4JIEUXnAog9bdJmBS+91mzxuk8dtaqRVLfv7EIIgCIJ+gV77DNXrfsZeaYZ2xN/pS8lvSnkYtWpNVBCBEBRCCCYQ1xKjwsIJIWvXbVgfFBISsy6WGEbcGBEdt35dNCFYJRM5nXI7IrabRFZ9L4aMIsiIZ0Ht8s6inhkV8Ma0Sv/EUv+GZnyjZGJlvXQNQxTE7vicIQimiQg0Cb5flnwAABw7SURBVIE8FFI3GMVUhNSNrK2WfkEWnWTyJW6nxeMy+XwSAEKq2SvqB96kTbxb0c0HQAYWdcCXPybdy+SvJQn+mzEcRBeFMMXhnLGPKJI3aZO/4up/xdb9qmH8o3bVmibpZw2SYPpIGG8irGlgU6Mwe1w557SBRTMABi+u9nlNPo/N57ExGmuW/X0IQRAEQb9Aq4ipv/vs5Gvk+SdfVFR05+e+/TuL+3IZ2nXqXt+VgoJDF6M/WBMdQiQEE8IIxHBCWHgoMYxIjFkXG0xYGxkdFRMTExa89sjOveEhwVs3RYyMtWL4NIoMe7ApDzaFPhqzI8NWxxjqVUyBx9EdE+8wNW+z0BVl42UAtAPQC4AQAAkAYwCMATACwDAAAwD0ATAMgBwAE8CdADX5nL0AhNOFK8gjb3PUq+sH+QBMuhCdW6cBnmkAugCQAtAPQD8AUgBoAPydM/9mC/JGs+2PXH0xAAIABgGQANAFgBiAEQDmAED9NqdT4fHPu/1a3GP04lYvbmXQ4bWhEARBEARBP6aXzNCk+z038lPW79qwJjiGQCSsJUSEhUcSwwghIeuiogkEYkRMbCgxLDIyelPU+mhCeBQxYuuXGyPXBU0qOry42qofWsRVKDKKu+VOXO5eVM4Ad2zP9FuN6l9TrG8VSMk2nxx3zPstGve82W2x4YjFZbIu2FS4XQ8W5wCYBz4zsFncSvyxGgUuIQBradK3GNrftjpWVg51AKD1Yn5gRzwmFHjm/bgW+GZcFrXbrMNtkwCsIc+9VW1/q0L/9yKpcBFovQBdADYn5vBjyCJq8iKOBYcHN7hd805gt3tNLg/8UB6CIAiCIOgn8XIZ2paYLriafSgkcsM/QsJDQtaGBIcTw8KIxAgCMSYikhgWERETGxUdSwwLXx+xfmP4+tiI9SEha3cd+HL9VoJaNbjg1qK2KRyV+VxyDB23ItIZgG3snXmn2fAGHfkLSdZsQO2Y3oXPudApn2PW71Di6CTulj9yzboBYvd9bXWb3UAPgM7rmHzkRgYBCKwaWMEwvc1D/5jf3wWA3okuOLUubM6NW1AXgvtdPj8CAIIiinkAgqoVvyUhf25wBBYPKwHAMBdwuRbtBuCzLXoMLkzv99kAbvK4jE6AIgt23GuD35SHIAiCIAj6KbxchnISrvOuZ25fE7KZEBoZGhoaSogIJ0aEE6OJ4euiomNi1oVHRBHDosLDomOIMdHEmMiwzTExm+P2b0+5cW7bthidZgx4jJhtEjhncHTChQ6rgSOWP/x7tvYtJvaninGeGbOi8ziuwtFpv0MJMM2CU+5yTeOL84hH41pEXAs21Cnze+XANWvDzFIAQkjit5vMK5i2lRUjbQAY3a5Ft3ERN3lxm9uFuVwYjiNut9XtNMv8ILB+8m0a8naDcTVpZMgH7G4X7nL7najHbfV4bT4fsuBFFl1Wj9OMeu2Yz4Z7zD7c6MONDDo8GwpBEARBEPRjerkMZZ6+Xn32ypY1wbEhIWHEUAKREB5OjA4PiwmLWBcVHR0du5ShEeExMcSYKEJs8OcRcXEHt+3be+TM0a3bvti/+0sAUDcy60WmfI6JBWxMD9BNfOlvKTNv1Jv+WDVFRXA5bjYtmi1uPeK0Iy7E6jabvSYTsBv9DvsijvhQzDPv86kXcKUNt40CEFolfIehfYtpXlkpbgNAj2OLbv2iW+9zWz1O1O3CcNzhwu2YE5kA4GPy8Iom/Zv0+XfrJEIAjD4U8zhdOIbiCOaxuj02L25ddFkXXBa3x+rymr0eow83LnhMTY0wQyEIgiAIgn5ML3k29Pztu7uObAoKCQ8ODgsjEsJDIyPDYyLC10VErY+MjoqKCo+MCI+IioyMjgmLiiREbd986LPA0IgvNoV/sW7fgf1bNq5zPzJ40Xm3dRKgUz7HiB4gW9tHfk+debPW+AfKXBkAHU+/LTQBwBgAUgBGAejzgzEAFADoAECAG1nQ25xzVoCNARBe1fo7huJt1vzKqv42APQexyI+t4jP+XG914ngbtTtQTCP/ZEbGQXgQ2rvmyzZr5nyv5B7uoBv3m+xLaCID7X7bIjHhHn0Hlznx/V+XO/1zrs9Gg+u8+F6H66HP+YJQRAEQRD043q5DOWlPkiM2bIlhBAWEhweGUaMJC5l6IaomHURUZGRkeGRERGR0VFRMUsZGhoUvWnjruhNW2K3bQ4KCbl5I82kVRpmxzw2BXDNLiDDaq95e8fEX1maFWTL2xT9X+p6AiktQWROSB33v6t7QypEQVU9a+t7Iyh9G2u7d5bzC0WzarCIALcFNxsXXaMAhJFa32EqVrDn/0oaaAFA43P4PPN+z5zXrfO47G7cgXltj3xWmweRAvARpffNpulfM2b+Ru4RAq9hwYh4bYjXhvjMDo8Oc815nWq/S+fH9V5c43YrcZcGd2k8Lm0jrWzZlwqCIAiCIOjn5CUz9ErGobXRWwnhYWvXhkWHh0YSwyPDIiPCNkRFxYaHR4ZHREZGRkZHRUVFRYdHxIZGR4dEb47Zuu6LjZFfxIZHx/T19cknx8bF3RaVFGCqRWxa5bVuFYz/ial7s8H2X3X2N2nGt+hzbzXI36qZ+U299a162xsN8ytoqjfKB98p6Poog3ejzzALgAUsmjDEAsAQAGurhSvY+l+32H5fO9YIgHzR7fIZca/egxtw3OHyoNgCgvgRs9chBuDjWsnbFO0Kiu6jGol0YQF1GXGnzeO0eNwm3KXxo7MAVS9iJr/L4nbpXNgc7tLgLjXu0tCpJcu+VBAEQRAEQT8nL5eh9PM3dwQRNxOI4aGE0Eji2kgiMSw0Ipy4PjIyJiwsMjwiKioqKiY6MjIyJiJyQ3jUF4SYjWEx69ZHxW6O3b3/wOysisNmtjCpQ10c65wYRyc1APuCP/F7hvYNquPXZOyNetPbFO3bNTNvVSjeJlneqrO90TD3BkX2W/rUB9Th0IrenAlEA4DRi5tQmxUACQAh1X0rWMZftyC/q52gASD3e7AFowfXed0GrxvBPZjThzxa+Nroc4gB+LRm9LcU4wqy+aPqkREfwFwmj9Piwywel97nmgOYHGCzANP7MIMb07gwtcc9t6SRVrrsSwVBEARBEPRz8nIZWnHsQtw/iOtCCBHhRELEkwyNigyPDQ+PJhIjI8KioyOjYiIjI8NjIyM2R0Xvid34VXRMVBRhTXBgM7elvaOrtZW7Z8e2/i6OfKzTapRqgHtDh+w3Tfpf051vku1/LOkLInUSKvkhhTxCUS+hfPDzqo411dzgSkZkKWVjekm+oFfrRrBFu3PBYsQdkwBEVna8w5hfwTb/mTTCBkDlc3s9+kWXFmA64LQtulHca8d8iMXrGAJgdf3IW42GNxot7zaMDIJFu9eAeawYbkY985hHsYBPAtekz6n0upRelxx3yzz4rMet8rhVjbTiZV8qCIIgCIKgn5OXy9Cc/ae/DCJGBxNiIiKJ4WHEiPCIiIh1MbFRYeFRYeGRkZHRsTFRMdHhkWFRUVGbYmM3EYkbQwnBQZ82MhsGhkRy5Wzy1dRKUpl6dlI2MTCvHtEAsL1d+Q59/lcU9L8qlUULoB+Ayae/nzQBgASAIQB6FnEVAGq//xHwegGKOGZcXq3Vj0wAEFkp+H3j/FtMy1+rRloA0HpcwKUHmAFgFoAhwGVf8JjcXrPN4xgC4KOGsRWNhjcY+ncpkgEALH4LsmB9tGCyedSYV77gnVjEJ7wuBe5S+vDpBY9s6TbuUtKpxcu+VBAEQRAEQT8nL5ehx4gb1ocQY9YSY4mRxJDQiNDwjTEb1sWsXxsSSiRGxq7bQAgLD42MjN20kRgVFRpGjNvyZdBnn5LrqmaV060dvDmrPv5CEo3Xojfq9Jp56cBwk0h2kC37U/XUrzjOX1VNVSA+OY5qcdSEIzY3YnZbjIs2LTDrgdUCbNgC4vHaFnHTglvndmkMPtsgAMHVrb+hG1cw0L9WjfEA0DtRgBqBAwOI24+hfpcF4AqvR2nHHWIAVtfK3qKZVzSqPmwQiReBxeuwL5gRnwb1zXq8M8AzCTzTHlzrwrULuHoBV/jcs0sYtKJlXyoIgiAIgqCfk5fL0INRG2OJ4dGE8HXEqKjQqBhiTEx4LCGEGBmxLiw8OiQkNDJ2XdS69SFEYsS6deu+2BgQGFhdUYraTDPTY3nFOYXVJScuJ1P5XJPNrlbOj4lnQtb/v3buLDauKs/j+DyNhIQUtRAagTRq9Who6G4gNJPIE7dlq+Qq1V63Vm+Y0ElY0ogGWk0DYhhmekhPA8MS6JCmsznOYjteynZix3Zsx3a8u1zlrVyufd9vcctH556ru1TVmYcW8zrjERESOR99n85j/V9+cqn84iMvfPCzNtcDU9L9PZ4uGiRQikEpxMYFGOKgDwkhwAdgKcpJiZKQwnwGo3QZJTgUS0r0PMbVV8ce7Evu62f+4ZLzJsZJxGCQxACUAIvYosBlvpmhwIHx/su+B7pT++y+J67NL2GcFlGunKNLMSCGkeCr8DsVzs+iBEQZDiV4FBVRUER+Efn7e776zk9FIpFIJBKJ9H1qbzPUUq+Qy+oVcqVaqdEqdEatidKblQqNrE5OGSx6nUmj0dXXy7Varc1mq6o6+MmH/xkLerdW5hNB98LC7T989P4vXznu8ns6ujo5gF7/1W9qNa2PPvP2z/80+UB3aN/ZO90FOsonGC6BYEQAYVT0cWwIwADi4xyfKqFMmc1IbJpDCcjHYmVmCePayyMP2X37BmM/ujJ3A+OwmBX4AM9HIJ9gpOxuKYOEBOTTGQEuY7z/yvoPeuP39/se7Vm+g3G8XEpjkCvnaCkDxLjIhyUUYVEGsjnI5iCb/maJBvvJl/IkEolEIpFI32p7m6FquUylUWt1BpVKUy9TKv76b0MVWkpvrj5YbdRSerWmwWzRqZT1tbVXL55Px0Irs5PhjWWvYzbm3zz15Wfnrl6cWVmcmprcXF1969XfakytNcfe+RvDaz/t2Hy6a7k3Fw/xYZqNQBDki36+4BVgEIIAz8Z4NiXAtAjSHEwCNkbzsVC5sIyxrH3kIbvnB9eDP7o6ewPjkJQVeC/H7wDRT0upfCkHxRzg6SwPljHef2VtX2/8vn7/oz3LcxinJDFfZgqlLFPKw1JeFBIiH+dRGsIMYHOQTXMwKsCQAEP2bvKlPIlEIpFIJNK32d5maJ2sRqZSKDRauUqtVGlUKo1aqdGqdSad0Wow6uXyZyymuoMHjjTalqcmp24OdrWfHRu4dv3K2evtfxnpvjJ+83qvvWdm4c76miMVDb3+4gtGylpjOfazo+8+9n7XwZPdgylfAHlz0A+BT2S8QsFTAkGuGBRhXIBJEaRFkEYwAVAsJ8SClcISxrL2sYd7vQ8MRP/x0tIwxjGeLiOfhHY4LsgIGUakWSGPuFyBo50YP3l1fV9v6v7+8E+uLS9XcIEvIiGB+AgQ0qyQEcVYiQ9LMCrAKGBjEEU5NvLNDD3znZ+KRCKRSCQS6fvU3maoQi2Ta1T1aqVKpzVbbEajUavWUVqdTqGy6PWyqiqTUt7b3uaYnug5f2Z6uH9pZmxl5tby6IBrfOjODfv4YP+6a83hXN3adL109DClkJn0ulqtteqZV3/47LuGT9pG4htB1l2AHgS2JcZdot1l4BdAQIRRESQlkJRgimdTEMVpMRrCX89jXNt+++Ge6IN92UfanaMYxzkaQx+GAQlGIUcDAXBcHnHZXZRxVfDjHTv32Zn77cknulbWJIzYbBn5SuwORFHIJxAX5lFQBH4e+CD0AdbHsSHy11ASiUQikUiku9HeZqjZrDFYKJVerdGpdQa9XF4vl9VbjZRSJtMq6s9+fnJ2bKS3/fxIb8fanYnVmfFhe4dvc2V18qZvYXpjatLvcq071m7fnq6vl+k18kaDsoFS25pbf6Frrn72zaebjs8El2NgjdldR8x6qbAmZF0S40aMB4EgB8IiiEkgLsI4YqNfo1CwVJjBuOry4kPXmAd70I/b3GMYJ7kshl4MIhikEQsQD0Q+K/ApiLJrFfzjrtjfDoj39ef3d65uSViEUQw2MFhHMAxQEvJRyAVE6BWAm0WbLNoWWJ8IAyIM9Hf/+Ts/FYlEIpFIJNL3qb3N0JpD++tqq+tqq2V1NbK6mtrqKqNO/cZrr7Sd+fP89MT06PDAtcvj13uWpka3lqc3lma2Nx23hgf9zkXH2HBkbc3nXOvp6D14oNpma5TX1zabNTaDwmyiDJbWOur5al3Tsnc+VXAA2sHlloXMMkovooKTyTsBsw2KXr4YlJhwCYS5YhAAX5jLzmFc3b74ww7m77vg4+fXJjCOCwmM3BiGyzCLOAB5wAtZjk9BlN+o4J92he8bgPvsqac6lrckzME4Bm4MthCMAZQGQgxx4QrwYeARWTfHuQW0I0KfCH393ae/81ORSCQSiUQifZ/a2wz98N9+99brx9/57a8//+jEuVOfj/T3ri3OTY+PDPR0jg3Zx4bst4b752dGVxYmVxbG11ZnVxwL62vOtcW5mMed84c+fO9E7aF6i7lFb7A0NDRoVbIGk1Ytl7W0/FKpPSxXWXr6LyLkAalFMbtSyS+jzFwhO5vNz+eY1UJhnQPeEhPgs9s8vS3BAC3mnRirzk8c6Ej+5FLswLmpKYwTOAKFFcR5IBcrigzNMUgqiJUiDfIbEj7Q5bzvyvrDg76nr04tSVKeywp8nAMhyObyIInELMdGcCGEQaRU3EHMZpn3lzivyHr6uk9956cikUgkEolE+j61txkady9ePv3J6p3Rsf4Ox8zo3PjQcO/Vseu9c1Njg70dw9d7piaGpydvbmwshsPuVef8js/rWtsI+bzLM1PHmlrrDtbq1Far7YhSSen0JluDiaKUVqOe0psp6jmtxvbi8024nNyNLQqZZSE1t5uYhGCpAJYKrDPHrO7mnaXiDubimE9gGGJAZAsyL7T11X4xcujLCc3ZgaFiLo3DCG8ywjaNgjRP59gCFBlOYHKFlJfjGjtu/Px8/5Nn+7WXel0IQgy5ytcMiCO+wIBEkY/wfKjChDATLKNAWQgIcJuHmwisd3ecdG2n/udTc22n/hp5IS/khbyQF/JCXsgLefn/vexthnI5T8/Zj0+89dJ438WJgSuTA53+9cXbw/bbI/2ulZmF2Ynx8RsLC7fn5ifn5ic93q1Fhyueztntdr1a1WA0N5gazYZWimo1UC0avdnaYFFp5WYrpdYYTNYjFkurSlX36Qdv40oexJZgfKYEHbn8NA0XgOhiWNduwYno9QrjEbNulN5AjBdjJiHkfBgHMA5inMAVupIIZxdgJZLnwnk2R4M8BxmBzYFiFJXzKZhksJTAOCQhVIGFfLjAJHipyID4LgwWhE1Y2WbhDgAeUPYWhE0WbXFgAxXXujs+/b9/TARBEARBEMT/am8zVGI8mPE/b6v76F+O29tP9rR93nXu5GBXm72zrafzQn/v1b7ezs6O9sHrfTN3JucWZmPJ3L/++x8OVB3U67UqhdJEWZX1JrWqwWo7YjQ164yUwaI3WI1ai01latVYn1XqtbL66pv2dgzCfM61m5kFcCnDzOTBfJFdRWCdZzYlxsvndwQQwjjLgXXE7SRQJCrkQzDnz0eglC3jPBDjDIpCNodAoQy+FkGaAf4KjgjFdSwFvi5s8mIMSyksZQFMMSCBYFjgvUXBAUvrEHgB8HHYx6BVjnPzcJMDGz2dJ+/eDQiCIAiCIO5Be5uhMLPMph18bq1Vf7DjzInxgQv2S6f6Lv9lqOfSwLX2of5rI0P9QwN9oyPD47dGbwwOyRXaquo6a4PNaNYbzZRCoWhtPkrpWih9E0U1mq0Wc5NV12Stt1iqDbZqXUO1waxtbq6qPhDYXubobZBZymdneMHFgHkAViDj4oFHghEexACMQy6COLcgbTO8P88GEZ9DMA2LSQRSTDEGmFgJZHExj0FeAsl00c2UvAlmCUobRdZRKruZ3CwqbjAgIJbSmPWi7HwuOwGYJZTycIltzDgxWJbApgC2ueJWT8cXd+8GBEEQBEEQ96C9zVC2sAQyc3zB1XPxxIUv3jl78t1bgxfvjPZODvUsTd2aGbs5Oz7mXFzsbL987Nnnag/VNlpbKaNNpqzXm7UyeY3VarYYbCa11axpNOksDU2N9TplvcX4tFpZbWv958Yj/2Q7XGVtqpLL33zrNyKMcoWNQvoOzzp46ETAwRU3YcGdz7jp3WheyERRPCxEwlw4jmKMlOXErMSnIeMXYJSFMVSMlJlYKRfCICEJuSifCGM6gdmQGM/xboiciJnDpR3EhTkULYOtbHQilruTZDbz6QRIRMXUCgarZbAtQq8Advq6vrx7NyAIgiAIgrgH7W2GJoPDicBQPn5bKLoa9Psnhy90XPivttN/HLVfHentGh/sP3Pys2eMVnl1nU1jbNTbKLVFq6HMVkpjVBisGpmshtIYnrMdbtY3W/U2o9FYq5HXWgy/aLbJjh2veeG1Qy+9caD1RUXLkRpZXcTnpKMrWPDn45McswKyi1xxCzLeTN4HKgUGC06x0JFNtyXS9lgqjHFayDKcr8g5RbzNST6e85eBh8tvcmwoI6RHM7HzwdTZsHDenYtJHIDhCljHyA2K3iII8NCTZFweIdTrWepzeHwFyABvRXSL0CuAAF/093acvns3IAiCIAiCuAft8ZfyvgFAz2QT44BenJ1oU9Q+YlA83WSS6eqrLRo5Ja/XymQWlc6ioUxKqkFntRkazHqLntLpzTq1Tm426RupRqvGYtUaLSZrjUqnfO5Y7dHjje+9r3z51QNHXq4/cVr2+y8eUVOHVPJTpz7CmE4FpzC7XoIOOjYJU0uI8dBMII/hHKTfm75tPH9V+eWl5nN9kwyKcSnAeThhAyInDV0AbVf4UAkFOCm0SXv+Y3hUfrKz6tOxxvY74RIvSXGM3CXggsCLK2mYdSYZzyATU//lK8UHX13zRv3MTgE4EeNGhR1Iu7sv/+nu3YAgCIIgCOIetLcZSsfHkqFBJnUb0guAdrz3VkuLtbbJLDvcqNcpZY1mqslqMWi0ZqPFRFlNOrNVazTrjAbKYqBMZgNl1RqtqgazyqRV1RpazAcbjjx5+Heq37fJ3z550NL8VOvRv3vzs8c/uXzwVy9XUwpzqwXxOQA2i/k7MD+GsqNSehbGl0DBl8bi84NjdV91ODFu/vS06mRbf7aYhXEMdsT0DmbTeTbIYjpfiLAoRaOthBT1YnwuzB06M/7yxEpKCghwmhdW6eIKgG5Er+P4Yjq5/cai86mOkUNnuk95fSE+nM0tMjkHSDtA2tHVTn4pTxAEQRAE8W3a2wwNb/eKYH43M52LTbDMKsZxs+6AzVijU9U0N+hNBrXZRFmtVrPZqtFSZqPNpjNZ9CadyaY32hr05iatuUnT2KgzW00yRYP6icO/fuK1z61n5+/XvFLd+uJjTUcfeufM06dvPNZyWHekRWmhhievF4A/mZyG+QkuO4YLczHPaEFI3kpGD3z81R8jzDbGE5HA6Y21dSztwghmvDgfEdJ+iCJQSmTSbrDrZ4ArLYbCGLectz/1WZe9goPQhbGDBrPx/Gw8uwAyK8LWWCy2ox+YffK6o+ZC502Yd2fXALPKpJeZ1BKTXOy4+PHduwFBEARBEMQ9aE8z9L8Bi1+qDhzsLHEAAAAASUVORK5CYII=" alt=""><br>
    <br>Once<b> </b>
you enter the preview, <u><i><b>DO NOT</b>
</i>
</u>
<i> </i>
CLICK THE "Publish Now" BUTTON, that will switch your Business page over before it is setup.<br>
    <br>The very top of the "Preview" will display the Admin Panel (which your users will never see see below:&nbsp; <br><br><img src="data:image/png;base64,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nJ2d+/Xrt2XLlr/++mvBggWurq6enp6RkZExMTEFBQX79+9/8803J02atGjRoi1btigUivr6+v/85z96K8ZnsesasJqINkhMNEt5rAgd1jpaRwh0kaawEeFoKNGYCioidQVtq7omVmai3806edAdb5CjX+2638kbNG9x3Q/IC1/7g/pNrD1bVxC6aLTbEU5HGQBBCvW1Enc/mhIRu9G2hHA5iUESVELdmegO1BeD1PU/NuZHapBNRXoD1YYMEuV/dQ2oM0ljkHrag6oa9R1r3yBRXWuoAzWFIM+EpGR9lWmP654sab0qZWVlA/abhC8A/STR3yX8N470iQMvJp0wyBs3bhhpXeirTKp33cBzuSdN1wwh7PlzoZ81ZhOD/Pnnn0+fPv2///1PPVFmwYIFcrm8qKho1qxZubm5eXl5RUVFkyZNys/PHzp06MyZM0+dOvX111+///778fHxMTExq1atmj59+urVq3fv3v3uu++uWrVq5MiRr7322u7du996661PP/1Ub8WGYpBopcBGpxAwESOipmDji4gvFh1FzABdHYnu4PQM99rXY3JogyQPQWECiEhsiHgOSbxRF+zU/I5okIZaSSYTqJOwzTZwOWm+E93h6LAx0qWYQGBHDLLdSDOpQeoKrK3DPWVMKFpfe3Bhyw5kt1ExxvYNEvucsU+H+LhwoWfyBHWDHBPQxJyEKwD9JLGNwn7jnuvREkD30gmDvHnzppHWhb7KpHrXDTyPBvmUk5iReCf4o2kxmxjkmTNnvv32208++aS0tDQ7O3vKlCnTp08vKioqLCzMycmZOXPm+vXr165dW11dPX78+MbGxpEjR3p7e/v6+k6aNGnKlCn79++fN2/ezJkzV61a9fbbb5eXlw8cODAhIeGNN9746KOPjh8/rrfipzJItT0gb339g+0IQamCmizt+c/QIIlmYNAg9ZnF0xukxh21QafOG6RKRT7SQNOlaiErOKbsWAxShf1TAT0y4ekMst32dHaMJhI3JD7KpzNIdHAR/2iIz6Iyk/DXCbEA/QZJzIuDQQIqlQoM0mieR4MEzASziUG+8847b7755oYNGwoKCrKystLT0+fOnZufn798+fKlS5euXLlyy5Yte/fuXbt2bVFR0Z9//rlr1y4PD4/4+PiEhIQRI0bk5eWp/yRZsWLFe++9V11d7eXlJRKJwsLC1Af1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EpOebayvb26uV2CT2riPpajRkdrEONYpdb9S6VLfBt695O9g9XscNQ4T03yDBqnLS+PKRyekcUcILTZQDOlN4O6emMV+fgxSZRYxyFmzZr388ssLFy6Uy+Vr1qw5cuRIXV3dtGnTrK2t7ezsAgICdu3adeTIkXffffevv/76999/79y5c/v27Tt37ty9e/fevXv379+/fft2fX39ypUrXVxcaDSak5NTcnKyh4dHnz59XFxc2qke/bRJ/iTAnogfU6sLXyPDYskev0KhPgU/DFkHyXBZfGScWBkAAMCLBxikkXS1QRJeS7icHT6Fp/lcqlCUYo/gXproI2TChJE0YrYbdQniZB2YSaNQoAwZ+9IlHiFvMb4Y4wySpD9IOh0/m6mbMJsYZGhoaHR09JQpUyZMmLBu3boVK1YsXLhwzpw5bm5uYrE4MDDwtddeO3LkSH19/enTp+/du/fgwYOHDx8+ePDgwYMH9+/fv3///t27dz/66KNNmzZ5eXlRqVQajSaVSvv169enT5++ffu2Uz32aRvOYuOGuOr+WCL+xYIxSNTAW9Jxxggko2fRf/5hKwMAAHjxAIM0kuvXr3ddr3cpejN62FFl3YyBOGW31/zMMZsYZFJS0qRJk2bMmJGenl5YWFhVVbVp06aVK1euWrUqNTU1KSmppqbmww8//PTTTy9cuPDPP//cv39f545qbt++/cEHH6xevdrHx4dKpVIoFC6Xa21t7ezs3LEYpPbbi5qFRnYicVQI8e8cshA0YZwxAu5PO9RV+isDAAB48QCDNJ6u6/WuAHnP6Z808wxNqtsNsv3+eHaYTQwyJydnzpw5S5Ysyc7OHjVqVGlp6bx585YtW5abm5uTkzNx4sQ9e/Z8/PHH165d+/fff+/fv3/v3r1///33Hy337t37/fffDx06lJeX5+rqymAwqFQqi8WSyWSOjo6Ojo7tVI/6iuBkEqdpT2+QulPx3xfCWFwwSAAAAFLAII2n63odeLEwmxhkTk7OihUriouLv/jiC4VCUV5ePmPGjEWLFuXk5MydO3f69OmrVq166623mpub7927d+/evTt37ty5c+emlnv37v30009lZWWTJk2ytrZWZ7EtLS15PJ5UKm1/Txrc6ATUcA+9f43oTyzrjmBS3jrzU2CvJxaNHosLWWwAAAACYJDG03W9DrxYmE0M8r333vvv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" alt="" style="max-width:100%"><br><br><br>And if you scroll down on the page below the admin panel, you will see a preview of what the page will look like on the 30th of March when Facebook switches to Timeline View (see below):<br><br><img src="data:image/png;base64,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" style="max-width: 100%" alt=""><br><br><br>You'll note in the preview image below that the photos, likes and comments (posts) remain intact within the preview, and you won't have to worry them disappearing when the 30th comes:<br>
    <br>
    <img src="data:image/png;base64,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" alt="" style="max-width: 100%"><br><br>Please let me know if you have any more questions about the transition.<br>
    <br>Thank you, <br>&nbsp; Andrew J. Leer<br>
    <br>
</body>
</html>
Okay so the other day I downloaded the update to OpenOffice.org 3.1.0 

The first time I tried it, it didn't work, and then I read in a forum somewhere that if you install all of it, you can make it work.  And so I did.

Now one thing I hadn't anticipated was that the series of StarBasic Macros I've been using on the [[jobdb|http://jobdb.sourceforge.net/]] project weren't going to work after the installation.  

>Okay fine, so I did anticipate it...I use Virtualbox to develop [[jobdb|http://jobdb.sourceforge.net/]], and I took a snapshot of my VM right before I downloaded the update to OOo.  However this really does little to change the fact that people downloading [[jobdb|http://jobdb.sourceforge.net/]] are most likely going to want to use the latest version of OOo.  And I [[already have a job|http://www.xebra.com/]], so I'd like to get it working for them.

Anywho...even though I can revert back to the OOo before the update, I'd still like to press forward with the latest version if OOo.   Upon installing it last night, and opening [[jobdb|http://jobdb.sourceforge.net/]] I was presented with a screen which asked me if I'd like to perform some Macro Migration.  //"Sure!"// I though, believing that maybe the Migration would be a smooth and easy process...and so I clicked //next//, and after a brief progress bar, I received a nice text-based summary of exactly what the Macro Migration had done:

{{{
=== Database Document ===
saved copy to C:\Users\leeand00\Desktop\dev-jobdb\job_db.backup.odb

=== Form 'JobDashBoard' ===
migrated OpenOffice.org Basic library 'Standard' to 'Form_JobDashBoard_Standard'
migrated OpenOffice.org Basic library 'DBLib' to 'Form_JobDashBoard_DBLib'
migrated dialog library 'Standard' to 'Form_JobDashBoard_Standard'
migrated dialog library 'DBLib' to 'Form_JobDashBoard_DBLib'
}}}

And afterwards my modules kinda looked like this:

[img[http://i9.photobucket.com/albums/a58/Maskkkk/OOoMigration.png]]

Okay that's pretty straight forward, right?   When I tried to run the {{{JobDashBoard}}} everything appeared to be fine.  Then I tried to add a new job to a company (which requires making a call to a macro and displaying a dialog); well at this point nothing happened.  

So I figured, //"oh well, that's because the name of the libraries have changed..."// so I went though all of the statements that look like this:

{{{
	Dim oDialogModel As Object
	BasicLibraries.loadLibrary( "DBLib" )
}}}

and changed them to:

{{{
	Dim oDialogModel As Object
	BasicLibraries.loadLibrary( "Form_JobDashBoard_DBLib" )
}}}

Just has the Macro Migration Wizard had changed their names....

Shortly thereafter I came across [[this article|http://wiki.services.openoffice.org/wiki/Base/New_features_in_3_1#Macros_in_database_documents]] which gave me a nice overview in more detail of what has changed in Base 3.1.0

And no...changing the libraries did not completely fix the problem...

And about the time I came back to write this post, re-doing a search to write about where I changed the names of the libraries, I noticed that the dialog libraries were still being loaded from the Standard:

{{{
	DialogLibraries.LoadLibrary("Standard")
	myLib = DialogLibraries.getByName("Standard")
	
	Dlg = myLib.getByName("AssociateExistingCompanyContactWithJob")
}}}

Which probably means they have to be changed to:

{{{
	DialogLibraries.LoadLibrary("Form_JobDashBoard_Standard")
	myLib = DialogLibraries.getByName("Form_JobDashBoard_Standard")
	
	Dlg = myLib.getByName("AssociateExistingCompanyContactWithJob")
}}}

This too did not fix the problem...thus I thought to myself that I had forgotten the manner in which I called the macros in the first place from the form and that's when I came across this lovely snippet:

{{{
	' This gets the currently selected row in the company table.
	CurrentCompanyRow = "" & Frm.Row
	
	' Select the currently selected company 
	' for a job initialiy.
	Dim cMacroUrlString As String
	Dim oURL As Object
	Dim oUrlParser As Object
	Dim oFrame As Object
	Dim oDispatcher As Object
	
	cMacroUrlString = "macro://JobDashBoard/Standard.NewJobWizardModule.Main(" & CurrentCompanyRow & ")"
	'cMacroUrlString = " .uno:About"
	
	oURL = createUnoStruct( "com.sun.star.util.URL" )
	oURL.Complete = cMacroUrlString
	
	oUrlParser = createUnoService("com.sun.star.util.URLTransformer")
	oUrlParser.parseStrict( oURL )
	
	oFrame = StarDesktop.getCurrentFrame()
	'XRay oFrame
	oDispatcher = oFrame.queryDispatch( oURL, "_self", 0 )
	'XRay oDispatcher
	oDispatcher.dispatch(oURL, Array())	
}}}

Now if the case is that the macros are no longer contained in the Form's themselves, but rather in the database file....how would I access them using the {{{macro://}}} protocol?

And so I asked my question [[here|http://user.services.openoffice.org/en/forum/viewtopic.php?f=45&t=20104&p=91306#p91306]].
| 09/01/2008 13:57:42 | leeand00 | [[/|http://leeand00.tiddlyspot.com/]] | [[store.cgi|http://leeand00.tiddlyspot.com/store.cgi]] | . | [[index.html | http://leeand00.tiddlyspot.com/index.html]] | . | ok |
| 09/06/2016 20:46:43 | leeand00 | [[/|http://leeand00.tiddlyspot.com/]] | [[store.cgi|http://leeand00.tiddlyspot.com/store.cgi]] | . | [[index.html | http://leeand00.tiddlyspot.com/index.html]] | . | ok |
| 09/06/2016 20:50:19 | leeand00 | [[/|http://leeand00.tiddlyspot.com/]] | [[store.cgi|http://leeand00.tiddlyspot.com/store.cgi]] | . | [[index.html | http://leeand00.tiddlyspot.com/index.html]] | . | ok |
| 09/06/2016 21:07:25 | leeand00 | [[/|http://leeand00.tiddlyspot.com/]] | [[store.cgi|http://leeand00.tiddlyspot.com/store.cgi]] | . | [[index.html | http://leeand00.tiddlyspot.com/index.html]] | . | ok |
| 10/06/2016 00:18:46 | leeand00 | [[/|http://leeand00.tiddlyspot.com/]] | [[store.cgi|http://leeand00.tiddlyspot.com/store.cgi]] | . | [[index.html | http://leeand00.tiddlyspot.com/index.html]] | . |
| 28/11/2016 16:56:26 | leeand00 | [[/|http://leeand00.tiddlyspot.com/]] | [[store.cgi|http://leeand00.tiddlyspot.com/store.cgi]] | . | [[index.html | http://leeand00.tiddlyspot.com/index.html]] | . | ok |
| 28/11/2016 16:56:34 | leeand00 | [[/|http://leeand00.tiddlyspot.com/]] | [[store.cgi|http://leeand00.tiddlyspot.com/store.cgi]] | . | [[index.html | http://leeand00.tiddlyspot.com/index.html]] | . |
| 24/10/2017 20:01:27 | leeand00 | [[/|http://leeand00.tiddlyspot.com/]] | [[store.cgi|http://leeand00.tiddlyspot.com/store.cgi]] | . | [[index.html | http://leeand00.tiddlyspot.com/index.html]] | . |
| 21/02/2018 20:14:04 | leeand00 | [[/|http://leeand00.tiddlyspot.com/]] | [[store.cgi|http://leeand00.tiddlyspot.com/store.cgi]] | . | [[index.html | http://leeand00.tiddlyspot.com/index.html]] | . |
| 22/06/2018 07:31:52 | leeand00 | [[/|http://leeand00.tiddlyspot.com/]] | [[store.cgi|http://leeand00.tiddlyspot.com/store.cgi]] | . | [[index.html | http://leeand00.tiddlyspot.com/index.html]] | . | failed |
| 22/06/2018 07:35:10 | leeand00 | [[/|http://leeand00.tiddlyspot.com/]] | [[store.cgi|http://leeand00.tiddlyspot.com/store.cgi]] | . | [[index.html | http://leeand00.tiddlyspot.com/index.html]] | . |
/***
|''Name:''|PasswordOptionPlugin|
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Version:''|1.0.2|
|''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)|
***/
//{{{
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
			config.macros.option.genericCreate(place,'pas',opt,className,desc);
			// checkbox linked with this password "save this password on this computer"
			config.macros.option.genericCreate(place,'chk','chk'+opt,className,desc);			
			// text savePasswordCheckboxLabel
			place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));
		},
		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]) 
			saveOptionCookie(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
loadOptionsCookie();

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

merge(config.optionsDesc,{
		pasPassword: "Test password"
	});
*/
//}}}

/***
|''Name:''|UploadPlugin|
|''Description:''|Save to web a TiddlyWiki|
|''Version:''|4.1.0|
|''Date:''|May 5, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#UploadPlugin|
|''Documentation:''|http://tiddlywiki.bidix.info/#UploadPluginDoc|
|''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 (#3125)|
|''Requires:''|PasswordOptionPlugin|
***/
//{{{
version.extensions.UploadPlugin = {
	major: 4, minor: 1, revision: 0,
	date: new Date("May 5, 2007"),
	source: 'http://tiddlywiki.bidix.info/#UploadPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	coreVersion: '2.2.0 (#3125)'
};

//
// Environment
//

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

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

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

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

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

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

//
// uploadOptions Macro
//

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

//
// upload functions
//

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

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

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

bidix.upload.uploadRss = function(uploadParams,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		if(status) {
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
			displayMessage(bidix.upload.messages.rssSaved,bidix.dirname(url)+'/'+destfile);
			bidix.upload.uploadMain(params[0],params[1],params[2]);
		} else {
			displayMessage(bidix.upload.messages.rssFailed);			
		}
	};
	// do uploadRss
	if(config.options.chkGenerateAnRssFeed) {
		var rssPath = uploadParams[1].substr(0,uploadParams[1].lastIndexOf(".")) + ".xml";
		var rssUploadParams = Array(uploadParams[0],rssPath,uploadParams[2],'',uploadParams[4],uploadParams[5]);
		bidix.upload.httpUpload(rssUploadParams,convertUnicodeToUTF8(generateRss()),callback,Array(uploadParams,original,posDiv));
	} else {
		bidix.upload.uploadMain(uploadParams,original,posDiv);
	}
};

bidix.upload.uploadMain = function(uploadParams,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		var log = new bidix.UploadLog();
		if(status) {
			// if backupDir specified
			if ((params[3]) && (responseText.indexOf("backupfile:") > -1))  {
				var backupfile = responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:")));
				displayMessage(bidix.upload.messages.backupSaved,bidix.dirname(url)+'/'+backupfile);
			}
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
			displayMessage(bidix.upload.messages.mainSaved,bidix.dirname(url)+'/'+destfile);
			store.setDirty(false);
			log.endUpload("ok");
		} else {
			alert(bidix.upload.messages.mainFailed);
			displayMessage(bidix.upload.messages.mainFailed);
			log.endUpload("failed");			
		}
	};
	// do uploadMain
	var revised = bidix.upload.updateOriginal(original,posDiv);
	bidix.upload.httpUpload(uploadParams,revised,callback,uploadParams);
};

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

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

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

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

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

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

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

//
// Utilities
// 

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

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

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

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

//
// Initializations
//

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

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

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

// Options Initializations
bidix.initOption('txtUploadStoreUrl','');
bidix.initOption('txtUploadFilename','');
bidix.initOption('txtUploadDir','');
bidix.initOption('txtUploadBackupDir','');
bidix.initOption('txtUploadUserName','');
bidix.initOption('pasUploadPassword','');
bidix.initOption('chkUploadLog',true);
bidix.initOption('txtUploadLogMaxLine','10');


/* don't want this for tiddlyspot sites

// Backstage
merge(config.tasks,{
	uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: '<<uploadOptions>>'}
});
config.backstageTasks.push("uploadOptions");

*/


//}}}
{{{
 
  // Overide displayTiddler function to also Google Analytics urchin.
  var TiddlyLock = {}; // Create a namespace for our new function.
  TiddlyLock.displayTiddler = story.displayTiddler;
  story.displayTiddler = function(srcElement,titles,template,unused1,unused2,animate,unused3)
  {
    if (urchinTracker) { urchinTracker('/' + titles); }
    TiddlyLock.displayTiddler.apply(this,arguments);
  }
 
}}}
<<tabs ""
            "Usecase Screen 1" "Usecase Screen 1" "Usecase Screen 1"
            "Usecase Screen 2" "Usecase Screen 2" "Usecase Screen 2"
            "Usecase Screen 3" "Usecase Screen 3" "Usecase Screen 3"
          >>
<html>
<body>
<form>
<label for="line 1">line 1</label>
<input id="line1" /><br/>
<label for="line2">line 2</label>
<input id="line2" /><br/>
<button>Send</button>
</form>
</body>
</html>
<html>
<body>
<form>
<label for="line 1">line 1</label>
<input id="line1" value="bob" /><br/>
<label for="line2">line 2</label>
<input id="line2" /><br/>
<button>Send</button>
</form>
</body>
</html>
<html>
<body>
<form>
<label for="line 1">line 1</label>
<input id="line1" value="bob" /><br/>
<label for="line2">line 2</label>
<input id="line2" value="joe"/><br/>
<button>Send</button>
</form>
</body>
</html>
<html>
<body>
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/dtyv3lAsz60&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/dtyv3lAsz60&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
</body>
</html>
!Create another library...
#{{{Tools->Macros->Organize Dialogs...}}}
#Click the ''Libraries'' Tab
#Select your document from the list of locations.
#Click ''New'', and give it a name, for instance well call ours ''"DBLib"''

!Create a macro in that library
{{{
REM  *****  BASIC  *****

TYPE RSR
	ConnString As String
	
End TYPE

Function RSRFactory()
	DIM newRSR As RSR

	newRSR.ConnString = "about:blank"

	RSRFactory = newRSR
End Function
}}}

!Main Program (not in the module)
{{{
Sub Main
	BasicLibraries.loadLibrary("DBLib")
	
	RSRTest = DBLib.RSRFactory()
	
	MsgBox("bob:" & RSRTest.ConnString)
	
End Sub
}}}
/***
| Name:|ViewPalettePlugin|
| Description:|Defines the viewPalette macro for use in ViewTemplate|
| Version:|2.0.0|
| Date:|26-Sep-2006|
| Source:|http://mptw.tiddlyspot.com/#ViewPalettePlugin|
| Author:|Simon Baird <simon.baird@gmail.com>|
| CoreVersion:|2.1.x|
***/
//{{{
merge(config.macros,{
	viewPalette: {
		title: 'Palette Preview',
		handler: function(place,macroName,params,wikifier,paramString,tiddler) {
			var title = params[0] ? params[0] : tiddler.title;			
			var colors = store.calcAllSlices(title);
			var keys = [];
			for (c in colors) keys.push(c);
			var output = '';
			var prefix;
			var lastPrefix;
			output += ""+
				//'<h2>'+this.title+'</h2>'+
				'<table align="right" cellspacing="0" style="border-collapse:collapse;"><tr>'+
				'<td style="border:1px solid #555;font-size:50%;padding:0 2em;background:'+colors[keys[0]]+'">&nbsp;</td>'+
				'<td rowspan="'+keys.length+'">'+
				'<table cellspacing="0" style="border:1px solid #555;width:22em;background:%8;margin-left:2em;">'+
				'<tr><td colspan="2" style="font-size:120%;background:%0;width=200px;padding:1em;font-weight:bold;color:%1">'+
				'TiddlyWiki'+
				'</td>'+
				'<td style="background:%0;font-size:90%;text-align:right;">'+
				'<span style="background:%4;margin-right:1em;padding:0 1em;">message</span>'+
				'</td>'+
				'</tr>'+
				'<tr>'+
				'<td rowspan="3" style="color:%0;vertical-align:top;padding:4px;">Hello<br/>Started<br/>Monkey</td>'+
				'<td style="padding:0.7em;color:%3;"><b style="color:%5;font-size:120%;">HelloThere</b><br/>'+
				'Lorem ipsum <b style="color:%0">dolor</b> sit amet, consectetuer adipiscing elit. </td>'+
				'<td rowspan="3" style="vertical-align:top;font-size:80%;">search<br/>new tiddler<br/>options<br/>'+
				'<div style="background:%6;margin-top:0.5em;padding:2px;color:%7">'+
				'<span style="background:%7;color:%3;">Timeline</span>&nbsp;Tags</div>'+
				'<div style="background:%7;color:%0;padding:4px;">Ninja<br/>Dolphin<br/>FooBar<br/>BazQux</div>'+
				'</td>'+
				'</tr>'+
				'<tr>'+
				'<td style="padding:0.7em;color:%3;"><b style="color:%5;font-size:120%;">GettingStarted</b><br/>'+
				'Proin vel felis vel ipsum <b style="color:%0">fermentum</b> eleifend. </td>'+
				'</tr>'+
				'<tr>'+
				'<td style="padding:0.7em;">'+
				'<span style="padding:0 2px;background:%9;color:3%;">error</span>'+
				'</td>'+
				'</tr>'+
				'</table>'+
				'</td>'+
				'</tr>';

			for (var i=1;i<keys.length;i++)
				output += '<tr><td style="border:1px solid #ccc;font-size:50%;padding:0 2em;background:'+colors[keys[i]]+'">&nbsp;</td></tr>';

			output+= '</table>';
		
			wikify("<html>"+output.format([
				colors.PrimaryMid, //0
				colors.PrimaryPale, //1
				colors.PrimaryDark, //2
				colors.Foreground, //3
				colors.SecondaryMid, //4
				colors.SecondaryDark, //5
				colors.TertiaryMid, //6
				colors.TertiaryPale, //7
				colors.Background, //8
				colors.Error, //9
				''])+"</html>",place);
		}
	}
});

setStylesheet(''+
	'.viewPalette div { text-align:right; vertical-align:top; float:left; padding:2px; width:80px; height:50px; }\n'+
	'.viewPalette div span { padding:0 0.5em;background:white; border:1px solid black; font-size:80%; }\n'+
	'',"showPaletteStyles");

//}}}
<!--{{{-->
<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler > fields syncing permalink references jump'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<div></div>
<!--}}}-->
When an action has been delegated to someone else, or when one is waiting for some external event before a project can be moved forward, this is tracked in the system and periodically checked to see if action is due, or a reminder needs to be sent.
[[article|http://www.fastcompany.com/magazine/134/made-to-stick-sell-handcuffs.html]]

|!Wants |!Shoulds |
| | |
|<<slider zx3q34q3ck "Washing Machine Ordeal - Topload" "Top Load">>|<<slider zx3q34q3ck "Washing Machine Ordeal - Frontload" "Front Load">>|
<<tabs wreadack 
	   "Topload - Pros" "" "Washing Machine Ordeal - Frontload - Pros"
	   "Topload - Cons" "" "Washing Machine Ordeal - Frontload - Cons"
>>
*Requires a $pecial type of detergent ($//high-efficiency detergents//$)
**Cost more
**''Might not be available everywhere...''
*Front load machines cost more.
**Usually cost 30% to 40% more.
*Some do not allow you to add an item of clothing once the cycle has started.
**You have to wait until the next load if you forget to put something like a sock in.
*Cycle times run longer than that of a top-loader
**60-80 minutes for a Front-Loader
----
[[Edit Tiddler|Washing Machine Ordeal - Frontload - Cons]]
----
*Several Models boot the ability to wash 20 pounds in one load
*Uses less water which lowers utility bills
*Spin clothes faster than top-load, extracting more water.
**Hence, lower energy bills in dryer.
*Uses a wash process that is gentler on clothing.
**Clothes last longer.
----
[[Edit Tiddler|Washing Machine Ordeal - Frontload - Pros]]
----
<<tabs wreadack 
	   "Topload - Pros" "" "Washing Machine Ordeal - Topload - Pros"
	   "Topload - Cons" "" "Washing Machine Ordeal - Topload - Cons"
>>
----
[[Edit Tiddler|Washing Machine Ordeal - Topload - Cons]]
----
*Lower Price
*__''Proven Reliablity'' - Toploaders have been around alot longer than Front-Loaders...__
**@@//(I don't know about this...they probably make the new toploaders just as cheap as anything else that is new)//@@
*Uses regular detergent
**More models are available.

----
[[Edit Tiddler|Washing Machine Ordeal - Topload - Pros]]
----
He wants a retro, look from like the 1940's, with some sort of old time radio look to it, and pictures with a theme of two dudes in the background that are water color (old timey) or painted and some person up front that looks not so old, like 2007 in a photo graph, doing things like motorcycling/fishing.
#Logged in using:
**''Username:'' leeand00
**''Password:'' The usual
#Clicked Maintenance->Backup/Restore
##Clicked back up to backup the current configuration.
***And if I click the first restore button I should be able to get that configuration back.
#Took a look at this [[vaguely related document|http://www.dslreports.com/faq/13600]]
#Went into {{{Configuration->VC Configuration}}}
##Saw a VC with a protocol of {{{PPPoE}}} which was {{{enabled}}}, and had a {{{VPI}}} of {{{0}}} and a {{{VCI}}} of 35.
###{{{Bridge Broadcast}}} was checked.
###{{{Bridge Multicast}}} was also checked.
##Clicked {{{Edit}}} beside said {{{VC}}}.
###New {{{VC 1 Configuration}}} window popped up.
####Looked like this:[img[img/ ]]...initially
####Noted this from said [[related document|]]http://www.dslreports.com/faq/13600: //When the Westell is bridged, it will have no router functions at all, no subnet, no IP, and no default gateway. The router connected to the Westell will acquire and hold the Public IP address and will determine the LAN IP addresses and subnet.//
*****Presently mine has an ip, so it must not be bridged.
####Changed {{{Protocol}}} field to {{{Bridge}}}
####Changed {{{Mode}}} to {{{Bridge}}}
####Clicked {{{set VC}}}
###Next was prompted to restart the modem...clicked {{{ok}}} and waited for it to restart.
#Visited {{{Configuration->DHCP Configuration}}}
##In the {{{DHCP Server}}} dropdown I selected {{{Off}}}
###Clicked {{{Save}}}
###Was prompted {{{Save and reconfigure DHCP?}}}, I clicked {{{ok}}}
#Plugged the modem into the Buffalo routers uplink port
#Tested Internet...No Internet.
#Logged into the Buffalo Router...
#Clicked {{{Setup}}} tab.
#Selected a {{{Connection Type}}} of {{{PPPoE}}}
#Clicked {{{Apply Settings}}}
#Appears to work!!!
I've been having some problems with my Palm TX as of late, so I went out to look for an alternative to Palm as they only seem to be manufacturing smart-phones now.  For instance, I bought my Palm TX 2 years ago and I went to the store today to ask if they had any and after a brief sales pitch (which I shot down), they directed me to their three remaining models of PalmOS PDAs.  The trouble for me was that they all looked just about as poor a quality as the TX, so I'm not really into getting another one of those.

However, I would like to have something with the following features:
*Ability to Sync with Quicken
*Ability to connect to wifi (I don't wanna pay some telco an extra $30 a month for my internet access)
*An SD Card Slot - Considering so many of my other devices support it, and I already have a bunch of SD cards.
*Finally I would like (maybe) if the device could run some form of PalmOS emulator (mainly because there are a couple of programs I rely on and would really like if the pda thing would support them.

This is going to be a really, really difficult decision, so I am writing this blog entry to set all of my ducks in a row as it were.
The proof is in the pudding, there's one huge database called "the registry" where most Windows programs store their settings, and when you uninstall a program the settings are usually never removed; this slows your system down to a crawl the more programs you install and uninstall over time.

Linux software on the other hand stores it's settings just plain old config files, so "the registry" problem does not occur.

The question you have to ask yourself before installing windows is: Do I want to be penalized for installing and uninstalling software?  

Seems pretty clear to me...

[[http://superuser.com/questions/74932/best-way-to-avoid-os-rot-in-windows-7/74941#74941]]
<<tabs "12/3/20073:09 PMs" 
      "Defaults" "Workrave - Defaults" "Workrave - Defaults"
      "RSI Recovery" "Workrave - RSI Recovery" "Workrave - RSI Recovery"
      "RSI Avoidance" "No problems yet but if you are trying to avoid RSI" "Workrave - RSI Avoidance"
>>

[[Workrave|http://www.workrave.com]] comes with it's own @@color(red):*@@default settings but you can tailor its settings to your own needs.  

Depending on who you are and if you are actually recovering from RSI or if are just trying to avoid it, the [[Workrave website|http://www.workrave.com]] gives the above advice for how to set your installation up. Which I have summarized in the tables above.

>@@color(red):*@@ Default settings are in the tab marked ''default''.
<html>
<body>
<table>
<tr style="background-color: #cecece; color: white;">
    <th>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th>
    <th>hrs</th>
    <th>:</th>
    <th>min</th>
    <th>:</th>
    <th>sec</th>
</tr>
<tr style="background-color: #90dee2;">
    <td><strong>Time Before End: </strong></td>
    <td>4</td>
    <td>:</td>
    <td>00</td>
    <td>:</td>
    <td>00</td>
</tr>
<tr style="background-color: #cecece">
    <td><strong>Postpone Time: </strong></td>
    <td>00</td>
    <td>:</td>
    <td>20</td>
    <td>:</td>
    <td>00</td>
</tr>
</table>
</body>
</html>

<html>
<body>
<table>
<tr style="background-color: #cecece; color: white;">
    <th></th>
    <th>hrs</th>
    <th>:</th>
    <th>min</th>
    <th>:</th>
    <th>sec</th>
</tr>
<tr style="background-color: #90dee2;">
    <td><strong>Time between breaks: </strong></td>
    <td>0</td>
    <td>:</td>
    <td>2</td>
    <td>:</td>
    <td>30</td>
</tr>
<tr style="background-color: #cecece">
    <td><strong>Break Duration: </strong></td>
    <td>0</td>
    <td>:</td>
    <td>0</td>
    <td>:</td>
    <td>25</td>
</tr>
<tr style="background-color: #90dee2;">
    <td><strong>Postpone Time: </strong></td>
    <td>0</td>
    <td>:</td>
    <td>2</td>
    <td>:</td>
    <td>30</td>
</tr>
</table>
</body>
</html>
<<tabs "12/3/200712:09 PMs" 
      "Microbreak" "Microbreak Settings Chart - Defaults" "Workrave - Microbreak Settings Chart - Defaults"
"Rest Break" "Rest Break - Defaults" "Workrave - Rest Break - Defaults"
"Daily Limit" "Daily Limit - Defaults" "Workrave - Daily Limit - Defaults"
>>
<html>
<body>
<table>
<tr style="background-color: #cecece; color: white;">
    <th></th>
    <th>hrs</th>
    <th>:</th>
    <th>min</th>
    <th>:</th>
    <th>sec</th>
</tr>
<tr style="background-color: #90dee2;">
    <td><strong>Time between breaks: </strong></td>
    <td>0</td>
    <td>:</td>
    <td>3</td>
    <td>:</td>
    <td>00</td>
</tr>
<tr style="background-color: #cecece">
    <td><strong>Break Duration: </strong></td>
    <td>0</td>
    <td>:</td>
    <td>0</td>
    <td>:</td>
    <td>30</td>
</tr>
<tr style="background-color: #90dee2;">
    <td><strong>Postpone Time: </strong></td>
    <td>0</td>
    <td>:</td>
    <td>2</td>
    <td>:</td>
    <td>30</td>
</tr>
</table>
</body>
</html>
<html>
<body>
<table>
<tr style="background-color: #cecece; color: white;">
    <th></th>
    <th>hrs</th>
    <th>:</th>
    <th>min</th>
    <th>:</th>
    <th>sec</th>
</tr>
<tr style="background-color: #90dee2;">
    <td><strong>Time between breaks: </strong></td>
    <td>0</td>
    <td>:</td>
    <td>10</td>
    <td>:</td>
    <td>00</td>
</tr>
<tr style="background-color: #cecece">
    <td><strong>Break Duration: </strong></td>
    <td>0</td>
    <td>:</td>
    <td>0</td>
    <td>:</td>
    <td>10</td>
</tr>
</table>
</body>
</html>
<html>
<body>
<table>
<tr style="background-color: #cecece; color: white;">
    <th></th>
    <th>hrs</th>
    <th>:</th>
    <th>min</th>
    <th>:</th>
    <th>sec</th>
</tr>
<tr style="background-color: #90dee2;">
    <td><strong>Time between breaks: </strong></td>
    <td>0</td>
    <td>:</td>
    <td>2</td>
    <td>:</td>
    <td>30</td>
</tr>
<tr style="background-color: #cecece">
    <td><strong>Break Duration: </strong></td>
    <td>0</td>
    <td>:</td>
    <td>0</td>
    <td>:</td>
    <td>25</td>
</tr>
</table>
</body>
</html>
<<tabs "12/3/200712:09 PMs" 
      "Microbreak" "Microbreak Settings Chart - RSI Avoidance" "Workrave - Microbreak Settings Chart - RSI Avoidance"
"Rest Break" "Rest Break - RSI Avoidance" "Workrave - Rest Break - RSI Avoidance"
"Daily Limit" "Daily Limit - RSI Avoidance" "Workrave - Daily Limit - RSI Avoidance"
>>
<<tabs "12/3/20073:28 PMs" 
	"Micropause" "Micropause - RSI Recovery" "Workrave - Micropause - RSI Recovery"
	"Rest Break" "Rest Break - RSI Recovery" "Workrave - Rest Break - RSI Recovery"
      	"Daily Limit" "Daily Limit - RSI Recovery" "Workrave - Daily Limit - RSI Recovery">>
<html>
<body>
<table>
<tr style="background-color: #cecece; color: white;">
    <th></th>
    <th>hrs</th>
    <th>:</th>
    <th>min</th>
    <th>:</th>
    <th>sec</th>
</tr>
<tr style="background-color: #90dee2;">
    <td><strong>Time between breaks: </strong></td>
    <td>0</td>
    <td>:</td>
    <td>45</td>
    <td>:</td>
    <td>00</td>
</tr>
<tr style="background-color: #cecece">
    <td><strong>Break Duration: </strong></td>
    <td>0</td>
    <td>:</td>
    <td>10</td>
    <td>:</td>
    <td>00</td>
</tr>
<tr style="background-color: #90dee2;">
    <td><strong>Postpone Time: </strong></td>
    <td>0</td>
    <td>:</td>
    <td>3</td>
    <td>:</td>
    <td>00</td>
</tr>
</table>
</body>
</html>
<html>
<body>
<table>
<tr style="background-color: #cecece; color: white;">
    <th></th>
    <th>hrs</th>
    <th>:</th>
    <th>min</th>
    <th>:</th>
    <th>sec</th>
</tr>
<tr style="background-color: #90dee2;">
    <td><strong>Time between breaks: </strong></td>
    <td>0</td>
    <td>:</td>
    <td>1</td>
    <td>:</td>
    <td>00</td>
</tr>
<tr style="background-color: #cecece">
    <td><strong>Break Duration: </strong></td>
    <td>00</td>
    <td>:</td>
    <td>05</td>
    <td>:</td>
    <td>00</td>
</tr>
</table>
</body>
</html>
<html>
<body>
<table>
<tr style="background-color: #cecece; color: white;">
    <th></th>
    <th>hrs</th>
    <th>:</th>
    <th>min</th>
    <th>:</th>
    <th>sec</th>
</tr>
<tr style="background-color: #90dee2;">
    <td><strong>Time between breaks: </strong></td>
    <td>0</td>
    <td>:</td>
    <td>20</td>
    <td>:</td>
    <td>00</td>
</tr>
<tr style="background-color: #cecece">
    <td><strong>Break Duration: </strong></td>
    <td>0</td>
    <td>:</td>
    <td>10</td>
    <td>:</td>
    <td>00</td>
</tr>
</table>
</body>
</html>
!!What is it for?
>The purpose of [[Workrave|http://www.workrave.org/]] is to prevent you from getting [[Repetitive Strain Injury|http://en.wikipedia.org/wiki/Repetitive_strain_injury]] or to [[help in recovering from it|http://www.workrave.org/faq/]].

''[[Workrave|http://www.workrave.org/]] splits your day using three types of timers:''
<<tiddler "Workrave Timer Chart">>
|bgcolor(#d5ccbb):[img[http://i9.photobucket.com/albums/a58/Maskkkk/MicroBreak.png]]|bgcolor(#ffa500):[[Microbreak]]|bgcolor(black):|bgcolor(#FFFFCC):A short, quick rest of the eyes that occurs during your work.|
|bgcolor(#d5ccbb):[img[http://i9.photobucket.com/albums/a58/Maskkkk/RestBreak.png]]|bgcolor(#ffa500):[[Restbreak]]|bgcolor(black):|bgcolor(#FFFFCC):This is a longer more serious type of break.|
|bgcolor(#d5ccbb):[img[http://i9.photobucket.com/albums/a58/Maskkkk/Leave.png]]|bgcolor(#ffa500):[[Daily Limit]]|bgcolor(black):|bgcolor(#FFFFCC):Timer which helps you remember to leave at the end of the day!|
You've probably clicked this link because you were unable to hear the radio station.

With that, lets try some things.  

#Check the [[Speakers|Check the Speakers]] or [[Headphones|Check the Headphones]]
#[[Check the Sound Settings]]
#[[Be Sure you are Using Internet Explorer]]
Wow. Wow.  This is really cool.

I was reading [[this article|http://softwareas.com/as-we-may-think-url-trails]] on "Trails" when I came across the creator of Tiddlywiki on a blog comment talking about his ZUI version of Tiddlywiki

If you don't know what a ZUI is, it's likely the next generation of GUI's, a Zoomable User Interface.  

Checkout the [[demo|http://www.osmosoft.com/cecily/]] here, it's really really cool and it seems with a little work could be used to create the trails they spoke of in the blog.

Oh yeah and if you are going to try out the demo make sure you use Google Crome!

Occurs when a person has not only met some prior expectation or satisfied a need or a desire but also gone beyond what they were programmed to do and achieved something unexpected, perhaps something never imagined before.
{{{
<?php
   /**
    * Helper class for Hello World! module.
    *
    * @package Joomla.Tutorials
    * @subpackage Modules
    * @link http://dev.joomla.org/component/option,com_jd-wiki/Itemid,31/id,tutorials:modules/
    * @license        GNU/GPL, see LICENSE.php
    * mod_helloworld is free software. This version may have been modified pursuant
    * to the GNU General Public License, and as distributed it includes or
    * is derivative of works licensed under the GNU General Public License or
    * other free or open source software licenses.
    */
   class modHelloWorldHelper 
   {
      function getHello( $params )
      {
         return 'Hello, World!';
      }
   }
?>
}}}
We next need to provide a configuration file to store the configuration for the particular Virtualhost we are setting up.  A dns-name with no site doesn't amount to much more than something we can just ping provided the host is up.

But before we do that let's add a seperate entry to include just the configuration for our Virtualhost in the main configuration of Apache 2:

{{{
...
Include etc/extra/httpd-<virtual-hostname>.conf
}}}
''/opt/lampp/etc/httpd.conf''

In the next step we will create this file so that it can point to a basic directory that contains html or php that our site will run when the particular {{{<virtual-host>}}} is requested from a web browser.
{{{
#include <stdio.h>
#include "split.h"
#include <string.h>

int main(char * args)
{

	const unsigned ROWS = 10;
   const unsigned COLUMNS = 10;

	// Tokenize this string.
	char* tokenizeMe = new char[100];

	// Setup the String to tokenize.
	memset(tokenizeMe, 0, strlen(tokenizeMe));
	strcpy(tokenizeMe, "pe|butter|jelly|cheese|log|beef|regano|tea");

	printf("Original String: %s\n", tokenizeMe);

	int numTokens = 0;

	char **strArrays;

	strArrays = split(tokenizeMe, "|", numTokens);

	for(int j = 0; j < numTokens; j++)
		printf("%s\n", strArrays[j]);
	
	// Cleanup
	//delete tokenizeMe; (Crashes the program for some reason...not an issue, this is the client.)
	delete strArrays;   // Cleanup strArrays per instructions in 
							  // documentation of split funciton.

  return 0;
}
}}}
{{{
<?php

   // no direct access
   defined( '_JEXEC') or die( 'Restricted access' );
   
   // Include the syndicate functions only once
   require_once( dirname(__FILE__).DS.'helper.php' );
   
   $hello = modHelloWorldHelper::getHello( $params );
	require( JModuleHelper::getLayoutPath( 'mod_helloworld' ));
   
?>
}}}
{{{
<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
   <name>Hello, World</name>
   <author>John Doe</author>
   <version>1.5.0</version>
   <description>A simple, Hello, World! module.</description>
   <files>
           <filename>mod_hello.xml</filename>
           <filename module="mod_helloworld">mod_helloworld.php</filename>
           <filename>index.html</filename>
           <filename>helper.php</filename>
           <filename>tmpl/default.php</filename>
           <filename>tmpl/index.html</filename>
   </files>
   <params> 
   </params>
</install>
}}}
Permalinks make it easier for humans and search engines to read and pass around links on your website.  Here is how I set them up on my lampp-based test environment.
----
Went into {{{wp-admin}}} and selected {{{Settings->Permalinks}}}.

Then from {{{Common settings}}} I selected the {{{Month and name}}} radio button.

Clicked {{{Save Changes}}}


----
In the {{{httpd-hostnameTestSite.conf}}} file, 
I added the MultiViews option to my directory
{{{
Alias /hostnameTestSite/ /home/leeand00/hostnameTestSite/
<Directory /home/leeand00/hostnameTestSite/>
     Options Indexes FollowSymLinks MultiViews
     AllowOverride All
     Order allow,deny
     Allow from All
</Directory>
...
}}}
''httpd-hostnameTestSite.conf''
----
In the actual test directory I added the following to the {{{.htaccess}}} file:
{{{
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.php$ - [L]
  RewriteCond %{REQUEST_FILENAME} ! -f
  RewriteCond %{REQUEST_FILENAME} ! -d
  RewriteRule . /index.php [L]
</IfModule>
}}}
''.htaccess'' - Pulled from the Wordpress Admin panel.


{{{
#include <string.h>
#include "split.h"

/**
 * Splits a string into delimited characters.
 * 
 * @Author: Andrew J. Leer 2008
 *
 *
 *	@param tokenizeMe:   String to tokenize 
 *                      (This function does not modify this variable)
 * @param delim:		   Delimiter character which 
 *                      separates each of the strings.
 * @param &numOfItems:  The number of items found 
 *                      in the string after it was,
 *                      split.
 *
 * @returns a 2D array of char *. (See http://www.cplusplus.com/forum/beginner/2967/ 
 *											  for more information.)
 *          NOTE: Be sure to delete the returned variable 
 *                as it is allocated on the fly inside 
 *                this function!!!!
 *
 **/
char ** split(char* tokenizeMe, const char* delim, int &numOfItems)
{
	// First count the number of character
	// occurrences in the string.
   unsigned int delimOccurrences = countCharacterOccurances(tokenizeMe, delim);

	const unsigned ROWS    = delimOccurrences+1;
	const unsigned COLUMNS = strlen(tokenizeMe);

	char* dup_tokenizeMe = new char[COLUMNS];

	// Duplicate our string so 
	// it is not modified by the strTokenizer function.
	strcpy(dup_tokenizeMe, tokenizeMe);

	// Calculate the number of columns needed 
	// for each token in the string to tokenize.
	unsigned int* colSizes = getStringSizes(tokenizeMe, delim, ROWS);

	// Next Setup an array to store 
	// the tokens in.  Make sure that each of them 
	// are sized to exactly the right length. 
	// strArrays will be returned when split completes.    
   char **strArrays;
	strArrays = new char*[ROWS];

   for(unsigned int i = 0; i < ROWS; i++){
		strArrays[i] = new char[colSizes[i]];
		memset(*strArrays, 0, colSizes[i]);
	}

	int numTokens = 0;
	int posLastSearchStop = 0;

	char *token = (char *) "\0";

	do
	{
		token = strTokenizer(dup_tokenizeMe, delim, posLastSearchStop);
		if(token != NULL) { 
			strcpy(strArrays[numTokens], token); 
			numTokens++;
		}
	}
	while(token != NULL);

	// Set the number of tokens 
	// so that it can be returned to 
	// the user.
	numOfItems = numTokens;

	

	// Clean up 
	delete colSizes; // Clean up colSizes per documentation of 
						  // getStringSizes function.

	

	return strArrays;
}

/**
 * NOTE: This method is not meant to be called from anything 
 *       except the split function above. 
 *
 * Starts searching for the specified delim argument at the 
 * posStoppedLastSearchAt postion in the tokenizeThisString.
 * Returns a substring from the posStoppedLastSearchAt to 
 * one minus the next specified delim char found.  
 * 
 *
 * @Author: Andrew J. Leer 2008
 * 
 * @param tokenizeThisStr: The string to search for the next delimiter.
 *
 *
 *	@param delim: The delimiter to search for within the tokenizeThisStr argument.						 
 *
 *
 *	@param posStoppedLastSearchAt: The position in the string to 
 *										    start searching for the next 
 *											 delim char.
 *											 This argument is passed by reference 
 *											 so that this function may be called 
 *											 more than once picking up 
 *											 at the position one after the 
 *											 last position it found a delim char.
 *
 *	@returns a char* containing the next token found in the 
 *                  string from the 
 */
char* strTokenizer(char* tokenizeThisStr, const char* delim, 
						 int &posStoppedLastSearchAt)
{
	unsigned int strLen = strlen(tokenizeThisStr);
	char d = delim[0];

	int wordPosStart = posStoppedLastSearchAt;

	int wordPosEnd = 0;

	for(unsigned int i = posStoppedLastSearchAt; 
		 i <= strLen; i++)
	{
	
		if(tokenizeThisStr[i] == d)
		{
			wordPosEnd = i-1;
			posStoppedLastSearchAt = i+1;
			break;
		}
		else if(tokenizeThisStr[i] == 0)
		{
			wordPosEnd = i-1;
			posStoppedLastSearchAt = i+1;
			break;
		}
	}

	char* subStr = NULL;

	subStr = substr(tokenizeThisStr, wordPosStart, wordPosEnd);

	return subStr;
}

/**
 *	A simple sub string function for parsing out part of a string.
 *
 *	@Author: ImmaGNUman (http://www.gamedev.net/community/forums/topic.asp?topic_id=20759)
 *          and modified by Andrew J. Leer
 *
 * @param string: The char* string from which to parse the sub string.
 * 
 * @param begin: The beginning character of the substring.
 *
 *	@param end: The ending character of the substring.
 *
 * @returns NULL if invalid arguments, xor the substring specified.
 */
char* substr(char* string, int begin, int end)
{
	if ((string == NULL) || (end < 0) || (begin < 0) || (end < begin)) return NULL;

	char* temp = new char[end-begin+1];
	
	

	//(char *) malloc(sizeof(char)*(end-begin+1));
	
	if(temp != NULL)
	{
		strncpy(temp,string+begin,end-begin+1);
		temp[end-begin+1] = '\0';
	}
	return temp;
}

/**
 * Calculates the size of each token string separated by the delim char 
 * in the str argument passed.
 *
 *
 * @Author Andrew J. Leer 2008
 *
 * @param str:			 The string from which we wish to obtain the 
 *                    sizes of each of the strings.
 *							 (This function does not modify this variable)
 *
 * @param delim:      Delimiter character which 
 *                    separates each of the strings.
 * @param numOfItems: The number of items (strings) contained in our 
 *                    string.  See the function countCharacterOccurances 
 *                    and add one to what it returns.
 * 
 * @returns: An array of the sizes of the strings delimited by char delim in the
 *           string str.
 *           NOTE: Be sure to delete the returned variable 
 *                 as it is allocated on the fly inside 
 *                 this function!!!
 **/
unsigned int* getStringSizes(char* str, const char* delim, unsigned int numOfItems)
{
	unsigned totalStringLen = strlen(str)+1;
	unsigned int* arrayOfSizes = new unsigned int[numOfItems];
	
	char d = delim[0];

	unsigned int listItem = 0;
	unsigned int strLen = 0;

	// Loop through all the characters in the string,
	// and compare each of the items in the string to 
	// the delimiter.  
	for(unsigned int i = 0; i < totalStringLen; i++)
	{
		// If the delimiter matches or we've reached the end of the string.
		if(str[i] == d ||
			str[i] == '\0')
		{
			arrayOfSizes[listItem] = strLen-1; // Store the size of that string.
			listItem++;	// move the the next item 
			strLen = 0; // reset the strLen to 0.
		}
		// If it doesn't match, increment the size of the 
		// string.
		else
		{
			strLen++; 
		}
	}

	return arrayOfSizes;
}


/**
 *	Counts the number of times the delim argument 
 * occurs in the string argument and returns it.
 *
 * @Author: Andrew J. Leer 2008
 *
 * @param str:   The string to search for 
 *               occurrences of delim.
 *					  (This function does not modify this variable)
 *
 * @param delim: The char to search str
 *               for number of occurrences.
 *
 * @returns:	  The number of occurrences of 
 *               character delim in char* str.
 */
unsigned int countCharacterOccurances(char* str, const char* delim)
{
	int totalStrLen = strlen(str);
	unsigned int charOccrances = 0;
	char d = delim[0];

	for(int i = 0; i < totalStrLen; i++)
	{
		if(str[i] == d)
		{
			charOccrances += 1;
		}
	}

	return charOccrances;
}

}}}
{{{
char ** split(char* tokenizeMe, const char* delim, int &numOfItems);
unsigned int countCharacterOccurances(char* tokenizeMe, const char* delim);
unsigned int* getStringSizes(char* str, const char* delim, unsigned int delimOccurrences);
char* strTokenizer(char* tokenizeThisStr, const char* delim, int &posStoppedLastSearchAt);
char *substr(char *string, int begin, int end);
}}}
''Definition:'' 
//(taken from [[the syncyourlaptop tutorial|http://www.2brightsparks.com/tutorials/syncyourlaptop/2.html]] at 2brightsparks.com)//
>When synchronizing files you are copying files between two computers or storage mediums.  For example, you have a desktop computer and a notebook computer and have copies of the same files on both computers.  

>You may be changing those files either on your desktop or on your notebook depending on the situation. 

>For example, you may go on a business trip with your notebook and change the files while away.  When you return you want to make sure your desktop and notebook have the latest copies of those files.  To do this you would synchronize the files.  

>With synchronization files copied from one to the other based on when they were last changed.  Files may also be deleted, e.g. you deleted a file on your notebook and so want the same file on your desktop to also be deleted.
bob
Type the text f
{{{
<?php


	// no direct access
	defined( '_JEXEC' ) or die ('Restricted access');

	require_once( dirname(__FILE__).DS.'helper.php');
	
	$hello = modHelloWorldHelper::getHello( $params );
	require( JModuleHelper::getLayoutPath( 'mod_helloworld' ));

?>
}}}
Well here is our file that we create in the ''/opt/lampp/etc/extra/{{{httpd-<virtual-hostname>.conf}}}'':

{{{
Alias /<virtual-hostname>/ /home/<username>/<virtualhost-name>.com/

<Directory /home/<username>/<virtualhost-name.com/
      Options Indexes FollowSymLinks
      AllowOverride All
      Order allow,deny
      Allow from All
</Directory>

NameVirtualHost *:80

<VirtualHost *:80>
     ServerName <virtualhost-name>.<suffix>
     ServerAlias <virtualhost-name>
     DocumentRoot /home/<username>/httpd-<virutalhost-name>.com/
</VirtualHost>

#Compression Section (optional)
#Compress all text & html
AddOutputFilterByType DEFLATE text/html text/plain text/xml

#Or, compress certain file types by extension:
<Files *.js>
SetOutputFilter DEFLATE
</Files>

<Files *.php>
SetOutputFilter DEFLATE
</Files>

#ModRewrite Logging (Optional)
<IfModule mod_rewrite.c>
RewriteLog "/home/leeand00/logs/andrew_mod_rewritelog.log"
</IfModule>
}}}
''/opt/lampp/etc/extra/{{{httpd-<virtual-hostname>.conf}}}''

Personally I like to store the sites from my development environment in my home directory, so when I deploy a site locally in my development environment it's easy to find it later if something goes wrong during deployment.

I'll make an alias to it so I can access it directly on the webserver to try it out in it's own directory before trying it as a Virtualhost.

{{{
Alias /<virtual-hostname>/ /home/<username>/<virtualhost-name>.com/

<Directory /home/<username>/<virtualhost-name.com/
      Options Indexes FollowSymLinks
      AllowOverride All
      Order allow,deny
      Allow from All
</Directory>
}}}

If you restart Apache2 and visit the ip of your server we specified in the previous 

----

Now comes the Virtualhost part:

{{{
NameVirtualHost *:80

<VirtualHost *:80>
     ServerName <virtualhost-name>.<suffix>
     ServerAlias <virtualhost-name>
     DocumentRoot /home/<username>/<virutalhost-name>.com/
</VirtualHost>
}}}

This specifies that when our web browser requests the dns-name from dnsmasq and is repointed to our servers ip address, this Virtualhost will be loaded up based on the dns-name that we initially requested.  

----

The rest of the configuration file specifies that some of our text-based files are compressed when they are sent and that mod rewrite writes out a log based on the url string it receives.

{{{
#Compression Section (optional)
#Compress all text & html
AddOutputFilterByType DEFLATE text/html text/plain text/xml

#Or, compress certain file types by extension:
<Files *.js>
SetOutputFilter DEFLATE
</Files>

<Files *.php>
SetOutputFilter DEFLATE
</Files>

#ModRewrite Logging (Optional)
<IfModule mod_rewrite.c>
RewriteLog "/home/leeand00/logs/andrew_mod_rewritelog.log"
</IfModule>
}}}

8-bit abs