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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

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

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser

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

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

----
Also see [[AdvancedOptions]]
<<importTiddlers>>
Type the text for '23 September 2009'
Para otros usos de este término, véase Apache (desambiguación).
Apache (Ndee)
Miembros de una tribu apache
Población total
Entre 5000 y 6000
Asentamientos importantes
Arizona, Nuevo México y Oklahoma (EE. UU.)
Idioma
Idioma apache
Religión
Chamanismo
Grupos étnicos relacionados
Navajo y Kiowas

Los apaches es un nombre colectivo dado a un grupo de naciones indígenas culturalmente cercanos del este de Arizona, noroeste de México (norte de los Estados de Sonora y Chihuahua), Nuevo México, y regiones de Texas y de las Grandes Llanuras. El término apache probablemente proceda del zuñi apachu, que significa enemigo, de ahí el nombre que les pusieron los españoles. Se denominaban a sí mismos Ndee, que quiere decir la gente. Hablaban una serie de lenguas atabascanas meridionales, que se han clasificado en apache de las llanuras, apache oriental y apache occidental.

Eran pescadores, cazadores y agricultores. Vivían en pequeños grupos basados en la familia. Los grupos se formaban con varias familias de carácter matriarcal. Compartían el mismo rito de los sioux y los cheyennes

Cuando llegaron los españoles, los apache habían llegado al suroeste de EE. UU. en una migración de unos 500 años desde Canadá. Fue una tribu poderosa y guerrera, en continua lucha con los blancos. La rendición de la tribu tuvo lugar en 1886, cuando los chiricahuas fueron deportados a Florida y Alabama, donde estuvieron bajo confinamiento militar. Siempre mostraron una gran fiereza como guerreros y mucha habilidad como estrategas.

En el año 1900 vivían unos 17000 apaches en libertad. Su jefe más conocido, Gerónimo (Gokhlayeh), nació en 1829 y murió por causas naturales en una reserva de Lousiana en el año 1909. Sucedió como jefe de los apaches a Cochise, quien vivió 62 años. Fue el hijo de Cochise, Taza, quien designó a Gerónimo como sucesor de su padre. Ahora se encuentran en reservas en Arizona, Nuevo México y Oklahoma en un número de entre 5500 y 6000. Una pequeña minoría de 20 apaches mescaleros aún subsisten en la frontera norte de los estados mexicanos de Chihuahua, Sonora y Coahuila.
Para que los archivos que nosotros ponemos en nuestra caja azul (dropbox), al momento de necesitar la url de este archivo, podremos reducir la direccion url.A continuacion encontraremos un ejemplo.

Tenemos nuestra imagen en nuestro dropbox que se llama pantallazo1.png al momento de verlo en nuestro browser nos aparece esta direccion:
https://dl-web.getdropbox.com/get/seminario/Dropbox/Pantallazo1.png?w=a38527b0 ,

[img[http://ur1.ca/dzhy]]

 como se puede ver es una direccion bastante larga, para acortarla, abrimos otra ventana de nuestro navegardor web (file<new window o simplemente crl+n) e ingresamos a esta direccion http://ur1.ca/(como muestra la siguiente imagen)

[img[http://ur1.ca/dzi0]]

En el cajon blanco ponemos la url copiada de nuestro Dropbox en nuestro ejemplo (https://dl-web.getdropbox.com/get/seminario/Dropbox/Pantallazo1.png?w=a38527b0) y le tecleamos "make it an ur1!" y en la parte superior nos aparece la url nueva con la ventaja que esta es mas corta.(en la siguiente imagen muestra como quedaria).

[img[http://ur1.ca/dzi2]]

Para probarlo debemos abrir una ventana de nuestro navegardor y ponemos la url que nos dieron en este caso(http://ur1.ca/c7qp) y efectivamente funciona
[img[http://ur1.ca/dzi6]]
Para otros usos de este término, véase Apache (desambiguación).
Apache (Ndee)
Miembros de una tribu apache
Población total
Entre 5000 y 6000
Asentamientos importantes
Arizona, Nuevo México y Oklahoma (EE. UU.)
Idioma
Idioma apache
Religión
Chamanismo
Grupos étnicos relacionados
Navajo y Kiowas

Los apaches es un nombre colectivo dado a un grupo de naciones indígenas culturalmente cercanos del este de Arizona, noroeste de México (norte de los Estados de Sonora y Chihuahua), Nuevo México, y regiones de Texas y de las Grandes Llanuras. El término apache probablemente proceda del zuñi apachu, que significa enemigo, de ahí el nombre que les pusieron los españoles. Se denominaban a sí mismos Ndee, que quiere decir la gente. Hablaban una serie de lenguas atabascanas meridionales, que se han clasificado en apache de las llanuras, apache oriental y apache occidental.

Eran pescadores, cazadores y agricultores. Vivían en pequeños grupos basados en la familia. Los grupos se formaban con varias familias de carácter matriarcal. Compartían el mismo rito de los sioux y los cheyennes

Cuando llegaron los españoles, los apache habían llegado al suroeste de EE. UU. en una migración de unos 500 años desde Canadá. Fue una tribu poderosa y guerrera, en continua lucha con los blancos. La rendición de la tribu tuvo lugar en 1886, cuando los chiricahuas fueron deportados a Florida y Alabama, donde estuvieron bajo confinamiento militar. Siempre mostraron una gran fiereza como guerreros y mucha habilidad como estrategas.

En el año 1900 vivían unos 17000 apaches en libertad. Su jefe más conocido, Gerónimo (Gokhlayeh), nació en 1829 y murió por causas naturales en una reserva de Lousiana en el año 1909. Sucedió como jefe de los apaches a Cochise, quien vivió 62 años. Fue el hijo de Cochise, Taza, quien designó a Gerónimo como sucesor de su padre. Ahora se encuentran en reservas en Arizona, Nuevo México y Oklahoma en un número de entre 5500 y 6000. Una pequeña minoría de 20 apaches mescaleros aún subsisten en la frontera norte de los estados mexicanos de Chihuahua, Sonora y Coahuila.
HOLA

   [img[http://ur1.ca/cyor]]
Este tiddly va a tabajar la documentacion que llevamos a cabo en nuestro curso de seminario de computacion de la universidad javeriana ademas el soporte que llevo haciendo en la clase de principios de matematicas en sage 




En ocasiones se llega a caer el servirdor como por ejemplo en este caso

 [img[http://ur1.ca/couq]]

Escribir el texto para 'Carlos Ramirez'
En algunos casos podemos utilizar ciclos:

For:
El enunciado FOR es una construcción de programación del C que ejecuta un
bloque de uno o más enunciados una determinada cantidad de veces. A veces es
llamado ciclo for, debido a que la ejecución del programa por lo general hace
ciclos por los enunciados mas de una vez.
Si bien este bucle no se incluye en el Seudo código clásico, con ligeras variantes,
es prácticamente adoptado por todos los lenguajes. Por ello, tratamos aquí este
bloque con sus posibles modalidades y su Seudo código, no estándar,
correspondiente.

Un enunciado FOR tiene la siguiente estructura:

for (inicial; condición; incremento)

                                         Cuando se encuentra un enunciado for
Durante la ejecución del programa sucede los siguientes eventos:

1. la expresión inicial es evaluada. Lo inicial es por lo general un enunciado de
   asignación que pone una variable a un valor determinado.
2. La expresión de condición es evaluada. La condición es típicamente una
   expresión relacional.
3. Si la condición evalúa a falso, el enunciado for termina y la ejecución pasa al
   primer enunciado que se encuentra a continuación del for.
4. Si la condición evalúa a cierto se ejecutan los enunciados que se encuentran
   dentro del for.
5. La expresión de incremento es evaluada y la evaluación regresa al paso dos.
      
Background: #bbbbff
Foreground: #000
PrimaryPale: #7788ff
PrimaryLight: #006699
PrimaryMid: #002244
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #002244
TertiaryPale: #7788ff
TertiaryLight: #aaaaff
TertiaryMid: #000
TertiaryDark: #8B7355 
PREREQUSITOS:

Para que ulteo nos funcione potencialmente es necesario instalar un servidor web, debemos tener un servidor LAMP o en su defecto instalar por separado nuetro servidor([[PHP5]],[[ mysql-server]],[[Apache]]), o en su defecto podemos instalar LAMP que es un paquete integrado para instalar este servirdor para sistemas Linux,en su defecto podemos instalar Xampp para Windows.Vamos a ver los dos casos. Aunque este ultimo programa lo podemos tambien encontrar para linux.

En linux por separado:

Vamo a Aplicaiones <Acesorios<terminal, tecleamos el siguiente comando:

sudo apt-get install mysql-server (Nos baja la ultima version que es la 5.0)

Alli ingresamos nuestra clave y esperamos a que se instale.

[img[xxxxxxxx]]

Al instante en que estemos intalando nos va a solicitar un clave y pide que la rectifiquemos

[img[xxxxxx]]



Para que ulteo nos funcione potencialmente es necesario instalar un servidor web, debemos tener un servidor LAMP o en su defecto instalar por separado nuetro servidor([[PHP5]], [[mysql-server]],[[Apache]]), o en su defecto podemos instalar LAMP que es un paquete integrado para instalar este servirdor para sistemas Linux,en su defecto podemos instalar Xampp para Windows.Vamos a ver los dos casos. Aunque este ultimo programa lo podemos tambien encontrar para linux,Precisamente estos programas son los prerequisitos para instalar Ulteo.

Despues de haber instalado estos paquetes vamos a rectificar si todo nos quedo bien.

para rectificar que todo el proceso que hemos hecho sea el correcto, entramos a nuestro navegador y tecleamos en la barra de direcciones localhost o en su defecto http://127.0.0.1/  y nos debe aparecer la siguiente imagen 

IMAGEN

Para los que prefiren sitema windows les recomiendo instalar XAMPP. Lo puedes descargar desde esta pagina http://xampp.uptodown.com/ .
Para aquellos que no gustan mucho de la consola podemos instalarlo de la siguiente manera.

Nos vamos a Sistema<Administracion<Gestor de paquetes Synaptic buscamos el icono buscar  y vamos tecleando en el mismo orden en que instalamos es decir primero buscamos mysql despues apache y por ultimo php.

Le damos sobre mysql-server-5.0  click derecho y le damos instalar despues  se nos habilita el boton aplicar  y le damos click alli

IMAGEN

Ahora que ya tenemos nuestro servidor instalado proseguimos a instalar lo que nos interesa realmente ULTEO.
Debemos crear una base de datos que se llame ulteo_sm;

IMAGEN

 Para aquellos que son un poco incredulos podemos ver si quedo con el siguiente comando

IMAGEN

y nos aparece la imagen anterior y simplemente tecleamos quit para salir de mysql.

Para que ulteo nos funcione potencialmente es necxesario instalar un servidor web, debemos tener un servidor LAMP o en su defecto instalar por separado nuetro servidor([[PHP5]], [[mysql-server]],[[Apache]]), o en su defecto podemos instalar LAMP que es un paquete integrado para instalar este servirdor para sistemas Linux,en su defecto podemos instalar Xampp para Windows.Vamos a ver los dos casos. Aunque este ultimo programa lo podemos tambien encontrar para linux.
[[Bienvenidos]]
[[Sugerencias]]
Estos son los pasos para poder documentar algun trabajo que realize en sage web:

1.Despues de haber terminado el documento matematico, Damos en "PUBLISH", se encuentra en las pestañas de la parte superior derecha.

[img[http://ur1.ca/dzg4]]

2.Despues de publicar podemos darle la opcion para que automaticamente re-publique cuando existan cambios.Alli lo IMPORTANTE es la url dada, esta la copiamos y la introduciomos en una nueva pestaña de navegador o una nueva ventana. En esta nueva ventana del navegador cambiamos el http://:8000/home/pub/XXXX  por quedando asi http://www.sagenb.org/home/pub/XXXX (en la siguiente imagen hay un ejemplo.

[img[http://ur1.ca/dzg8]]
[img[http://ur1.ca/dzgn]]

3.Por ultimo esta url mas pequeña es la que mandamos por medio de un mensaje en Uvikuo

4.Para a los que les queda la url muy larga entonces podemos acortarle de la siguiente manera [[Acortar url de Dropbox o en general?]],,NOTA:NO ES NECESARIO REALIZAR EL PUNTO 1
[img[http://ur1.ca/c8hv]]

Dropbox es un servicio de almacenamiento gratuito online. Lo que lo hace diferente es la rapidez con la que transfiere los datos. Dropbox crea un folder en tu computadora con el cual podras poner tus documentos a almacenar o compartir y estos se transferirán casi de manera instantánea. Puedes compartir tus archivos con tus amigos creando carpetas compartidas

Escribir el texto para 'Gregarius'
Type the text for 'Informatica-Matematica'
Type the text for 'Informatica-Matematica'
Estos es una seccion en donde encontraras documentacion de diversos tipos para la materia de teoria de la computacion de la Universidad Javeriana
Para su instalacion es necesario tener instalado LAMP ([[Instalacion Mysql-Server]] , [[Instalacion php]] , [[Instalacion Apache]] , tal y como se explico en tiddly anteriores. Despues de hacer esto y de tener certeza que nuestro servidor web este funcionando procedemos a la instalacion de Gregarius.

1.Des cargamos el paquete de la siguiente pagina: http://sourceforge.net/project/showfiles.php?group_id=98845

[img[http://ur1.ca/f3az]]

2. En mi caso yo baje el .tar pero tambien funciona con el .zip

[img[http://ur1.ca/f3b4]]

3.Para comodidad lo descargue en escritorio, despues de ello copiamos nuestro archivo comprimido en /var/www , luego lo desempaquetamos alli mismo (tener cuenta que en nuestra carpeta debe quedar un archivo )

[img[http://ur1.ca/f3bs]]

[img[http://ur1.ca/f3bt]]

4.Despues nos dirigimos a Aplicaciones<Accesorios<terminal y tecleamos las instrucciones que aparecen en la siguiente imagen, desde luego cambiando su clave y usuario por el de ustedes si no han modificado nada el usuario predeterminado es root.

[img[http://ur1.ca/f3bx]]

5.Despues de que estemos en mysql creamos una base de datos para gregarius con la siguiente sentencia (el nombre de la base de datos lo puede poner a su conveniencia pero es importante tenerlo en cuanta)

create databases gregarius;

Para confirmar que nos quedo bien le podemos dar el comando

show databases;

[img[http://ur1.ca/f3c3]]

Salimos con la la sentencia quit.

Nota: Estos pasos tambien lo podemos hacer si instalamos phpmyadmin. Mas comodo.

6.Despues en consola tecleamos cp dbinit.php.sample dbinit.php

[img[http://ur1.ca/f3ce]]

7.Despues nos dirigimos a nuestra carpeta /var/www y abrimos el archivo dbinit.php para modificarlo

[img[http://ur1.ca/f3ch]]

[img[http://ur1.ca/f3ck]]

teniendo en cuenta el nombre de la base de datos que le pusiste anteriormente y el usuario y clave(esta es la solicitada cuando instalas mysql-server), quedando el codigo de esta manera

//
// The name of your database
//
define ('DBNAME','gregarius');//GREGARIUS ES EL NOMBRE DE NUESTRA BASE DE DATOS

//
// The username to use when connecting to the database. Make sure that
// thus user owns privileges to CREATE database tables on the above
// database!
//
define ('DBUNAME','root');//ROOT USUARIO PREDETERMINADO 

//
// The password to use when connecting to the database
//
define ('DBPASS', 'XXXX'); CAMBIA LAS XXXX POR TU CLAVE

8. Despues de eso nos dirigimos a un browser y tecleamos http://localhost/gregarius/

[img[http://ur1.ca/f3cq]]

De esta manera nuestro servidor para RSS queda instalado e configurado


 [img[http://ur1.ca/c8j4]]
Tecleamos por consola

sudo apt-get install apache2 

despues nos pregunta si queremos bajar y nos da el peso del paquete le damos (Y/YES)

 [img[http://ur1.ca/c8j5]]
[img[http://ur1.ca/c8i5]]
Vamo a Aplicaiones <Acesorios<terminal, tecleamos el siguiente comando:

sudo apt-get install mysql-server (Nos baja la ultima version que es la 5.0)

Alli ingresamos nuestra clave y esperamos a que se instale.

[img[http://ur1.ca/c8hi]]

Al instante en que estemos intalando nos va a solicitar un clave y pide que la rectifiquemos

[img[http://ur1.ca/c8hj]]
Instalacion
Lo primero que tenemos que hacer es abrir su navegar web, y tecleamos la siguiente direccion http://www.ulteo.com/

 [img[http://ur1.ca/c8ip]]

 despues apacere un caja verde en donde le damos Download.

 [img[http://ur1.ca/c8ip]]

Despues este link nos abre una pagina web en donde encontramos lo siguiente

 [img[http://ur1.ca/c8is]]

en donde encontramos un link download y otro de guia de instalacion en donde , damos clik en Download

 [img[http://ur1.ca/c8it]]

Nuevamente le damos en download en la parte donde dice ubuntu 8.04 y nos da un pantallazo en donde podemos guardar la guia de como instalarlo por consola(lo guardamos en donde deseemos).
Despues nos vamos a nuestro menu principal de ubuntu y seleccionamos Aplicaciones>Accesorios>terminal y tecleamos el siguiente comando apt-get install ulteo-ovd-session-manager, en este instante podemos tener problemas ya que no estamos como super usuario
aquí va como ingresamos como super -usuario(Para los que no lo recuerdan tecleamos el comando su y posteriormente digitamos nuestra clave), despues de estar como super usuario repetimos nuevamente la linea de instalacion ( apt-get install ulteo-ovd-session-manager), 

 [img[http://ur1.ca/c8iv]]

Posiblemente a alguno de ustedes les genera este “error” donde tenemos que actualizar la lista de repositorios.(En este link encontramos como hacerlo: (http://www.guia-ubuntu.org/index.php?title=A%C3%B1adir_repositorios_externos) en donde editamos el archivo de los repositorios y agregamos esta linea al final de este archivo plano y lo guardamos(deb http://archive.ulteo.com/ulteo/ovd/ ovd-poll main), despues de esto nos vamos a la consola nuevamente y tecleamos apt-get update (esta linea de comando sirve para que actualize nuestros repositorios)., desafortunadamente los repositorio estan malos, segun imagen siguiente.
 [img[http://ur1.ca/c8iw]]
Para instalar Sage nos dirigimos a Sistema<Administracion<gestor de paquetes synaptic y nos debe aparece algo como la imagen siguiente 

[img[http://ur1.ca/c8ph]]

Despues damos en el icono buscar y ponemos sagemath, el nos busca el programa y nosostros con boton derechos le decimos instalar 

[img[http://ur1.ca/c8pi]]

despues nos dirigimos a al icono de APLICAR en donde nos aparece una ventana como la siguiente

[img[http://ur1.ca/c8pl]]

Por ultimo tenemos que esperar a que se descargue y posteriormente el paquete se instalara .

[img[http://ur1.ca/c8po]]

Para instalar Tecmas nos dirigimos a Sistema<Administracion<gestor de paquetes synaptic y nos debe aparece algo como la imagen siguiente 

[img[http://ur1.ca/ck4p]]

Despues damos en el icono buscar y ponemos sagemath, el nos busca el programa y nosostros con boton derechos le decimos instalar 

[img[http://ur1.ca/ck4q]]

despues nos dirigimos a al icono de APLICAR en donde nos aparece una ventana como la siguiente

[img[http://ur1.ca/ck4r]]

Por ultimo tenemos que esperar a que se descargue y posteriormente el paquete se instalara .

[img[http://ur1.ca/ck4w]]
Para instalar Tecmax nos dirigimos a Sistema<Administracion<gestor de paquetes synaptic y nos debe aparece algo como la imagen siguiente 

[img[http://ur1.ca/ck4p]]

Despues damos en el icono buscar y ponemos sagemath, el nos busca el programa y nosostros con boton derechos le decimos instalar 

[img[http://ur1.ca/ck4q]]

despues nos dirigimos a al icono de APLICAR en donde nos aparece una ventana como la siguiente

[img[http://ur1.ca/ck4r]]

Por ultimo tenemos que esperar a que se descargue y posteriormente el paquete se instalara .

[img[http://ur1.ca/ck4w]]

 [img[http://ur1.ca/c8ih]]
Este es el comando que introducimos en consola para la instalacion de php.

sudo apt-get install php5

 [img[http://ur1.ca/c8ij]]
/***
|''Name:''|LaunchApplicationPlugin|
|''Author:''|Lyall Pearce|
|''Source:''|http://www.Remotely-Helpful.com/TiddlyWiki/LaunchApplication.html|
|''License:''|[[Creative Commons Attribution-Share Alike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|''Version:''|1.4.0|
|''~CoreVersion:''|2.3.0|
|''Requires:''| |
|''Overrides:''| |
|''Description:''|Launch an application from within TiddlyWiki using a button|
!!!!!Usage
<<<
{{{<<LaunchApplication "buttonLabel" "tooltip" "application" ["arguments" ...]>>}}}
{{{<<LaunchApplicationButton "buttonLabel" "tooltip" "application" ["arguments" ...]>>}}}
{{{<<LaunchApplicationLink "buttonLabel" "tooltip" "application" ["arguments" ...]>>}}}
* buttonLabel is anything you like
* tooltip is anything you like
* application is a path to the executable (which is Operating System dependant)
* arguments is any command line arguments the application requires.
* You must supply relative path from the location of the TiddlyWiki OR a fully qualified path
* Forward slashes works fine for Windows

{{{<<LaunchApplication...>>}}} functions the same as {{{<<LaunchApplicationButton...>>}}}

eg.

{{{
<<LaunchApplicationButton "Emacs" "Linux Emacs" "file:///usr/bin/emacs">>
}}}
<<LaunchApplicationButton "Emacs" "Linux Emacs" "file:///usr/bin/emacs">>

{{{
<<LaunchApplicationLink "LocalProgram" "Program relative to Tiddly html file" "localDir/bin/emacs">>
}}}
<<LaunchApplicationLink "LocalProgram" "Program relative to Tiddly html file" "localDir/bin/emacs">>
					     
{{{
<<LaunchApplicationButton "Open Notepad" "Text Editing" "file:///e:/Windows/notepad.exe">>
}}}
<<LaunchApplicationButton "Open Notepad" "Text Editing" "file:///e:/Windows/notepad.exe">>

{{{
<<LaunchApplicationLink "C Drive" "Folder" "file:///c:/">>
}}}
<<LaunchApplicationLink "C Drive" "Folder" "file:///c:/">>


!!!!!Revision History
* 1.1.0 - leveraged some tweaks from from Bradly Meck's version (http://bradleymeck.tiddlyspot.com/#LaunchApplicationPlugin) and the example text.
* 1.2.0 - Make launching work in Linux too and use displayMessage() to give diagnostics/status info.
* 1.3.0 - execute programs relative to TiddlyWiki html file plus fix to args for firefox.
* 1.3.1 - parameters to the macro are properly parsed, allowing dynamic paramters using {{{ {{javascript}} }}} notation.
* 1.4.0 - updated core version and fixed empty tooltip and added launch link capability

<<<
***/
//{{{
version.extensions.LaunchApplication = {major: 1, minor: 4, revision: 0, date: new Date(2007,12,29)};
config.macros.LaunchApplication = {};
config.macros.LaunchApplicationButton = {};
config.macros.LaunchApplicationLink = {};

function LaunchApplication(appToLaunch,appParams) {
    if(! appToLaunch)
	return;
    var tiddlyBaseDir = self.location.pathname.substring(0,self.location.pathname.lastIndexOf("\\")+1);
    if(!tiddlyBaseDir || tiddlyBaseDir == "") {
	tiddlyBaseDir = self.location.pathname.substring(0,self.location.pathname.lastIndexOf("/")+1);
    }
    // if Returns with a leading slash, we don't want that.
    if(tiddlyBaseDir.substring(0,1) == "/") {
	tiddlyBaseDir = tiddlyBaseDir.substring(1);
    }
    if(appToLaunch.indexOf("file:///") == 0) // windows would have C:\ as the resulting file
    {
	tiddlyBaseDir = "";
	appToLaunch = appToLaunch.substring(8);
    }

    if (config.browser.isIE) {
	// want where the tiddly is actually located, excluding tiddly html file

	var theShell = new ActiveXObject("WScript.Shell");
	if(theShell) {
            // the app name may have a directory component, need that too
	    // as we want to start with current working dir as the location
	    // of the app.
	    var appDir = appToLaunch.substring(0, appToLaunch.lastIndexOf("\\"));
	    if(! appDir || appDir == "") {
		appDir = appToLaunch.substring(0, appToLaunch.lastIndexOf("/"));
	    }
	    appParams = appParams.length > 0 ? " \""+appParams.join("\" \"")+"\"" : "";
	    try {
		theShell.CurrentDirectory = decodeURI(tiddlyBaseDir + appDir);
		var commandString = ('"' +decodeURI(tiddlyBaseDir+appToLaunch) + '" ' + appParams);
		pluginInfo.log.push(commandString);
	        theShell.run(commandString);
	    } catch (e) {
		displayMessage("LaunchApplication cannot locate/execute file '"+tiddlyBaseDir+appToLaunch+"'");
		return;
	    }
	} else {
	    displayMessage("LaunchApplication failed to create ActiveX component WScript.Shell");
	}
    } else { // Not IE
	// want where the tiddly is actually located, excluding tiddly html file
	netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
        var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
        var launchString;
	try { // try linux/unix format
            launchString = decodeURI(tiddlyBaseDir+appToLaunch);
	    file.initWithPath(launchString);
	} catch (e) {
	    try { // leading slash on tiddlyBaseDir
                launchString = decodeURI("/"+tiddlyBaseDir+appToLaunch);
		file.initWithPath(launchString);
	    } catch (e) {
		try { // try windows format
		    launchString = decodeURI(appToLaunch).replace(/\//g,"\\");
		    file.initWithPath(launchString);
		} catch (e) {
		    try { // try windows format
			launchString = decodeURI(tiddlyBaseDir+appToLaunch).replace(/\//g,"\\");
			file.initWithPath(launchString);
		    } catch (e) {
			displayMessage("LaunchApplication cannot locate file '"+launchString+"' : "+e);
			return;
		    } // try windows mode
		} // try windows mode
	    }; // try with leading slash in tiddlyBaseDir
	}; // try linux/unix mode
	try {
	    if (file.isFile() && file.isExecutable()) {
		displayMessage("LaunchApplication executing '"+launchString+"' "+appParams.join(" "));
		var process = Components.classes['@mozilla.org/process/util;1'].createInstance(Components.interfaces.nsIProcess);
		process.init(file);
		process.run(false, appParams, appParams.length);
	    }
	    else
	    {
		displayMessage("LaunchApplication launching '"+launchString+"' "+appParams.join(" "));
		file.launch(); // No args available with this option
	    }
	} catch (e) {
	    displayMessage("LaunchApplication cannot execute/launch file '"+launchString+"'");
	}
    }
};

config.macros.LaunchApplication.handler = function (place,macroName,params,wikifier,paramString,tiddler) {
    // 0=ButtonText, 1=toolTip, 2=AppToLaunch, 3...AppParameters
    if (params[0] && (params[1] || params[1] == "") && params[2]) {
        var theButton = createTiddlyButton(place, getParam(params,"buttonText",params[0]), getParam(params,"toolTip",params[1]), onClickLaunchApplication);
        theButton.setAttribute("appToLaunch", getParam(params,"appToLaunch",params[2]));
        params.splice(0,3);
        theButton.setAttribute("appParameters", params.join(" "));
        return;
    }
}
config.macros.LaunchApplicationButton.handler = function (place,macroName,params,wikifier,paramString,tiddler) {
    config.macros.LaunchApplication.handler (place,macroName,params,wikifier,paramString,tiddler);
}

config.macros.LaunchApplicationLink.handler = function (place,macroName,params,wikifier,paramString,tiddler) {
    // 0=ButtonText, 1=toolTip, 2=AppToLaunch, 3...AppParameters
    if (params[0] && (params[1] || params[1] == "") && params[2]) {
        //var theLink = createExternalLink(place, getParam(params,"buttonText",params[0]));
        var theLink = createTiddlyButton(place, getParam(params,"buttonText",params[0]), getParam(params,"toolTip",params[1]), onClickLaunchApplication,"link");
        theLink.setAttribute("appToLaunch", getParam(params,"appToLaunch",params[2]));
        params.splice(0,3);
        theLink.setAttribute("appParameters", params.join(" "));
        return;
    }
}

function onClickLaunchApplication(e) {
	var theAppToLaunch = this.getAttribute("appToLaunch");
	var theAppParams = this.getAttribute("appParameters").readMacroParams();
	LaunchApplication(theAppToLaunch,theAppParams);
}

//}}}
/***
|''Name:''|LoadRemoteFileThroughProxy (previous LoadRemoteFileHijack)|
|''Description:''|When the TiddlyWiki file is located on the web (view over http) the content of [[SiteProxy]] tiddler is added in front of the file url. If [[SiteProxy]] does not exist "/proxy/" is added. |
|''Version:''|1.1.0|
|''Date:''|mar 17, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#LoadRemoteFileHijack|
|''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|
***/
//{{{
version.extensions.LoadRemoteFileThroughProxy = {
 major: 1, minor: 1, revision: 0, 
 date: new Date("mar 17, 2007"), 
 source: "http://tiddlywiki.bidix.info/#LoadRemoteFileThroughProxy"};

if (!window.bidix) window.bidix = {}; // bidix namespace
if (!bidix.core) bidix.core = {};

bidix.core.loadRemoteFile = loadRemoteFile;
loadRemoteFile = function(url,callback,params)
{
 if ((document.location.toString().substr(0,4) == "http") && (url.substr(0,4) == "http")){ 
 url = store.getTiddlerText("SiteProxy", "/proxy/") + url;
 }
 return bidix.core.loadRemoteFile(url,callback,params);
}
//}}}
!Menu
![[Ulteo]]
##[[Como instalar Ulteo en Ubuntu pre-requisitos para la instalacion]]
##[[Instalacion Mysql-Server]]
##[[Instalacion php]]
##[[Instalacion Apache]]
##[[Instalacion Ulteo]]
![[Dropbox]]
##[[¿Como instalarlo en ubuntu?]]
##[[¿Como Registrarse en la web?]]
##[[¿Como Compartir files/archivos?]]
##[[¿Como Compartir files/archivos con un amigo?]]
##[[¿Como volver un archivo publico?]]
#[[Acortar url de Dropbox o en general?]]
![[Instalacion de Sage ]]
## [[Que es Sage]]
##[[Trabajar Sage en web]]
##[[Documentar trabajos hechos en Sage Web]]
##[[Caido el servidor]]
![[Instalacion de Tecmax]]
![[¿Que es Uvikuo?]]
#[[RegistroPresently|http://katherine.tiddlyspot.com/#RegistroPresently]]
![[Gregarius]]
## [[Que es Gregarius]]
## [[Instalacion]]
1.= para asignar a una variable un valor utilizamos el igual
Ej= a=5 //La variable a toma el valor de 5
2. Estas expresiones sirven para comparar 
( ==, <=, >=, < y >)
Ej= 
2==5 //Esto es falso porque dos no es igual a 5
3<6 //3 si es menor que 6 es (true)
PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+.

PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por Rasmus Lerdorf en 1994; sin embargo la implementación principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una especificación formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre.
<!--{{{-->
<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>
<!--}}}-->
/***
|''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"
	});
*/
//}}}
[img[http://ur1.ca/f3ao]]

Gregarius es un servidor web que soporta rss, atom y rdf , importa y exporta opmls, clasificación con ajax de la información, búsqueda, temas configurables, protegido con contraseña entre otras funciones.

Tienen un wiki donde explican el proyecto con detalle. http://wiki.gregarius.net/index.php/Main_Page
 [img[http://ur1.ca/cov1]]
Sage es:

    * Una distribución del mejor software libre y de código abierto disponible (las últimas versiones integran más de 50 paquetes de terceros) que es fácil de compilar e instalar desde los binarios.
    * Una gran biblioteca nueva, que uniformenente cubre el más ancho área de funcionalidades, incluyendo varias nuevas no encontradas en ningún otro lado.
    * Una interface a casi todos los paquetes matemáticos (incluyendo Magma, Pari, Gap, Mathematica, Maplet, etc.) 
Estas son algunas de las sintaxis que podemos utilizar:

1. # ,el simbolo numeral lo utilizamos para que podamos comentar algunos de nuestro ejercicio
2. sage: , es una sentencia para comenzar.
3. def ,  nos ayuda a definir un tipo de funciones.
/***
|Name:|SelectThemePlugin|
|Description:|Lets you easily switch theme and palette|
|Version:|1.0.1 ($Rev: 3646 $)|
|Date:|$Date: 2008-02-27 02:34:38 +1000 (Wed, 27 Feb 2008) $|
|Source:|http://mptw.tiddlyspot.com/#SelectThemePlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
!Notes
* Borrows largely from ThemeSwitcherPlugin by Martin Budden http://www.martinswiki.com/#ThemeSwitcherPlugin
* Theme is cookie based. But set a default by setting config.options.txtTheme in MptwConfigPlugin (for example)
* Palette is not cookie based. It actually overwrites your ColorPalette tiddler when you select a palette, so beware. 
!Usage
* {{{<<selectTheme>>}}} makes a dropdown selector
* {{{<<selectPalette>>}}} makes a dropdown selector
* {{{<<applyTheme>>}}} applies the current tiddler as a theme
* {{{<<applyPalette>>}}} applies the current tiddler as a palette
* {{{<<applyTheme TiddlerName>>}}} applies TiddlerName as a theme
* {{{<<applyPalette TiddlerName>>}}} applies TiddlerName as a palette
***/
//{{{

config.macros.selectTheme = {
	label: {
      		selectTheme:"select theme",
      		selectPalette:"select palette"
	},
	prompt: {
		selectTheme:"Select the current theme",
		selectPalette:"Select the current palette"
	},
	tags: {
		selectTheme:'systemTheme',
		selectPalette:'systemPalette'
	}
};

config.macros.selectTheme.handler = function(place,macroName)
{
	var btn = createTiddlyButton(place,this.label[macroName],this.prompt[macroName],this.onClick);
	// want to handle palettes and themes with same code. use mode attribute to distinguish
	btn.setAttribute('mode',macroName);
};

config.macros.selectTheme.onClick = function(ev)
{
	var e = ev ? ev : window.event;
	var popup = Popup.create(this);
	var mode = this.getAttribute('mode');
	var tiddlers = store.getTaggedTiddlers(config.macros.selectTheme.tags[mode]);
	// for default
	if (mode == "selectPalette") {
		var btn = createTiddlyButton(createTiddlyElement(popup,'li'),"(default)","default color palette",config.macros.selectTheme.onClickTheme);
		btn.setAttribute('theme',"(default)");
		btn.setAttribute('mode',mode);
	}
	for(var i=0; i<tiddlers.length; i++) {
		var t = tiddlers[i].title;
		var name = store.getTiddlerSlice(t,'Name');
		var desc = store.getTiddlerSlice(t,'Description');
		var btn = createTiddlyButton(createTiddlyElement(popup,'li'), name?name:t, desc?desc:config.macros.selectTheme.label['mode'], config.macros.selectTheme.onClickTheme);
		btn.setAttribute('theme',t);
		btn.setAttribute('mode',mode);
	}
	Popup.show();
	return stopEvent(e);
};

config.macros.selectTheme.onClickTheme = function(ev)
{
	var mode = this.getAttribute('mode');
	var theme = this.getAttribute('theme');
	if (mode == 'selectTheme')
		story.switchTheme(theme);
	else // selectPalette
		config.macros.selectTheme.updatePalette(theme);
	return false;
};

config.macros.selectTheme.updatePalette = function(title)
{
	if (title != "") {
		store.deleteTiddler("ColorPalette");
		if (title != "(default)")
			store.saveTiddler("ColorPalette","ColorPalette",store.getTiddlerText(title),
					config.options.txtUserName,undefined,"");
		refreshAll();
		if(config.options.chkAutoSave)
			saveChanges(true);
	}
};

config.macros.applyTheme = {
	label: "apply",
	prompt: "apply this theme or palette" // i'm lazy
};

config.macros.applyTheme.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
	var useTiddler = params[0] ? params[0] : tiddler.title;
	var btn = createTiddlyButton(place,this.label,this.prompt,config.macros.selectTheme.onClickTheme);
	btn.setAttribute('theme',useTiddler);
	btn.setAttribute('mode',macroName=="applyTheme"?"selectTheme":"selectPalette"); // a bit untidy here
}

config.macros.selectPalette = config.macros.selectTheme;
config.macros.applyPalette = config.macros.applyTheme;

config.macros.refreshAll = { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
	createTiddlyButton(place,"refresh","refresh layout and styles",function() { refreshAll(); });
}};

//}}}
|<<gradient vert #000000 #FF3300 #888888>>Ulteo>> ||<<gradient vert #000000 #FF3300 #888888>>Dropbox>> | |<<gradient vert #000000 #FF3300 #888888>>Sage>> ||<<gradient vert #000000 #FF3300 #888888>>Uvikuo>> ||<<gradient vert #000000 #FF3300 #888888>>Gregarius>> |
| <<gradient vert #B90000 #000000 #000000>>Carlos Ramirez ----- Informatica Matematica>> | [img[http://ur1.ca/cyoo]]  |
 
 
                                                                                                                                                                     
/***
|''Name:''|SpanishTranslationPlugin|
|''Description:''|Translation of TiddlyWiki into Spanish|
|''Author:''|Dave Gifford giff (at) giffmex (dot) org|
|''Source:''|www.giffmex.org/twtutorialespanol.html |
|''CodeRepository:''||
|''Version:''||
|''Date:''|August 29, 2007|
|''Comments:''|Please make comments at http://groups.google.co.uk/group/TiddlyWikiDev |
|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]] |
|''~CoreVersion:''|2.2.5|
***/

//{{{
//--
//-- Translateable strings
//--

// Strings in "double quotes" should be translated; strings in 'single quotes' should be left alone

config.locale = "en"; // W3C language tag

if (config.options.txtUserName == 'YourName') // do not translate this line, but do translate the next line
	merge(config.options,{txtUserName: "SuNombre"});

merge(config.tasks,{
	save: {text: "guardar", tooltip: "Guardar sus cambios a este TiddlyWiki", action: saveChanges},
	sync: {text: "sincronizar", tooltip: "Sincronizar cambios con otros archivos TiddlyWiki y servidores", content: '<<sync>>'},
	importTask: {text: "importar", tooltip: "Importar tiddlers y plugins de otros archivos TiddlyWiki y servidores", content: '<<importTiddlers>>'},
	tweak: {text: "modificar", tooltip: "Modificar la apariencia y comportamiento de TiddlyWiki", content: '<<options>>'},
	plugins: {text: "plugins", tooltip: "Manejar plugins instalados", content: '<<plugins>>'}
});

// Options that can be set in the options panel and/or cookies
merge(config.optionsDesc,{
	txtUserName: "Nombre usuario para firmar sus cambios",
	chkRegExpSearch: "Habilitar expresiones normales para búsquedas",
	chkCaseSensitiveSearch: "Búsquedas sensibles a mayúsculas",
	chkAnimate: "Habilitar animaciones",
	chkSaveBackups: "Guardar archivo de respaldo al guardar cambios",
	chkAutoSave: "Guardar cambios automáticamente",
	chkGenerateAnRssFeed: "Generar un archivo RSS al guardar cambios",
	chkSaveEmptyTemplate: "Generar una plantilla vacía al guardar cambios",
	chkOpenInNewWindow: "Abrir enlaces externos en una nueva ventana",
	chkToggleLinks: "Un tiddler abierto se cierra cuando el usuario hace clic en un enlace al tiddler",
	chkHttpReadOnly: "Ocultar elementos de edición cuando visto por medio de HTTP",
	chkForceMinorUpdate: "No actualizar modificador, nombre usuario o fecha cuando un tiddler es editado",
	chkConfirmDelete: "Requerir confirmación antes de borrar tiddlers",
	chkInsertTabs: "Usar la tecla de tabulación para insertar carácteres de tabulación en vez de alternar entre campos",
	txtBackupFolder: "Nombre de la carpeta que debe usarse para respaldos",
	txtMaxEditRows: "Máximo número de renglones en cajas de edición",
	txtFileSystemCharSet: "Juego de carácteres por defecto para guardar cambios (Firefox/Mozilla solamente)"});

merge(config.messages,{
	customConfigError: "Hubo problemas en la instalación de plugins. Véase PluginManager para los detalles",
	pluginError: "Error: %0",
	pluginDisabled: "No ejecutado por ser deshabilitado via la etiqueta 'systemConfigDisable'",
	pluginForced: "Ejecutado por ser forzado via la etiqueta 'systemConfigForce'",
	pluginVersionError: "No ejecutado porque este plugin requiere una versión más reciente TiddlyWiki",
	nothingSelected: "Nada ha sido seleccionado. Debe seleccionar uno o más elementos primero",
	savedSnapshotError: "Parece que este TiddlyWiki no ha sido guardado correctamente. Favor de consultar  http://www.tiddlywiki.com/#DownloadSoftware para más información",
	subtitleUnknown: "(desconocido)",
	undefinedTiddlerToolTip: "El tiddler '%0' no existe todavía",
	shadowedTiddlerToolTip: "El tiddler '%0' no existe todavía, pero tiene un valor oculto predefinido",
	tiddlerLinkTooltip: "%0 - %1, %2",
	externalLinkTooltip: "Enlace externo a %0",
	noTags: "No hay tiddlers con etiquetas",
	notFileUrlError: "Se necesita guardar este TiddlyWiki a un archivo antes de poder guardar cambios",
	cantSaveError: "No es posible guardar cambios. Posibles causas incluyen:\n- su navegador web no permite que guarde los cambios  (Firefox, Internet Explorer, Safari y Opera funcionan si son configurados correctamente)\n- la dirección a su TiddlyWiki contiene carácteres ilegales \n- el archivo TiddlyWiki HTML file ha sido removido o renombrado",
	invalidFileError: "El archivo original '%0' no parece ser un TiddlyWiki válido",
	backupSaved: "Respaldo guardado",
	backupFailed: "Respaldo no pudo ser guardado",
	rssSaved: "Archivo RSS guardado",
	rssFailed: "Archivo RSS no pudo ser guardado",
	emptySaved: "Plantilla vacía guardada",
	emptyFailed: "Plantilla vacía no pudo ser guardada",
	mainSaved: "Archivo TiddlyWiki guardado",
	mainFailed: "El archivo TiddlyWiki o pudo ser guardado. Sus cambios no han sido guardados",
	macroError: "Error en macro <<\%0>>",
	macroErrorDetails: "Error al ejecutar macro <<\%0>>:\n%1",
	missingMacro: "Tal macro no existe",
	overwriteWarning: "Un tiddler llamado '%0' ya existe. Presione OK para reemplazarlo",
	unsavedChangesWarning: "CUIDADO! Hay cambios no guardados en TiddlyWiki\n\nPresione OK para guardar\nPresione CANCELAR para cancelar cambios",
	confirmExit: "--------------------------------\n\nHay cambios no guardados en TiddlyWiki. Si continue, perderá los cambios\n\n--------------------------------",
	saveInstructions: "GuardarRespaldos",
	unsupportedTWFormat: "Formato '%0' no apoyado por TiddlyWiki",
	tiddlerSaveError: "Error en guardar tiddler '%0'",
	tiddlerLoadError: "Error en cargar tiddler '%0'",
	wrongSaveFormat: "No se puede guardar con formato de almacenaje '%0'. Cambiando a un formato válido para guardar.",
	invalidFieldName: "Nombre de campo '%0' inválido",
	fieldCannotBeChanged: "El campo '%0' no puede ser cambiado",
	loadingMissingTiddler: "Intentando acceder el tiddler '%0' del servidor '%1' en:\n\n'%2' en el área de trabajo '%3'"});

merge(config.messages.messageClose,{
	text: "cerrar",
	tooltip: "cerrar este área de mensaje"});

config.messages.backstage = {
	open: {text: "bastidores", tooltip: "Abrir el área entre bastidores para ejecutar tareas especiales de composición y edición"},
	close: {text: "cerrar", tooltip: "Cerrar el área entre bastidores"},
	prompt: "bastidores: ",
	decal: {
		edit: {text: "editar", tooltip: "Editar el tiddler '%0'"}
	}
};

config.messages.listView = {
	tiddlerTooltip: "Hacer clic para ver el texto completo de este tiddler",
	previewUnavailable: "(preeestreno no disponible)"
};

config.messages.dates.months = ["enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre","diciembre"];
config.messages.dates.days = ["domingo", "lunes", "martes", "miercoles", "jueves", "viernes", "sábado"];
config.messages.dates.shortMonths = ["ene", "feb", "mar", "abr", "mayo", "jun", "jul", "ag", "sep", "oct", "nov", "dic"];
config.messages.dates.shortDays = ["dom", "lun", "mar", "mier", "jue", "vie", "sáb"];
// suffixes for dates, eg "1st","2nd","3rd"..."30th","31st"
config.messages.dates.daySuffixes = ["","","","","","","","","","",
		"","","","","","","","","","",
		"","","","","","","","","","",
		""];
config.messages.dates.am = "am";
config.messages.dates.pm = "pm";

merge(config.messages.tiddlerPopup,{
	});

merge(config.views.wikified.tag,{
	labelNoTags: "no hay etiquetas",
	labelTags: "etiquetas: ",
	openTag: "Abrir etiqueta '%0'",
	tooltip: "Mostrar tiddlers con etiqueta '%0'",
	openAllText: "Abrir todos",
	openAllTooltip: "Abrir todos estos tiddlers",
	popupNone: "No hay otros tiddlers con la etiqueta '%0'"});

merge(config.views.wikified,{
	defaultText: "El tiddler '%0' aún no existe. Hacer doble-clic para crearlo",
	defaultModifier: "(no encontrado)",
	shadowModifier: "(tiddler integral oculto)",
	dateFormat: "DD MMM YYYY", // use this to change the date format for your locale, eg "YYYY MMM DD", do not translate the Y, M or D
	createdPrompt: "creado"});

merge(config.views.editor,{
	tagPrompt: "Escribir etiquetas separados por espacios, [[usar doble corchetes]] si es necesario, or seleccionar existentes",
	defaultText: "Escribir el texto para '%0'"});

merge(config.views.editor.tagChooser,{
	text: "etiquetas",
	tooltip: "Seleccionar etiquetas existentes para añadir a este tiddler",
	popupNone: "No hay etiquetas definidas",
	tagTooltip: "Añadir la etiqueta '%0'"});

merge(config.messages,{
	sizeTemplates:
		[
		{unit: 1024*1024*1024, template: "%0\u00a0GB"},
		{unit: 1024*1024, template: "%0\u00a0MB"},
		{unit: 1024, template: "%0\u00a0KB"},
		{unit: 1, template: "%0\u00a0B"}
		]});

merge(config.macros.search,{
	label: "búsqueda",
	prompt: "Buscar en este TiddlyWiki",
	accessKey: "F",
	successMsg: "%0 tiddlers encontrados con %1",
	failureMsg: "Ningunos tiddlers encontrados con %0"});

merge(config.macros.tagging,{
	label: "etiquetas: ",
	labelNotTag: "no etiquetas",
	tooltip: "Lista de tiddlers con la etiqueta '%0'"});

merge(config.macros.timeline,{
	dateFormat: "DD MMM YYYY"});// use this to change the date format for your locale, eg "YYYY MMM DD", do not translate the Y, M or D

merge(config.macros.allTags,{
	tooltip: "Mostrar tiddlers con la etiqueta '%0'",
	noTags: "No hay tiddlers con etiquetas"});

config.macros.list.all.prompt = "Todos los tiddlers en orden alfabético";
config.macros.list.missing.prompt = "Tiddlers enlazados por otros tiddlers pero que no son definidos";
config.macros.list.orphans.prompt = "Tiddlers que no han sido enlazados por nigin otro tiddler";
config.macros.list.shadowed.prompt = "Tiddlers ocultos con contenido por defecto";
config.macros.list.touched.prompt = "Tiddlers que han sido modificados localmente";

merge(config.macros.closeAll,{
	label: "cerrar todos",
	prompt: "Cerrar todos los tiddlers abiertos (excepto los que están en modo de edición)"});

merge(config.macros.permaview,{
	label: "permavista",
	prompt: "Enlace al URL de este archivo con todos los tiddlers actualmente abiertos"});

merge(config.macros.saveChanges,{
	label: "guardar cambios",
	prompt: "Guardar todos los cambios a este TiddlyWiki",
	accessKey: "S"});

merge(config.macros.newTiddler,{
	label: "nuevo tiddler",
	prompt: "Crear un nuevo tiddler",
	title: "Nuevo Tiddler",
	accessKey: "N"});

merge(config.macros.newJournal,{
	label: "nuevo diario",
	prompt: "Crear un nuevo tiddler con el día y la hora como el título",
	accessKey: "J"});

merge(config.macros.options,{
	wizardTitle: "Modificar las opciones avanzadas",
	step1Title: "Estas opciones son guardadas como cookies en su navegador web",
	step1Html: "<input type='hidden' name='markList'></input><br><input type='checkbox' checked='false' name='chkUnknown'>Mostrar opciones desconocidas</input>",
	unknownDescription: "//(desconocido)//",
	listViewTemplate: {
		columns: [
			{name: 'Option', field: 'option', title: "Opción", type: 'String'},
			{name: 'Description', field: 'description', title: "Descripción", type: 'WikiText'},
			{name: 'Name', field: 'name', title: "Nombre", type: 'String'}
			],
		rowClasses: [
			{className: 'lowlight', field: 'lowlight'} 
			]}
	});

merge(config.macros.plugins,{
	wizardTitle: "Manejar plugins",
	step1Title: "Plugins actualmente instalados",
	step1Html: "<input type='hidden' name='markList'></input>", // DO NOT TRANSLATE
	skippedText: "(Este plugin no ha sido ejecutado porque fue añadido desde el último inicio del archivo)",
	noPluginText: "No hay plugins instalados",
	confirmDeleteText: "¿Está seguro que quiere eliminar estos plugins?:\n\n%0",
	removeLabel: "remover ña etiqueta systemConfig",
	removePrompt: "Remover la etiqueta systemConfig",
	deleteLabel: "borrar",
	deletePrompt: "Eliminar estos tiddlers para siempre",
	listViewTemplate: {
		columns: [
			{name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
			{name: 'Tiddler', field: 'tiddler', title: "Tiddler", type: 'Tiddler'},
			{name: 'Size', field: 'size', tiddlerLink: 'size', title: "Tamaño", type: 'Size'},
			{name: 'Forced', field: 'forced', title: "Forzado", tag: 'systemConfigForce', type: 'TagCheckbox'},
			{name: 'Disabled', field: 'disabled', title: "Deshabilitado", tag: 'systemConfigDisable', type: 'TagCheckbox'},
			{name: 'Executed', field: 'executed', title: "Cargado", type: 'Boolean', trueText: "Sí", falseText: "No"},
			{name: 'Startup Time', field: 'startupTime', title: "Tiempo de inicio", type: 'String'},
			{name: 'Error', field: 'error', title: "Estado", type: 'Boolean', trueText: "Error", falseText: "OK"},
			{name: 'Log', field: 'log', title: "Log", type: 'StringList'}
			],
		rowClasses: [
			{className: 'error', field: 'error'},
			{className: 'warning', field: 'warning'}
			]}
	});

merge(config.macros.toolbar,{
	moreLabel: "más",
	morePrompt: "Mostar más órdenes"
	});

merge(config.macros.refreshDisplay,{
	label: "refrescar",
	prompt: "Re-dibujar toda la visualización de TiddlyWiki"
	});

merge(config.macros.importTiddlers,{
	readOnlyWarning: "No se puede importar a un archivo TiddlyWiki de lectura. Intente abrirlo desde un archivo:// URL",
	wizardTitle: "Importar tiddlers de otro archivo o servidor",
	step1Title: "Primer paso: Localizar el servidor o archivo TiddlyWiki",
	step1Html: "Especificar el tipo de servidor: <select name='selTypes'><option value=''>Escoger...</option></select><br>Ingresar el URL or dirección al archivo aquí: <input type='text' size=50 name='txtPath'><br>...o navegar para buscar un archivo: <input type='file' size=50 name='txtBrowse'><br><hr>...o seleccionar un FEED predefinido: <select name='selFeeds'><option value=''>Escoger...</option></select>",
	openLabel: "abrir",
	openPrompt: "Abrir la conexión a este archivo o servidor",
	openError: "Hubo problemas en acceder el archivo Tiddlywiki",
	statusOpenHost: "Abriendo el servidor",
	statusGetWorkspaceList: "Adquiriendo la lista de áreas de trabajo disponibles",
	step2Title: "Segundo paso: Escoger el área de trabajo",
	step2Html: "Ingresar un nombre de un área de trabajo: <input type='text' size=50 name='txtWorkspace'><br>...o seleccionar un área de trabajo: <select name='selWorkspace'><option value=''>Escoger...</option></select>",
	cancelLabel: "cancelar",
	cancelPrompt: "Cancelar esta importación",
	statusOpenWorkspace: "Abriendo el área de trabajo",
	statusGetTiddlerList: "Adquiriendo la lista de tiddlers disponibles",
	step3Title: "Tercer paso: Escoger los tiddlers para importar",
	step3Html: "<input type='hidden' name='markList'></input><br><input type='checkbox' checked='true' name='chkSync'>Mantener estos tiddlers enlazados a este server para poder sincronizar cambios posteriores</input><br><input type='checkbox' name='chkSave'>Guardar los detalles de este servidor en un tiddler 'systemServer' tiddler llamado:</input> <input type='text' size=25 name='txtSaveTiddler'>",
	importLabel: "importar",
	importPrompt: "Importar estos tiddlers",
	confirmOverwriteText: "¿Está seguro que quiere reemplazar estos tiddlers?:\n\n%0",
	step4Title: "Cuarto paso: Importando %0 tiddler(s)",
	step4Html: "<input type='hidden' name='markReport'></input>", // DO NOT TRANSLATE
	doneLabel: "OK",
	donePrompt: "Cerrar este wizard",
	statusDoingImport: "Importando tiddlers",
	statusDoneImport: "Todos los tiddlers importados",
	systemServerNamePattern: "%2 en %1",
	systemServerNamePatternNoWorkspace: "%1",
	confirmOverwriteSaveTiddler: "El tiddler '%0' ya existe. Haga clic en 'OK' para reemplazarlo con los detalles de este servidor, o haga clic en 'Cancelar' para cancelar los cambios",
	serverSaveTemplate: "|''Tipo:''|%0|\n|''URL:''|%1|\n|''Área de trabajo:''|%2|\n\nEste tiddler fue creado automáticamente para guardar un record de los detallles de este servidor",
	serverSaveModifier: "(Sistema)",
	listViewTemplate: {
		columns: [
			{name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
			{name: 'Tiddler', field: 'tiddler', title: "Tiddler", type: 'Tiddler'},
			{name: 'Size', field: 'size', tiddlerLink: 'size', title: "Tamaño", type: 'Size'},
			{name: 'Tags', field: 'tags', title: "Etiquetas", type: 'Tags'}
			],
		rowClasses: [
			]}
	});

merge(config.macros.sync,{
	listViewTemplate: {
		columns: [
			{name: 'Selected', field: 'selected', rowName: 'title', type: 'Selector'},
			{name: 'Tiddler', field: 'tiddler', title: "Tiddler", type: 'Tiddler'},
			{name: 'Server Type', field: 'serverType', title: "Tipo de servidor", type: 'String'},
			{name: 'Server Host', field: 'serverHost', title: "Servidor", type: 'String'},
			{name: 'Server Workspace', field: 'serverWorkspace', title: "Área de trabajo del servidor", type: 'String'},
			{name: 'Status', field: 'status', title: "Estado de sincronización", type: 'String'},
			{name: 'Server URL', field: 'serverUrl', title: "Servidor URL", text: "View", type: 'Link'}
			],
		rowClasses: [
			],
		buttons: [
			{caption: "Sincronizar estos tiddlers", name: 'sync'}
			]},
	wizardTitle: "Sincronizar con servidores y archivos externos",
	step1Title: "Escoger los tiddlers para sincronizar",
	step1Html: "<input type='hidden' name='markList'></input>", // DO NOT TRANSLATE
	syncLabel: "sincronizar",
	syncPrompt: "Sincronizar estos tiddlers",
	hasChanged: "Cambiado mientras desconectado",
	hasNotChanged: "No cambiado mientras desconectado",
	syncStatusList: {
		none: {text: "...", color: "ninguno"},
		changedServer: {text: "Cambiado en el servidor", color: '#80ff80'},
		changedLocally: {text: "Cambiado mientras desconectado", color: '#80ff80'},
		changedBoth: {text: "Cambiado mientras desconectado y en el servidor", color: '#ff8080'},
		notFound: {text: "No encontrado en el servidor", color: '#ffff80'},
		putToServer: {text: "Se guardó una actualización en el servidor", color: '#ff80ff'},
		gotFromServer: {text: "Adquirió una actualización del servidor", color: '#80ffff'}
		}
	});

merge(config.commands.closeTiddler,{
	text: "cerrar",
	tooltip: "Cerrar este tiddler"});

merge(config.commands.closeOthers,{
	text: "cerrar los demás",
	tooltip: "Cerrar todos los demás tiddlers"});

merge(config.commands.editTiddler,{
	text: "editar",
	tooltip: "Editar este tiddler",
	readOnlyText: "ver",
	readOnlyTooltip: "Ver la fuente de este tiddler"});

merge(config.commands.saveTiddler,{
	text: "OK",
	tooltip: "Guardar los cambios a este tiddler"});

merge(config.commands.cancelTiddler,{
	text: "cancelar",
	tooltip: "Cancelar los cambios a este tiddler",
	warning: "¿Seguro que quiere abandonar sus cambios a  '%0'?",
	readOnlyText: "OK",
	readOnlyTooltip: "Ver este tiddler normalmente"});

merge(config.commands.deleteTiddler,{
	text: "borrar",
	tooltip: "Borrar este tiddler",
	warning: "¿Seguro que quiere borrar '%0'?"});

merge(config.commands.permalink,{
	text: "permaenlace",
	tooltip: "Permaenlace para este tiddler"});

merge(config.commands.references,{
	text: "referencias",
	tooltip: "Mostar tiddlers que hacen referencia a este tiddler",
	popupNone: "No hay referencias"});

merge(config.commands.jump,{
	text: "saltar",
	tooltip: "Saltar a otro tiddler abierto"});

merge(config.commands.syncing,{
	text: "sincronización",
	tooltip: "Controlar la sincronización de este tiddler con un servidor o archivo externo",
	currentlySyncing: "<div>En proceso de sincronizar via <span class='popupHighlight'>'%0'</span> a:</"+"div><div>servidor: <span class='popupHighlight'>%1</span></"+"div><div>área de trabajo: <span class='popupHighlight'>%2</span></"+"div>", // Note escaping of closing <div> tag
	notCurrentlySyncing: "No hay sincronización en proceso",
	captionUnSync: "Dejar de sincronizar este tiddler",
	chooseServer: "Sincronizar este tiddler con otro servidor:",
	currServerMarker: "\u25cf ",
	notCurrServerMarker: "  "});

merge(config.commands.fields,{
	text: "campos",
	tooltip: "Mostrar los campos extendidos de este tiddler",
	emptyText: "No hay campos extendidos para este tiddler",
	listViewTemplate: {
		columns: [
			{name: 'Field', field: 'field', title: "Campo", type: 'String'},
			{name: 'Value', field: 'value', title: "Valor", type: 'String'}
			],
		rowClasses: [
			],
		buttons: [
			]}});

merge(config.shadowTiddlers,{
	DefaultTiddlers: "[[IniciarConTiddlyWiki]]",
	MainMenu: "[[IniciarConTiddlyWiki]]\n\n\n^^~TiddlyWiki versión <<version>>\n© 2007 [[UnaMesa|http://www.unamesa.org/]]^^",
	IniciarConTiddlyWiki: "Para empezar con este TiddlyWiki vacío, necesitará modificar los siguientes tiddlers:\n* SiteTitle & SiteSubtitle: El título y subtítulo del sitio, mostrados en el encabezado (después de guardar, también aparecerán en la barra del título de su navegador web)\n* MainMenu: El menú principal que funciona como tabla de contenido para el usuario (generalmente este menú se encuentra a la izquierda)\n* DefaultTiddlers: Contiene los nombres de los tiddlers que aparecerán cuando el archivo TiddlyWiki se abre\nAdemás, necesitará ingresar su nombre usuario para firmar sus cambios posteriores al archivo: <<option txtUserName>>",
	SiteTitle: "Mi TiddlyWiki",
	SiteSubtitle: "un cuaderno web personal, no lineal y reutilizable",
	SiteUrl: "http://www.tiddlywiki.com/",
	OptionsPanel: "Estas opciones para personalizar TiddlyWiki son guardados en su navegador\n\nSu nombre de usuario para firmar los cambios que realiza. Escríbalo como PalabraWiki (eg JuanDiego)\n<<option txtUserName>>\n\n<<option chkSaveBackups>> GuardarRespaldos\n<<option chkAutoSave>> AutoGuardar\n<<option chkRegExpSearch>> BuscaRegExp\n<<option chkCaseSensitiveSearch>> BúsquedaSensible\n<<option chkAnimate>> HabilitarAnimaciones\n\n----\Véase también [[OpcionesAvanzadas|AdvancedOptions]]",
	SideBarOptions: '<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal "DD MMM YYYY">><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "opciones »" "Cambiar las opciones avanzadas de TiddlyWiki">>',
	SideBarTabs: '<<tabs txtMainTab "Fecha" "tiddlers por fecha de creación" TabTimeline "Título" "Tiddlers por título" TabAll "Etiquetas" "Todas las etiquetas" TabTags "Más" "Más listas" TabMore>>',
	TabMore: '<<tabs txtMoreTab "perdidos" "Tiddlers que no existen" TabMoreMissing "huérfanos" "Tiddlers que no han sido enlazados por ningun otro tiddler" TabMoreOrphans "ocultos" "Tiddlers ocultos" TabMoreShadowed>>'});

merge(config.annotations,{
	AdvancedOptions: "Este tiddler oculto provee acceso a varias opciones avanzadas",
	ColorPalette: "Los valores en este tiddler oculto determinan la esquema de colores de este ~TiddlyWiki",
	DefaultTiddlers: "Los tiddlers alistados en este tiddler oculto se abren automáticamente cuando se abre este archivo ~TiddlyWiki",
	EditTemplate: "La plantilla HTML en este tiddler oculto determina la apariencia de los tiddlers cuando están en modo de edición",
	GettingStarted: "Este tiddler oculto provee instrucciones básicas acerca del uso de ~TiddlyWiki",
	ImportTiddlers: "Este tiddler oculto permite la importación de tiddlers de otros archivos",
	MainMenu: "Este tiddler oculto se usa como la tabla de contenido del menú principal en la columna a la izquiera de la pantalla",
	MarkupPreHead: "Este tiddler es insertado en la parte superior de la sección <head> del HTML de ~TiddlyWiki",
	MarkupPostHead: "Este tiddler es insertado en la parte inferior de la sección <head> del HTML de ~TiddlyWiki",
	MarkupPreBody: "Este tiddler es insertado en la parte superior de la sección <body> del HTML de ~TiddlyWiki",
	MarkupPostBody: "Este tiddler es insertado en la parte inferior de la sección <body> del HTML de ~TiddlyWiki immediatamente antes del 'script block'",
	OptionsPanel: "Este tiddler oculto se usa como el contenido del panel de opciones en el menú a la derecha",
	PageTemplate: "La plantilla HTML en este tiddler oculto determina la presentación general de este ~TiddlyWiki",
	PluginManager: "Este tiddler oculto provee acceso al administrador de plugins",
	SideBarOptions: "Este tiddler oculto se usa como el contenido de las opciones de la parte superior del menú a la derecha",
	SideBarTabs: "Este tiddler oculto se usa como el contenido del panel de pestañas en el menú a la derecha",
	SiteSubtitle: "Este tiddler oculto contiene el subtítulo del sitio o página",
	SiteTitle: "Este tiddler oculto contiene el título del sitio o página",
	SiteUrl: "Este tiddler debe ser configurado al URL completo cuando el archivo se publica",
	StyleSheetColours: "Este tiddler oculto contiene definiciones de CSS relacionadas con los colores de los elementos de la página",
	StyleSheet: "Este tiddler puede contener definiciones de CSS que el usuario asigna",
	StyleSheetLayout: "Este tiddler oculto contiene definiciones de CSS relacionadas con la configuración visual de los elementos de la página",
	StyleSheetLocale: "Este tiddler oculto contiene definiciones de CSS relacionadas con el local de la traducción",
	StyleSheetPrint: "Este tiddler oculto contiene definiciones de CSS relacionadas con la impresión",
	TabAll: "Este tiddler oculto contiene los contenidos de la pestaña 'Título' en el menú a la derecha",
	TabMore: "Este tiddler oculto contiene los contenidos de la pestaña 'Más' en el menú a la derecha",
	TabMoreMissing: "Este tiddler oculto contiene los contenidos de la pestaña 'perdidos' en el menú a la derecha",
	TabMoreOrphans: "Este tiddler oculto contiene los contenidos de la pestaña 'huérfanos' en el menú a la derecha",
	TabMoreShadowed: "Este tiddler oculto contiene los contenidos de la pestaña 'ocultos' en el menú a la derecha",
	TabTags: "Este tiddler oculto contiene los contenidos de la pestaña 'Etiquetas' en el menú a la derecha",
	TabTimeline: "Este tiddler oculto contiene los contenidos de la pestaña 'Fecha' en el menú a la derecha",
	ViewTemplate: "la plantilla HTML en este tiddler oculto determina la apariencia de los tiddlers cuando están en modo de lectura"
	});

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

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

#mainMenu {position:absolute; left:0; width:1em; text-align:leftt; line-height:1.3em; padding:1.3em 0.5em 0.5em 0.5em; font-size:1.1em;}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
A continuación pueden escribir sus sugerencias o preguntas de la documentación publicada aquí

-
-
-

Carlos Ramirez
En este enlace podemos ver tutorial  de como manejar sage 

http://www.sagemath.org/doc/tutorial/

Tambien podemos :
 1.[[SIntaxis sage web]]
 2.[[Operaciones Algebraicas]]
 3.[[Ciclos]]

Para aquellos interesados en algo mas de programacion en C puede ver http://ur1.ca/cymv
Aqui mostrare alguno ejemplo para saber si funciona correctamente:


/***
Description: Contains the stuff you need to use Tiddlyspot
Note, you also need UploadPlugin, PasswordOptionPlugin and LoadRemoteFileThroughProxy
from http://tiddlywiki.bidix.info for a complete working Tiddlyspot site.
***/
//{{{

// edit this if you are migrating sites or retrofitting an existing TW
config.tiddlyspotSiteId = 'carlitos0322';

// 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)
window.showBackstage = true; // show backstage too

// 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(/^/,"[[WelcomeToTiddlyspot]] ");
	MainMenu = MainMenu.replace(/^/,"[[WelcomeToTiddlyspot]] ");
}

// create some shadow tiddler content
merge(config.shadowTiddlers,{

'WelcomeToTiddlyspot':[
 "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.org|http://tiddlywiki.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/]], [[blog|http://tiddlyspot.blogspot.com/]], 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")

});
//}}}

Ulteo es una futura distribución Gnu/Linux que pretende facilitar la experiencia de uso en el ámbito del escritorio, partiendo como base de Kubuntu GNU/Linux. El desarrollo de Ulteo está siendo liderado por Gaël Duval creador de Linux Mandrake (conocida actualmente como Linux Mandriva) y cofundador de Mandriva.

La primera versión Alpha fue lanzada el 6 de diciembre del 2006
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 25/10/2009 22:54:34 | carlitos0322 | [[/|http://carlitos0322.tiddlyspot.com/]] | [[store.cgi|http://carlitos0322.tiddlyspot.com/store.cgi]] | . | [[index.html | http://carlitos0322.tiddlyspot.com/index.html]] | . | ok |
| 25/10/2009 22:58:39 | carlitos0322 | [[/|http://carlitos0322.tiddlyspot.com/]] | [[store.cgi|http://carlitos0322.tiddlyspot.com/store.cgi]] | . | [[index.html | http://carlitos0322.tiddlyspot.com/index.html]] | . |
| 28/10/2009 10:21:48 | carlitos0322 | [[index.html|http://carlitos0322.tiddlyspot.com/index.html]] | [[store.cgi|http://carlitos0322.tiddlyspot.com/store.cgi]] | . | [[index.html | http://carlitos0322.tiddlyspot.com/index.html]] | . |
| 03/11/2009 23:47:13 | carlitos0322 | [[index.html|http://carlitos0322.tiddlyspot.com/index.html]] | [[store.cgi|http://carlitos0322.tiddlyspot.com/store.cgi]] | . | [[index.html | http://carlitos0322.tiddlyspot.com/index.html]] | . |
| 04/11/2009 00:38:00 | carlitos0322 | [[index.html|http://carlitos0322.tiddlyspot.com/index.html]] | [[store.cgi|http://carlitos0322.tiddlyspot.com/store.cgi]] | . | [[index.html | http://carlitos0322.tiddlyspot.com/index.html]] | . | ok |
| 04/11/2009 00:44:11 | carlitos0322 | [[index.html|http://carlitos0322.tiddlyspot.com/index.html]] | [[store.cgi|http://carlitos0322.tiddlyspot.com/store.cgi]] | . | [[index.html | http://carlitos0322.tiddlyspot.com/index.html]] | . | ok |
| 04/11/2009 00:44:36 | carlitos0322 | [[index.html|http://carlitos0322.tiddlyspot.com/index.html]] | [[store.cgi|http://carlitos0322.tiddlyspot.com/store.cgi]] | . | [[index.html | http://carlitos0322.tiddlyspot.com/index.html]] | . | ok |
| 04/11/2009 00:47:33 | carlitos0322 | [[index.html|http://carlitos0322.tiddlyspot.com/index.html]] | [[store.cgi|http://carlitos0322.tiddlyspot.com/store.cgi]] | . | [[index.html | http://carlitos0322.tiddlyspot.com/index.html]] | . | ok |
| 04/11/2009 00:49:44 | carlitos0322 | [[index.html|http://carlitos0322.tiddlyspot.com/index.html]] | [[store.cgi|http://carlitos0322.tiddlyspot.com/store.cgi]] | . | [[index.html | http://carlitos0322.tiddlyspot.com/index.html]] | . |
| 04/11/2009 00:57:14 | carlitos0322 | [[index.html|http://carlitos0322.tiddlyspot.com/index.html]] | [[store.cgi|http://carlitos0322.tiddlyspot.com/store.cgi]] | . | [[index.html | http://carlitos0322.tiddlyspot.com/index.html]] | . |
/***
|''Name:''|UploadPlugin|
|''Description:''|Save to web a TiddlyWiki|
|''Version:''|4.1.3|
|''Date:''|Feb 24, 2008|
|''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|
|''Requires:''|PasswordOptionPlugin|
***/
//{{{
version.extensions.UploadPlugin = {
	major: 4, minor: 1, revision: 3,
	date: new Date("Feb 24, 2008"),
	source: 'http://tiddlywiki.bidix.info/#UploadPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	coreVersion: '2.2.0'
};

//
// 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
		if (!params) params = {};
		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}
				
			]);
	},
	options: [
		"txtUploadUserName",
		"pasUploadPassword",
		"txtUploadStoreUrl",
		"txtUploadDir",
		"txtUploadFilename",
		"txtUploadBackupDir",
		"chkUploadLog",
		"txtUploadLogMaxLine"		
	],
	refreshOptions: function(listWrapper) {
		var opts = [];
		for(i=0; i<this.options.length; i++) {
			var opt = {};
			opts.push();
			opt.option = "";
			n = this.options[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 = new 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,username,password,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 = new Array(uploadParams[0],rssPath,uploadParams[2],'',uploadParams[4],uploadParams[5]);
		var rssString = generateRss();
		// no UnicodeToUTF8 conversion needed when location is "file" !!!
		if (document.location.toString().substr(0,4) != "file")
			rssString = convertUnicodeToUTF8(rssString);	
		bidix.upload.httpUpload(rssUploadParams,rssString,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 == 404)
			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; ;charset=UTF-8; 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');


// Backstage
merge(config.tasks,{
	uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: '<<uploadOptions>>'}
});
config.backstageTasks.push("uploadOptions");


//}}}

Escribir el texto para 'UploadService'
MySQL es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones.[1] MySQL AB —desde enero de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporation desde abril de 2009— desarrolla MySQL como software libre en un esquema de licenciamiento dual.

Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C.

Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y el copyright del código está en poder del autor individual, MySQL es propietario y está patrocinado por una empresa privada, que posee el copyright de la mayor parte del código.

Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet. MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius.

Vamos a dar un ejemplo de como compartir carpetas con tu amigo.

Parar el ejemplo es necesario que creemos otro usuario.(tal como lo muestra la imagen)

[img[http://ur1.ca/c8lm]]

cerramos este nuevo usuario que para nuestro ejemplo se llama (helnordico), y abrimos nuestro dropbox del usuario carlitos0328 quien le va a hacer la invitacion a helnordico para que esta pueda ver su informacion en una carpeta.

cuando estemos en la cuenta de carlitos0328 nos dirigimos a la parte de Sharing y en la barra de la izquierda nos aparece la carpeta que tenemos para compartir con mis amigos que en el ejemplo se llama "seminario" (tal como lo nuestra la imagen) y damos click en " invited more" y nos aparece una ventana donde tenemos que poner el correo electronico de esta persona (si se dan cuenta este es el mismo con el que creamos la cuenta de helnordico) 

[img[http://ur1.ca/c8m4]]
[img[http://ur1.ca/c8m8]]

Ahora nos queda que nuestro usuario helnordico acepte nuestra carpeta para compartir y desde alli el usuario carlitos0328 le comparte documentos a sus colegas o amigos en este caso a helnordico
Cuando terminamos nuestra instalacion  indudablemente queremos subir archivos a la web para que los podamos acceder remotamente entonces nos dirigimos a Lugares> Dropbox alli nos abre una carpeta como muestra la siguiente imagen

[img[http://ur1.ca/c8nd]]

Ahora vamos a pasar un DOCUMENTO PARA PROBRAR, en este caso este docomento se llama "PORQUE ES MEJOR LINUX", simple lo arrastramos a la carpeta de Dropbox(como muestra la imagen), 

[img[http://ur1.ca/c8ne]]

Ahora nos dirigimos a nuestro navegador y entramos a la pagina de dropbox  y iniciamos seccion nos dirigimos en nuestro caso a la carpeta de seminario >dropbox donde guardamos nuestro archivo COMUN y nos damos cuenta que este ya se encuentra en la web.


[img[http://ur1.ca/c8nf]]

En el caso en que estemos en otra pc y queremos bajarlo simplemente nos logemos y le damos click al archivo y nos aparece una ventana de guardar como(como lo muestra la siguiente imagen)

[img[http://ur1.ca/c8ng]]

y esta funcionando perfectamente

Para acceder y crear una cuenta en Dropbox, debemos seguir lo siguientes pasos:

1. Entramos a la pagina https://www.getdropbox.com/login#register (tal cual como la siguiente imagen)

[img[http://ur1.ca/c7s1]]

2.Despues rellenamos los campos solicitados(ver ejemplo en la imagen siguiente)podemos elegir que nuestro navegador grave las clave y usuario para que cuando volvamos a entrar sea "mas sencillo".


[img[http://ur1.ca/c7s7]]

Ya que contamos con un registro en la web de Dropbox, debemos realizar la descarga e instalacion del paquete.
Lo primero que tenemos que entrar a la siguiente pagina https://www.getdropbox.com/ (como lo muestra la siguiente imagen)

[img[http://ur1.ca/c7qp]]

despues  vemos el icono azul de (download dropbox), damos click alli, el dependiendo de 	que sistema operativo tengamos nos dara una recomendación de cual debemos instalar

[img[http://ur1.ca/c7qv]]

en nuestro caso tenemos sugerido el ubuntu 9.04(X86), despues esperamos unos mibutos y nos aparece un mensaje donde nos informa que tenemos que guardar el archivo.

[img[http://ur1.ca/c7qy]]

Despues de que baje el paquete completamente , le damos doble click encima de èl, y 	empieza el proceso de instalacion, 

[img[http://ur1.ca/c7rj]]
[img[http://ur1.ca/c7rn]]
despues de ello abrimos nuestro navegador para 	registrarnos
Para que podamos volver un archivo publico es bastante facil, esto con la ventaja de que nosotros le podemos dar una url PUBLICA a un amigo para que pueda descargar un archivo determinado, A continuacion doy los pasos.

1.Lo primero que debes hacer es dirigirte a navegador, entras a dropbox web y entras a tu cuenta.(Como lo muestra la imagen)
 [img[http://ur1.ca/cyn8]]
2. Despues te diriges a la pestaña que dice file, le das en la carpeta publica y es alli donde tiene que estar el archivo que vas a compartir con tu amigo (En nuestro ejemplo se llama el file: Algoritmica.pdf
 [img[http://ur1.ca/cyn9]]
3.Despues te paras enciama del archivo y le das "copy public link", y nos aparece una pantalla como la siguiente  

[img[http://ur1.ca/cyna]]

Le puedes dar ese url a tu amigo o puedes ir a ur1 y acortarla(recomendado), y asi seria la prueba, entrando a un nuevo navegador y dando la url publica en nuestro ejemplo utilizamos ur1 para volverla mas pequeña nuestra direccion

[img[http://ur1.ca/cyng]]