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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

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

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

----
Also see AdvancedOptions
<<importTiddlers>>
In Socialtext Unplugged, the selected pages of your Socialtext workspace are displayed as individual "tiddlers" on the page. When the mouse passes over a tiddler a short toolbar menu appears at the top right. Use the commands here to manipulate that particular tiddler: notably closing and editting it. (You can double click on a tiddler as a shortcut to directly enter edit mode).

Over on the right hand side of the window are commands that affect the entire page, in particular "close all" which can be useful to clear the decks when many tiddlers are open at once.

The user is encouraged to ensure that they can SaveChanges before embarking on widespread editing.
Welcome to Socialtext Unplugged. This is a specially designed web page that you can use to view and edit your Socialtext content without having to be online to your Socialtext server.

There are three steps to using Socialtext Unplugged:
* First, learn how to SaveChanges to your local hard drive. This keeps your work safe even if you close your browser or have to reboot your computer
* Secondly, find out how to BrowseAndEdit your content while it is unplugged
* Thirdly, when you can reconnect to your Socialtext server, you can SyncChanges to save your unplugged changes to the server so that other people can see them too

You should also check your system meets the SystemRequirements.
Socialtext Unplugged lets you browse and edit your content while you're offline. When you make a change you need to SaveChanges to save the change to your local hard drive, before later performing a SyncChanges to synchronise the change back to the server.

The procedure for SaveChanges is slightly different for different browsers:
* SavingOnInternetExplorer
* SavingOnFireFox
* SavingOnSafari
* SavingOnOpera
You can save changes with any version of FireFox, and also many other browsers in the FireFox family, such as Camino on the Mac and MiniMo on mobile devices. The procedure is:
# Click the button labelled 'save changes' over in the right hand sidebar
# If prompted with an "Internet Security" dialog as follows, click the checkbox labelled "Remember this decision" and then the "Allow" button
## "A script from "file://" is requesting enhanced capabilities that are UNSAFE and could be used to compromise your machine or data..."
# You should then see a message at the top right of the window saying "Main TiddlyWiki file saved"
If you accidentally //deny// permission instead, you may need to UnravelFireFoxPermissions.
You can save changes with Internet Explorer versions 6 and 7, but not the earlier versions. The procedure is:
# Click the button labelled 'save changes' over in the right hand sidebar
# If prompted as follows, click "Yes":
## "An ActiveX control on this page might be unsafe to interact with other parts of the page. Do you want to allow this interaction?"
# You should then see a message at the top right of the window saying "Main TiddlyWiki file saved"
Note that there is currently [[a bug|http://trac.tiddlywiki.org/tiddlywiki/ticket/39]] that prevents Internet Explorer from saving correctly if you have specified a backup directory in AdvancedOptions.
To SaveChanges on Opera, see the instructions for using the TiddlySaver Java applet.
To SaveChanges on Safari, see the instructions for using the TiddlySaver Java applet.
<<search>><<closeAll>><<permaview>><<newTiddler 'New Tiddler' fields:'server.host:"https://saturn.ffzg.hr%2C%20saturn.ffzg.hr:443" server.workspace:"razmjenavjestina" wikiformat:socialtext'>><<newJournal 'DD MMM YYYY' fields:'server.host:"https://saturn.ffzg.hr%2C%20saturn.ffzg.hr:443" server.workspace:"razmjenavjestina" wikiformat:socialtext'>><<saveChanges>><<backstage sync>><<slider chkSliderOptionsPanel OptionsPanel 'options ยป' 'Change TiddlyWiki advanced options'>>
RazmjenaVjestina
Socialtext Unplugged
https://saturn.ffzg.hr/razmjenavjestina/
[[SocialtextScreenStyle]]
[[SocialtextStyleOverrides]]
[[Styles HorizontalMainMenu]]
<<sync>>
@@The user interface for synchronization is not finalized@@
To synchronize your changes back to the Socialtext server:
# click on [[Sync]] in the right-hand sidebar
<<tabs txtMoreTab Orphans 'Orphaned tiddlers' TabMoreOrphans Shadowed 'Shadowed tiddlers' TabMoreShadowed>>
Under FireFox, you can run into problems if you accidentally click 'Deny' on the permission request dialog, and have selected //Remember this decision//.

To reverse the effects, first locate the file {{{prefs.js}}} in your FireFox profile directory. Under Windows you'll find it at something like {{{C:\Documents and Settings\Jeremy\Application Data\Mozilla\Firefox\Profiles\o3dhupu6.default\prefs.js}}}, where {{{Jeremy}}} is the name of your windows profile and {{{o3dhupu6}}} will be a similar string of gobbledegook. On the Mac it'll be at {{{~/Library/Application Support/Firefox/Profiles/o3dhupu6.default/prefs.js}}} and on most versions of Linux, at {{{~/.mozilla/firefox/o3dhupu6.default/prefs.js}}}.

Open the file in a text editor and find the line {{{user_pref("capability.principal.codebase.p0.denied", "UniversalXPConnect");}}} and simply replace the word {{{denied}}} with {{{granted}}}.
//(Thanks to JonScully for figuring out this fix)//
<!--{{{-->
<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler references > fields syncing jump'></div>
<div class='workspace' id='st-page-wiki-title' macro='view socialtext.workspace'></div>
<div class='title' id='st-page-titletext' macro='view title'></div>
<div class='subtitle'>
Created on <span macro='view created date [[MMM DD, 0hh:0mm]]'></span>.
Updated by <span macro='view modifier link'></span>
on <span macro='view modified date [[MMM DD, 0hh:0mm]]'></span></div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></span></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
/***
To use, add {{{[[Styles HorizontalMainMenu]]}}} to your StyleSheet tiddler.
See http://www.w3schools.com/css/css_colors.asp for a color chart.
***/
/*{{{*/
#mainMenu {position:relative;left:auto;width:auto;text-align:left;line-height:normal;padding 0em 1em 0em 1em;font-size:normal;}
#mainMenu br {display:none;}
#mainMenu {background:#336699;}
#mainMenu {padding:2px;}
#mainMenu .button, #mainMenu .tiddlyLink {padding-left:0.5em;padding-right:0.5em;color:white;font-size:115%;}

#displayArea {
	margin-top:0;margin-right:20em;margin-bottom:0;margin-left:1em;
	padding-top:.1em;padding-bottom:.1em;
}
/*}}}*/
|''Type:''|socialtext|
|''URL:''|https://saturn.ffzg.hr%2C%20saturn.ffzg.hr:443 |
|''Workspace:''|razmjenavjestina|
|''WorkspaceList:''||
|''Description:''|RazmjenaVjestina|
The TiddlySaver Java applet allows TiddlyWiki from a {{{file://}}} URL to save changes Safari, Opera and other browsers.

It is a small file named [["TiddlySaver.jar"|TiddlySaver.jar]] that must be placed in the same directory as your TiddlyWiki file. Before you can use it, you need to give it the necessary privileges by editting your {{{.java.policy}}} file.

For Windows, the file will be at {{{C:\Documents and Settings\your-user-name\.java.policy}}}. Add the following lines (substituting the directory of your TiddlyWiki file as appropriate):
{{{
grant codeBase "file:${user.home}/My Documents/tiddlywiki-folder/*" {
  permission java.io.FilePermission "${user.home}${/}My Documents${/}tiddlywiki-folder${/}*", "read,write";
};
}}}
On Mac OS X, the file is found at {{{/Users/your-user-name/.java.policy}}}:
{{{
grant codeBase "file:${user.home}/Documents/tiddlywiki-folder/*" {
  permission java.io.FilePermission "${user.home}${/}Documents${/}tiddlywiki-folder${/}*", "read,write";
};
}}}
It can be tricky creating files whose name starts with a period, so you can use this [[pre-built .java.policy file|.java.policy]]. The same file is suitable for Macs too, just edit it and delete the "My " bit, leaving just "Documents". Make sure you save it in the right place for each operating system!

If you have trouble setting up the permissions correctly, you can try granting broader permissions to the applet like this:

{{{
grant codeBase "file://localhost/home/users/Desktop/
TiddlySaver.jar"
 { permission java.security.AllPermission; };
}}}

Note that there is currently [[a bug|http://trac.tiddlywiki.org/ticket/172]] that prevents TiddlySaver from working if you have specified a backup directory in AdvancedOptions.
/***
|''Name:''|SocialtextLocaleOverrides|
|''Description:''|Text changes for Socialtext|
***/

//{{{
merge(config.views.wikified.tag,{
	labelNoTags: "No Tags",
	labelTags: "Tags"});

merge(config.commands.references,{
	text: "incoming links",
	tooltip: "Show tiddlers that link to this one",
	popupNone: "No incoming links"});
//}}}
/***
|''Name:''|SocialtextTweaksPlugin|
|''Description:''|Allows changes to be synchronised with a Socialtext server|
|''Source:''|http://stunplugged.tiddlywiki.com/#SocialtextTweaksPlugin|
|''Author:''|JeremyRuston (jeremy (at) osmosoft (dot) com)|
|''Version:''|1.0.2|
|''Date:''|Jun 15, 2006|
|''Comments:''|Please make comments at http://groups.google.co.uk/group/TiddlyWikiDev|
|''License:''|[[BSD open source license]]|
|''~CoreVersion:''|2.2|

Make minor configuration tweaks specific to Socialtext Unplugged
***/

//{{{
// Ensure that the SocialtextTweaksPlugin is only installed once.
if(!version.extensions.SocialtextTweaksPlugin) {
version.extensions.SocialtextTweaksPlugin = {installed:true};
// Check version number of core code
if(version.major < 2 || (version.major == 2 && version.minor < 2))
	{alertAndThrow("SocialtextTweaksPlugin requires TiddlyWiki 2.2 or later.");}

merge(config.defaultCustomFields,{
	wikiformat:'socialtext',
	'server.host':'https://saturn.ffzg.hr%2C%20saturn.ffzg.hr:443'
});

config.options.chkSinglePageMode = true;
config.options.chkEnableAnimations = true;

} // end of "install only once"
//}}}
/***
|''Name:''|SocialtextFormatterPlugin|
|''Description:''|Allows Tiddlers to use [[Socialtext|http://www.socialtext.com/]] text formatting|
|''Author:''|Martin Budden (mjbudden (at) gmail (dot) com)|
|''Source:''|http://www.martinswiki.com/#SocialtextFormatterPlugin|
|''CodeRepository:''|http://svn.tiddlywiki.org/Trunk/contributors/MartinBudden/formatters/SocialtextFormatterPlugin.js|
|''Version:''|0.9.4|
|''Date:''|Jan 21, 2007|
|''Comments:''|Please make comments at http://groups.google.co.uk/group/TiddlyWikiDev|
|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|''~CoreVersion:''|2.1.0|

This is the SocialtextFormatterPlugin, which allows you to insert Socialtext formated text into a TiddlyWiki.

The aim is not to fully emulate Socialtext, but to allow you to work with Socialtext content off-line and then resync the content with your Socialtext wiki later on, with the expectation that only minor edits will be required.

To use Socialtext format in a Tiddler, tag the Tiddler with SocialtextFormat or set the tiddler's {{{wikiformat}}} extended field to {{{socialtext}}}

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

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

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

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

wikify = function(source,output,highlightRegExp,tiddler)
{
	if(source && source != '') {
		var w = new Wikifier(source,getParser(tiddler),highlightRegExp,tiddler);
		var out = output;
		if(tiddler && (tiddler.isTagged(config.parsers.socialtextFormatter.formatTag) || (tiddler.fields.wikiformat==config.parsers.socialtextFormatter.format)) ) {
			var d1 = createTiddlyElement(output,'div','content-display-body','content-section-visible');
			var d2 = createTiddlyElement(d1,'div','wikipage');
			out = createTiddlyElement(d2,'div',null,'wiki');
		}
		var time1,time0 = new Date();
		w.subWikifyUnterm(out);
		if(tiddler && config.options.chkDisplayInstrumentation) {
			time1 = new Date();
			var t = tiddler ? tiddler.title : source.substr(0,10);
			displayMessage("Wikify '"+t+"' in " + (time1-time0) + " ms");
		}
	}
};

stDebug = function(out,str)
{
	createTiddlyText(out,str.replace(/\n/mg,'\\n').replace(/\r/mg,'RR'));
	createTiddlyElement(out,'br');
};

SocialtextFormatter.Tiddler_changed = Tiddler.prototype.changed;
Tiddler.prototype.changed = function()
{
	if((this.fields.wikiformat==config.parsers.socialtextFormatter.format) || this.isTagged(config.parsers.socialtextFormatter.formatTag)) {
		// update the links array, by checking for Socialtext format links
		this.links = [];
		var tiddlerLinkRegExp = /(?:\"(.*?)\" ?)?\[([^\]]*?)\]/mg;
		tiddlerLinkRegExp.lastIndex = 0;
		var match = tiddlerLinkRegExp.exec(this.text);
		while(match) {
			var link = match[2];
			this.links.pushUnique(link);
			match = tiddlerLinkRegExp.exec(this.text);
		}
	}/* else {
		return SocialtextFormatter.Tiddler_changed.apply(this,arguments);
	}*/
	this.linksUpdated = true;
};

SocialtextFormatter.wafl = function(w)
{
	this.lookaheadRegExp.lastIndex = w.matchStart;
	var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
	if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
		var lm2 = lookaheadMatch[2];
		switch(lookaheadMatch[1]) {
		case 'image':
			var img = createTiddlyElement(w.output,'img');
			img.src = w.tiddler.title + '/' + lm2;
			createTiddlyText(img,lm2);
			break;
		case 'file':
			var s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			var a = createTiddlyElement(s,'a');
			a.href = w.tiddler.title + '/' + lm2;
			createTiddlyText(a,lm2);
			break;
		case 'link':
			s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			a = createTiddlyElement(s,'a');
			var t = w.tiddler ? w.tiddler.title + ':' : '';
			a.setAttribute('href','#' + t + lm2);
			a.title = 'section link';
			createTiddlyText(a,lm2);
			break;
		case 'weblog':
			s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			var text = lm2;
			var link = 'Weblog: ' + lm2;
			createTiddlyText(createTiddlyLink(s,link,false,null,w.isStatic),text);
			break;
		case 'section':
			a = createTiddlyElement(w.output,'a');// drop anchor
			t = w.tiddler ? w.tiddler.title + ':' : '';
			a.setAttribute('name',t + lm2);
			break;
		case 'date':
			createTiddlyText(w.output,lm2);
			break;
		case 'user':
			var oldSource = w.source;
			w.source = lm2;
			w.nextMatch = 0;
			w.subWikifyUnterm(w.output);
			w.source = oldSource;
			break;
// Shortcut expansions - not strictly syntax
		case 'google':
			s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			a = createExternalLink(s,'http://www.google.com/search?q='+lm2);
			createTiddlyText(a,lm2);
			break;
		case 'fedex':
			s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			a = createExternalLink(s,'http://www.fedex.com/Tracking?tracknumbers='+lm2);
			createTiddlyText(a,lm2);
			break;
		case 'map':
			s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			a = createExternalLink(s,'http://maps.google.com/maps?q='+lm2);
			createTiddlyText(a,lm2);
			break;
		case 'wikipedia':
			s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			a = createExternalLink(s,'http://en.wikipedia.org/wiki/'+lm2);
			createTiddlyText(a,lm2);
			break;
		case 'rt':
			s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			a = createExternalLink(s,'http://rt.socialtext.net/Ticket/Display.html?id='+lm2);
			createTiddlyText(a,lm2);
			break;
		case 'stcal':
			s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			a = createExternalLink(s,'https://calendar.socialtext.net:445/view_t.php?timeb=1&id=3&date='+lm2);
			createTiddlyText(a,lm2);
			break;
		case 'svn':
			s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
			a = createExternalLink(s,'https://repo.socialtext.net/listing.php?rev='+lm2+'sc=1');
			createTiddlyText(a,lm2);
			break;
		default:
			w.outputText(w.output,w.matchStart,w.nextMatch);
			return;
		}
		w.nextMatch = this.lookaheadRegExp.lastIndex;
	} else {
		w.outputText(w.output,w.matchStart,w.nextMatch);
	}
};

SocialtextFormatter.presence = function(w)
{
	this.lookaheadRegExp.lastIndex = w.matchStart;
	var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
	if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
		var p = lookaheadMatch[1];
		var text = lookaheadMatch[2];
		var link;
		var src;
		if(p=='aim') {
			link = 'aim:goim?screenname=' + text + '&message=hello';
			src = 'http://big.oscar.aol.com/sleepleft?on_url=http://www.aim.com/remote/gr/MNB_online.gif&amp;off_url=http://www.aim.com/remote/gr/MNB_offline.gif';
		} else if(p=='yahoo'||p=='ymsgr') {
			link = 'ymsgr:sendIM?'+text;
			src = 'http://opi.yahoo.com/online?u=chrislondonbridge&f=.gif';
		} else if(p=='skype'||p=='callto') {
			link = 'callto:'+text;
			src = 'http://goodies.skype.com/graphics/skypeme_btn_small_green.gif';
		} else if(p=='asap') {
			link = 'http://asap2.convoq.com/AsapLinks/Meet.aspx?l='+text;
			src = 'http://asap2.convoq.com/AsapLinks/Presence.aspx?l='+text;
		}
		var s = createTiddlyElement(w.output,'span',null,'nlw_phrase');
		var a = createExternalLink(s,link);
		var img = createTiddlyElement(a,'img');
		createTiddlyText(a,text);
		img.src = src;
		img.border='0';
		img.alt = '(' + lookaheadMatch[1] + ')';
		if(p=='aim') {
			img.width='11'; img.height='13';
		}
		w.nextMatch = this.lookaheadRegExp.lastIndex;
	}
};

config.formatterHelpers.singleCharFormat = function(w)
{
	this.lookaheadRegExp.lastIndex = w.matchStart;
	var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
	if(lookaheadMatch && lookaheadMatch.index == w.matchStart && lookaheadMatch[0].substr(lookaheadMatch[0].length-2,1) != ' ') {
		w.subWikifyTerm(createTiddlyElement(w.output,this.element),this.termRegExp);
	} else {
		w.outputText(w.output,w.matchStart,w.nextMatch);
	}
};

config.socialtext = {};
config.socialtext.formatters = [
{
	name: 'socialtextHeading',
	match: '^\\^{1,6} ?',
	termRegExp: /(\n+)/mg,
	handler: function(w)
	{
		var len = w.matchText.trim().length;
		var e = createTiddlyElement(w.output,'h' + len);
		var a = createTiddlyElement(e,'a');// drop anchor
		var t = w.tiddler ? w.tiddler.title + ':' : '';
		len = w.source.substr(w.nextMatch).indexOf('\n');
		a.setAttribute('name',t+w.source.substr(w.nextMatch,len));
		w.subWikifyTerm(e,this.termRegExp);
	}
},

{
	name: 'socialtextTable',
	match: '^\\|(?:(?:.|\n)*)\\|$',
	lookaheadRegExp: /^\|(?:(?:.|\n)*)\|$/mg,
	cellRegExp: /(?:\|(?:[^\|]*)\|)(\n|$)?/mg,
	cellTermRegExp: /((?:\x20*)\|)/mg,
	handler: function(w)
	{
		var table = createTiddlyElement(w.output,'table');
		var rowContainer = createTiddlyElement(table,'tbody');
		var prevColumns = [];
		w.nextMatch = w.matchStart;
		this.lookaheadRegExp.lastIndex = w.nextMatch;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		while(lookaheadMatch && lookaheadMatch.index == w.nextMatch) {
			var r = this.rowHandler(w,createTiddlyElement(rowContainer,'tr'),prevColumns);
			if(!r) {
				w.nextMatch++;
				break;
			}
			this.lookaheadRegExp.lastIndex = w.nextMatch;
			lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		}
	},
	rowHandler: function(w,e,prevColumns)
	{
		this.cellRegExp.lastIndex = w.nextMatch;
		var cellMatch = this.cellRegExp.exec(w.source);
		while(cellMatch && cellMatch.index == w.nextMatch) {
			w.nextMatch++;
			var cell = createTiddlyElement(e,'td');
			w.subWikifyTerm(cell,this.cellTermRegExp);
			if(cellMatch[1]) {
				// End of row
				w.nextMatch = this.cellRegExp.lastIndex;
				return true;
			}
			// Cell
			w.nextMatch--;
			this.cellRegExp.lastIndex = w.nextMatch;
			cellMatch = this.cellRegExp.exec(w.source);
		}
		return false;
	}
},

{
	name: 'socialtextList',
	match: '^[\\*#]+ ',
	lookaheadRegExp: /^([\*#])+ /mg,
	termRegExp: /(\n+)/mg,
	handler: function(w)
	{
		var stack = [w.output];
		var currLevel = 0, currType = null;
		var itemType = 'li';
		w.nextMatch = w.matchStart;
		this.lookaheadRegExp.lastIndex = w.nextMatch;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		while(lookaheadMatch && lookaheadMatch.index == w.nextMatch) {
			var listType = lookaheadMatch[1] == '*' ? 'ul' : 'ol';
			var listLevel = lookaheadMatch[0].length;
			w.nextMatch += listLevel;
			if(listLevel > currLevel) {
				for(var i=currLevel; i<listLevel; i++) {
					stack.push(createTiddlyElement(stack[stack.length-1],listType));
				}
			} else if(listLevel < currLevel) {
				for(i=currLevel; i>listLevel; i--) {
					stack.pop();
				}
			} else if(listLevel == currLevel && listType != currType) {
				stack.pop();
				stack.push(createTiddlyElement(stack[stack.length-1],listType));
			}
			currLevel = listLevel;
			currType = listType;
			var e = createTiddlyElement(stack[stack.length-1],itemType);
			w.subWikifyTerm(e,this.termRegExp);
			this.lookaheadRegExp.lastIndex = w.nextMatch;
			lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		}
	}
},

{
	name: 'socialtextQuoteByLine',
	match: '^>+',
	lookaheadRegExp: /^>+/mg,
	termRegExp: /(\n)/mg,
	element: 'blockquote',
	handler: function(w)
	{
		var stack = [w.output];
		var currLevel = 0;
		var newLevel = w.matchLength;
		var i;
		do {
			if(newLevel > currLevel) {
				for(i=currLevel; i<newLevel; i++) {
					stack.push(createTiddlyElement(stack[stack.length-1],this.element));
				}
			} else if(newLevel < currLevel) {
				for(i=currLevel; i>newLevel; i--) {
					stack.pop();
				}
			}
			currLevel = newLevel;
			w.subWikifyTerm(stack[stack.length-1],this.termRegExp);
			createTiddlyElement(stack[stack.length-1],'br');
			this.lookaheadRegExp.lastIndex = w.nextMatch;
			var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
			var matched = lookaheadMatch && lookaheadMatch.index == w.nextMatch;
			if(matched) {
				newLevel = lookaheadMatch[0].length;
				w.nextMatch += newLevel;
			}
		} while(matched);
	}
},

{
	name: 'socialtextRule',
	match: '^----+$\\n+',
	handler: function(w)
	{
		createTiddlyElement(w.output,'hr');
	}
},

{
	name: 'socialtextPreformatted',
	match: '^\\.pre\\s*\\n',
	lookaheadRegExp: /^.pre\s*\n((?:.|\n)*?)\n.pre\s*\n/mg,
	element: 'pre',
	handler: config.formatterHelpers.enclosedTextHelper
},

{
	name: 'socialtextHtml',
	match: '^\\.html',
	lookaheadRegExp: /\.html((?:.|\n)*?)\.html/mg,
	handler: function(w)
	{
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			createTiddlyElement(w.output,'span').innerHTML = lookaheadMatch[1];
			w.nextMatch = this.lookaheadRegExp.lastIndex;
		}
	}
},

{
	name: 'macro',
	match: '<<',
	lookaheadRegExp: /<<([^>\s]+)(?:\s*)((?:[^>]|(?:>(?!>)))*)>>/mg,
	handler: function(w)
	{
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart && lookaheadMatch[1]) {
			w.nextMatch = this.lookaheadRegExp.lastIndex;
			invokeMacro(w.output,lookaheadMatch[1],lookaheadMatch[2],w,w.tiddler);
		}
	}
},

{
	name: 'socialtextExplicitLink',
	match: '(?:".*?" ?)?\\[',
	lookaheadRegExp: /(?:\"(.*?)\" ?)?\[([^\]]*?)\]/mg,
	handler: function(w)
	{
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			var link = lookaheadMatch[2];
			var text = lookaheadMatch[1] ? lookaheadMatch[1] : link;
			createTiddlyText(createTiddlyLink(w.output,link,false,null,w.isStatic,w.tiddler),text);
			w.nextMatch = this.lookaheadRegExp.lastIndex;
		}
	}
},

{
	name: 'socialtextExternalLink',
	match: '(?:".*?" ?)?<[a-z]{2,8}:',
	lookaheadRegExp: /(?:\"(.*?)\" ?)?<([a-z]{2,8}:.*?)>/mg,
	imgRegExp: /\.(?:gif|ico|jpg|png)/g,
	handler: function(w)
	{
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			var link = lookaheadMatch[2];
			var text = lookaheadMatch[1] ? lookaheadMatch[1] : link;
			this.imgRegExp.lastIndex = 0;
			if(this.imgRegExp.exec(link)) {
				var img = createTiddlyElement(w.output,'img');
				if(lookaheadMatch[1]) {
					img.title = text;
				}
				img.alt = text;
				img.src = link;
			} else {
				createTiddlyText(createExternalLink(w.output,link),text);
			}
			w.nextMatch = this.lookaheadRegExp.lastIndex;
		}
	}
},

{
	name: 'socialtextUrlLink',
	match: config.textPrimitives.urlPattern,
	handler: function(w)
	{
		w.outputText(createExternalLink(w.output,w.matchText),w.matchStart,w.nextMatch);
	}
},

{
	name: 'socialtextBold',
	match: '\\*(?![\\s\\*])',
	lookaheadRegExp: /\*(?!\s)(?:.*?)(?!\s)\*(?=[$\s\|\._\-,])/mg,
	termRegExp: /((?!\s)\*(?=[$\s\|\.\-_,]))/mg,
	element: 'strong',
	handler: config.formatterHelpers.singleCharFormat
},

{
	name: 'socialtextItalic',
	match: '_(?![\\s_])',
	lookaheadRegExp: /_(?!\s)(?:.*?)(?!\s)_(?=[$\s\|\.\*\-,])/mg,
	termRegExp: /((?!\s)_(?=[$\s\|\.\*\-,]))/mg,
	element: 'em',
	handler: config.formatterHelpers.singleCharFormat
},

{
	name: 'socialtextStrike',
	match: '-(?![\\s\\-])',
	lookaheadRegExp: /-(?!\s)(?:.*?)(?!\s)-(?=[$\s\|\.\*_,])/mg,
	termRegExp: /((?!\s)-(?=[$\s\|\.\*_,]))/mg,
	element: 'del',
	handler: config.formatterHelpers.singleCharFormat
},

{
	name: 'socialtextMonoSpaced',
	match: '`(?![\\s`])',
	lookaheadRegExp: /`(?!\s)(?:.*?)(?!\s)`(?=[$\s\.\*\-_,])/mg,
	termRegExp: /((?!\s)`(?=[$\s\.\*\-_,]))/mg,
	element: 'tt',
	handler: config.formatterHelpers.singleCharFormat
},

{
	name: 'socialtextParagraph',
	match: '\\n{2,}',
	handler: function(w)
	{
		createTiddlyElement(w.output,'p');
	}
},

{
	name: 'socialtextLineBreak',
	match: '\\n',
	handler: function(w)
	{
		createTiddlyElement(w.output,'br');
	}
},

{
	name: 'socialtextNoWiki',
	match: '\\{\\{',
	lookaheadRegExp: /\{\{((?:.|\n)*?)\}\}/mg,
	element: 'span',
	handler: config.formatterHelpers.enclosedTextHelper
},

{
	name: 'socialtextTrademark',
	match: '\\{tm\\}',
	handler: function(w)
	{
		createTiddlyElement(w.output,'span').innerHTML = '&trade;';
	}
},

{
	name: 'socialtextWafl',
	match: '\\{(?:[a-z]{2,16}): ?.*?\\}',
	lookaheadRegExp: /\{([a-z]{2,16}): ?(.*?)\}/mg,
	handler: SocialtextFormatter.wafl
},

{
	name: 'socialtextPresence',
	match: '(?:aim|yahoo|ymsgr|skype|callto|asap):\\w+',
	lookaheadRegExp: /(aim|yahoo|ymsgr|skype|callto|asap):(\w+)/mg,
	handler: SocialtextFormatter.presence
},

{
	name: 'socialtextMailTo',
	match: '[\\w\.]+@[\\w]+\.[\\w\.]+',
	lookaheadRegExp: /([\w\.]+@[\w]+\.[\w\.]+)/mg,
	handler: function(w)
	{
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			var text = lookaheadMatch[1];
			createTiddlyText(createExternalLink(w.output,'mailto:'+text),text);
			w.nextMatch = this.lookaheadRegExp.lastIndex;
		}
	}
},

{
	name: 'socialtextHtmlEntitiesEncoding',
	match: '&#?[a-zA-Z0-9]{2,8};',
	handler: function(w)
	{
		createTiddlyElement(w.output,'span').innerHTML = w.matchText;
	}
}
];

config.parsers.socialtextFormatter = new Formatter(config.socialtext.formatters);
config.parsers.socialtextFormatter.format = 'socialtext';
config.parsers.socialtextFormatter.formatTag = 'SocialtextFormat';

} // end of 'install only once'
//}}}
/***
|''Name:''|SocialtextAdaptorPlugin|
|''Description:''|Adaptor for moving and converting data to and from Socialtext Wikis|
|''Author:''|Martin Budden (mjbudden (at) gmail (dot) com) and JeremyRuston (jeremy (at) osmosoft (dot) com)|
|''Source:''|http://www.martinswiki.com/#SocialtextAdaptorPlugin|
|''CodeRepository:''|http://svn.tiddlywiki.org/Trunk/contributors/MartinBudden/adaptors/SocialtextAdaptorPlugin.js|
|''Version:''|0.5.1|
|''Date:''|Feb 25, 2007|
|''Comments:''|Please make comments at http://groups.google.co.uk/group/TiddlyWikiDev|
|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|''~CoreVersion:''|2.2.0|

Socialtext REST documentation is at:
http://www.eu.socialtext.net/st-rest-docs/index.cgi?socialtext_rest_documentation

***/

//{{{
if(!version.extensions.SocialtextAdaptorPlugin) {
version.extensions.SocialtextAdaptorPlugin = {installed:true};

function SocialtextAdaptor()
{
	this.host = null;
	this.workspace = null;
	return this;
}

SocialtextAdaptor.mimeType = 'text/x.socialtext-wiki';
SocialtextAdaptor.serverType = 'socialtext';
SocialtextAdaptor.serverParsingErrorMessage = "Error parsing result from server";
SocialtextAdaptor.errorInFunctionMessage = "Error in function SocialtextAdaptor.%0";

SocialtextAdaptor.prototype.setContext = function(context,userParams,callback)
{
	if(!context) context = {};
	context.userParams = userParams;
	if(callback) context.callback = callback;
	context.adaptor = this;
	if(!context.host)
		context.host = this.host;
	if(!context.workspace && this.workspace)
		context.workspace = this.workspace;
	return context;
};

SocialtextAdaptor.doHttpGET = function(uri,callback,params,headers,data,contentType,username,password)
{
	return doHttp('GET',uri,data,contentType,username,password,callback,params,headers);
};

SocialtextAdaptor.doHttpPOST = function(uri,callback,params,headers,data,contentType,username,password)
{
	return doHttp('POST',uri,data,contentType,username,password,callback,params,headers);
};

SocialtextAdaptor.fullHostName = function(host)
{
	if(!host)
		return '';
	if(!host.match(/:\/\//))
		host = 'http://' + host;
	if(host.substr(host.length-1) != '/')
		host = host + '/';
	return host;
};

SocialtextAdaptor.minHostName = function(host)
{
	return host ? host.replace(/^http:\/\//,'').replace(/\/$/,'') : '';
};

// Convert a page title to the normalized form used in uris
SocialtextAdaptor.normalizedTitle = function(title)
{
	var n = title.toLowerCase();
	n = n.replace(/\s/g,'_').replace(/\//g,'_').replace(/\./g,'_').replace(/:/g,'').replace(/\?/g,'');
	if(n.charAt(0)=='_')
		n = n.substr(1);
	return String(n);
};

// Convert a Socialtext date in YYYY-MM-DD hh:mm format into a JavaScript Date object
SocialtextAdaptor.dateFromEditTime = function(editTime)
{
	var dt = editTime;
	return new Date(Date.UTC(dt.substr(0,4),dt.substr(5,2)-1,dt.substr(8,2),dt.substr(11,2),dt.substr(14,2)));
};

SocialtextAdaptor.prototype.openHost = function(host,context,userParams,callback)
{
	this.host = SocialtextAdaptor.fullHostName(host);
	context = this.setContext(context,userParams,callback);
	if(context.callback) {
		context.status = true;
		window.setTimeout(function() {callback(context,userParams);},0);
	}
	return true;
};

SocialtextAdaptor.prototype.openWorkspace = function(workspace,context,userParams,callback)
{
	this.workspace = workspace;
	context = this.setContext(context,userParams,callback);
	if(context.callback) {
		context.status = true;
		window.setTimeout(function() {callback(context,userParams);},0);
	}
	return true;
};


SocialtextAdaptor.prototype.getWorkspaceList = function(context,userParams,callback)
{
	context = this.setContext(context,userParams,callback);
	var uriTemplate = '%0data/workspaces';
	var uri = uriTemplate.format([context.host]);
	var req = SocialtextAdaptor.doHttpGET(uri,SocialtextAdaptor.getWorkspaceListCallback,context,{'accept':'application/json'});
	return typeof req == 'string' ? req : true;
};

SocialtextAdaptor.getWorkspaceListCallback = function(status,context,responseText,uri,xhr)
{
	context.status = false;
	context.statusText = SocialtextAdaptor.errorInFunctionMessage.format(['getWorkspaceListCallback']);
	if(status) {
		try {
			eval('var info=' + responseText);
		} catch (ex) {
			context.statusText = exceptionText(ex,SocialtextAdaptor.serverParsingErrorMessage);
			if(context.callback)
				context.callback(context,context.userParams);
			return;
		}
		var list = [];
		for(var i=0; i<info.length; i++) {
			var item = {
				title:info[i].title,
				name:info[i].name,
				modified:SocialtextAdaptor.dateFromEditTime(info[i].modified_time)
				};
			list.push(item);
		}
		context.workspaces = list;
		context.status = true;
	} else {
		context.statusText = xhr.statusText;
	}
	if(context.callback)
		context.callback(context,context.userParams);
};

SocialtextAdaptor.prototype.getTiddlerList = function(context,userParams,callback)
{
	context = this.setContext(context,userParams,callback);
	var uriTemplate = '%0data/workspaces/%1/pages?order=newest';//!! ? or ;
	var uri = uriTemplate.format([context.host,context.workspace]);
	var req = SocialtextAdaptor.doHttpGET(uri,SocialtextAdaptor.getTiddlerListCallback,context,{'accept':'application/json'});
	return typeof req == 'string' ? req : true;
};


SocialtextAdaptor.getTiddlerListCallback = function(status,context,responseText,uri,xhr)
{
	context.status = false;
	context.statusText = SocialtextAdaptor.errorInFunctionMessage.format(['getTiddlerListCallback']);
	if(status) {
		try {
			eval('var info=' + responseText);
		} catch (ex) {
			context.statusText = exceptionText(ex,SocialtextAdaptor.serverParsingErrorMessage);
			if(context.callback)
				context.callback(context,context.userParams);
			return;
		}
		var list = [];
		for(var i=0; i<info.length; i++) {
			var tiddler = new Tiddler(info[i].name);
			tiddler.modified = SocialtextAdaptor.dateFromEditTime(info[i].last_edit_time);
			tiddler.modifier = info[i].last_editor;
			tiddler.tags = info[i].tags;
			tiddler.fields['server.page.id'] = info[i].page_id;
			tiddler.fields['server.page.name'] = info[i].name;
			tiddler.fields['server.page.revision'] = String(info[i].revision_id);
			list.push(tiddler);
		}
		context.tiddlers = list;
		context.status = true;
	} else {
		context.statusText = xhr.statusText;
	}
	if(context.callback)
		context.callback(context,context.userParams);
};

SocialtextAdaptor.prototype.generateTiddlerInfo = function(tiddler)
{
	var info = {};
	var host = this && this.host ? this.host : SocialtextAdaptor.fullHostName(tiddler.fields['server.host']);
	var workspace = this && this.workspace ? this.workspace : tiddler.fields['server.workspace'];
	uriTemplate = '%0%1/index.cgi?%2';
	info.uri = uriTemplate.format([host,workspace,SocialtextAdaptor.normalizedTitle(tiddler.title)]);
	return info;
};

SocialtextAdaptor.prototype.getTiddler = function(title,context,userParams,callback)
{
	return this.getTiddlerRevision(title,null,context,userParams,callback);
};

SocialtextAdaptor.prototype.getTiddlerRevision = function(title,revision,context,userParams,callback)
{
	context = this.setContext(context,userParams,callback);

	// request the page in json format to get the page attributes
	if(revision) {
		var uriTemplate = '%0data/workspaces/%1/pages/%2/revisions/%3';
		context.revision = revision;
	} else {
		uriTemplate = '%0data/workspaces/%1/pages/%2';
		context.revision = null;
	}
	uri = uriTemplate.format([context.host,context.workspace,SocialtextAdaptor.normalizedTitle(title),revision]);

	context.tiddler = new Tiddler(title);
	context.tiddler.fields.wikiformat = 'socialtext';
	context.tiddler.fields['server.host'] = SocialtextAdaptor.minHostName(context.host);
	context.tiddler.fields['server.workspace'] = context.workspace;
	var req = SocialtextAdaptor.doHttpGET(uri,SocialtextAdaptor.getTiddlerCallback,context,{'accept':'application/json'});
	return typeof req == 'string' ? req : true;
};


SocialtextAdaptor.getTiddlerCallback = function(status,context,responseText,uri,xhr)
{
	context.status = false;
	context.statusText = SocialtextAdaptor.errorInFunctionMessage.format(['getTiddlerCallback']);
	if(status) {
		try {
			eval('var info=' + responseText);
			context.tiddler.tags = info.tags;
			context.tiddler.fields['server.page.id'] = info.page_id;
			context.tiddler.fields['server.page.name'] = info.name;
			context.tiddler.fields['server.page.revision'] = String(info.revision_id);
			context.tiddler.modifier = info.last_editor;
			context.tiddler.modified = SocialtextAdaptor.dateFromEditTime(info.last_edit_time);
		} catch (ex) {
			context.statusText = exceptionText(ex,SocialtextAdaptor.serverParsingErrorMessage);
			if(context.callback)
				context.callback(context,context.userParams);
			return;
		}
		context.status = true;
	} else {
		context.statusText = xhr.statusText;
		if(context.callback)
			context.callback(context,context.userParams);
		return;
	}
	var uriTemplate = context.revision ? '%0data/workspaces/%1/pages/%2/revisions/%3' : '%0data/workspaces/%1/pages/%2';
	var host = SocialtextAdaptor.fullHostName(context.tiddler.fields['server.host']);
	var workspace = context.workspace ? context.workspace : context.tiddler.fields['server.workspace'];
	uri = uriTemplate.format([host,workspace,SocialtextAdaptor.normalizedTitle(context.tiddler.title),context.revision]);
	var req = SocialtextAdaptor.doHttpGET(uri,SocialtextAdaptor.getTiddlerCallback2,context,{'accept':SocialtextAdaptor.mimeType});
};

SocialtextAdaptor.getTiddlerCallback2 = function(status,context,responseText,uri,xhr)
{
	context.tiddler.text = responseText;
	if(status) {
		context.status = true;
	} else {
		context.status = false;
		context.statusText = xhr.statusText;
	}
	if(context.callback)
		context.callback(context,context.userParams);
};

SocialtextAdaptor.prototype.getTiddlerRevisionList = function(title,limit,context,userParams,callback)
{
	context = this.setContext(context,userParams,callback);

	var uriTemplate = '%0data/workspaces/%1/pages/%2/revisions?accept=application/json';
	if(!limit)
		limit = 5;
	var uri = uriTemplate.format([context.host,context.workspace,SocialtextAdaptor.normalizedTitle(title),limit]);

	var req = SocialtextAdaptor.doHttpGET(uri,SocialtextAdaptor.getTiddlerRevisionListCallback,context);
	return typeof req == 'string' ? req : true;
};

SocialtextAdaptor.getTiddlerRevisionListCallback = function(status,context,responseText,uri,xhr)
{
	context.status = false;
	if(status) {
		var content = null;
		try {
			eval('var info=' + responseText);
		} catch (ex) {
			context.statusText = exceptionText(ex,SocialtextAdaptor.serverParsingErrorMessage);
			if(context.callback)
				context.callback(context,context.userParams);
			return;
		}
		list = [];
		for(var i=0; i<info.length; i++) {
			var tiddler = new Tiddler(info[i].name);
			tiddler.modified = SocialtextAdaptor.dateFromEditTime(info[i].last_edit_time);
			tiddler.modifier = info[i].last_editor;
			tiddler.tags = info[i].tags;
			tiddler.fields['server.page.id'] = info[i].page_id;
			tiddler.fields['server.page.name'] = info[i].name;
			tiddler.fields['server.page.revision'] = info[i].revision_id;
			list.push(tiddler);
		}
		var sortField = 'server.page.revision';
		list.sort(function(a,b) {return a.fields[sortField] < b.fields[sortField] ? +1 : (a.fields[sortField] == b.fields[sortField] ? 0 : -1);});
		context.revisions = list;
		context.status = true;
	} else {
		context.statusText = xhr.statusText;
	}
	if(context.callback)
		context.callback(context,context.userParams);
};

SocialtextAdaptor.prototype.putTiddler = function(tiddler,context,userParams,callback)
{
	context = this.setContext(context,userParams,callback);
	context.tiddler = tiddler;
	context.title = tiddler.title;
	var uriTemplate = '%0data/workspaces/%1/pages/%2';
	var host = context.host ? context.host : SocialtextAdaptor.fullHostName(tiddler.fields['server.host']);
	var workspace = context.workspace ? context.workspace : tiddler.fields['server.workspace'];
	var uri = uriTemplate.format([host,workspace,tiddler.title,tiddler.text]);
	//var req = doHttp('POST',uri,tiddler.text,SocialtextAdaptor.mimeType,null,null,SocialtextAdaptor.putTiddlerCallback,context,{"X-Http-Method": "PUT"});
	var req = SocialtextAdaptor.doHttpPOST(uri,SocialtextAdaptor.putTiddlerCallback,context,{"X-Http-Method": "PUT"},tiddler.text,SocialtextAdaptor.mimeType);
	return typeof req == 'string' ? req : true;
};

SocialtextAdaptor.putTiddlerCallback = function(status,context,responseText,uri,xhr)
{
	if(status) {
		context.status = true;
	} else {
		context.status = false;
		context.statusText = xhr.statusText;
	}
	if(context.callback)
		context.callback(context,context.userParams);
};

SocialtextAdaptor.prototype.close = function()
{
	return true;
};

config.adaptors[SocialtextAdaptor.serverType] = SocialtextAdaptor;
} //# end of 'install only once'
//}}}
/***
SocialtextStyleOverrides
***/

/*{{{*/
.headerShadow {padding: 2em 0em .5em 1em;}
.headerForeground {padding: 2em 0em .5em 1em;}

#st-page-wiki-title {
	font-size: 80%;
}
.subtitle {
	font-style: italic;
	font-size 80%;
}

/* from #st-tags */
.tagged {
	border-color: #bbeebb;
	background-color: #f4fff4;
}

.tagged .listTitle {
	color: #595;
	font-weight: bold;
}

.tagged .button {
	color: #000;
}

.selected .tagged {
	background-color: ColorPalette::TertiaryLight;
	border: 1px solid ColorPalette::TertiaryMid;
}

/* from #st-incoming-links */
.tagging {
	border-color: #ebb;
	background-color: #fff4f4;
}

.tagging .listTitle {
	color: #b78;
	font-weight: bold;
}

.tagging .button {
	color: #999;
}

.selected .tagging {
	background-color: ColorPalette::TertiaryLight;
	border: 1px solid ColorPalette::TertiaryMid;
}

.tiddler {/* Tiddler body */
	border:1px solid #ccc;
	margin:0.5em;
	background:#fff;
	padding:0.5em;
}

.viewer blockquote {border-left: 0px solid}

.tiddlyLinkNonExisting {
	font-style: italic;
	border-bottom: 1px dashed;
}

.editor input, .editor textarea {
	background: #ffd;
	border-style: solid;
	border-color: #888 #ccc #ccc #888;
	border-width: 2px;
}

.tabContents {white-space: nowrap;}

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

#sidebar {
	position: absolute;
	right: 3px;
	width: 21em;
	font-size: .9em;
}

#sidebarOptions .button {
	border-color: #eee;
}

#sidebarTabs .tabContents {
	width: 20em;
	overflow: hidden;
}

.viewer tt {
	font-size: 1.2em;
	line-height: 1.4em;
}

ul {list-style-type: square;}
ul ul {list-style-type: circle;}

ol {list-style-type: decimal;}
ol ol {list-style-type: decimal;}
ol ol ol {list-style-type: decimal;}
ol ol ol ol {list-style-type: decimal;}
ol ol ol ol ol {list-style-type: decimal;}
ol ol ol ol ol ol {list-style-type: decimal;}

/*}}}*/
/***
SocialtextScreenStyle
http://www.eu.socialtext.net/static/2.0.0.1/css/st/screen.css
***/

/*{{{*/
body {
	font-family: Arial, sans-serif;
	color: #000;
	background: #eee;
	margin: 0;
}

/* Wiki Navigation */

.st-wiki-nav {
	clear: both;
	margin-left: 10px;
	margin-right: 10px;
}
.st-wiki-nav-content {
	background: url('../../images/st/wiki-nav/solid.gif') repeat-x left bottom;
	margin-left: 24px;
	margin-right: 24px;
	padding-top: 3px;
	min-height: 24px;
}
* html .st-wiki-nav-content {
	padding-bottom: 3px;
	height: 24px;
}

.st-wiki-nav-right {
	background: url('../../images/st/wiki-nav/right-round.gif') no-repeat bottom right;
}

.st-wiki-nav-left {
	background: url('../../images/st/wiki-nav/left-round.gif') no-repeat bottom left;
}

#st-home {
	float: left;
	margin-right: 60px;
	padding-top: 2px;
}

#st-home-link {
	color: white;
	text-decoration: none;
	font-weight: bold;
	font-family: Helvetica, sans-serif;
	font-size: 90%;
}

#st-editing-prefix-container {
	border-collapse: collapse;
	width: 100%;
	padding: 0px;
	margin: 0px;
	margin-bottom: -20px;
}

#st-editing-prefix-container tr td {
	margin: 0px;
	padding: 0px;
}

#st-editing-title {
	color: black;
	background-color: white;
	text-decoration: none;
	font-weight: bold;
	font-family: Helvetica, sans-serif;
	font-size: 90%;
	margin-bottom: 0.4em;
}

#st-wiki-title-invite {
	font-size: 50%;
	font-family: Helvetica, sans-serif;
}

#st-wiki-title-central-page-link {
	font-size: 50%;
	font-family: Helvetica, sans-serif;
}

#st-wiki-title-invite a {
	color: #00f;
}

#st-wiki-logo {
	text-align: center;
	clear: both;
}

#st-wiki-logo-image {
}

.st-wiki-nav-actions {
	float: right;
	color: black;
	font-size: 75%;
	padding-top: 3px;
}

.st-wiki-nav-actions a {
	padding: 2px;
	color: white;
	text-decoration: none;
	font-family: Helvetica, sans-serif;
}

/* Wiki Subnav */

#st-wiki-subnav {
	margin-top: 2px;
	font-size: 70%;
	font-weight: bold;
	font-family: Helvetica, sans-serif;
	color: #888;
}

#st-wiki-subnav a {
	padding: 2px;
	color: #008;
	text-decoration: none;
}

#st-wiki-subnav-right {
	float: right;
	margin-right: 6em;
}

#st-wiki-subnav-left {
	float: left;
	margin-left: 6em;
}
* html #st-wiki-subnav-left {
	margin-left: 3em;
}

/* Wiki Navigation Search Bar */

#st-search-form {
	margin: 0;
	padding: 0;
	padding-top: 1px;
}

#st-search-form .button-table {
	float: left;
	font-size: 79%;
	font-weight: bold;
	margin-left: 5px;
	margin-top: 1px;
}

#st-search-form #st-search-term {
	float: left;
	font-size: 60%;
}

/* Content Outline */

#st-content-border, #st-edit-border {
	position: relative;
	clear: both;
	margin-left: 3px;
	margin-right: 2px;
	margin-bottom: 0px;
	margin-top: 0px;
	border-bottom: 1px solid #eee;
}

#st-content-border-left, #st-edit-border-left {
	background: url('../../images/st/page-shadow/left.gif') left top repeat-y;
	position: relative;
}

#st-content-border-right, #st-edit-border-right {
	background: url('../../images/st/page-shadow/right.gif') right top repeat-y;
	position: relative;
}

#st-content-border-top, #st-edit-border-top {
	position: relative;
	background: url('../../images/st/page-shadow/top.gif') left top repeat-x;
}

#st-content-border-bottom, #st-edit-border-bottom {
	background: url('../../images/st/page-shadow/bottom.gif') left bottom repeat-x;
	position: relative;
}

#st-content-border-left-top, #st-edit-border-left-top {
	background: url('../../images/st/page-shadow/left-top.gif') left top no-repeat;
	position: relative;
}
#st-content-border-right-top, #st-edit-border-right-top {
	background: url('../../images/st/page-shadow/right-top.gif') right top no-repeat;
	position: relative;
}

#st-content-border-left-bottom, #st-edit-border-left-bottom {
	background: url('../../images/st/page-shadow/left-bottom.gif') left bottom no-repeat;
	position: relative;
}

#st-content-border-right-bottom, #st-edit-border-right-bottom {
	background: url('../../images/st/page-shadow/right-bottom.gif') right bottom no-repeat;
	padding-top: 5px;
	padding-bottom: 9px;
	position: relative;
}

* html #st-content-border-right-bottom, * html #st-edit-border-right-bottom {
	padding-top: 4px;
	padding-left: 7px;
	padding-right: 8px;
	position: relative;
}

.st-content-width-controller {
	width: 100%;
	position: relative;
	border-collapse: collapse;
}
.st-content-width-controller td {
	vertical-align: top;
}
.st-content {
	position: relative;
	background-color: white;
	margin-top: 0px;
	margin-left: 7px;
	margin-right: 8px;
	margin-bottom: -1px;
	border-left: 1px dotted #80a9f3;
	border-right: 1px dotted #80a9f3;
	border: 1px solid #80a9f3;
	padding: 6px 12px 12px 12px;
}
* html .st-content {
	margin-top: 0px;
	margin-left: 0px;
	margin-right: 0px;
}

/* This textarea is only for Safari. However, if we use display:none; here Safari ignores the .value operation in JS */
#st-raw-wikitext-textarea {
	width:1px;
	height:1px;
	margin:0;
	padding:0;
}

/* Action Buttons */
.button-table, .button-table tr td {
	border-collapse: collapse;
	margin: 0;
	padding: 0;
}
.button-rounded {
	background: url('../../images/st/grey-button/left-top-rounded.png') top left no-repeat;
	margin: 0;
}
.button-rounded-right-top {
	background: url('../../images/st/grey-button/right-top-rounded.png') top right no-repeat;
	margin: 0;
}
.button-rounded-left-bottom {
	background: url('../../images/st/grey-button/left-bottom-rounded.png') bottom left no-repeat;
	margin: 0;
}
.button-rounded-right-bottom {
	background: url('../../images/st/grey-button/right-bottom-rounded.png') bottom right no-repeat;
	margin: 0;
}
.button-straight {
	background: url('../../images/st/grey-button/left-top-straight.png') top left no-repeat;
	margin: 0;
}
.button-straight-right-top {
	background: url('../../images/st/grey-button/right-top-straight.png') top right no-repeat;
	margin: 0;
}
.button-straight-left-bottom {
	background: url('../../images/st/grey-button/left-bottom-straight.png') bottom left no-repeat;
	margin: 0;
}
.button-straight-right-bottom {
	background: url('../../images/st/grey-button/right-bottom-straight.png') bottom right no-repeat;
	margin: 0;
}
.button-content {
	font-size: 90%;
}
.button-content a {
	display: block;
	padding: 2px;
	padding-left: 10px;
	padding-right: 10px;
	font-family: Helvetica, Verdana, sans-serif;
	font-weight: bold;
	text-decoration: none;
	color: black;
}

.button-content input.submit {
	border: 0px;
	padding: 2px;
	padding-left: 10px;
	padding-right: 10px;
	font-family: Helvetica, Verdana, sans-serif;
	font-weight: bold;
	text-decoration: none;
	color: black;
	background-color: transparent;
}

/* Personal Homepage */

#st-homepage {
	background: white url('../../images/st/homepage/blue-fade.gif') top left no-repeat;
}

#st-homepage-layout {
	margin-top: 15px;
	clear: both;
	width: 100%;
	border-collapse: collapse;
}

#st-homepage-layout tr td.st-homepage-layout-cell {
	padding: 5px;
	vertical-align: top;
}

#st-homepage-layout-dashboard {
	width: 50%
}

#st-homepage-layout-notes {
	width: 50%;
}

#st-homepage-notes, #st-homepage-dashboard {
	text-align: left;
	width: 95%;
}

#st-user-greeting, #st-wiki-title {
	font-family: Helvetica, Verdana, sans-serif;
	font-size: 150%;
}
#st-wiki-title {
	margin-left: 5px;
}

#st-user-greeting {
	position: relative;
	text-align: right;
	float: right;
}

#st-group-notes-content, #st-personal-notes-content {
}

.st-homepage-section {
	margin-bottom: 15px;
}

#st-homepage-notes .st-homepage-section {
	background-color: white;
	border: 1px solid #aaa;
	padding: 15px;
}

.st-homepage-section-title {
	font-size: 110%;
	font-family: Helvetica, Verdana, sans-serif;
}

#st-homepage-notes .st-homepage-section-title {
	color: #aaa;
	text-decoration: underline;
}

.st-homepage-notes-edit-link {
	background: url('../../images/st/homepage/edit-icon.gif') no-repeat left top;
	display: block;
	text-indent: -2000px;
	height: 13px;
	width: 36px;
	text-decoration: none;
	padding:0;
}
* html .st-homepage-notes-edit-link {
	border:1px solid white;
}

.st-homepage-notes-edit {
	font-family: Verdana, sans-serif;
	font-size: 65%;
	float: right;
}

.st-homepage-notes-content {
	font-size: 85%;
	margin-top: 10px;
	padding-top: 0px;
	padding-bottom: 0px;
	font-family: Verdana, Helvetica, sans-serif;
}

#st-dyk {
	border-color: #cca !important;
	background-color: #ffe !important;
}

#st-dyk-title {
	color: #e4a020 !important;
	text-decoration: none !important;
}


/* Homepage Simple List */

#st-whats-new-title-link {
	background: url('../../images/st/homepage/icon-28-pages.gif') no-repeat left top;
}
#st-watchlist-title-link {
	background: url('../../images/st/homepage/icon-28-star.gif') no-repeat left top;
}
#st-wikis-title-link {
	background: url('../../images/st/homepage/icon-28-group.gif') no-repeat left top;
}
.st-homepage-simplelist-title-link {
	display: block;
	padding-left: 32px;
	min-height: 32px;
}
* html .st-homepage-simplelist-title-link {
	height: 32px;
}

.st-homepage-simplelist-title {
}

.st-homepage-simplelist-table {
	margin-left: 25px;
	border: 1px dashed #ddd;
	border-collapse: collapse;
	font-family: Verdana, Helvetica, sans-serif;
	font-size: 80%;
	width: 95%;
}

.st-homepage-simplelist-table td {
	padding: 2px;
}

.st-homepage-simplelist-table tr.st-homepage-simplelist-row-odd {
	background-color: #f3f7f7;
}

.st-homepage-simplelist-table tr.st-homepage-simplelist-row-even {
	background-color: white;
}

.st-homepage-simplelist-table a {
	color: #4f55dd;
	text-decoration: none;
}

.st-homepage-simplelist-table a:visited {
	color: #551a8b;
}

.st-homepage-simplelist-subleft {
	font-size: 80%;
	margin-left: 1em;
	color: #666;
}

.st-homepage-simplelist-right {
	width: 20%;
}

.st-homepage-simplelist-subright {
	font-size: 80%;
	color: #666;
}

.st-homepage-simplelist {
}

.st-homepage-simplelist-header {
	min-height: 35px;
}

.st-homepage-simplelist-header .button-table {
	float: right;
	margin-right: 15px;
	font-size: 95%;
}

.st-homepage-simplelist-header .button-table .button-content {
	padding: 1px;
}

.st-homepage-whatsnew-author, .st-homepage-whatsnew-date {
	color: #555;
}
.st-homepage-whatsnew-attribution {
	padding-left: 1em;
	font-size: 80%;
	color: #aaa;
}

/* Homepage Wikis List */

#st-wikis-title {
}

/* Data and Templates */

.st-jst-template, .st-json {
	display: none;
}

/* Page Sidebox Common Styles */

#st-page-boxes-toggle {
	position: relative;
	float: right;
	text-align: right;
	font-family: Verdana, Arial, sans-serif;
	font-weight: bold;
	font-size: 80%;
	margin-bottom: 0.7em;
}

#st-page-boxes-toggle-link {
	text-decoration: none;
}

#st-page-boxes-underlay {
	float: right;
	margin-top: -10px;
	margin-right: 10px;
	background: white;
	z-index: 198;
	clear: both;
	margin-left: 15px;
}
* html #st-page-boxes-underlay {
	margin-right: 4px;
}
#st-page-boxes {
	background: inherit;
	position: absolute;
	right: 23px;
	z-index: 199;
	margin-top: 15px;
	margin-left: 20px;
}
#st-page-boxes, #st-page-boxes-underlay {
	width: 225px;
	/* padding-left: 15px; */ /* Gives the white border effect, cwest dislikes it. */
}

.st-page-box {
	border: 1px solid black;
	padding: 5px;
	font-family: Verdana, Helvetica, sans-serif;
	font-size: 80%;
	margin-top: 15px;
}

.st-page-box-title {
	font-family: Helvetica, Verdana, sans-serif;
	font-weight: bold;
	margin-bottom: 10px;
}

.st-page-box-listing {
	margin: 0;
	padding: 0;
}

.st-page-box-listing-entry {
	display: block;
}

.st-page-boxes-nobacklinks {
	font-family: Verdana, Helvetica, sans-serif;
	font-size: 90%;
	color: #888;
}

.st-page-box-first {
	margin-top: 0px;
}

/* Page Display */

#st-page-content {
	clear: left;
	margin-top: 6px;
	margin-bottom: 0;
	padding-bottom: 0;
}

#st-page-content, #st-page-content td {
	font-family: Verdana, Helvetica, sans-serif;
	font-size: 90%;
}

#st-page-wiki-title {
	font-family: Helvetica, Verdana, sans-serif;
	font-size: 65%;
	font-weight: bold;
	color: #aaa;
	margin-bottom: 0.2em;
	margin-top: 0.1em;
	padding-top: 0;
}

#wiki {
	margin: 0;
	padding: 0;
}

#st-page-title {
}

#st-page-titletext, .st-page-title {
	font-family: Helvetica, Verdana, sans-serif;
	font-size: 150%;
	font-weight: bold;
	color: #888;
	border-bottom: 1px solid #888;
}

#st-newpage-pagename-edit {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	color: #000;
	border: 1px solid black;
	padding-left: 0.3em;
	background-color: #ffd;
}

#st-page-details {
	font-style: italic;
	font-size: 75%;
	font-family: Georgia, serif;
	margin: 6px 10px 0 10px;
}

#st-page-details-feed-icon {
	vertical-align: middle;
	border: none;
}

#st-page-stats {
	float: right;
	vertical-align: middle;
}

#st-attribution {
	float: left;
	margin-bottom: 10px;
}

#st-page-editing-wysiwyg {
	background: #ffd;
	border-style: solid;
	border-color: #888 #ccc #ccc #888;
	border-width: 2px;
	width: 100%;
}

#st-page-editing-toolbar {
	margin-left: -6px;
	overflow: hidden;
	float: left;
	height: 25px;
}

#wikiwyg_wikitext_textarea {
	margin-top: 4px;
	background: #ffd;
	border-style: solid;
	border-color: #888 #ccc #ccc #888;
	border-width: 2px;
	width: 100%;
	font-family: monospace;
}

#st-page-maincontent {
}

#st-page-editing, #wikiwyg_wikitext_textarea {
}

#st-page-editing-pagebody-decoy, #st-page-editing-wysiwyg {
	display: none;
}

#st-editing-tools-edit {
	display: none;
}

#st-mode-wysiwyg-button
{
	font-size: 70%;
	margin-left: 4em;
}

#st-mode-wikitext-button
{
	font-size: 70%;
}

#st-edit-tips
{
	font-size: 70%;
}

.wikiwyg_button {
	background: #FFFFFF;
	border: 1px solid #FFFFFF;
	cursor: pointer;
	width: 20px;
	height: 20px;
	vertical-align: bottom;
}

.wikiwyg_button:hover {
	border: 1px outset;
}

.wikiwyg_button:active {
	border: 1px inset;
}

#wikiwyg_toolbar {
	display: none;
}

/* Sidebox Pagetools: Revisions, Watchlist */
#st-side-box-pagetools {
	border-collapse: collapse;
}

#st-rewind-norevisions {
	font-family: Helvetica, Arial, sans-serif;
	font-size: 11px;
	color: #777;
	text-decoration: none;
}

#st-side-box-pagetools a {
	font-family: Helvetica, Arial, sans-serif;
	font-size: 11px;
	color: #555;
	text-decoration: none;
}

/* Page View Tags/Incoming Links Sidebox */

#st-tags {
	background: #f4fff4;
	border-color: #bbeebb;
	color: #999;
}

#st-tags-title {
	color: #595;
}

#st-tags-addlink, #st-tags-addbutton {
	font-weight: bold;
}

#st-tags-listing {
	margin-bottom: 5px;
}

#st-tags-addinput, #st-tags-message, #st-tags-suggestion {
	display: none;
}

#st-tags-deletemessage {
	font-size: 90%;
	color: #555;
	display: none;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

#st-tags-suggestion {
	margin-top: 2px;
}

.st-tags-level1 {
	font-size: 90%;
}

.st-tags-level2 {
	font-size: 100%;
}

.st-tags-level3 {
	font-size: 110%;
}

.st-tags-level4 {
	font-size: 120%;
}

.st-tags-level5 {
	font-size: 130%;
}

.st-tags-tagline .st-tags-tagdelete {
	text-decoration: none;
	color: #ccc;
}

.st-tags-tagline a {
	text-decoration: none;
	color: #444;
}

#st-tags-field {
	width: 95%;
}

#st-incoming-links {
	border-color: #ebb;
	background-color: #fff4f4;
}

#st-incoming-links-title {
	color: #b78;
}

#st-attachments {
	border-color: #bbe;
	background-color: #f4f4ff;
}

#st-attachments-uploadbutton, #st-attachments-managebutton {

}
#st-attachments-buttons-uploadbutton {
	margin: 0px;
	padding: 0px;
	padding-left: 2px;
}
#st-attachments-buttons-managebutton {
	margin: 0px;
	padding: 0px;
	padding-right: 2px;
}

#st-attachments-buttons td {
	padding-right: 3px;
	font-size: 99%;
}

#st-attachments-buttons {
	border-collapse: collapse;
	margin: 0px;
	padding: 0px;
	margin-top: 5px;
}

#st-attachments-title {
	color: #77b;
}

.st-attachments-line {
	width:100%;
	overflow:hidden;
}

/* Actions Bar */

#st-actions-bar-spacer {
	clear:both;
	height:0.5em;
	overflow:hidden;
}

#st-actions-bar-spacer-clear {
	clear:both;
	height:1px;
	overflow:hidden;
}


#st-actions-bar, #st-editing-tools-bar {
	margin-left: 30px !important;
	margin-right: 30px !important;
}

/* Footer */
#st-footer {
	margin-top: -8px;
	margin-bottom: 5px;
	clear: both;
}

/* Socialtext Attribution */

#st-socialtext-attribution {
	clear: both;
	text-align: center;
	font-size: 80%;
	font-family: Helvetica, sans-serif;
}

#st-socialtext-attribution-link {
	text-decoration: none;
}

#st-socialtext-attribution-image {
	border: 0;
}


/* Page Actions */

#st-edit-button-border-left-middle, #st-login-to-edit-button-border-left-middle {
	background: url('../../images/st/button-blue/left-middle.gif') left top repeat-y;
}
#st-edit-button-border-right-middle, #st-login-to-edit-button-border-right-middle {
	background: url('../../images/st/button-blue/right-middle.gif') right top repeat-y;
}

#st-edit-button-border-left-top, #st-login-to-edit-button-border-left-top {
	background: url('../../images/st/button-blue/left-top.gif') left top no-repeat;
}
#st-edit-button-border-right-top, #st-login-to-edit-button-border-right-top {
	background: url('../../images/st/button-blue/right-top.gif') right top no-repeat;
}

#st-edit-button-border-left-bottom, #st-login-to-edit-button-border-left-bottom {
	background: url('../../images/st/button-blue/left-bottom.gif') left bottom no-repeat;
}

#st-edit-button-border-right-bottom, #st-login-to-edit-button-border-right-bottom {
	background: url('../../images/st/button-blue/right-bottom.gif') right bottom no-repeat;
}

#st-edit-button-link, #st-login-to-edit-button-link {
}

#st-comment-button-border-left-middle {
	background: url('../../images/st/button-purple/left-middle.gif') left top repeat-y;
}

#st-comment-button-border-right-middle {
	background: url('../../images/st/button-purple/right-middle.gif') right top repeat-y;
}

#st-comment-button-border-left-top {
	background: url('../../images/st/button-purple/left-top.gif') left top no-repeat;
}

#st-comment-button-border-right-top {
	background: url('../../images/st/button-purple/right-top.gif') right top no-repeat;
}

#st-comment-button-border-left-bottom {
	background: url('../../images/st/button-purple/left-bottom.gif') left bottom no-repeat;
}

#st-comment-button-border-right-bottom {
	background: url('../../images/st/button-purple/right-bottom.gif') right bottom no-repeat;
}

#st-comment-button-link {
}

#st-save-button-border-left-middle {
	background: url('../../images/st/button-green/left-middle.gif') left top repeat-y;
}
#st-save-button-border-right-middle {
	background: url('../../images/st/button-green/right-middle.gif') right top repeat-y;
}

#st-save-button-border-left-top {
	background: url('../../images/st/button-green/left-top.gif') left top no-repeat;
}
#st-save-button-border-right-top {
	background: url('../../images/st/button-green/right-top.gif') right top no-repeat;
}

#st-save-button-border-left-bottom {
	background: url('../../images/st/button-green/left-bottom.gif') left bottom no-repeat;
}

#st-save-button-border-right-bottom {
	background: url('../../images/st/button-green/right-bottom.gif') right bottom no-repeat;
}

#st-save-button-link {
}

#st-preview-button-border-left-middle {
	background: url('../../images/st/button-gold/left-middle.gif') left top repeat-y;
}
#st-preview-button-border-right-middle {
	background: url('../../images/st/button-gold/right-middle.gif') right top repeat-y;
}

#st-preview-button-border-left-top {
	background: url('../../images/st/button-gold/left-top.gif') left top no-repeat;
}
#st-preview-button-border-right-top {
	background: url('../../images/st/button-gold/right-top.gif') right top no-repeat;
}

#st-preview-button-border-left-bottom {
	background: url('../../images/st/button-gold/left-bottom.gif') left bottom no-repeat;
}

#st-preview-button-border-right-bottom {
	background: url('../../images/st/button-gold/right-bottom.gif') right bottom no-repeat;
}

#st-preview-button-link {
}

#st-cancel-button-border-left-middle {
	background: url('../../images/st/button-crimson/left-middle.gif') left top repeat-y;
}
#st-cancel-button-border-right-middle {
	background: url('../../images/st/button-crimson/right-middle.gif') right top repeat-y;
}

#st-cancel-button-border-left-top {
	background: url('../../images/st/button-crimson/left-top.gif') left top no-repeat;
}
#st-cancel-button-border-right-top {
	background: url('../../images/st/button-crimson/right-top.gif') right top no-repeat;
}

#st-cancel-button-border-left-bottom {
	background: url('../../images/st/button-crimson/left-bottom.gif') left bottom no-repeat;
}

#st-cancel-button-border-right-bottom {
	background: url('../../images/st/button-crimson/right-bottom.gif') right bottom no-repeat;
}

#st-cancel-button-link {
}

#st-edit-more-button-border-left-middle {
	background: url('../../images/st/button-blue/left-middle.gif') left top repeat-y;
}
#st-edit-more-button-border-right-middle {
	background: url('../../images/st/button-blue/right-middle.gif') right top repeat-y;
}

#st-edit-more-button-border-left-top {
	background: url('../../images/st/button-blue/left-top.gif') left top no-repeat;
}
#st-edit-more-button-border-right-top {
	background: url('../../images/st/button-blue/right-top.gif') right top no-repeat;
}

#st-edit-more-button-border-left-bottom {
	background: url('../../images/st/button-blue/left-bottom.gif') left bottom no-repeat;
}

#st-edit-more-button-border-right-bottom {
	background: url('../../images/st/button-blue/right-bottom.gif') right bottom no-repeat;
}

#st-edit-more-button-link {
}

.st-page-action-button-link {
	min-height: 24px;
	min-width: 100px;
	text-align: center;
	font-family: Helvetica, Verdana, sans-serif;
	font-size: 90%;
	text-decoration: none;
	color: #fff;
	font-weight: bold;
	display: block;
	padding-top: 8px;
	padding-bottom: 0px;
	margin-bottom: -3px;
	width: 100%;
	margin-left: -2px;
}
* html .st-page-action-button-link {
	padding-top: 5px;
	padding-bottom: 0px;
	height: 24px;
}

.st-page-action-button {
	float: left;
	margin: 0;
	padding: 0;
	margin-right: 10px;
	min-height: 20px;
	border-collapse: collapse;
	width: 100px;
}

/* Attach File Interface */

#st-attachments-attachinterface {
	font-family: Helvetica, sans-serif;
	font-size: 90%;
	display: none;
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 2000;
	background-image: url('../../images/st/popup/bg.png');
}
#st-attachments-manageinterface {
	font-family: Helvetica, sans-serif;
	font-size: 90%;
	display: none;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 2000;
	background-image: url('../../images/st/popup/bg.png');
}

* html #st-attachments-attachinterface {
	background-image: none;
}
* html #st-attachments-manageinterface {
	background-image: none;
}
* html .popup-overlay {
	background-image: url('../../images/st/popup/bg.png');
	background-color: #000;
	opacity: .70;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 2001;
}

#st-attachments-attach-interface {
	z-index: 2002;
	background-color: #fff;
	color: #000;
	border: 4px solid #ccc;
	padding: 1em;
	width: 520px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10%;
	position: absolute;
	top: 0px;
}

* html #st-attachments-attach-interface {
}

#st-attachments-attach-formtarget {
	width: 0px;
	height: 0px;
	border: 0;
	padding: 0;
	margin: 0;
}

#st-attachments-attach-message {
	font-size: 90%;
	font-family: Verdana, Arial, Helvetica, Sans-Serif;
}

#st-attachments-attach-title {
	font-weight: bold;
	font-size: 120%;
}

#st-attachments-attach-close {
	float: right;
	margin-top: 6px;
}

#st-attachments-attach-uploadbutton {
	float: right;
	margin-right: 6px;
	margin-top: 6px;
	padding-bottom: 0;
}

#st-attachments-attach-fileprompt {
	margin: 0.2em 0 0.4em 0;
	padding-bottom: 0px;
}

#st-attachments-attach-submit {
	font-size: 90%;
	font-weight: bold;
}

#st-attachments-attach-filename {
	font-size: 90%;
}

#st-attachments-attach-uploadmessage {
	font-weight: bold;
	margin-bottom: 1em;
	display: none;
}

#st-attachments-attach-error {
	font-weight: bold;
	color: #f00;
	margin-bottom: 1em;
	display: none;
}

#st-attachments-attach-list {
	display: none;
	color: #666;
	font-size: 90%;
	margin-top: 1em;
	margin-bottom: 1em;
	border-top: 1px solid #4949BA;
	border-bottom: 1px solid #4949BA;
	background-color: #F5F5F5;
	padding: 3px;
}

.st-attachments-attach-listlabel {
	font-size: 90%;
	color: #4949BA;
}

/* Queue File Dialog */

#st-attachmentsqueue-interface {
	font-family: Helvetica, sans-serif;
	font-size: 90%;
	display: none;
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background-image: url('../../images/st/popup/bg.png'); /* Don't forget IE hack for ship! */
	z-index: 2000;
}

* html #st-attachmentsqueue-interface {
	background-image: none;
}

#st-attachmentsqueue-dialog {
	z-index: 2002;
	background-color: #fff;
	color: #000;
	border: 4px solid #ccc;
	padding: 1em;
	width: 530px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10%;
	position: absolute;
	top: 0px;
}

* html #st-attachmentsqueue-dialog {
}

#st-attachmentsqueue-fileprompt {
	margin-bottom: 0.4em;
	margin-top: 0;
	padding-bottom: 0;
}

#st-attachmentsqueue-title {
	font-weight: bold;
	font-size: 120%;
}

#st-attachmentsqueue-close {
	float: right;
	margin-top: 6px;
}

#st-attachmentsqueue-uploadbutton {
	float: right;
	margin-right: 6px;
	margin-top: 6px;
	padding-bottom: 0;
}

#st-attachmentsqueue-submit {
	font-size: 90%;
}

#st-attachmentsqueue-filename {
	font-size: 90%;
}

#st-attachmentsqueue-message {
	font-size: 90%;
	font-family: Verdana, Arial, Helvetica, Sans-Serif;
}

#st-attachmentsqueue-uploadmessage {
	font-weight: bold;
	margin-bottom: 1em;
	display: none;
}

#st-attachmentsqueue-error {
	font-weight: bold;
	color: #f00;
	margin-bottom: 1em;
	display: none;
}

#st-attachmentsqueue-list {
	display: none;
	color: #666;
	font-size: 90%;
	margin-top: 1em;
	margin-bottom: 1em;
	border-top: 1px solid #4949BA;
	border-bottom: 1px solid #4949BA;
	background-color: #F5F5F5;
	padding: 3px;
}

.st-attachmentsqueue-listlabel {
	font-size: 90%;
	color: #4949BA;
}

/* Lists */

tr.st-trbg-even, tr.st-trbg-even td{
	background-color: #f3f7f7;
}

tr.w-st-even-row, tr.w-st-even-row td {
	background-color: #f3f7f7;
}

.query-results-header-title, .query-results-header-last-edit-by {
	text-align: left;
}


.query-results-row-revisions {
	text-align: right;
}

.query-results-content {
	font-size: 85%;
	border-collapse: collapse;
	border: 1px dashed #ddd;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
}

.query-results-row {
	border-collapse: collapse;
	border: 1px dashed #ddd;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
}

.query-results-row a {
	text-decoration: underline;
	color: #00f;
}

.query-results-row td {
	font-family: Verdana;
	padding: 0.3em;
	border-left: 1px dashed #ddd;
	border-right: 1px dashed #ddd;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

.query-results-header-row {
	border-collapse: collapse;
	border: 1px dashed #ddd;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
}

.query-results-header-row a {
	text-decoration: underline;
	color: #00f;
}

.query-results-header-row th {
	font-family: Helvetica;
	padding: 0.3em;
	border-left: 1px dashed #ddd;
	border-right: 1px dashed #ddd;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

div.st-actionbutton {
	float: left;
}

div#deleteme-st-actions-bar {
	clear: both;
	margin: 0.8em 20px 0.2em auto;
	padding: 0;
}

/* Manage File Interface */



#st-attachments-manage-interface {
	z-index: 2002;
	background-color: #fff;
	color: #000;
	border: 4px solid #ccc;
	padding: 1em;
	width: 520px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10%;
	position: absolute;
	top: 0px;
}

#st-attachments-manage-filetable {
	height: 150px;
	margin: 0;
	padding: 0;
	width: 100%;
	overflow: auto;
	border: 1px solid #ccc;
}

#st-attachments-manage-filelisting tbody td {
	font-size: 90%;
}
#st-attachments-manage-filelisting {
	width: 100%;
	border-collapse: collapse;
	border: 0;
	margin: 0;
	padding: 0;
}

#st-attachments-manage-fileheader {
	background: #ccc;
	font-weight: bold;
	border-bottom: 1px black solid;
}

#st-attachments-manage-close {
	float: right;
	margin-top: 3px;
	margin-right: -2px;
	font-weight: bold;
}

#st-attachments-manage-delete {
	margin-top: 3px;
	float: left;
	font-weight: bold;
}

.st-attachments-manage-filerow {
	border-bottom: 1px solid #ccc;
}

.row-odd {
	background-color: #eee;
}

.row-even {
	background-color: #fff;
}

.row-on {
	background-color: #009 !important;
	color: white !important;
}

.row-on a {
	color: #fff !important;
}

#st-attachments-manage-deletemessage {
	color: red;
}

/* Page tools icons */

#st-pagetools-print {
	background: url('../../images/st/pagetools/print.gif')
	left center no-repeat;
}

#st-pagetools-email {
	background: url('../../images/st/pagetools/email.gif')
	left center no-repeat;
}

#st-pagetools-tools {
	background: url('../../images/st/pagetools/tools.gif')
	left center no-repeat;
}

/*
 #st-pagetools-watch {
	background: url('../../images/st/pagetools/watch-blue.gif')
	left center no-repeat;
}
*/


/* *********** Settings *********** */

#st-settings-pane {
}
* html #settings-pane { font-size: 85%;}

.settings-start-table {
}
* html .settings-start-table { font-size: 90%;}

#st-settings-select {
	padding: 0px 10px 10px 10px;
	vertical-align: top;
	width: 1px;

	background-color: #eff1ec;
	border: none;
}

#st-settings-section {
	padding: 0px 10px 10px 10px;
	vertical-align: top;
}

.settings-top-header {
	margin-top: 1em;
	font-weight: bold;
	width: 15em;
}

.settings-header {
	margin-top: 1em;
	font-weight: bold;
}

.settings-selections {
	padding: 0px 0px 0px 20px;
	line-height: 1.5em;
}

.settings-selections a:visited, .settings-selections a:active {
	color: #0000ff;
}

.settings-link {
	clear: both;
	display: block;
}

.settings-section-left {
	text-align: right;
}

.settings-label {
	font-weight: bold;
}

.settings-help {
	color: #888;
}

.settings-comment {
}

.users-invite-message {
	padding: 0.5em 0.5em 0.5em 2em;
	background-color: #eee;
	/* This seems necessary to fix an IE bug that sometimes
		causes the text in this div to be invisible */
	z-index: 1000;
}

.workspace-entry-header {
	margin-top: .5em;
	font-weight: bold;
}

.workspace-entry {
	margin-left: 3em;
}

.workspace-entry-p {
	margin-top: .5em;
	margin-bottom: .75em;
}

.workspace-subentry {
	font-style: italic;
	font-weight: bold;
	margin-left: 1.5em;
}

.preferences-td {
	padding:.5em 0 1.5em 0;
}

.preferences-query {
	text-align: left;
}

.preference-radio {
	background-color: #cec;
}
.user-settings-listall-headings td {
	background-color: #eff3ef;
}

#st-settings-save {
	padding-bottom: 0.5em;
}

.standard-button-cancel {
	font-weight: bold;
	background-color: #71004b;

	border-left: 1px solid #aaa;
	border-top: 1px solid #aaa;
	border-bottom: 2px solid #333;
	border-right: 2px solid #333;
	color: #f4f3b9;
	width: 8em;
}

.standard-button-submit {
	font-weight: bold;
	background-color: #656084;

	border-left: 1px solid #aaa;
	border-top: 1px solid #aaa;
	border-bottom: 2px solid #333;
	border-right: 2px solid #333;
	color: #f4f3b9;
	width: 8em;
}

#st-settings {
	font-family: Verdana, Arial, Helvetica, Sans-Serif;
	font-size: 90%;
}


/* Listview Tabs */


#st-listview a:visited {
	color: #551a8b;
}
#st-listview-tabs ul {
	display: block;
	list-style: none outside;
	margin: 0 0 0 4em;
	padding: 0;
	font-family: Helvetica, Arial, Sans-serif;
	font-size: 80%;
}

#st-listview-tabs li {
	display: block;
	float: left;
	margin: 0 0.8em 0 0;
	padding: 3px 0.6em 0 0.6em;
	border: 1px solid #d8d8d8;
	border-bottom: 1px solid rgb(128, 169, 243);
	background-color: #f4f4f4;
	position: relative;
	bottom: -2px;
}

#st-listview-tabs li.spacer {
	margin: 0 0.8em 0 2em;
}

#st-listview-tabs a {
	color: #bbb;
	text-decoration: none;
}

#st-listview-tabs li.selected {
	background-color: #fff !important;
	border: 1px solid rgb(128, 169, 243) !important;
	border-bottom: 1px solid #fff !important;
	font-weight: bold !important;
}

#st-listview-tabs li.selected a {
	color: #000 !important;
}

/* Category List Display */

#st-category-display-links {
	margin-bottom: 1em;
	font-size: 90%;
}

#st-tag-listbody {
	font-family: Helvetica, Verdana, sans-serif;
}

/* Attachments List Display */

#st-attachments-list-body table.button-table {
	margin-top: 0.1em;
	font-size: 80%;
}


/* ********** PageTools Menu ************** */

div#st-editing-tools {
	float: left;
}

div#st-pagetools {
	z-index: 300;
	font-family: Helvetica, Verdana, sans-serif;
	font-size: 10px;
	float: right;
	margin: 18px 0 0 0em;
	color: #000;
	vertical-align: bottom;
	position: relative;
}

#st-pagetools a {
	text-decoration: none;
	color: black;
	padding-left: 17px;
}

#st-pagetools span {
	color: inherit;
	padding-left: 17px;
	vertical-align: top;
}

#st-pagetools span.st-watchlist-link {
	color: inherit;
	vertical-align: top;
}

.st-watchlist-link {
	cursor: pointer;
}

div#st-pagetools ul.level2 {
	z-index: 300;
	margin: 0;
	padding: 0;
	background: white;
	border: 1px solid #CCC;
	border-width: 0 1px;
}

div#st-pagetools li {
	position: relative;
	list-style: none;
	margin: 0;
	float: left;
	width: 7em;
	line-height: 11px;
}

div#st-pagetools ul ul li:hover {
	background: #BFE2FF;
}

div#st-pagetools li a {
	display: block;
	text-decoration: none;
}

div#st-pagetools>ul a {
	width: auto;
}

div#st-pagetools ul ul {
	position: absolute;
	width: auto;
	display: none;
}

div#st-pagetools ul ul li {
	line-height: 1.5em;
/*	width: 100%; */
	width: 14em;
}

.first {
	border-top: 1px solid #CCC;
}

.separator {
	border-bottom: 1px solid #CCC;
}

div#st-pagetools ul ul li a {
	border-bottom: 1px solid #CCC;
	padding-left: 15px;
	padding-right: 3px;
	margin-right: 3px;
	border: 0px;
}

div#st-pagetools li.submenu li.submenu:hover {
	z-index: 300;
	background-color: #BFE2FF;
}

div#st-pagetools ul.level1 li.submenu:hover ul.level2 {
	display:block;
}

div#st-pagetools ul.level2 {
	top: 1.0em;
	left: -9.5em;
}

/*

=head2 Revision List Display

Change these styles to update the page revision list.

*/

#st-revision-list-table {
	border-collapse: collapse;
	font-size: 85%;
	color: #000;
}

.st-page-title-decorator {
	color: #C80000;
}

.st-revision-header-emphasis {
	color: #C80000;
}

.st-revision-list-compare-button-row {
}

.st-revision-list-compare-button-cell {
	padding-top: 0.3em;
	text-align: center;
}

.st-revision-list-compare-button {
}

#st-revision-list-header-row {
}

#st-revision-list-header-select {
	padding: 6px 2px 2px 2px;
	text-align: center;
}

#st-revision-list-header-revision {
	padding: 6px 2px 2px 2px;
	text-align: left;
}

#st-revision-list-header-edited-by {
	padding: 6px 2px 2px 2px;
	text-align: center;
}

#st-revision-list-header-date {
	padding: 6px 2px 2px 2px;
	text-align: center;
}

.st-revision-list-row {
	border-collapse: collapse;
	border: 1px dashed #ddd;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
}

.st-revision-list-row td {
	font-family: Verdana;
	padding: 0.3em;
	border-left: 1px dashed #ddd;
	border-right: 1px dashed #ddd;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

.st-revision-list-row-select {
	padding: 3px 0 2px 0;
	text-align: center;
}

.st-revision-list-row-select-old {
}

.st-revision-list-row-select-new {
}

.st-revision-list-row-revision {
}

.st-revision-list-row-revision-link {
}

.st-revision-list-row-edited-by {
}

.st-revision-list-row-date {
}

/* Revision Menu */

#st-pagetools.st-revision-view-bar {
	float: left;
}

ul.st-revision-menu {
	list-style: none;
	margin: 0;
	padding: 0.2em;
	font-size: 80%;
}

ul.st-revision-menu li {
	float: left;
	padding: 0 0.4em 0 0.4em;
	border-right: thin solid #000000;
}

ul.st-revision-menu li.st-last {
	border-right: none;
}

#st-restore-revision-button {
	font-size: 80%;
}

/*

=head2 Revision Compare Display

When comparing two revisions of a page, these styles apply.

*/

#st-revision-compare-table {
	background-color: #f0f0f0;
}

#st-revision-compare-table td {
	background-color: white;
}

.st-revision-compare-old {
	background-color: #fdd;
	text-decoration: line-through;
}
.st-revision-compare-new {
	background-color: #dfd;
	font-weight: bold;
}

/* Weblog View */

#st-weblog {
	padding: 0;
}

#st-content-weblog-display-width-controller {
}
#st-content-weblog-display-width-controller-nav {
	width: 230px;
	margin-left: 15px;
	border-left: 5px solid #ddd;
	margin-top: -1px;
}

#st-weblog-content {
	font-family: Verdana, Helvetica, sans-serif;
	margin-top: -1px;
	margin-bottom: -1px;
	border-top: 1px solid #80a9f3;
	border-bottom: 1px solid #80a9f3;
}

#st-weblog-title {
	font-family: 'Trebuchet MS', Verdana, Helvetica, sans-serif;
	font-family: 'Times New Roman', serif;
	background-color: #80a9f3;
	color: #fff;
	font-size: 150%;
	font-weight: bold;
	padding: 0.2em;
	padding-left: 1em;
}

#st-weblog-wikititle {
	font-family: Helvetica, Verdana, sans-serif;
	font-style: italic;
	font-size: 40%;
	color: #fff;
	margin-bottom: 0.2em;
	margin-top: 0.1em;
	padding-top: 0;
}

#st-weblog-titletext {
	font-family: Helvetica, Verdana, sans-serif;
	font-weight: bold;
	color: #fff;
}

div.st-weblog-entry {
	margin-top: 0.2em;
	margin-bottom: 4.8em;
	padding: 0 1.5em 0 1.5em;
}

.st-page-title {
	clear: both;
}

div.st-weblog-entrytitle span.text {
	font-family: Helvetica, Verdana, sans-serif;
	font-size: 150%;
	font-weight: bold;
	color: #000;
}

.st-weblog-entrycontent {
	font-family: Verdana, Helvetica, sans-serif;
	font-size: 90%;
	border-bottom: 1px solid #888;
}

.st-weblog-byline {
	float: left;
	text-align: left;
	font-style: italic;
	font-size: 70%;
	font-family: Verdana, Helvetica, sans-serif;
}

.st-weblog-post-links {
	float: right;
	text-align: right;
	font-size: 70%;
	font-family: Verdana, Helvetica, sans-serif;
}

#st-weblog-archives, #st-weblog-navigation {
	position: relative;
	float: right;
	width: 230px;
}

#st-weblog-archives {
	margin-top: 15px;
	clear: right;
}

#st-weblog-archives-title, #st-weblog-navigation-title {
	margin-left: 15px;
	font-family: Helvetica, sans-serif;
	font-size: 95%;
	font-weight: bold;
	color: #999;
	border-bottom: 2px solid #f99;
	padding-bottom: 5px;
	padding-top: 5px;
	margin-bottom: 5px;
}

#st-weblog-navigation-content {
	margin-left: 15px;
	font-size: 80%;
}

#st-weblog-archives ul {
	margin: 0;
	padding: 0;
}

#st-weblog-archives ul li {
	/* list-type: none; */
	display: block;
	font-size: 80%;
	font-family: Helvetica, sans-serif;
	padding-left: 15px;
}

#st-weblog-newpost {
	padding: 0.5em 0.7em 0.3em 0.3em;
}

#st-weblog-newpost-button {
}

#st-weblog-actionbar-chooseweblog {
	float: right;
}

#st-weblog-postbyemail {
	font-size: 70%;
	font-family: Verdana, Helvetica, sans-serif;
	color: #def;
	padding-top: 0.4em;
}

#st-weblog-postbyemail-link {
	color: #00c;
}

.st-weblog-chooseprompt {
	font-size: 90%;
	font-family: Verdana, Helvetica, sans-serif;
	padding-right: 0.2em;
	color: #000;
}

.st-spacer {
	padding-right: 0.1em;
	padding-left: 0.1em;
}

.st-weblog-preventries {
	padding-bottom: 20px;
	clear: both;
}
.st-weblog-nextentries {
	clear: both;
}

div.st-weblog-entrynav {
	margin-top: 0.2em;
	margin-bottom: 1.8em;
	padding: 0;
}

span.st-weblog-previousentries, span.st-weblog-nextentries {
	font-size: 90%;
	font-family: Verdana, Helvetica, sans-serif;
	padding-left: 1em;
}

/* ******* Page Stats ******** */

#st-usagereport-navbar {
	font-size: 80%;
	padding: 0;
	margin: 0;
}

#st-usagereport-date {
	font-weight: bold;
	margin-top: 1em;
}

#st-page-usagereport h1 {
	font-size: 1.3em;
	font-weight: bold;
	margin-top: 1.2em;
	margin-bottom: 0.3em;
}

#st-page-usagereport h2 {
	font-size: 1.1em;
	font-weight: bold;
	margin-top: 0.8em;
	margin-bottom: 0.3em;
}

/* New Page */
#st-newpage-save, #st-newpage-duplicate {
	display: none;
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background: url('../../images/st/popup/bg.png'); /* Don't forget IE hack for ship! */
	z-index: 2000;
}

#st-newpage-save-interface {
	background-color: #fff;
	color: #000;
	border: 4px solid #ccc;
	padding: 0.5em;
	width: 450px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10%;
	position:absolute;
	top:0px;
	z-index:2003;
}

#st-newpage-duplicate-interface {
	background-color: #fff;
	color: #000;
	border: 4px solid #ccc;
	padding: 0.5em;
	width: 530px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10%;
	position:absolute;
	top:0px;
	z-index:2003;
}

#st-newpage-save-title, #st-newpage-duplicate-title {
	margin: 0;
	padding: 0;
	font-weight: bold;
	font-family: Helvetica, sans-serif;
	font-size: 100%;
}

#st-newpage-save-prompt, #st-newpage-duplicate-prompt {
	font-family: Helvetica, sans-serif;
	font-size: 90%;
	margin-bottom: 0.4em;
}

#st-newpage-save-buttons, #st-newpage-duplicate-buttons {
	margin-top: 0.8em;
	text-align: right;
}

.st-newpage-duplicate-option {
	font-family: Helvetica, sans-serif;
	font-size: 90%;
	margin: 0;
	padding: 0;
}

#st-newpage-duplicate-pagename {
	font-size: 90%;
}

.st-newpage-duplicate-emphasis {
	background-color: #FFFF00;
	font-weight: bold;
}

#st-newpage-save-field-pagename {
	margin-bottom: 0;
	margin-top: 0.2em;
	padding-bottom: 0;
	font-size: 90%;
}

#st-newpage-save-tip {
	margin-bottom: 0;
	margin-top: 1.2em;
	padding-bottom: 0;
	font-size: 75%;
	color: #888;
}

/* Wikitext Styling */

.wiki {
}

.wiki hr {
	margin-top: .4em;
	margin-bottom: .4em;
}

.wiki .short-rule {
	width: 25%;
}

.wiki .medium-rule {
	width: 50%
}

.wiki ul,
.wiki ol,
.wiki blockquote {
	margin-left: 2em;
	padding-left: 0em;
}

.wiki table {
	border-collapse: collapse;
}

.wiki td {
	border: 1px;
	border-style: solid;
	padding: .2em;
	vertical-align: top;
}

.wiki h1,
.wiki h2,
.wiki h3,
.wiki h4,
.wiki h5,
.wiki h6 {
	font-weight: bold;
	font-style: normal;
	margin-top: 0.1em;
	margin-bottom: 8px;
}

.wiki h1 {font-size: 200%;}
.wiki h2 {font-size: 170%;}
.wiki h3 {font-size: 145%;}
.wiki h4 {font-size: 125%;}
.wiki h5 {font-size: 110%;}
.wiki h6 {font-size: 100%;}

.wiki pre {
	background-color: #eee; /* XXX */
	margin-left: 1em;
	margin-right: 1em;
	padding: .2em;
}

.wiki .incipient {
	text-decoration: none;
	border-bottom: 1px dashed;
}

.wiki-include-title {
	background-color: #ccccff;
}

.wiki .wiki {
	position: relative;
	background-color: #ddddff;
	border: 1px solid #ccccff;
	padding: 3px;
}

.wafl_existence_error {
	color: rgb(200,0,0);
	border-bottom: 0.2em dashed rgb(200,0,0);
}

#st-edit-mode-container {
}

#st-edit-mode-view {
}

#st-page-editing-uploadbutton {
	z-index: 1500;
	float: left;
}

/* Comment UI */


body#st-commentui {
	background: #ffffff;
}

#st-commentui-container {
}

#st-commentui-container a:visited,
#st-commentui-container a:active {
	color: #00f;
}

#st-commentui-notetop {
}

#st-commentui-controls {
}

#st-commentui-savelink {
	background-color: #fffebd;
}

#st-commentui-cancellink {
}

#st-commentui-customfield {
}

#st-commentui-customfield .customfield-label {
}

#st-commentui-customfield .customfield-input {
}

#st-commentui-textarea {
	padding: 0;
	border-style: inset;
	border-width: thin;
	background-color: #ffd;
	color: black;
	width: 99%;
	height: 150px;
}

/*

=head2 Send Page by Email

Styles for the 'Send Page by Email' popup, accessed from the 'Email' dropdown
menu on the page bar.

*/

#email-page {
	background: #ffffff;
	font-size: 80%;
}

.email-page-row {
	clear: both;
}

.email-page-row-label {
	font-weight: bold;
	float: left;
	width: 5em;
	margin-left: 1.2em;
	margin-right: 1.2em;
	text-align: right;
}

.email-page-row-content {
	float: left;
	padding-bottom: 1.2em;
}

.email-page-user-select-column {
	float: left;
	padding-right: 1.2em;
	width: 14em;
}

#email-page-user-select-column-center {
	width: 10em;
}

.email-page-user-select-label {
	text-align: center;
}

#email-page-user-select-add-label {
	padding-top: 1em;
}

.email-page-user-select-button-group {
	padding-bottom: 2em;
}

.email-page-input {
	width: 120px;
	clear: both;
	display: block;
}


.email-page-select {
	width: 175px;
	font-size: x-small;
}

#email-page-error-message {
	text-align: center;
}

#email-page-buttons-container {
	clear: both;
}

#email-page-buttons {
	text-align: center;
}

.email-page-input-new {
	width: 175px;
}

/* System Status, Red with icon */

#st-system-status-alert {
	clear: both;
	width: 50%;
	margin-left: 25%;
	margin-top: 10px;
	padding: 5px;
	color: #c00;
	font-weight: bold;
	font-size: 80%;
	background: transparent url('../../images/st/system-message/important-note.gif') no-repeat 5px center;
	padding-left: 60px;
	min-height: 38px;
}
* html #st-system-status-alert {
	height: 38px;
}

/* System Status, Green */

#st-system-status {
	clear: both;
	text-align:center;
	width: 80%;
	margin-left: 10%;
	padding: 8px 0 3px 0;
	color: #0a0;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 80%;
}

.socialtextLogo {
	text-align: center;
}
/*}}}*/
/***
|''Name:''|SparklinePlugin|
|''Description:''|Sparklines macro|
***/
//{{{
if(!version.extensions.SparklinePlugin) {
version.extensions.SparklinePlugin = {installed:true};

//--
//-- Sparklines
//--

config.macros.sparkline = {};
config.macros.sparkline.handler = function(place,macroName,params)
{
	var data = [];
	var min = 0;
	var max = 0;
	var v;
	for(var t=0; t<params.length; t++) {
		v = parseInt(params[t]);
		if(v < min)
			min = v;
		if(v > max)
			max = v;
		data.push(v);
	}
	if(data.length < 1)
		return;
	var box = createTiddlyElement(place,"span",null,"sparkline",String.fromCharCode(160));
	box.title = data.join(",");
	var w = box.offsetWidth;
	var h = box.offsetHeight;
	box.style.paddingRight = (data.length * 2 - w) + "px";
	box.style.position = "relative";
	for(var d=0; d<data.length; d++) {
		var tick = document.createElement("img");
		tick.border = 0;
		tick.className = "sparktick";
		tick.style.position = "absolute";
		tick.src = "data:image/gif,GIF89a%01%00%01%00%91%FF%00%FF%FF%FF%00%00%00%C0%C0%C0%00%00%00!%F9%04%01%00%00%02%00%2C%00%00%00%00%01%00%01%00%40%02%02T%01%00%3B";
		tick.style.left = d*2 + "px";
		tick.style.width = "2px";
		v = Math.floor(((data[d] - min)/(max-min)) * h);
		tick.style.top = (h-v) + "px";
		tick.style.height = v + "px";
		box.appendChild(tick);
	}
};


}
//}}}
/***
|''Name:''|CryptoFunctionsPlugin|
|''Description:''|Support for cryptographic functions|
***/
//{{{
if(!version.extensions.CryptoFunctionsPlugin) {
version.extensions.CryptoFunctionsPlugin = {installed:true};

//--
//-- Crypto functions and associated conversion routines
//--

// Crypto "namespace"
function Crypto() {}

// Convert a string to an array of big-endian 32-bit words
Crypto.strToBe32s = function(str)
{
	var be = Array();
	var len = Math.floor(str.length/4);
	var i, j;
	for(i=0, j=0; i<len; i++, j+=4) {
		be[i] = ((str.charCodeAt(j)&0xff) << 24)|((str.charCodeAt(j+1)&0xff) << 16)|((str.charCodeAt(j+2)&0xff) << 8)|(str.charCodeAt(j+3)&0xff);
	}
	while (j<str.length) {
		be[j>>2] |= (str.charCodeAt(j)&0xff)<<(24-(j*8)%32);
		j++;
	}
	return be;
};

// Convert an array of big-endian 32-bit words to a string
Crypto.be32sToStr = function(be)
{
	var str = "";
	for(var i=0;i<be.length*32;i+=8)
		str += String.fromCharCode((be[i>>5]>>>(24-i%32)) & 0xff);
	return str;
};

// Convert an array of big-endian 32-bit words to a hex string
Crypto.be32sToHex = function(be)
{
	var hex = "0123456789ABCDEF";
	var str = "";
	for(var i=0;i<be.length*4;i++)
		str += hex.charAt((be[i>>2]>>((3-i%4)*8+4))&0xF) + hex.charAt((be[i>>2]>>((3-i%4)*8))&0xF);
	return str;
};

// Return, in hex, the SHA-1 hash of a string
Crypto.hexSha1Str = function(str)
{
	return Crypto.be32sToHex(Crypto.sha1Str(str));
};

// Return the SHA-1 hash of a string
Crypto.sha1Str = function(str)
{
	return Crypto.sha1(Crypto.strToBe32s(str),str.length);
};

// Calculate the SHA-1 hash of an array of blen bytes of big-endian 32-bit words
Crypto.sha1 = function(x,blen)
{
	// Add 32-bit integers, wrapping at 32 bits
	add32 = function(a,b)
	{
		var lsw = (a&0xFFFF)+(b&0xFFFF);
		var msw = (a>>16)+(b>>16)+(lsw>>16);
		return (msw<<16)|(lsw&0xFFFF);
	};
	// Add five 32-bit integers, wrapping at 32 bits
	add32x5 = function(a,b,c,d,e)
	{
		var lsw = (a&0xFFFF)+(b&0xFFFF)+(c&0xFFFF)+(d&0xFFFF)+(e&0xFFFF);
		var msw = (a>>16)+(b>>16)+(c>>16)+(d>>16)+(e>>16)+(lsw>>16);
		return (msw<<16)|(lsw&0xFFFF);
	};
	// Bitwise rotate left a 32-bit integer by 1 bit
	rol32 = function(n)
	{
		return (n>>>31)|(n<<1);
	};

	var len = blen*8;
	// Append padding so length in bits is 448 mod 512
	x[len>>5] |= 0x80 << (24-len%32);
	// Append length
	x[((len+64>>9)<<4)+15] = len;
	var w = Array(80);

	var k1 = 0x5A827999;
	var k2 = 0x6ED9EBA1;
	var k3 = 0x8F1BBCDC;
	var k4 = 0xCA62C1D6;

	var h0 = 0x67452301;
	var h1 = 0xEFCDAB89;
	var h2 = 0x98BADCFE;
	var h3 = 0x10325476;
	var h4 = 0xC3D2E1F0;

	for(var i=0;i<x.length;i+=16) {
		var j,t;
		var a = h0;
		var b = h1;
		var c = h2;
		var d = h3;
		var e = h4;
		for(j = 0;j<16;j++) {
			w[j] = x[i+j];
			t = add32x5(e,(a>>>27)|(a<<5),d^(b&(c^d)),w[j],k1);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
		}
		for(j=16;j<20;j++) {
			w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
			t = add32x5(e,(a>>>27)|(a<<5),d^(b&(c^d)),w[j],k1);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
		}
		for(j=20;j<40;j++) {
			w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
			t = add32x5(e,(a>>>27)|(a<<5),b^c^d,w[j],k2);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
		}
		for(j=40;j<60;j++) {
			w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
			t = add32x5(e,(a>>>27)|(a<<5),(b&c)|(d&(b|c)),w[j],k3);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
		}
		for(j=60;j<80;j++) {
			w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
			t = add32x5(e,(a>>>27)|(a<<5),b^c^d,w[j],k4);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
		}

		h0 = add32(h0,a);
		h1 = add32(h1,b);
		h2 = add32(h2,c);
		h3 = add32(h3,d);
		h4 = add32(h4,e);
	}
	return Array(h0,h1,h2,h3,h4);
};


}
//}}}
/***
|''Name:''|DeprecatedFunctionsPlugin|
|''Description:''|Support for deprecated functions removed from core|
***/
//{{{
if(!version.extensions.DeprecatedFunctionsPlugin) {
version.extensions.DeprecatedFunctionsPlugin = {installed:true};

//--
//-- Deprecated code
//--

// @Deprecated: Use createElementAndWikify and this.termRegExp instead
config.formatterHelpers.charFormatHelper = function(w)
{
	w.subWikify(createTiddlyElement(w.output,this.element),this.terminator);
};

// @Deprecated: Use enclosedTextHelper and this.lookaheadRegExp instead
config.formatterHelpers.monospacedByLineHelper = function(w)
{
	var lookaheadRegExp = new RegExp(this.lookahead,"mg");
	lookaheadRegExp.lastIndex = w.matchStart;
	var lookaheadMatch = lookaheadRegExp.exec(w.source);
	if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
		var text = lookaheadMatch[1];
		if(config.browser.isIE)
			text = text.replace(/\n/g,"\r");
		createTiddlyElement(w.output,"pre",null,null,text);
		w.nextMatch = lookaheadRegExp.lastIndex;
	}
};

// @Deprecated: Use <br> or <br /> instead of <<br>>
config.macros.br = {};
config.macros.br.handler = function(place)
{
	createTiddlyElement(place,"br");
};

// Find an entry in an array. Returns the array index or null
// @Deprecated: Use indexOf instead
Array.prototype.find = function(item)
{
	var i = this.indexOf(item);
	return i == -1 ? null : i;
};

// Load a tiddler from an HTML DIV. The caller should make sure to later call Tiddler.changed()
// @Deprecated: Use store.getLoader().internalizeTiddler instead
Tiddler.prototype.loadFromDiv = function(divRef,title)
{
	return store.getLoader().internalizeTiddler(store,this,title,divRef);
};

// Format the text for storage in an HTML DIV
// @Deprecated Use store.getSaver().externalizeTiddler instead.
Tiddler.prototype.saveToDiv = function()
{
	return store.getSaver().externalizeTiddler(store,this);
};

// @Deprecated: Use store.allTiddlersAsHtml() instead
function allTiddlersAsHtml()
{
	return store.allTiddlersAsHtml();
}

// @Deprecated: Use refreshPageTemplate instead
function applyPageTemplate(title)
{
	refreshPageTemplate(title);
}

// @Deprecated: Use story.displayTiddlers instead
function displayTiddlers(srcElement,titles,template,unused1,unused2,animate,unused3)
{
	story.displayTiddlers(srcElement,titles,template,animate);
}

// @Deprecated: Use story.displayTiddler instead
function displayTiddler(srcElement,title,template,unused1,unused2,animate,unused3)
{
	story.displayTiddler(srcElement,title,template,animate);
}

// @Deprecated: Use functions on right hand side directly instead
var createTiddlerPopup = Popup.create;
var scrollToTiddlerPopup = Popup.show;
var hideTiddlerPopup = Popup.remove;

// @Deprecated: Use right hand side directly instead
var regexpBackSlashEn = new RegExp("\\\\n","mg");
var regexpBackSlash = new RegExp("\\\\","mg");
var regexpBackSlashEss = new RegExp("\\\\s","mg");
var regexpNewLine = new RegExp("\n","mg");
var regexpCarriageReturn = new RegExp("\r","mg");

}
//}}}
^^^ Lampa od nepotrebinh cd-a



Evo jednog korisnog rjeลกenja za sve one koji kod kuฤ‡e imaju hrpetine starih i nepotrebnih cd-a i neznaju ลกto ฤ‡e sa njima. Na ovoj lampi ฤ‡e vam zavidjeti svaki g33k, ako ne i neki dizajner. No bacimo se sad na posao!

Potreban materijal:

.pre
1. Hrpetina cd-a
2. 1 drvena ploฤa od koje ฤ‡ete naฤiniti postolje
3. 1 12 voltno napajanje za lampe sa prekidaฤem
4. Matice i podloลกke za ลกarafe
5. 1 katoda iz monitora
.pre

http://img59.imageshack.us/img59/1474/0000001gz5.th.jpg

http://img442.imageshack.us/img442/803/0000007bj8.th.jpg

Izvedba:

Prvo napravite postolje i gornji dio lampe od drvene ploฤe. Izreลพite ju na jednake komade, veliฤinu izaberite po volji. Donji dio odnosno postolje napravite od dva komada, tako da bude deblje nego gornji dio, zbog toga ลกto ฤ‡e u taj dio iฤ‡i drลพaฤi za cd-e, i zbog stabilnosti tih drลพaฤ‡a. Nakon toga na postolju izbuลกite 4 rupe, a na gornjoj plohi izbuลกite rupu u koju ฤ‡e iฤ‡i transformator od katode. Nakon izbuลกenih rupa potrebno je drvo obojati, boju birajte po ลพelji, moลพete ga samo i prelakirati. Nakon ลกto s dijelovi pripremljeni, vrijeme je da se sklope u jednu cjelinu. Postavite 4 tanke ลกipke u one 4 rupe koje ste izbuลกili na postolju, te ลกipke ฤ‡e vam biti drลพaฤi za cd-e, zatim elektroniku postavite u srednji veฤ‡u rupu u koju ฤ‡ete osim elektronike staviti i katodu. Na katodu meฤ‡ite cd-e tako da vam katoda prolazi kroz sredinu cd-a odnosno kroz onu rupu na sredini cd-a. Da zaboravio sam reฤ‡i da bi bilo poลพeljno ako bi one 4 ลกipke mogli narezati navoje na gornji dio, onaj gdje ฤ‡e iฤ‡i gornja ploฤa, tako da moลพete naลกarafiti matice. Kad ste to napravili vaลกa lampa je praktiฤki gotova!

http://img59.imageshack.us/img59/8789/1003506vr8.th.jpg

http://img59.imageshack.us/img59/3381/1003510ra4.th.jpg

http://img69.imageshack.us/img69/6657/1003505lw7.th.jpg

Uลพivajte u vaลกoj novoj g33k lampi!

Pozdrav!

-- [BuD], 20/09/06, preuzeo sa http://www.teamhackaday.com/forum/viewtopic.php?t=1551




----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiLampaOdCd> {date: 2007-04-03 22:28:59 +0200}
aa

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BudNudi> {date: 2007-01-27 14:49:57 +0100}
^^^ Lampa od nepotrebnih cd-a



Evo jednog korisnog rjeลกenja za sve one koji kod kuฤ‡e imaju hrpetine starih i nepotrebnih cd-a i neznaju ลกto ฤ‡e sa njima. Na ovoj lampi ฤ‡e vam zavidjeti svaki g33k, ako ne i neki dizajner. No bacimo se sad na posao!

Potreban materijal:

.pre
1. Hrpetina cd-a
2. 1 drvena ploฤa od koje ฤ‡ete naฤiniti postolje
3. 1 12 voltno napajanje za lampe sa prekidaฤem
4. Matice i podloลกke za ลกarafe
5. 1 katoda iz monitora
.pre

http://img59.imageshack.us/img59/1474/0000001gz5.th.jpg

http://img442.imageshack.us/img442/803/0000007bj8.th.jpg

Izvedba:

Prvo napravite postolje i gornji dio lampe od drvene ploฤe. Izreลพite ju na jednake komade, veliฤinu izaberite po volji. Donji dio odnosno postolje napravite od dva komada, tako da bude deblje nego gornji dio, zbog toga ลกto ฤ‡e u taj dio iฤ‡i drลพaฤi za cd-e, i zbog stabilnosti tih drลพaฤ‡a. Nakon toga na postolju izbuลกite 4 rupe, a na gornjoj plohi izbuลกite rupu u koju ฤ‡e iฤ‡i transformator od katode. Nakon izbuลกenih rupa potrebno je drvo obojati, boju birajte po ลพelji, moลพete ga samo i prelakirati. Nakon ลกto s dijelovi pripremljeni, vrijeme je da se sklope u jednu cjelinu. Postavite 4 tanke ลกipke u one 4 rupe koje ste izbuลกili na postolju, te ลกipke ฤ‡e vam biti drลพaฤi za cd-e, zatim elektroniku postavite u srednji veฤ‡u rupu u koju ฤ‡ete osim elektronike staviti i katodu. Na katodu meฤ‡ite cd-e tako da vam katoda prolazi kroz sredinu cd-a odnosno kroz onu rupu na sredini cd-a. Da zaboravio sam reฤ‡i da bi bilo poลพeljno ako bi one 4 ลกipke mogli narezati navoje na gornji dio, onaj gdje ฤ‡e iฤ‡i gornja ploฤa, tako da moลพete naลกarafiti matice. Kad ste to napravili vaลกa lampa je praktiฤki gotova!

http://img59.imageshack.us/img59/8789/1003506vr8.th.jpg

http://img59.imageshack.us/img59/3381/1003510ra4.th.jpg

http://img69.imageshack.us/img69/6657/1003505lw7.th.jpg

Uลพivajte u vaลกoj novoj g33k lampi!

Pozdrav!

-- [BuD], 20/09/06, preuzeo sa http://www.teamhackaday.com/forum/viewtopic.php?t=1551




----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiLampaOdCda> {date: 2006-09-19 22:15:25 +0200}
HASH(0x89df0c8)

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiB9ฤenjeTipkovnice> {date: 2006-08-23 09:14:37 +0200}
^^^ Klima kuฤ‡ne izrade


http://www.eng.uwaterloo.ca/%7Egmilburn/ac/pete_ac/02_fan_front.jpg

Poลกto je doลกlo vrijeme vruฤina i sparina vrlo je teลกko nekaj radit za kompom ili bilo ลกto drugo ako nemate klima ureฤ‘aj. Tako se je netko dosjetio i napravio klima ureฤ‘aj domaฤ‡e izrade, pa ako imate vremena, volje i materijala bacite se na posao.


^ Potreban materijal



.pre
1. ventilator
2. bakrene cjevcica (malo duลพa)
3. polistirena kutija
4. led
5. pumpa za akvarij
.pre

  

^ Izvedba


Bakrene cjevฤice ili cjev u komadu postavite sa prednje i zadnje strane ventilatora (ลกto viลกe cjevi imate ventilator ฤ‡e puhati hladniji zrak), to ฤ‡e vam vjerojatno biti n
ajkompliciraniji dio posla.

http://www.eng.uwaterloo.ca/%7Egmilburn/ac/pete_ac/01_overall.jpg
http://www.eng.uwaterloo.ca/%7Egmilburn/ac/pete_ac/02_fan_front.jpg

Drugi dio posla je taj da vam treba neka posuda ili kutija koja ima jako dobru izolaciju, jer ฤ‡ete u njoj drลพati led i ledenu vodu koja ฤ‡e piฤit po cjevima. Da bi voda mo
gla teฤi po cjevima potrebna vam je pumpa za akvarij, odnosno ona pumpa koju meฤ‡ete u akvarije gdje drลพite svoje ribice. Na kutiji je potrebno napraviti rupicu u koju ฤ‡et
e metnuti cjevฤicu koju nadalje spajate sa bakrenim cjevฤicama na ventilatorom.

http://www.eng.uwaterloo.ca/%7Egmilburn/ac/pete_ac/02_fan_front.jpg
http://www.eng.uwaterloo.ca/%7Egmilburn/ac/pete_ac/06_pump.jpg

Na kraju provjerite jel vam voda na kojem djelu curi, ako curi pokrpajte, to bi bilo najbolje sa silikonom, jel znate da su voda i struja najbolji prijatelji ;)

I to bi bilo to, nije komplicirano, a mislim da bi vas moglo barem malo ohladiti u ovim vruฤinama. Pa sretno vam sa izvedbom!!

-- [BuD], 13/07/06, preuzeo sa http://www.eng.uwaterloo.ca/%7Egmilburn/ac/pete_ac.html



----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiKlimaKuฤ‡neIzrade> {date: 2006-07-13 13:12:17 +0200}
^^^ Coreutils na Ubuntu sa Gentoo patch-om


Ako neznate sto je "Coreutils"<http://www.gnu.org/software/coreutils/>, to je skup osnovnih komandi koje koristite u vaลกem omiljenom shell-u. To su komande tipa cp, ls, mv... E sad zaลกto taj update coreutilsa na "Ubuntu"<http://ubuntulinux.org/>? E pa zato ลกto taj coreutils ne sadrzi jednu opciju u komandi cp koja je jako korisna i interesantna.

{image: copy.jpg}

Kako to napraviti:

1. Skinete coreutils verziju 5.3.0 [ftp://alpha.gnu.org/gnu/coreutils/coreutils-5.3.0.tar.bz2 ovdje]

2. otpakirate je na bilo koje mjesto(najbolje u vaลก home direktorij) sa komandom *tar xvjf coreutils-5.3.0.tar.bz2*

3. skinete gentoo patch za coreutils "ovdje"<http://www.inet.hr/~tmarcink/pub/linux/001_all_coreutils-gen-progress-bar.patch>

4. skopirate ga u direktorij gdje ste otpakirali coreutils (koji se zove coreutils-5.3.0)

5. dok se nalazite u direktoriju od coreutilsa patchate coreutils sa *patch -p1 < 001_all_coreutils-gen-progress-bar.patch*

6. to ne traje dugo, i ako je sve dobro proslo moralo bi vam negdje pisati *Hunk suceeded*

7. dok se jos nalazite u direktoriju coreutilsa ulogirate se kao root sa *sudo su*

8. zatim krenete kompajlirati coreutils sa *./configure --prefix/opt/coreutils  && make && make install*

9. kad je gotovo, editirate vas .bashrc ili koji vec shell koristite sa *vim .bashrc* stisnete *i* i na kraju fajla dodate *alias cp='/opt/coreutils/bin/cp -vg' *, stisnete tipku ESC, i onda napiลกete *:wq*

10. napiลกete *source .bashrc* i uลพivate u novoj komandi *cp*

--- [BuD], 13/11/05  




----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDPitanjeUbuntuCoreutilsGentooPatch> {date: 2006-07-03 09:16:23 +0200}
^^^ G33k Manลพete


http://geektechnique.org/images/cufflinks-13.thumb.jpg

Eto opet malo poslastica za geekove, istina ovo je neลกto malo drugaฤije, ali mislio sam da je zanimljivo, pa eto da podjelim sa svima. Sigurno znate kako je na svadbama, ekipa u odjelima i suknjicama, sve nekako jednoliฤno, ako ลพelite biti drugaฤiji od nijh kao i svaki geek, eto jedan mali i brzi savjet.


^ Problem se nalazi ovdje


http://geektechnique.org/images/cufflinks-1.thumb.jpg

Kao ลกto vidite koลกulja je raskalaลกena i nema manลพeta.

Da biste rijeลกili vaลก problem potreban vam je sljedeฤ‡i materijal:

http://geektechnique.org/images/cufflinks-2.thumb.jpg


.pre
1. Krimp kljeลกta
2. Komad UTP kabla
3. Konektori
.pre



^ Izvedba


Ogulite dio kabla, uzmete dvije ลพiฤice te im odredite duลพinu dovoljnu do proฤ‘e kroz obje rupe, nemojte da bude prekratko ili predugo jel je onda ruลพno za vidjet. Dajte si malo truda! Duลพinu omฤe odredite od oka.

http://geektechnique.org/images/cufflinks-3.thumb.jpg

Kada ste odredili duลพinu omฤe, odreลพite kabal sukladno tome. Omฤe moลพete napraviti od istog kabla, no bit ฤ‡e zanimljivije da imate razliฤite boje. :)

http://geektechnique.org/images/cufflinks-4.thumb.jpg

Od odrezanih ลพiฤica napravite omฤe, pokuลกajte da budu jednake duลพine, koje ubacite u konektore.

http://geektechnique.org/images/cufflinks-6.thumb.jpg

Kad mislite da ste odredili dobru duลพinu, uzmite krimp kljeลกta i stisnite te omฤe i konektore, kao da krimpate UTP kabal.

http://geektechnique.org/images/cufflinks-7.thumb.jpg

Da biste zavrลกili cijelu stvar potreban vam je joลก jedan malo veฤ‡i komad ลพice koji ฤ‡e sluลพiti za uฤvrลกฤivanje manลพete na koลกulju. Odreลพite malo veฤ‡i komad ลพice, boja je po vaลกem izboru.

http://geektechnique.org/images/cufflinks-15.thumb.jpg

ลฝicu presavinite na pola.

http://geektechnique.org/images/cufflinks-16.thumb.jpg

Kada ste ju presavinuli, umetnite ju u drugi dio manลพete, koji se nalazi u koลกulji, te ga presavinite joลก jednom prateฤ‡i strelice na slici.

http://geektechnique.org/images/cufflinks-17.thumb.jpg

To bi trebalo izgledati ovako.

http://geektechnique.org/images/cufflinks-18.thumb.jpg

I to je to, spremni ste za svadbu, neฤ‡u reฤ‡i za barenje komada jel g33kovi ne bare ลพene. :)

http://geektechnique.org/images/cufflinks-12.thumb.jpg

Evo joลก jednom kako bi te manลพete trebale izgledati.

http://geektechnique.org/images/cufflinks-19.thumb.jpg

Uลพivajte u g33k modi!!

-- [BuD], 29/06/06, preuzeo sa http://geektechnique.org/projectlab/651/geek-chique-how-to-make-cuff-links


----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiG33kManลพete> {date: 2006-06-29 21:52:13 +0200}
^^^ Popravak daljinca


Doma sigurno imate barem jedan daljinski upravljaฤ koji ne radi kako treba. Najฤeลกฤ‡i problemi su da ne radi jedna tipka, da daljinski uopฤ‡e ne radi, da je mjesto za bateriju korodiralo, ili da su tipke vrlo ljepljive od 'ko zna od ฤega sve. Najteลพi dio posla oko popravka daljinskog upravljaฤa je njegovo rastavljanje. Prilikom rastavljanje morate biti oprezni da ne potrgate plasiku. Nju je zapravo dosta teลกko rastaviti, ali morate si dati malo truda i strpljenja. No dosta uvoda bacimo se na pravi posao.

http://static.instructables.com/pub/3b/5a6d98/f3390948e61b5fedebe9e72b.medium.jpg


^^ Korak 1


Nabavite nove baterije tako da ste sigurni da su baterije u redu, jel ฤ‡e nam za ovaj dio bit potrebne valjane baterije. Druga stvar koja nam je potrebna je video kamera. Video kamera nam je potrebna iz tog razloga ลกto ฤ‡emo sa njom provjeriti valjanost infra-crvene lampice na daljinskom upravljaฤu. Metnite nove baterije u daljinac, upalite kameru, i usmjerite daljinac prema kameri, tako da kad pogledate u kameru vidite infra-crvenu lampicu. Stiลกฤ‡ite tipke i trebali biste vidjeti da se lampica pali, gasi (crveno svjetlo). Isprobavajte tako tipku po tipku, i tako ฤ‡ete otkriti koja ne radi kako treba, i vidjet ฤ‡ete jel vam daljinac uopce radi, ili je totalno mrtav.

http://static.instructables.com/pub/e5/4aec77/222d08ce3c1941d8dbb86fab.medium.jpg 


^^ Korak 2


Otvorite daljinski upravljaฤ. Par savjeta za otvaranje, prvo odลกerafite sve ลกerafiฤ‡e koji se mogu nalaziti ispod naljepnice ili ispod gumene zaลกtite. Ako nema ลกerafiฤ‡a, onda paลพljivo otvorite kuฤiลกte sa neฤime ลกto ga neฤ‡e oลกtetiti.

http://static.instructables.com/pub/c1/1a59b4/b4c1aa2be775b921776bc449.medium.jpg


^^ Korak 3


Ne bi bilo loลกe da uslikate svaki korak koji radite, tako da kasnije prilikom slaganja daljinca ne razbijate glavu kamo je iลกao koji dio.                                                                                                   
                                                                                                             
http://static.instructables.com/pub/ad/746665/7e6a665a92580103800f516b.medium.jpg


^^ Korak 4


Rastavite sve dijelove. Kod rastavljanja pripazite na gumbiฤ‡e, jel postoje daljinski upravljaฤi koji imaju tipke u jednom komadu (gumenom), no postoje i upravljaฤi koji imaju tipke u mnogo komada, pa bi bilo pametno da provjerite koje vi imate, ukoliko imate gumbiฤ‡e u mnogo komada uslikajte ih fotoaparatom, tako da kod sastavljanja ne bi bilo problema. Da ne pogubite gumbiฤ‡e odloลพite ih u neku malu posudicu, u kojoj ih moลพete i oprati od praljavลกtine i praลกine. Kad rastavite daljinac trebali bi dobiti neลกto ovako:

http://static.instructables.com/pub/bf/77c1bc/a6b806ff50d9e22838f01b4f.medium.jpg


^^ Korak 5


Daljinski upravljaฤi najฤeลกฤ‡e padaju na pod, zavrลกe pod guzicom i takve stvari, a one uzrokuju da doฤ‘e do brisanja spojeva na konaktima za bateriju ili na ploฤici od daljinskog upravljaฤa. Temeljito pregledajte ploฤicu pod dobrim svjetlom i poveฤ‡alom od takvih prekida. Ispravite ih sa lemilicom ako postoje. Provjerite postoje li i oลกteฤenja od vode na ploฤici, njih najlakลกe moลพete oฤistiti sa metilnim alkoholom i ฤetkicom za zube. Isto ฤiลกฤ‡enje moลพete moลพete napraviti tako da ploฤicu operete u toploj sapunastoj vodi, nakon toga dobro isperite i osuลกite fenom za kosu. Iste postupke moลพete primjeniti i za mobitele i ostale sliฤne naprave.

http://static.instructables.com/pub/a6/fab75b/f8f5126c89c4e294e981e834.medium.jpg


^^ Korak 6


Nakon ลกto ste obavili elektroniฤki dio, bacite se na ฤiลกฤ‡enje. Sve plastiฤne djelove ubacite u posudu sa vodom i nekim deterฤ‘entom koji dobro uklanja masnoฤ‡u i prljavลกtinu oฤistite sve prljave dijelove, i tipke naravno. Pri ฤiลกฤ‡enju moลพete se posluลพiti malom ฤetkicom.

http://static.instructables.com/pub/8b/ddb512/b10135db81b6bfb8b92678a9.medium.jpg


^^ Korak 7


Kada ste gotovi sa ฤiลกฤ‡enjem, dijelove dobro isperite toplom vodom tako da na njima ne ostane sapunice. Kod ispiranja moลพe vam posluลพiti cjedilo, tako da ne bi izgubili koji sitniji dio (gumbiฤ‡). Kada ste isprali sve dijelove, dobro ih osuลกite krpom ili papirnatim ruฤnikom, te provjerite jel vam je moลพda ostalo joลก prljavลกtine, koju skinete sa ruฤnikom ili krpom, jel lako se zna desiti da tipke nakon pranja od prljavลกtine ostanu ljeplive.

http://static.instructables.com/pub/9a/61e527/2584e1390897ddc3976f923a.medium.jpg


^^ Korak 8


Skoro ste gotovi sa ฤiลกฤ‡enjem, no prije nego daljinski upravljaฤ sastavite nazad, provjerite ima li kakvih oลกteฤenja na njemu, koja moลพete popraviti sa super ljepilom. Ako na daljincu postoje male ogrebotine i udubljenja, njih takoฤ‘er moลพete popraviti tako da plastiku ugrijete sa fenom za kosu, te onda ispravite. Prilikom vraฤ‡anja tipki, pazite da tipke pogreลกno ne rasporedite! (ukoliko imate tipke u djelovima).

http://static.instructables.com/pub/3b/5a6d98/f3390948e61b5fedebe9e72b.medium.jpg


^^ Korak 9


Kada je sve na svome mjestu, ubacite baterije u daljinac te ga ponovno paลพljivo provjerite video kamerom, svaku tipku! Ako sve radi napravili ste vraลกki dobar posao! Uลพivajte u gledanju televizora, a pogotovo utakmica sad za vrijeme svjetskog prvenstva!!

http://static.instructables.com/pub/e5/4aec77/222d08ce3c1941d8dbb86fab.medium.jpg

Pozdrav!!!


-- [BuD], 11/06/06, preuzeo sa http://www.instructables.com/ex/i/FBCDA58E462E1029AC23001143E7E506/?ALLSTEPS



----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiPopravakDaljinca> {date: 2006-06-12 09:14:08 +0200}
^^^ TicTac Lampica


Ovo mi je jedna baลก cool i vrlo korisna stvarฤica, mala je ali Vam moลพe mnogo pomoฤ‡i. Kao ลกto i uvijek naglasim, a naglasit ฤ‡u i sada, pod temom [SvakodnevneDovitljivosti] naฤ‡i ฤ‡ete samo sitnice koje su praktiฤne, jeftine i viลกe manje jednostavne za izvedbu, e pa tako je i ova lampica takoฤ‘er jeftina i jednostavna za izvedbu. No da ne duลพim bacimo se na ono bitno!
*Potrebni alat i oprema:*

.pre
1. TicTac kutijica (prazna)
2. tri AAA baterije
3. jedna led lampica
4. mali prekidaฤ
5. jedan otpornik od 27 oma
.pre


http://www2.grynx.com/wp/projects/TicTac%20flashlight/tb/prylarlampa.jpg
*Par rijeฤi o lampici:*


U kutijicu metnite sve tri baterije, savrลกeno stanu, nakon toga na poklpcu kutijice izbuลกite rupicu za led lampicu i prekidaฤ.Otpornik, lampica i prekidaฤ se spajaju po sljedeฤoj shemi, ja o tome nemam pojma, ali popriliฤno sam siguran da ฤ‡e ljudi koji se imalo kuลพe u elektroniku to skuลพiti bez problema.


Shema je sljedeฤ‡a:


http://www2.grynx.com/wp/projects/TicTac%20flashlight/schematic.jpg
*BATT 1-3* su tri baterije AAA od 1.5V,*RESISTOR* je otpornik od 27 oma, *SWITCH* je mali prekidaฤ, a *LED1* je led lampica. ล to se tiฤe boje led lampice, odaberite po izboru. Kada spajate led lampicu, spojite ju tako da vam se kraฤ‡a noลพica nalazi na bateriji, jel u protivnom lampica neฤ‡e radit. Potrebne stvarฤice za ovu lampicu moลพete nabaviti u "Chipoteci"<http://www.chipoteka.hr>. Kad to sve pospajate, lampica bi morala proraditi, ako ne radi provjerite joลก jednom korak po korak da niste negdje pogrijeลกili, i to je to! Navodno lampica traje jako jako dugo, i jako dobro osvjetljava. Siguran sam da ฤ‡e vam dobro pomoฤ‡i u nekim situacijama. Pokuลกat ฤ‡emo to napraviti na razmjeni vjeลกtina, pa vidjeti jel to uistinu radi i kako radi! :)


http://www2.grynx.com/wp/projects/TicTac%20flashlight/ready.jpg

http://www2.grynx.com/wp/projects/TicTac%20flashlight/tb/demolampa.jpg


Pozdrav!

-- [BuD], preuzeo sa http://www.grynx.com/projects/tictac-flashlight/




----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiTicTacLampica> {date: 2006-05-22 20:55:15 +0200}
^^^ Prijenosni usb punjaฤ


http://static.instructables.com/pub/d6/5f6577/5664c5a986c54f350de0c54b.medium.jpg

Kao ลกto i samo ime kaลพe, radi se o prenosnom usb punjaฤu kojim moลพete puniti vaลกe iPode, mp3 playere itd...
Punjaฤ radi na bateriju, odnosno na njega prikvaฤite 9V bateriju i i kroz mali kruลพiฤ‡ otpornika itd... tih 9V pretvori se u 5V, taman za usb. Zvuฤi vrlo jednostavno! Pa ajmo vidjet! :)

http://static.instructables.com/pub/73/7967c2/5e351341770084dcbca22611.medium.jpg

Potreban pribor:

.pre
1. LM/MC 7805 +5VDC regulator voltaลพe
2. Type-A ลพenski usb port
3. 100 UF (Electrolytic) kondenzator
4. 0.1 UF kondenzator
5. 150/160 ohm otpornik
6. 9V baterijska spojnica
7. 2V 20mA ledica (boja po volji)
8. neispisana ploฤica
9. ON/OFF prekidaฤ (po volji)
.pre


http://static.instructables.com/pub/e6/ba3b64/25680e18e4f05833095c6bc6.medium.jpg

http://static.instructables.com/pub/82/058d7d/067fb1cbd6eefbb680ff6348.medium.png

Na ploฤicu nacrtajte baลก ovako kako je na slici, i koristite tester neprekidnosti da budete sigurni da djelovi odvojeni crnim na slici ne (conduct). Izbuลกite rupe gdje ฤ‡ete metati komponente za izvedbu i pazite na poloลพaj polariteta za 100 uF kondenzator. To je sve ลกto je bitno za taj dio, po meni nije niลกta straลกno. :)

http://static.instructables.com/pub/0a/c454e6/646ef0b6026925a32e4c54a9.medium.jpg

Ovo je slika USB porta, pazite na poloลพaj ลพica da neลกto ne pobrkate. Ovdje je objaลกnjeno koja je ลพica za ลกto, radi bolje koordinacije, da nebi poslije bilo nismo znali! :))

I to bi viลกe manje bilo to, stavite bateriju na spojnicu i provjerite dali usb punjaฤ radi.

-- [BuD] , preuzeo sa http://www.instructables.com/ex/i/9A2B899A157310299AD7001143E7E506/?ALLSTEPS



----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiPrijenosniUsbPunjaฤ> {date: 2006-05-15 23:29:33 +0200}
^^^ Floppy Notes


Sigurno se sjeฤ‡ate starih ogromnih 5.25" disketa koje ste koristili na svojim komodorcima i pc-ima, koje su pale u zaborav, a m
oลพda i u smeฤ‡u. Za one koji su ih saฤuvali evo jedne odliฤne ideje! Napravite notes od ti disketa.

http://www.acornstudios.ca/img/products/gifts/lg/floppy-disk-book2.jpg

To moลพete napraviti vrlo jednotavno, izreลพite papire na veliฤinu diskete i strpajte ih izmeฤ‘u dvije diskete, i eto vam predivno
g notesa za kojeg bi geekovi ubili!! Pa ako imate viลกak disketa i netrebaju vam bacite se na posao!

-- [BuD], 26/04/06, preuzeo sa http://www.acornstudios.ca/products/gifts/floppy-notebook/Index.htm



----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiFloppyNotes> {date: 2006-04-26 18:07:27 +0200}

^^^ Popravljanje starih i izgrebanih cd-a


Sigurno doma imate hrpetine cd-a koji vam stoje sa strane jel su beskorisni, toฤnije izgrebani su i vaลก cd/dvd rom ih nemoลพe vi
ลกe nikako oฤitati. Pogledate malo oko sebe i vidite CD negdje sastrane, u kutu nekom i kaลพete "Joj zakon!, koliko ovo nisam pogledao, tu ima odliฤnih stvari", ubacite ga u cd/dvd rom i on ga nikako neลพeli oฤitat jel je cd izgreban, nego samo ฤujete ono iritantno brujanje cd/dvd roma.

http://static.instructables.com/pub/a4/4a5f77/f635636ecf44066b2922f6fa.medium.jpg

http://static.instructables.com/pub/c4/23a8ca/2148e76cdb8f7280f204278e.medium.jpg

Malo surfajuฤi netom naletio sam na jedan odliฤan HOWTO, "Kako popraviti izgreban cd", Pogledao sam ga i vidio da bi od toga moglo neลกto biti. Pogledajte pa moลพda i vama pomogne, nemate ลกto za izgubiti!
*Potreban alat*:


.pre
1. Papirnati ruฤnici (po moguฤnosti ลกto mekลกi)

2. Krpa za poliranje (tkanina)

3. Izgrebani CD

4. Pasta za polirnje
.pre


http://static.instructables.com/pub/64/ef0d48/b358211bcf3ac89a45e07811.medium.jpg

Kako polirati CD:

Uzmite pastu za poliranje i nanesite na izgrebanu povrลกinu medija i sa papirantim ruฤnikom trljajte po izgrebanoj povrลกini. Trljanje trebate vrลกiti ravnim potezima, od centra medija prema rubu, znaฤi povlaฤite okomito na zapis na mediju. Moลพete polirati i sa kruลพnim potezima, ali eto ovaj naฤin je bolji. Polirajte to tako jedno 15 minuta. Nakon nekog vremena trebali bi osjetiti abrazivnost polir paste na mediju, to ฤ‡e se stvoriti tako ลกto ฤ‡ete dodavati pastu na medij svaki put kad se ona posuลกi ili otpadne sa medija. Ta polir pasta miฤe jedan sloj plastike sa medija tako da time miฤete ogrebotine koje se nalaze na toj povrลกini. Nakon 15 min poliranja isperite medij pod vodom i osuลกite ga krpicom, ako su ogrebotine i dalje dosta duboke, proces ponovite joลก koji put. Kada ste gotovi cd obriลกite krpicom (tkaninom).

http://static.instructables.com/pub/34/c80bca/8aabcd3dc8c8be046579a661.medium.jpg

Ispolirani CD ubacite u cdrom i isprobajte ga jel radi, ako ne radi ponovno ponovite proces poliranja. Ova tehnika nije isproba
na na DVD medijima, stoga nisam siguran da ฤ‡e radit na DVD-u, ali pokuลกajte nemate ลกto za izgubit.

http://static.instructables.com/pub/62/7436a6/cf49d371e69e7a91f66b7a8e.medium.jpg

http://static.instructables.com/pub/4a/3db96a/74edf80f40f3e4b96189e4fe.medium.jpg

I to bi bilo to! Nadam se da ฤ‡e nekome pomoฤ‡i!

-- [BuD], 28/03/06, preuzeo sa http://www.instructables.com/ex/i/2EC632F40B1E1029BC4A001143E7E506/?ALLSTEPS



----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiฤŒiลกฤenjeCdMedija> {date: 2006-03-27 23:15:15 +0200}
^^^ Kako popraviti zapele pixele na lcd monitoru


Sigurno ste bili razoฤarani kad ste kupili novi lcd monitor ili laptop, upalili ga i nasred ekrana naลกli malu toฤkicu koja jako jako moลพe ลพivcirati. Nakon toga ste otiลกli u duฤ‡an di ste kupili lcd monitor ili laptop i poฤeli se derati na prodavaฤa da kaj vam je to on prodao, na ลกto vam on kaลพe da taj i taj proizvoฤ‘aฤ dopuลกta toliko i toliko mrtvih pixela, i vi ljuti kao ris odete doma i buljite u tu debilnu toฤkicu koja vas luฤ‘aฤki bode u oฤi. 

Kao i svaki dan malo sam ฤitao newse i naletio sam na moguฤ‡e rjeลกenje vaลกih problema, a to je par recepata koji vam mogu pomoฤ‡i kako da lako popravite zapele pixele, pa krenimo.
----
1. Ugasite monitor

2. uzmite komad tkanine, tako da ne ogrebete ekran

3. pritisnite toฤno na mjesto gdje se nalazi zapeli pixel, toฤno na to mjesto jer u protivnom moลพete napraviti joลก jedan zapeli pixel!! Tako da oprezno!

4. dok pritiลกฤete upalite kompjutor i monitor

5. prestanite pritiskati i toฤkica bi trebala nestati
----

.pre
Zaลกto i kako taj zapeli pixel?
.pre

Zapeli pixel nastaje zato ลกto se tekuฤ‡i kristal nije dobro rasprostreo po svim pixelima, a tekuฤ‡i kristal je u kombinaciji sa pozadinskom svjetloลกฤ‡u vaลกeg monitora, pa tako moลพete vidjeti sliku na monitoru, a taj pixel se tako vidi zato ลกto se svjetlost krivo odbija od njega.

.pre
Koja je razlika izmeฤ‘u mrtvog i zapelog pixela?
.pre

Razlika izmeฤ‘u mrtvog i zapelog pixela je ta ลกto je mrtvi pixel crne boje, a zapeli pixel nije crn veฤ‡ poprimi neku od boja! 

Postoje joลก neke metode:

1. Lagano masirajte mjesto gdje se nalazi zapeli pixel

2. pustite video koji mjenja 30 boja po sekundi

Nadam se da ฤ‡e vam ove metode pomoฤ‡i u popravljanju monitora!

-- [BuD], 10/03/06, preuzeo sa http://wiki.ehow.com/Fix-a-Stuck-Pixel-on-an-LCD-Monitor



----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiPopravljanjeMrtvogPixela> {date: 2006-03-10 11:40:55 +0100}

^^^ ฤŒiลกฤenje tipkovnice


http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2772.jpg

Kompjuterske tipkovnice se vrlo lako mogu zamazati a ispod tipki se moลพe nakupiti mnogo praลกine, kose a i ostalih prljavลกtina. Mnogi ljudi koriste razno razne naฤine da ih oฤiste, kao ลกto je naprimjer propuhivanje tipkovnice zrakom, pa zatim okretanje i tresenje tipkovnice itd. Svi su ti naฤini dobri, ali praลกine i ostale zmazanoฤ‡e joลก uvijek ima, a ona se nalazi ispod tipki. Do tih se dijelova moลพe doฤ‡i samo tako da maknemo tipke i oฤistimo tu povrลกinu. E ovaj howto je pravo rijeลกenje za vas.



Potreban alat za ovaj posao:

http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2766.jpg


.pre
1. maramice
2. ลกarafciger
3. usisavaฤ
4. ฤaฤkalice
5. ฤaลกa vode
6. i ona stvar za ฤistit praลกinu :)
.pre



Postupak ฤiลกฤenja:

Kao prvo prije nego ลกto poฤnete potrebno je ugasiti raฤunalo i iskljuฤiti tipkovnicu iz raฤunala. Uslikate tipkovnicu digitalnim fotoaparatom tako da bi znali raspored tipki, a ako imate jako dobro fotografsko pamฤenje onda se moลพete odmah bacit na posao. Naฤ‘ite neku veฤu povrลกinu na kojoj ฤ‡ete raditi.

Nakon ลกto ste to napravili uzmite usisavaฤ sa nastavkom za usisavanje manjih predjela i usiลกite tipkovnicu.

http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2769.jpg

Kada ste zavrลกili sa usisavanjem uzmete "ono za ฤistit praลกinu" i preฤ‘ete preko tipki.

http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2772.jpg

Zavrลกetkom toga bacamo se na ozbiljniji dio ovog cijelog posla. Uzmite ลกarafciger i povadite tipe van, *NEMOJTE TO RADITI PRIJE NEGO STE USLIKALI TIPKOVNICU*.

http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2774.jpg

Kod vaฤ‘enja tipki budite oprezni da ne potrgate koju, i nemojte vaditi velike tipke kao ลกto su *SPACE*, *TAB*, *ENTER*, *SHIFT* zbog toga ลกto je njih kasnije teลกko za vratiti nazad, stoga njih radije ostavite. Postupak vaฤ‘enja je takav da ubacite ลกarafciger ispod tipke i okrenete ga.

http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2781.jpg

Nakon ลกto ste povadili tipke vidjet ฤ‡ete koliko je zapravo vaลกa tipkovnica bila zamazana! Mogli bi se jako zaฤuditi!

http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2789.jpg

Opet uzmete usisavaฤ i sad usiลกete povrลกinu gdje su bile tipke, primjetit ฤ‡ete da postoje djelovi koje usisavaฤ nemoลพe oฤistiti, za to uzmite ฤaฤkalicu i poฤistite te dijelove, to ฤ‡e najverojatnije biti neki rubovi. Moลพete se koristiti i ลกtapiฤ‡ima za uลกi i vodom.

http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2791.jpg
http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2793.jpg

Ako pri ฤiลกฤenju koristite vodu pazite da kad sve poฤistite dobro osuลกite povrลกinu jel bi moglo doฤ‡i do toga da vam ta voda pokvari tipkovnicu!!!Stoga dobro pazite!!

Kada zavrลกite sa ฤiลกฤenjem povrลกine ispod tipki, ona bi trebala izgledati ovako:

http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2794.jpg

Pribliลพavamo se kraju i za kraj su nam ostale joลก samo tipke. Tipke stavite u neku posudu sa vodom i operite ih jednu po jednu, tako ฤ‡ete ih najbolje oฤistiti od masnoฤ‡e i prljavลกtine. Kada ste oprali tipke, dobro ih osuลกite jel kao ลกto sam prije rekao na tipkovnici nesmije biti nimalo vide jer bi ju to moglo pokvariti!!

http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2798.jpg

Sada dolazi na red vaลกa fotografija tipkovnice pomoฤ‡u koje ฤ‡ete se orjentirati gdje ide koja tipka. Tipke vraฤ‡ate tako da ju stavite na odgovarajuฤ‡e mjeto i pritisnete ju prstom. Time ste zavrลกili ฤiลกฤenje vaลกe tipkovnice i ona bi trebala zablistati punim sjajem, kao da je doลกla iz duฤ‡ana.Ako ลพelite na kraju kada pomeฤ‡ete sve tipke moลพete tipkovnicu prebrisati krpom i nekim sredstvom tako da kompletna bude blistava!

http://www.thetechzone.com/db_images/keyboard_cleaning/DSCF2801.jpg

To bi bilo to!!


-- [BuD], 26/02/06, preuzeo sa http://www.thetechzone.com/?m=show&id=431&page=1


----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiฤŒiลกฤenjeTipkovnice> {date: 2006-02-26 21:54:39 +0100}
^^^ Kompajliranje vanilla kernela na ubuntu


Zaลกto uopฤ‡e ovaj howto?

E pa zato ลกto se kompajliranje vanilla kernela na ubuntu linuxu neลกto razlikuje nego na ostalim distribucijama, nije standardno.
*NAPOMENA*

Prije nego ลกto krenete sa procesom kompajliranja potrebno je instalirati neke pakete da bi cijela stvar ลกljakala. Te pakete je potrebno instalirati samo jedanput.


.pre
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install gcc
sudo apt-get install gcc-3.4
sudo apt-get install libncurses5
sudo apt-get install libncurses5-dev
sudo apt-get install libqt3-mt-dev
sudo apt-get install kernel-package
.pre


Kad ste to obavili onda skinete zadnju verziju kernela sa

http://www.kernel.org


i skinete patch za njega sa 

http://ck.kolivas.org/patches/2.6/


naravno ako ลพelite. Ako koristite desktop raฤunalo ili laptop onda skinite *ck* patch, no ako koristite server raฤunalo onda skinete *cks* patch.

Kada je download kernela gotov, kernel skopirajte u */usr/src* direktorij i tamo ga otpakirajte. Pripazite ako se u direktoriju nalazi soft link imenom linux, zbriลกite ga naredbom 
.pre
sudo rm linux
.pre
 Nakon ลกto ste to napravili potrebno je kernel otpakirati sa naredbom
.pre
sudo tar xvjf ime_kernela.tar.bz2
.pre
, te kreirati soft link naredbom 
.pre
ln -s /usr/src/ime_kernela linux
.pre
 Time smo kernel otpakirali i napravili soft link na source od kernela, zatim ga je potrebno skompajlirati, to ฤ‡ete uฤiniti tako da odete u */usr/src/linux* direktorij i upiลกete
.pre
sudo make menuconfig
.pre
, tom naredbom se otvara suฤelje u kojem konfigurirate vaลก kernel. Kada ste gotovi sa konfiguriranjem kernela potrebno je postavke spremiti tako da dok izlazite iz tog suฤelja potvrdite pitanje o spremanju kernela. Time ste spremili postavke vaลกeg novog kernela i moลพete krenuti dalje, sljedeฤ‡i korak je da morate biti u */usr/src/linux* direktoriju, to napravite tako da upiลกete
.pre
cd /usr/src/linux
.pre
, sljedeฤ‡a stvar je 
.pre
sudo make-kpkg clean
.pre
 i 
.pre
sudo make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
.pre
 s time da pod *custom* moลพete upisati neลกto po vaลกem izboru, moลพete i vaลกe ime. To ฤ‡e potrajati neko vrijeme, ovisno o brzini vaลกeg procesora. Nakon zavrลกetka tog procesa, potrebno je vratiti se u */usr/src* direktorij i tu ฤ‡ete naฤ‡i dva *.deb* paketa koja su zapravo vaลก novi kernel. 
.pre
kernel-image-2.6.12-custom_10.00.Custom_i386.deb
kernel-headers-2.6.12-custom_10.00.Custom_i386.deb
.pre

Njih je potrebno instalirati sa komandom 
.pre
sudo dpkg -i kernel-image-2.6.12-custom_10.00.Custom_i386.deb
sudo dpkg -i kernel-headers-2.6.12-custom_10.00.Custom_i386.deb
.pre
 Time ste zavrลกili kompajliranje i instalaciju vaลกeg novog kernela. Ponovno pokrenite vaลกe raฤunalo, s time da kad vam se pokrene grub birajte novi kernel. I to je to!!!


--[BuD], 09/02/06

















----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDPitanjeKompajliranjeKernelaNaUbuntu> {date: 2006-02-13 21:17:51 +0100}
[BuDPitanjeRootFsKernelPodrska]

[BuDPitanjeInstaliranjeLinuxaNaIpaq]












----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BudTrazi> {date: 2006-02-12 19:46:49 +0100}
^^^ Podloga za miลกa za samo par kuna i par minuta


http://www.paulstamatiou.com/wp-images/articles/waxpaper_mousepad/mousepad.jpg

Ovo je jedna vrlo jednostavna za izvedbu, i jeftina podloga koju moลพete napraviti za svega 2 minute. Podloga se radi od voลกtanog papira, tako da je vrlo glatka, da se po njoj moลพe brzo micati miลกem. 
*Potrebni materijal*

.pre
1. voลกtani papir
2. selotejp
3. ลกkare
.pre
*Kako napraviti podlogu*

Uzmete komad voลกtanog papira, uzimate mjeru koja vama odgovara, odnosno velicini plohe na koju ฤ‡ete ga zaljepiti. Prvo donju stranu papira obljepite selotejpom, nakon toga ju zaljepite na poglogu, odnosno vaลก kompjutorski stol, e nakon toga joลก obljepite rubove tako da je papir jeko dobro zaljepljen za vaลก stol da ne bi doลกlo do pomicanja i guลพvanja papira. Naravno ta podloga nije vjeฤna, morati ฤ‡ete ju mjenjati kad se stara istroลกi. Prijenego ลกto miลกa stavite na podlogu, provjerite donju stranu da nije zamazana ili moลพda ima neลกto na sebi ลกto bi moglo podrapati papir, u svakom sluฤaju dobro oฤistite donju stranu miลกa (tamo gdje se nalazi infra crveno svjetlo). I to je to!!!

http://www.paulstamatiou.com/wp-images/articles/waxpaper_mousepad/mousepad2.jpg

-- [BuD], 12/01/06, preuzeo sa http://www.paulstamatiou.com/2006/01/05/the-best-gaming-mouse-pad-youll-ever-make/


----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiJeftinaPodlogaZaMiลก> {date: 2006-01-11 23:25:47 +0100}
^^^ Odmagnetiziranje monitora


Ako vam se sluฤajno desi da vam se pored monitora zatekne neki magnet, ili vam netko namjerno proฤ‘e magnetom pored ekrana, prvo mu razvalite ลกamarฤinu!! :))
ล alim se! 

http://www.woil.ws/fixmonitor/howtomessup.jpg
http://www.woil.ws/fixmonitor/mefimessed.jpg

Nakon ovoga sigurno pomislite da vaลกem monitoru nema spasa, no nije sve gotovo, postoji i za to rijeลกenje! A ha!

Rijeลกenje je vrlo jednostavno i svatko to moลพe napraviti!

Potreban alat:

.pre
1. Buลกilica
2. Magnet veliฤine onog koji vam je prozujao po ekranu
.pre


Cijeli postupak je vrlo jadnostavan.

Naลกerafite magnet na buลกilicu (magnet moลพe biti i iz hard diska).

http://www.woil.ws/fixmonitor/drill.jpg

Usmjerite buลกilicu prema monitoru, kao laserski piลกtolj, i upalite je na najjaฤe!!!

http://www.woil.ws/fixmonitor/fixing.jpg

Nakon nekog vremena mrlje sa ekrana bi trebale nestati. 

http://www.woil.ws/fixmonitor/goodasnew.jpg

Cijeli postupak naravno radite sa upaljenim monitorom!!

I to bi bilo to!!

-- [BuD], 05/01/06, preuzeo sa http://www.madville.com/link.php?id=123683&t=23


----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiOdmagnetiziranjeMonitora> {date: 2006-01-04 23:17:24 +0100}
^^^ Plastiฤni stalak za bajs


http://www.instructables.com/static/pub/08/3c9b2d/a0955dee579a4475ea112176.medium.jpg

Ako nemate kamo sa biciklom, ili ga jako volite da biste ga uparkirali na sredinu dnevne sobe, a bajs sam po sebi nemre stajat bez nekog stalka, ovo je pravo rijeลกenje za vas, koje je vrlo ekonomiฤno i ne zauzima mnogo mjesta.
*Potrebna oprema za izvedbu*

.pre
1. Plastiฤne cijevi
2. pila
.pre
*Izvedba*

Izreลพete cijevi na razne dimenzije(ovisno o veliฤini kotaฤa vaลกeg bicikla)

http://www.instructables.com/static/pub/2d/f57e90/2f42180a7162927a81319235.medium.jpg

Spojite to zajedno kao na slici

http://www.instructables.com/static/pub/a2/c47a6d/b9559709d576a2863f590177.medium.jpg

I to je to, stalak je gotov!!

http://www.instructables.com/static/pub/08/3c9b2d/a0955dee579a4475ea112176.medium.jpg

-- [BuD], 14/12/05, preuzeo sa http://www.instructables.com/ex/i/050F8824BA4D10289B50001143E7E506/?ALLSTEPS




----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiPlastiฤniStalakZaBajs> {date: 2005-12-14 18:18:32 +0100}
^^^ Mplayer i xscreensaver problem


Zasigurno ste se veฤ‡ upoznali sa ovim problemom, ja se jesam na Ubuntu-u, i to mi je jako iลกlo na ลพivce. Problem je u tome da mi se je palio screensaver tokom gledanja filma, pa sam morao svakih 10 min pomaknuti miลกa ili stisnut neku tipku. Pa eto rijeลกio sam problem, pa onda da rjeลกenje podjelim sa vama.

ล to je potrebno uฤiniti:


.pre
1. sudo vim /etc/mplayer/mplayer.conf

2. na kraj fajla dodate stop-xscreensaver=1

3. potvrdite sa :wq 

4. i to je to!!!
.pre


-- [BuD], 08/12/05



----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDPitanjeMplayerIScreensaver> {date: 2005-12-08 20:19:03 +0100}
^^^ Linux sekretarica


Zvuฤi jako interesantno! Lako je izvedivo i stvarฤice potrebne za izvedbu nisu jako skupe! Stoga navalite!

Stvari koje su potrebne za realizaciju vaลกe linux sekretarice su:

.pre
1. Kompjuter sa instaliranim linuxom
2. slobodan PCI slot
3. modem (softmodem) Intel 537
.pre

http://linuxgazette.net/120/misc/smith/modem537.jpg

Sada prije svega da malo objasnim kako ta sekretarica funkcionira:

Ta telefonska sekretarica je minimalna kao telefonska aplikacija. Ona izdvaja i prikazuje korisnikovu identifikaciju za dolazne pozive. Ako telefon zazvoni viลกe od 4 puta, sekretarica se javlja i puลกta nasnimljenu poruku. Nasnimljena poruka traลพi pozivatelja da stisne tipku *1* da ostavi poruku. Prilikom pritiska tipke pozivatelj eliminira poruke od takozvanih *bulk pozivatelja* iliti onih ljudi koji te nazovu pa spuste sluลกalicu kad se netko javi! Glasovna poruka ja zapisana kao *mu-law* enkodirani podatak u datoteku sa vremenom i datumom enkodiranom u ime datoteke.
*Instalacija drivera i lajbrerija*

Sekretarica zahtjeva *zaptel divere* i *Zapata library* koje moลพete naฤ‡i "ovdje"<http://www.asterisk.org/>.
Potrebna su dva drivera *wcfxo* i *zaptel*, oba se nalaze u zaptel paketu. Paket moลพete skinuti "ovdje"<http://ftp.digium.com/pub/zaptel/zaptel-1.0.9.2.tar.gz>.

Otpakirajte fajl, uฤ‘ite tamo gdje ste ga otpakirali i kao *root* utipkajte *make linux26* i *make install*.
Ako koristite *udev* pratite instalaciju u *README.udev*. Sljedeฤ‡e linije moratu ubacit u vaลก */etc/udev/rules.d/50-udev.rules* datoteku:

.pre
KERNEL="zapctl",     NAME="zap/ctl"
KERNEL="zaptimer",   NAME="zap/timer"
KERNEL="zapchannel", NAME="zap/channel"
KERNEL="zappseudo",  NAME="zap/pseudo"
KERNEL="zap[0-9]*",  NAME="zap/%n"
.pre


Morate joลก dodati ovlasti u udev datoteku, */etc/udev/permissions.d/00-udev.permissions*

.pre
zap/*:bobsmith:bobsmith:660
.pre
 

Naravno umjesto bobsmith cete upisati vaลก username!!!
Zadnja stvar u zaptel konfiguraciji je da mu moramo reฤ‡i da imamo jedno suฤelje u telefon "central office". To ฤ‡ete napraviti tako da editirate */etc/zaptel.conf* i dodate na kraj ovo:

.pre
fxsks=1
.pre

E sad moramo obratit pozornost u datoteci *zaptel.conf*, moramo otkomentirati liniju gdje se nalazi naลก *country code* za Hrvatsku!!

Kad ste to rijeลกili morate instalirati *zapata library* kojeg moลพete skinuti "ovdje"<http://ftp.digium.com/pub/zaptel/old/zapata-0.9.1.tar.gz>. Kad ste ga skinuli, otpakirajte ga i uฤ‘ite u direktorij u koji ste ga otpakirali. Ulogirajte se kao root, te utipkajte, kao root naravno*make && make install*

Ako je to proลกlo bez problema, kreฤ‡ete dalje na instalaciju i odabir modema. Modem je kao ลกto smo prije rekli Intel 537-compatible.

Modem morate postaviti u PCI slot na vaลกoj ploฤi, koji se ne dijeli niti sa jednim ureฤ‘ajem na ploฤi. Da saznate kakva je situacija na vaลกoj ploฤi proฤitaje upute koje ste sa njom dobili. Po mom miลกljenju na to se danas bas i ne mora mnogo obraฤati paลพnja, jel novije ploฤe nemaju sa time problema, to bi se moลพda moglo desiti sa starijim ploฤama.

Sljedeci problem koji se moลพe javiti jest da *wcfxo* driver ne prepozna modem, e a to ฤete rijeลกiti tako da malo prepravite *wcfxo_pci_tbl* tabelu koja se nalazi na dnu *wcfxo.c* datoteke koja se nalazi u build direktoriju. Da biste saznali koji modem imate u konzoli napiลกite *lspci -nv* da biste dobili sve potrebne podatke koje morate upisati, a to su *vendor ID, product ID, subsystem ID*

koji bi zgledali ovako:


.pre
e159:0001 8085
e159:0001 8086
e159:0001 8087
.pre


Kada je instalacija software-a i hardware-a protekla bez greลกaka, provjerite sustav sa par komandi, instalirajte module i provjerite syslog.


.pre
#modprobe zaptel
#modprobe wcfxo
#tail /var/log/messages
Sep 18 23:30:41 kernel: Zapata Telephony Interface Registered on major 196
Sep 18 23:30:51 kernel: PCI: Found IRQ 5 for device 0000:00:0b.0
Sep 18 23:30:51 kernel: PCI: Sharing IRQ 5 with 0000:00:07.5
Sep 18 23:30:51 kernel: wcfxo: DAA mode is 'FCC'
Sep 18 23:30:51 kernel: Found a Wildcard FXO: Generic Clone
Sep 18 23:30:51 kernel: Registered tone zone 0 (United States / North America)
.pre
*lsmod* bi trebao izgledati ovako:

.pre
# lsmod
Module                  Size  Used by
wcfxo                  10848  0
zaptel                185572  3 wcfxo
crc-ccitt               1664  1 zaptel
.pre


Provjerite da li wcfxo driver generira 1000 interupts po sekundi, i da se ne djeli niti sa jednim ureฤ‘ajem:

.pre
cat /proc/interrupts; sleep 10; cat /proc/interrupts
.pre
}
rezultat bi vam trebala biti jedna linija

.pre
5:   3003856        XT-PIC  wcfxo
.pre

ako nije modem morate premjestiti u drugi PCI utor, tad bi izgledalo ovako:

.pre
9:         0        XT-PIC  uhci_hcd, uhci_hcd, wcfxo
.pre


Zaptel vam omoguฤ‡ava da provjerite vaลกu konfiguraciju drivera, iskoristite ju za provjeru da imate samo jedan interface! Ako nije tako, provjerite *fxsks=1* liniju u konfiguracijskoj datoteci.

.pre
# ztcfg -v

Zaptel Configuration
======================


1 channels configured.
.pre
*Instalacija i koriลกtenje sekretarice*

Kod za telefonsku sekretaricu napisan je u *C* programskom jeziku i moลพete ga skinuti "ovdje"<http://linuxgazette.net/120/misc/smith/answering_machine.c>. Program morate kompajlirati sa komandom:

.pre
gcc -lzap -o answering_machine answering_machine.c
.pre

program pokrenite sa:

.pre
./answering_machine
.pre

program oฤekuje da pronaฤ‘e 8 KHz mu-law-encoded pozdravnu poruku pod imenom *leave_a_msg.ul* u radnom direktoriju.
Pozdravnu poruku moลพete snimiti bilo kojim programom za snimanje, te nakon toga ju konvertirati u mu-law format sa programom "Sox"<http://sox.sourceforge.net/>.
Komanda za kovertiranje je:

.pre
sox leave_a_msg.wav leave_a_msg.ul
.pre


I to bi bilo to!! Imate jeftinu linux telefonsku sekretaricu!

-- [BuD] 27/11/05, preuzeo sa http://linuxgazette.net/120/smith.html












----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiLinuxSekretarica> {date: 2005-11-27 16:30:05 +0100}
.pre
1. echo y | apt-get upgrade --print-uris |grep -e http -e ftp |cut -d\' -f2 > fajl.txt
2. wget -i <fajl.txt>
.pre


Updejtana verzija skriptice:

.pre
#!/bin/bash
yes | sudo apt-get install --print-uris "$1" 2>/dev/null | cut -f2 -d"'" | grep '.deb$' > "$1.txt"
exit 0;
# end of file
.pre



----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/DebianStuff/DebianPaketiTrick> {date: 2005-11-21 21:28:39 +0100}
^^^ Grep color highlight


Ovo je jedan vrlo interesantan feature za grep, oboja vam rijeฤi koje ste traลพili sa grepom. Kako to izgleda:

{image: grep.jpg}

Kako to izvesti: 

1. Odete u svoj *home* direktorij

2. editirate *.bashrc* fajl sa *vim .bashrc*

3. stisnete tipku *i* i odete na kraj fajla, i unesete *alias grep='grep --color=always' *

4. stisnete tipku *ESC* i upiลกete *:wq*

5. u shellu napiลกete *source .bashrc* i to je to!

Druลกkane, malo sam te preduhitrio, ha!!! :)

-- [BuD], 13/11/05

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDPitanjeGrepColorHighlight> {date: 2005-11-13 19:24:44 +0100}
^^^ Promjena rezolucije u xorg.conf-u


Mnogi su se ลพalili, a meฤ‘u njima i moj kompa [KlaudioStefancic], da im je rezolucija na linuxu prevelika ili premala, i neznaju kako to promjeniti. E pa to ฤ‡ete napraviti tako da editirate xorg.conf fajl!

Kuvarica za izvedbu:

1. Odete u /etc/X11/ direktorij i tu pogledate jel vam postoji xorg.conf fajl (ako nema tog fajla onda mora biti XF86config-4)

2. Editirate fajl sa vim xorg.conf

3. U tom fajlu vas zanima samo ovaj dio 

.pre
Section "Screen"
        Identifier      "Default Screen"
        Device          "NVIDIA Corporation NV11 [GeForce2 MX/MX 400]"
        Monitor         "L1530S"
        DefaultDepth    24
        SubSection "Display"
                Depth           1
                Modes           "1024x768" "832x624" "800x600" "720x400" "640x480"
        EndSubSection
.pre


4. U liniji _Modes_ nalazs se rezolucije koje su podrลพane, e sada vi dodajte ili pobriลกite rezoluciju koja vam je viลกak ili manjak.
Linije _Device_ i _Monitor_ mogu se razlikovati od mojih, no to vas u ovom sluฤaju ne zanima.

5. Kad ste promjenili stisnite tipku ESC, te onda upiลกite :wq

6. Restartajte x-e, tako da se odlogirate iz desktop okruลพenja, te onda stisnete CTRL+ALT+F2, te nakon toga se ponovno ulogirate kao root u konzolu i napiลกete /etc/init.d/gdm stop, ako koristite gdm, a ako koristite kdm onda /etc/init.d/kdm stop, e onda nakon toga upisete /etc/init.d/gdm start isto je i za kdm i/ili xdm, samo gdm zamjenite sa kdm i/ili xdm.

X-e moลพete restartati i pritiskom na kombinaciju CTRL+ALT+BACKSPACE koje bi cijeli _restart_ trebale napraviti automatskim.

7. I to bi bilo to!

-
----

Nadovezao bi se na ovo, postoji jedan programฤiฤ‡ sa grafiฤkim interfejsom koji se zove "xvidtune"<http://www.xfree86.org/current/xvidtune.1.html>, kojim takoฤ‘er moลพete rijeลกiti problem rezolucije u linuxu.


.pre
# xvidtune -show
"1024x768"     65.00   1024 1040 1176 1344    768  770  776  806
.pre

pokazat ฤ‡e trenutnu rezoluciju... 

trenutnu rezoluciju moลพete promijeniti "u letu" na slijedeฤ‡u i/ili prethodnu rezoluciju iz linije _Modes_ sa:

.pre
# xvidtune -next
# xvidtune -prev
.pre

# 

Pozdrav!

-- [BuD], 09/11/05


----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDPitanjePromjenaRezolucijeUXorgConfu> {date: 2005-11-11 09:56:56 +0100}
^^^ Lijep izgled Bash-a


Ako vam je dosadio standardni izgled bash konzole, moลพete ga malo urediti.

Ja ฤ‡u vam malo pomoฤ‡i, ako vam se ne sviฤ‘a promjeniti vi u svoje pa metnite na sajt !

Moj dio:


.pre
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\[\033[01;34m\]\h\[\033[00m\]\[\033[01;32m\][\@]:\[\033[01;34m\]\w\[\033[00m\]\$ '
.pre


Upute za ubacivanje linije u fajl:

1. Odete u /home/user/ direktorij (user je naravno vas nick, odnosno vi)

2. upiลกete vim .bashrc

3. skopirate moju liniju bilo gdje gdje ima mjesta ufajlu, najpoลพeljnije bi bilo na kraju fajla

4. stisnete ESC tipku i onda upiลกete *:wq* 

5. zatim u konzoli napiลกete *source .bashrc* 

6. i eto vam novog izgleda!!  

Kako to na kraju izgleda

{image: term_color.jpg}


----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDPitanjEBasHBojicE> {date: 2005-11-11 06:31:26 +0100}
^^^ Sluลกajte zvukove iz starih pokvarenih hardova


Zaลกto plaฤ‡ati ogromne novce za neke nabrijane zvuฤnike, kad moลพete nabavit stare i neispravne hard diskove i od njih sami napraviti vaลกe cool zvuฤnike!

http://www.afrotechmods.com/cheap/hdspeakers/thHdSpeakers.jpg

Kako napraviti te zvuฤnike:

Prvo nabavite jedan ili dva neispravna hard diska. Otvorite ih, pogledajte blizu glave harda, tu bi morale biti 2 male ลพiฤice koje vode u ulaznu zavojnicu koja kontrolira kretanje glava. Toฤna lokacija toga ฤ‡e biti razliฤita od hard diska do hard diska. Spojite produลพetke ลพica na te dvije male ลพiฤice, ili potraลพite pogodno mjesto gdje ฤ‡ete ih spojiti. Uzmete zvuk (u elektroniฤkom obliku) sa izlazne utiฤnice zvuฤne kartice. Nabavite 30 watt-no pojaฤalo kao "ovo"<http://www.partsexpress.com/pe/showdetl.cfm?&User_ID=4675917&St=2098&St2=-42775942&St3=67782159&DS_ID=3&Product_ID=9568&DID=7> i spojite ih zajedno. Sabijeni pojaฤani zvuk provucite kroz zavojnice koje kontroliraju micanje glave hard diska i dobit ฤ‡ete traลพeni zvuk. Pojaฤani signali mogu doฤ‡i iz bilo kojeg pojaฤala - auto radio, kuฤ‡na linija, ili onog kojeg sami napravite. Najbolji zvuk se dobije kada je signal jaฤine od 3V do 8V RMS iz pojaฤala, pa pojaฤajte zvuk shodno tome. Ako ลพelite dobiti zvuk iz samih ploฤa potraลพite ลพice ili tragove i drugo, koji vode do motora koji rotira ploฤe. Spojite zvuk na njih. Spojite sve instrumente u paralelu sa izlazom pojaฤala. I to bi bilo to!! uลพivajte u home made zvuku!!

Moลพete pogledati i par filmiฤ‡a kako to izvesti

"film1 6.1MB"<http://www.gryspeerdt.ch/files/hd1.avi>

"film2 6.2MB"<http://www.gryspeerdt.ch/files/hd2.avi>

"film3 8.2MB"<http://www.gryspeerdt.ch/files/hd3.avi>

ลฝelite li i malo slika kako se to izvodi:

http://www.gryspeerdt.ch/img/projects_hd20.jpg

http://www.gryspeerdt.ch/img/projects_hd21.jpg

http://www.gryspeerdt.ch/img/projects_hd27.jpg

http://www.gryspeerdt.ch/img/projects_hd22.jpg

http://www.gryspeerdt.ch/img/projects_hd24.jpg

http://www.gryspeerdt.ch/img/projects_hd25.jpg

http://www.gryspeerdt.ch/img/projects_hd26.jpg

http://www.gryspeerdt.ch/img/projects_hd23.jpg

I na kraju malo fimiฤ‡a kako to izgleda kad muzika dere kroz hardove :)

http://www.afrotechmods.com/cheap/hdspeakers/cheesy.avi

http://www.afrotechmods.com/cheap/hdspeakers/matrix.avi

http://www.afrotechmods.com/cheap/hdspeakers/starwars.avi

http://www.afrotechmods.com/cheap/hdspeakers/trance1.avi

Viลกe moลพete vidjeti na http://www.afrotechmods.com/cheap/hdspeakers/hdspeakers.htm

-- [BuD], 08/11/05, preuzeo sa http://www.gryspeerdt.ch/index.php?nNavi=1 i http://www.afrotechmods.com/cheap/hdspeakers/hdspeakers.htm







----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiHddSpeakerS> {date: 2005-11-08 00:53:07 +0100}
^^^ Instalacija Xubuntu-a


.pre
1. Ubacite Ubuntu install cd

2. Na upitu boot: napiลกete server i onda stisnete tipku enter

3. Slijedite instalaciju

4. Kad je gotovo editirajte /etc/apt/sources.list fajl
 
   editiranje: 
   
       vim /etc/apt/sources.list

5. tu maknete # sa universe repozitorija

6. sejvajte fajl (stisnite ESC i onda napiลกete :wq)

7. Upiลกete u konzoli sudo apt-get update

8. kad je gotovo napiลกete najvaลพniju stvar sudo apt-get install xubuntu-desktop

9. i to je to!!

10. Ako ne ลกtima rezolucija na monitoru pokrenite dpkg-reconfigure xserver-xorg

11. Ako ลพelite lijepi grafiฤki login screen upiลกite apt-get install gdm

12. I ako ลพelite biti up to date sa sistemom upiลกete 
      apt-get install update-manager

13. E sad ste stvarno gotovi!!
.pre


-- [BuD], 02/11/05

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDPitanjeXubuntuInstall> {date: 2005-11-02 18:03:12 +0100}
^^^ Kako instalirati ubuntu bez ikakvog grafiฤkog suฤelja (clean install)


.pre
1. Uzmite bilo koji ubuntu install cd (Hoary, Breezy...)

2. Prilikom upita za boot: umjesto da stisnete enter tipku napiลกite server i onda kliknite enter tipku

3. Slijedite instalaciju

4. Kad je gotovo imate clean install ubuntu, bez iฤega osim konzole naravno!
.pre

-- [BuD], 02/11/05 





----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDPitanjeUbuntUCleanInstall> {date: 2005-11-02 16:10:18 +0100}
^^^ Laptop cooler za ฤuku i pol


http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/inuse3.jpg

.pre
Potreban pribor:

- kartonska kutija
- duck tape
- neki cooler
- kombinirke
.pre


Cooler kakav vam je potreban

http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/fan.jpg

1. Korak

Rezanje kartona

http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/cutcboard.jpg

- pripazite da ste ostavili mjesta sa svake strane tako da kasnije moลพete korigirati ako ฤ‡e biti potrebno, znate kako se kaลพe "od viลกka glava ne boli"

2. Korak

Ubacivanje cooler-a 

http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/fittingfan.jpg

http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/placingfan.jpg

http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/outlineoffanoutlet.jpg

http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/cuttingouthole.jpg

http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/backfan.jpg

http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/sideoffan.jpg

http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/tapedup.jpg

- mislim da sliฤice govore same za sebe, kako to sve izvesti

3. Korak

Ugradnja male podupore

http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/supports.jpg

http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/supportandfan.jpg

- izreลพete male komadiฤ‡e kartona te ih ubacite ispred i iza coolera, da malo pojaฤate to kartonsko kuฤiลกte

4. Korak 

Mala blokada za nesklizanje laptopa sa kuฤiลกta

http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/antislide.jpg

5. Korak 

Izrezivanje otvora za protok zraka

http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/pics/topholes.jpg


I to je to!!

Vaลก laptop je olaฤ‘en!

-- [BuD], 10/10/05, Preuzeo sa http://www.angelfire.com.nyud.net:8090/scifi2/colin_cornell/hacks.html


----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiLaptopCooler> {date: 2005-10-10 20:54:12 +0200}
^^^ Kontrolirajte XMMS sa laserom


Ovo mi je jedna od totalno ludih stvari!!!

Radi se o kontroliranju XMMS-a sa laserom, programom koji se zove laserspotcam, stvar je vrlo lagana za izvesti i vrlo je korisna! 

Kuharica kako izvesti cijelu stvar!

 - *Potrebne stvari*

.pre
1. Laser
2. webkamera 
3. kompjuter naravno (napomena: cijela stvar za sada radi samo na linuxu :-))
4. instalirani "xmms"<http://xmms.org/>
5. papir
6. fluorescentni marker
7. fluorescentna lampa
.pre


 - *Izvedba*

- na 4 papira fluorescentnim markerom nacrtajte znakove za stop, start, next, previous, te volume bar

http://www.raphnet.net/programmation/laserspotcam/laserspotcam_wall_th.jpg

- kako to izgleda pod fluorescentnim svjetlom

http://www.raphnet.net/programmation/laserspotcam/laserspotcam_blacklight_th.jpg

http://www.raphnet.net/programmation/laserspotcam/blacklight_play_th.jpg

 - *Instalacija programa*

-`NAPOMENA`
- morate imati u kernelu ubaฤenu podrลกku za video4linux, jel on koristi API za video capture i sdl za prikazivanje

- nastavljamo dalje... downloadate sa interneta "laserspotcam"<http://www.raphnet.net/programmation/laserspotcam/laserspotcam-0.3.tar.gz> te ga instalirate tako da taj paket prvo otpakirate sa tar -zxvf laserspotcam-0.3.tar.gz

- odete u direktorij u koji ste otpakirali laserspotcam te u konzoli upiลกete make *make*

- cijela procedura se mora izvoditi u konzoli, i morate imati instaliran sdl library

- kad je make gotov *bez greลกke* pokrente program sa *./laserspotcam*

-laserspotcam po defaultu koristi */dev/video0*, a ako vama to neodgovara vi moลพete opcijom *-d* njemu reฤ‡i da koristi drugi ureฤ‘aj
*./laserspotcam -d /dev/video1*

-nakon toga program bi se trebao otvoriti prozor gdje bi trebali vidjeti ono u ลกto je kamera uperena

 - *Definiranje koordianta*

- nakon ลกto ste nacrtali likove na listove papira i papire zalijepili na zid jedan do drugog, usmjerite kameru prema papirima, tako da su svi papiri vidljivi na ekranu

- zapiลกite kordinate svi kvadratnih mjesta tako da kliknete na kvadrat (papir) u njegov gornji lijevi kut, drลพite kliknuto i vuฤete prema suprotnom kutu (donji desni) 

- svaki put kada kliknete negdje u prozor pokeลพu se koordinate na kojima se nalazi miลก

 - *Kreiranje config datoteke*

- kreiranje je lagano, jer je svaki hotspot je definiran u jednoj liniji. Svaka linija se sastoji od 6 zarezom odvojenih vrijednosti. Prva vrijednost definira vrstu hotspota

- vrste: 
*0: Normal hotspot. Komanda pokrenuta prilikom aktiviranja hotspota.*
*1: Hotspot sa lijeva na desno. Pozicija pokazivaฤa je konvertitana u udaljenost od 0-100. Lijevo je 0, a desno 100 (korisno za pojaฤavanje i stiลกavanje zvuka)*
*2: Hotspot odozgo prema dolje. Pozicija pokazivaฤa je konvertitana u udaljenost od 0-100. Dolje je 0, a gore 100 (korisno za pojaฤavanje i stiลกavanje zvuka)*

- druga vrijednost, ako je namjeลกtena na 0 hotspot ฤ‡e bit ponovno okidiv, to znaฤi da ฤemo kad kliknemo laser morati ugasiti pa upaliti da bismo ponovno kliknuli. Ako je vrijednost 1 onda ฤ‡emo imati intervale klikanja od jedne sekunde.

- sljedeฤ‡e 4 vrijednosti su gornji lijevi X, gornji lijevi Y, te donji desni X,  i donji desni Y

- zadnja vrijednost je komanda koja ฤ‡e biti pokrenuta kad kliknemo na odreฤ‘eni hotspot

- primjer:

.pre
0,0,174,111,242,164,xmms --play-pause
1,0,29,169,318,196,setmixer vol
0,1,0,0,50,50,echo -en "\\007"
.pre


 - *Testiranje*

- kada ste napravili config datoteku ucitajte je sa programom, da provjerite dali to uopฤ‡e radi
*./laserspotcam -vVr xmms.hs*

- xmms.hs je vaลกa config datoteka

 - *Pokretanje u pozadini*

- pokrenite program u pozadini i uลพivajte
*./laserspotcam xmms.hs -b*

http://www.raphnet.net/programmation/laserspotcam/activated_hotspot.jpg

-- [BuD], 28/09/05, preuzeo sa http://www.raphnet.net/programmation/laserspotcam/laserspotcam_en.php











----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiLaserSpotCam> {date: 2005-09-28 17:54:44 +0200}
||[DocumentS]|| ||[NewS]|| ||[GentooStuff]|| ||[DebianStuff]||




----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt> {date: 2005-09-15 18:37:35 +0200}
^^^ Miลก sa usb-om



ล to sve ljenost neฤ‡e napravit od ljudi!!
Netko je bio toliko ljen da nije mogao pruลพit ruku do svog kuฤiลกta, veฤ‡ je napravio utor za usb u miลกu!!!
Na kraju krajeva cijela stvar i nije toliko komplicirana za napravit.

http://www.i-hacked.com/images/stories/usbinmouse/finished.JPG

Kuharica za preobrazbu vaลกeg miลกa:

1. Potrebne stvari za realiziranje cijele stvari:

.pre
- USB miลก
 - USB hub sa 2 utora
 - ลพica za lemljnje (zinc)
 - lemilica
 - kombinirke
 - ravni ลกerafciger
 - Philips ลกerafciger
 - privremeni obiljeลพivaฤi
 - 1 ลพenski USB konektor
 - 4 ลพice (duลพine otprilike 5cm, CAT5 kabal)
 - skalpel
 - izolir traka
.pre

2. 
*Prvi korak*
 - otvori USB hub (sa 2 utora)
*Drugi korak*
 - kada gledamo ลพenski usb konektor sa prednje strane, utor na desnoj strani je uzemljenje, oznaฤi uzemljenje!

.pre
TOP
  _________
|            |
|   ======   | Right
|  R W G B   |
  _________   
    Bottom
.pre

 - ลพice crvena, bijela, zelena i crna ฤ‡e kasnije biti zalemljene ovim redom
 - vrlo oprezno odlemite usb konektor sa ploฤice (ne zaboraviti oznaciti koja ลพica ide gdje!)
 - kad je gotovo, ugurati ploฤicu u miลกa, ploฤica bi trebala biti veliฤine dovoljne da stane u kuฤiลกte od miลกa, i zatvoriti miลกa.
 - Ako je stalo bez problema preskoฤiti na *ฤetvrti korak* a ako ima problema idemo dalje na *treฤ‡i korak*
*Treฤ‡i korak*
 - malo skratiti usb ploฤicu, ali samo u sluฤaju ako ne stane u kuฤiลกte od miลกa
 - skraฤivanje jako jako paลพljivo obaviti, jel se time moลพe u potpunosti uniลกtiti ploฤica
*ฤŒetvrti korak*
 - otvoriti kuฤiลกte od miลกa
*Peti korak*
 - u otvorenom miลกu, pogledati na ploฤici kuda ide usb kabal i prerezati ga duลพine oko 5cm od ploฤice
*ล esti korak*
 - oguliti ลพiฤice duลพine 3-4mm, napraviti to na obje ลพiฤice
*Sedmi korak*
 - zalemiti ลพiฤice od usb kabla na usb hub na mjesto gdje je hub ukopฤan u kompjutor (tu dolazi na red jel je obiljezen redosljed ลพiฤica!!)

 http://www.i-hacked.com/images/stories/usbinmouse/BGWR.JPG
*Osmi korak*
 - zalemiti ลพiฤice koje idu sa ploฤice od miลกa na jedan od dva slobodna porta na usb hub-u
*tu bi bilo poลพeljno provjeriti da li cijel stvar radi, a to se vidi tako da kad se miลก spoji sa kompjutorom, dojavljuje USB hub, ako ne dojavljuje niลกta provjeriri spojeve i konekcije.*
*Deveti korak*
 - zalemiti 4 ลพiฤice na ลพenski usb konektor, pripaziti da se ne naprave spojevi izmeฤ‘u lemljenja idnosno izmeฤ‘u ลพiฤica

.pre
TOP
   _________
 |           |
 |   ======  | Right
 |  R W G B  |
  
    | | | |
    | | | |
    | | | |
.pre
*Deseti korak*
 - zalemiti drugi kraj ลพiฤica sa odgovarajuฤim mjestom na usb hub ploฤici, kad je gotovo obljepiti hub ploฤicu sa izolir trakom

 - trebalo bi ovako nekako izgledati:

http://www.i-hacked.com/images/stories/usbinmouse/usbhub.JPG
*Jedanaesti korak*
 - koristeฤ‡i skalpel, vrlo oprezno napravite rupu na kuฤiลกtu od miลกa za usb port, naravno poloลพaj odredite po ลพelji, ovisno o lijevaku ili deลกnjaku i o mjestu unutar miลกa
*Dvanaesti korak*
 - sa nekim dobrim ljepilom zalijepite ลพenski usb konektor na kuฤiลกte, ลกto bi trebalo ovako izgledati:

http://www.i-hacked.com/images/stories/usbinmouse/glue.JPG
*Trinaesti korak*
 - sklopiti miลกa i uลกtekati ga u kompjutor
*Testiranje*
 - prvo bi trebao biti prepoznat hub a nakon toga miลก

http://www.i-hacked.com/images/stories/usbinmouse/plugged.JPG

 - ako neลกto ne radi joลก koji put provjerite cijelu stvar i postupak

-- [BuD], 01/09/05, preuzeo sa http://www.i-hacked.com/content/view/185/42/











----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiUsbMis> {date: 2005-08-31 22:44:47 +0200}
*[PetKorakaDoFbsplasha]*
*[SkripticaZaSredjivanjeLinkova]*
*[SkripticaZaXchatIXmms]*
*[MakeConf]*










----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/GentooStuff> {date: 2005-07-31 17:28:58 +0200}
{file: sors.sh}



----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/GentooStuff/SkripticaZaSredjivanjeLinkovaV2> {date: 2005-07-31 17:28:28 +0200}
http://crap.mousetoy.com/images/pezpage.gif

Ha!!! Ovo je totalni zakon!! Jednostavno za napravit a jako zanimljivo za vidjet!!
Kako se ljudi svega mogu dosjetit, to je nevjerojatno!

Dosta ฤuฤ‘enja, dakle radi se o pez usb stickovima iliti usb flash memoriji. Ako ste zamorni izgledom vaลกeg usb sticka prokopajte malo starim igraฤkama moลพda pronaฤ‘ete neลกto u ลกto bi mogli strpati stari usb stick da on dobije jedan potpuno novi izgled. 

Recimo ovakav:

http://crap.mousetoy.com/images/s2.jpg

Ovo je vrlo jednostavno za izvesti, samo trebate otvoriti svoj usb stick uzeti ono sto se nalazi unutra i ubaciti u pez lika, naravno nisu svi likovi isti, pa pronaฤ‘ite onog koji ฤ‡e pasati vaลกem sticku. Ako i ne paลกe malo upotrijebite maลกte kako bi to moglo profunkcionirati.

Evo recimo jedan primjer kako je jedan takav stick izveden:

Prije:

http://crap.mousetoy.com/images/lexarsportjumpdrive.jpg

Poslije:

http://crap.mousetoy.com/images/d2.jpg


Kako napraviti jedan takav usb pez:

1. Ako imate mogucnost izaberite usb stick svojom velicinom najblizi otvoru kucista pez bonbona. 

2. Ako je potrebno rastavite usb tako da ga izvadite iz originalnog kucista

3. Usb stick namjestite tako da tijelo ude u kuciste, a dio koji ide u komp pokusati uvaliti u 'glavu' pez igracke. 

4. Ako ne ide: rezati, ljepiti, rezati, ljepiti...

5. I to bi trebalo biti to!! Uลพivajte!!!


--[BuD], 21/07/05, preuzeo sa http://crap.mousetoy.com/pez.html

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiUsbPez> {date: 2005-07-22 19:58:37 +0200}

^ Putujuฤ‡a beลพiฤna centrala


http://img.timeinc.net/popsci/images/h20/how0805hotspot_170xstory.jpg

Sigurno se nikada niste nadali da ฤ‡ete jednog dana na leฤ‘ima nositi wireless access point, e pa vidite to je moguฤ‡e!!!

Jedan ฤovjek je bio oฤaran time ลกto danas sve viลกe i viลกe ureฤ‘aja ima ugraฤ‘eno
u sebi wifi ureฤ‘aje, pa je rekao ovako, ฤemu svi ti ureฤ‘aji kad nemaลก access
point. Stoga je odluฤio napraviti putujuฤ‡i hotspot, ha i uspio je!!!

Zanimljiva stvar sa tim putujucim hotspotom koji se nalazi na vasim leฤ‘ima,
je da mozete pregledat mail, igrat se online sa vaลกim prijeteljima, napisat blog, u parku, na planini, ma na mjestima na kojim nikad niste ni zamiลกljali da ฤ‡ete moฤ‡ pristupit internetu! Totalna ludnica!!!

E sad o ฤemu se tu toฤno radi, to je zapravo jedan obiฤan ruksak u kojem se
nalazi 12 voltna baterija, EV-DO kartica, solarni paneli, adapter za struju,
te adapter za upaljaฤ za cigarete, detaljniji opis moลพete vidjeti 
"ovdje"<http://www.popsci.com/popsci/how2/article/0,20967,1076525,00.html>.

http://i.timeinc.net/popsci/images/h20/how0805hotspot_485xbody.jpg

Credit: Illustration by Mckibillo.com

Taj projektic je malo skup, ali cijene komponenti i providera ฤ‡e vjerojatno pojeftinit kroz godinu.

Joลก jedna super stvar je da se taj tip vjerojatno sada nalazi negdje u
planinama, surfa po internetu i dijeli to sa svima u svojoj bliลพoj okolini. Neka i medvjedi dobiju svoju priliku za surfati !! :)

Foto galeriju tog ruksaka moลพete vidjeti 
"ovdje"<http://www.popsci.com/popsci/photogallery/0,21036,1077559-0,00.html>

Instrukcije:
 1) ukljuฤi svoju  "EV-DO"<http://www.junxion.com/product/#carriers> karticu i podesi "Junxion Box"<http://www.junxionbox.com/> na automatsko dodjeljivanje TCP/IP adresa koristeฤ‡i DHCP i iskljuฤi poฤetni erkan autentifikacije

 2) strujni kabel napravi tako da odreลพeลก crvenu i crnu ลพicu. ogoli svaku ลพicu i skrimpaj na svaku ลพicu klamicu. ogoli drugu stranu crvene ลพice i  zalemi na taj kraj osiguraฤ. sve zamotaj zaลกtitnom trakom. rastavi muลกki DC strujni plug. zalemi crnu ลพicu na negativni pol i crvenu ลพicu na pozitivni. posloลพi strujni ลกteker. instaliraj 20 amperski akumulatorฤiฤ‡.   
 
 3) spoji Junxion Box cigaret strujni adapter na izlazni ลกteker na ruksaku

 4) spoji kabel od baterije na "baterijski" spoj na ruksakovom punjaฤu. 

 5) piฤi!

-- [BuD], 14/07/05, preuzeo sa http://www.popsci.com









----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiWifiAccessPointURuksaku> {date: 2005-07-16 11:23:59 +0200}
^^^ Mreลพne ledice uvijek ispred nosa


http://homepage.mac.com/pillowcase1/thumbs/17.jpg

Radi se o ethernet ledicama (lampicama sa mreลพne kartice) koje moลพete 
uฤvrstiti na vaลกe kuฤ‡iลกte, tako da znate kada teฤe promet vaลกom mreลพnom 
karticom. 

Jednom mladiฤ‡u iz Kanade se je jako dopao programฤiฤ‡ koji se zove 
"tleds"<http://users.tkk.fi/~jlohikos/tleds_orig.html>, ali ga je muฤila jedna stvar, programฤiฤ‡ je troลกio 0.3% njegovog 
procesora i to mu nije bilo po volji. Stoga je on sam osmislio hardversku 
lampicu koja uopฤ‡e nebi troลกila procesor a nalazila bi se na prednjoj strani 
kuฤ‡iลกta. 

Cijeli taj postupak izrade je vrlo jeftin i nije jako kompliciran!
Sve ลกto vam je potrebno i postupak izrade moลพete vidjeti na sliฤicama.

http://homepage.mac.com/pillowcase1/.cv/pillowcase1/Sites/.Pictures/Photo%20Album%20Pictures/Ethernet%20LED/front_panel_before.jpg-thumb_140_105.jpg

Ovdje su led lampice na kuฤ‡iลกtu, lampica za napajanje, za HDD, te neka treฤ‡a...

http://homepage.mac.com/pillowcase1/.cv/pillowcase1/Sites/.Pictures/Photo%20Album%20Pictures/Ethernet%20LED/card_before.jpg-thumb_140_105.jpg

Pronaฤ‘i lampicu na mreลพnoj kartici, ona koja blinka, na koju ฤ‡eลก spojit novu lampicu

http://homepage.mac.com/pillowcase1/.cv/pillowcase1/Sites/.Pictures/Photo%20Album%20Pictures/Ethernet%20LED/turbo_led_plug.jpg-thumb_140_105.jpg

Sad pronaฤ‘i neku lampicu na kuฤ‡iลกtu koja ti nije potrebna ili joลก bolje Turbo lampicu!

http://homepage.mac.com/pillowcase1/.cv/pillowcase1/Sites/.Pictures/Photo%20Album%20Pictures/Ethernet%20LED/wire_on_led_leads.jpg-thumb_140_105.jpg

Zalemi dvije ลพiฤice za mreลพnu kraticu, toฤnije na mjesto gdje se nalazi lampica koja blinka!

http://homepage.mac.com/pillowcase1/.cv/pillowcase1/Sites/.Pictures/Photo%20Album%20Pictures/Ethernet%20LED/pins_and_wire.jpg-thumb_140_105.jpg

Drugi kraj ลพica spojiลก sa dva pina

http://homepage.mac.com/pillowcase1/.cv/pillowcase1/Sites/.Pictures/Photo%20Album%20Pictures/Ethernet%20LED/the_plug_on_the_other_end.jpg-thumb_140_105.jpg

Tako bi to trebalo izgledat

http://homepage.mac.com/pillowcase1/.cv/pillowcase1/Sites/.Pictures/Photo%20Album%20Pictures/Ethernet%20LED/wire_on_card.jpg-thumb_140_105.jpg

Kartica spojena sa ลพicama

http://homepage.mac.com/pillowcase1/.cv/pillowcase1/Sites/.Pictures/Photo%20Album%20Pictures/Ethernet%20LED/hooked_up_in_the_box.jpg-thumb_140_105.jpg

Spojiลก karticu sa lampicom na kuฤ‡iลกtu

http://homepage.mac.com/pillowcase1/.cv/pillowcase1/Sites/.Pictures/Photo%20Album%20Pictures/Ethernet%20LED/front_panel_after.jpg-thumb_140_105.jpg

I na kraju imaลก ethernet ledicu na kuฤ‡iลกtu!!



--[BuD], 15/07/05, preuzeo sa http://pillowcase1.blogspot.com/2005/07/ethernet-led.html

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovitljivostiMrezneLediceUvijekIspredNosa> {date: 2005-07-15 10:41:56 +0200}
^ Putujuฤ‡a beลพiฤna centrala


http://img.timeinc.net/popsci/images/h20/how0805hotspot_170xstory.jpg

Sigurno se nikada niste nadali da ฤ‡ete jednog dana na leฤ‘ima nositi wireless access point, e pa vidite to je moguฤ‡e!!!

Jedan ฤovjek je bio oฤaran time ลกto danas sve viลกe i viลกe ureฤ‘aja ima ugraฤ‘eno
u sebi wifi ureฤ‘aje, pa je rekao ovako, ฤemu svi ti ureฤ‘aji kad nemaลก access
point. Stoga je odluฤio napraviti putujuฤ‡i hotspot, ha i uspio je!!!

Zanimljiva stvar sa tim putujucim hotspotom koji se nalazi na vasim leฤ‘ima,
je da mozete pregledat mail, igrat se online sa vaลกim prijeteljima, napisat blog, u parku, na planini, ma na mjestima na kojim nikad niste ni zamiลกljali da ฤ‡ete moฤ‡ pristupit internetu! Totalna ludnica!!!

E sad o ฤemu se tu toฤno radi, to je zapravo jedan obiฤan ruksak u kojem se
nalazi 12 voltna baterija, EV-DO kartica, solarni paneli, adapter za struju,
te adapter za upaljaฤ za cigarete, detaljniji opis moลพete vidjeti 
"ovdje"<http://www.popsci.com/popsci/how2/article/0,20967,1076525,00.html>.

http://i.timeinc.net/popsci/images/h20/how0805hotspot_485xbody.jpg

Credit: Illustration by Mckibillo.com

Taj projektic je malo skup, ali cijene komponenti i providera ฤ‡e vjerojatno pojeftinit kroz godinu.

Joลก jedna super stvar je da se taj tip vjerojatno sada nalazi negdje u
planinama, surfa po internetu i dijeli to sa svima u svojoj bliลพoj okolini. Neka i medvjedi dobiju svoju priliku za surfati !! :)

Foto galeriju tog ruksaka moลพete vidjeti 
"ovdje"<http://www.popsci.com/popsci/photogallery/0,21036,1077559-0,00.html>

-- [BuD], 14/07/05, preuzeo sa http://www.popsci.com







----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/BuDSvakodnevneDovotljivostiWifiTorba> {date: 2005-07-14 21:57:48 +0200}
.pre
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
   <edit name="autohint" mode="assign">
    <bool>true</bool>
   </edit>
  </match>
</fontconfig>
.pre


----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/DocumentS/FontsConf> {date: 2005-06-01 10:06:34 +0200}
*[GetMailrc]*
*[MuttRc]*
*[ZshRc]*
*[FireWall]*
*[XdeFaults]*
*[MplayerConfig]*
*[FontsConf]*











----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/DocumentS> {date: 2005-06-01 10:05:26 +0200}
^^^ 02/03/05


Izaลกao kernel 2.6.11!!!

Viลกe o tome moลพete vidjeti na *http://kernel.org/*

-
----


^^^ 06/03/05


Starwarsi su raฤ‘eni na linuxu!! :)
Viลกe moลพete vidjeti na *http://www.linuxjournal.com/node/6011/print/*

-
----


^^^ 09/05/05
*Security propusti na Mozilla Firefoxu!!!*
Greลกke za sada mozete ispraviti tako da disejblate java scripte i instalaciju softwarea sa nekog od websiteova.
To ฤ‡ete uฤiniti ovako:
*Edit --> Preferences --> Web Features --> Allow web sites to install software*
*Edit --> Preferences --> Web Features --> Enable java script*

Sa te dvije opcije maknete kvaฤicu!

-
----


^^^ 13/05/05


Izasla nova verzija Mozilla Firefox-a!!!
U novoj verziji naravno dolaze ispravke security propusta.

-
----


----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/NewS> {date: 2005-05-12 22:21:09 +0200}
*[SourcesList]*
*[DebianPaketiTrick]*

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/DebianStuff> {date: 2005-05-09 18:30:03 +0200}
.pre
deb http://security.debian.org/ testing/updates main contrib
deb ftp://ftp.irb.hr/debian/ testing main contrib non-free
deb ftp://ftp.nerim.net/debian-marillat/ testing main
deb http://ftp.hr.debian.org/debian-non-US/ sarge/non-US main contrib non-free
deb http://www.bootsplash.de/files/debian/ unstable main
deb http://www.spinnaker.de/debian/ ./
deb http://mirror.noreply.org/pub/tor/ stable main
deb http://www.linex.org/sources/linex/debian/ sarge linex
deb http://www.planet-moll.de/debian/ woody main
.pre


----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/DebianStuff/SourcesList> {date: 2005-05-09 18:26:35 +0200}
.pre
autosync=0
cdrom-device=/dev/cdrom
channels=4
dvd-device=/dev/cdrom
#osdlevel=3
#sub-bg-color=250
sub-fuzziness=1
subalign=2
subfont-autoscale=1
brightness=15
#fbmode="1024x768-72"
fstype=fullscreen
monitoraspect=16:9
screenw=1024
screenh=768
aspect=16:9
stereo=0
autosync=30
nojoystick=yes
nolirc=yes
noautosub=yes
ffactor=0.75
sub=yes
#subcp=latin1
subfont-encoding=iso8859-2
#subfont-blur=2
#subfont-osd-scale=6
#subfont-text-scale=5
#unicode=yes
#dr=yes
font=/home/bud/.mplayer/font/font.desc
.pre



----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/DocumentS/MplayerConfig> {date: 2005-05-09 18:23:46 +0200}
.pre
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-src/portage/cnf/make.conf.x86,v 1.5.2.4 2005/02/15 23:27:44 jstubbs Exp $
# Contains local system settings for Portage system

# Please review 'man make.conf' for more information.

# Build-time functionality
# ========================
#
# The USE variable is used to enable optional build-time functionality. For
# example, quite a few packages have optional X, gtk or GNOME functionality
# that can only be enabled or disabled at compile-time. Gentoo Linux has a
# very extensive set of USE variables described in our USE variable HOWTO at
# http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
#
# The available list of use flags with descriptions is in your portage tree.
# Use 'less' to view them:  --> less /usr/portage/profiles/use.desc <--
#
# 'ufed' is an ncurses/dialog interface available in portage to make handling
# useflags for you. 'emerge app-portage/ufed'
#
# Example:
USE="X gtk gnome alsa dvd kde cdr imap jack aalib -moznoxft truetype png jpeg apm arts avi cups encode foomaticdb gif gpm gtk2 mad mpeg qt"

# Host Setting
# ============
#
# DO NOT CHANGE THIS SETTING UNLESS YOU ARE USING STAGE1!
# Change this line as appropriate (i686, i586, i486 or i386).
# All modern systems (even Athlons) should use "i686-pc-linux-gnu".
# All K6's are i586.
CHOST="i686-pc-linux-gnu"

# Host and optimization settings 
# ==============================
#
# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
#
# Please note that if you experience strange issues with a package, it may be
# due to gcc's optimizations interacting in a strange way. Please test the
# package (and in some cases the libraries it uses) at default optimizations
# before reporting errors to developers.
#
# -mcpu=<cpu-type> means optimize code for the particular type of CPU without
# breaking compatibility with other CPUs.
#
# -march=<cpu-type> means to take full advantage of the ABI and instructions
# for the particular CPU; this will break compatibility with older CPUs (for
# example, -march=athlon-xp code will not run on a regular Athlon, and
# -march=i686 code will not run on a Pentium Classic.
#
# CPU types supported in gcc-3.2 and higher: athlon-xp, athlon-mp,
# athlon-tbird, athlon, k6, k6-2, k6-3, i386, i486, i586 (Pentium), i686
# (PentiumPro), pentium, pentium-mmx, pentiumpro, pentium2 (Celeron),
# pentium3, and pentium4.
#
# Note that Gentoo Linux 1.4 and higher include at least gcc-3.2.
# 
# CPU types supported in gcc-2.95*: k6, i386, i486, i586 (Pentium), i686
# (Pentium Pro), pentium, pentiumpro Gentoo Linux 1.2 and below use gcc-2.95*
#
# CRITICAL WARNINGS: ****************************************************** #
# K6 markings are deceptive. Avoid setting -march for them. See Bug #24379. #
# Pentium-M CPU's should not enable sse2 until at least gcc-3.4. Bug 50616. #
# ************************************************************************* #
#
# Decent examples:
#
#CFLAGS="-mcpu=athlon-xp -O3 -pipe"
CFLAGS="-march=pentium4 -O3 -pipe -fdelete-null-pointer-checks -fomit-frame-pointer -fprefetch-loop-arrays -ffast-math -falign-functions -falign-labels -falign-loops -falign-jumps"

# If you set a CFLAGS above, then this line will set your default C++ flags to
# the same settings.
CXXFLAGS="${CFLAGS}"

# Advanced Masking
# ================
#
# Gentoo is using a new masking system to allow for easier stability testing
# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
# on the platform they are set for. A special form has been added that
# indicates packages and revisions that are expected to work, but have not yet
# been approved for the stable set. '~arch' is a superset of 'arch' which
# includes the unstable, in testing, packages. Users of the 'x86' architecture
# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
# '~ppc', '~sparc' are the unstable KEYWORDS for their respective platforms.
#
# Please note that this is not for development, alpha, beta, nor cvs release
# packages. "Broken" packages will not be added to testing and should not be
# requested to be added. Alternative routes are available to developers
# for experimental packages, and it is at their discretion to use them.
#
# DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
#
#ACCEPT_KEYWORDS="~arch"

# Portage Directories
# ===================
#
# Each of these settings controls an aspect of portage's storage and file
# system usage. If you change any of these, be sure it is available when
# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
#
# PORTAGE_TMPDIR is the location portage will use for compilations and
#     temporary storage of data. This can get VERY large depending upon
#     the application being installed.
#PORTAGE_TMPDIR=/var/tmp
#
# PORTDIR is the location of the portage tree. This is the repository
#     for all profile information as well as all ebuilds. This directory
#     itself can reach 200M. If you change this, you must update your
#     /etc/make.profile symlink accordingly.
PORTDIR=/usr/portage
#
# DISTDIR is where all of the source code tarballs will be placed for
#     emerges. The source code is maintained here unless you delete
#     it. The entire repository of tarballs for gentoo is 9G. This is
#     considerably more than any user will ever download. 2-3G is
#     a large DISTDIR.
DISTDIR=${PORTDIR}/distfiles
#
# PKGDIR is the location of binary packages that you can have created
#     with '--buildpkg' or '-b' while emerging a package. This can get
#     upto several hundred megs, or even a few gigs.
PKGDIR=${PORTDIR}/packages
#PKGDIR="/mnt/cdrom"
#
# PORT_LOGDIR is the location where portage will store all the logs it
#     creates from each individual merge. They are stored as NNNN-$PF.log
#     in the directory specified. This is disabled until you enable it by
#     providing a directory. Permissions will be modified as needed IF the
#     directory exists, otherwise logging will be disabled. NNNN is the
#     increment at the time the log is created. Logs are thus sequential.
#PORT_LOGDIR=/var/log/portage
#
# PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
#     concern that they will be deleted by rsync updates. Default is not
#     defined.
#PORTDIR_OVERLAY=/usr/local/portage

# Fetching files 
# ==============
#
# If you need to set a proxy for wget or lukemftp, add the appropriate "export
# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
# all users on your system should use them.
#
# Portage uses wget by default. Here are some settings for some alternate
# downloaders -- note that you need to merge these programs first before they
# will be available.
#
# Default fetch command (5 tries, passive ftp for firewall compatibility)
#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
#
# Using wget, ratelimiting downloads
#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}"
#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}"
#
# Lukemftp (BSD ftp):
#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
#
# Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
# The list is a space separated list which is read left to right. If you use
# another mirror we highly recommend leaving the default mirror at the end of
# the list so that portage will fall back to it if the files cannot be found
# on your specified mirror. We _HIGHLY_ recommend that you change this setting
# to a nearby mirror by merging and using the 'mirrorselect' tool.
#GENTOO_MIRRORS="ftp://ftp.nymphomatic.org/gentoo/ http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
GENTOO_MIRRORS="ftp://ftp.nymphomatic.org/gentoo/"
#
# Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
# The list is a single entry specifying the full address of the directory
# serving the tbz2's for your system. Running emerge with either '--getbinpkg'
# or '--getbinpkgonly' will cause portage to retrieve the metadata from all
# packages in the directory specified, and use that data to determine what will
# be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
# consult the man pages and 'emerge --help' for more information. For FTP, the
# default connection is passive -- If you require an active connection, affix
# an asterisk (*) to the end of the host:port string before the path.
#PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"
# This ftp connection is passive ftp.
#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
# This ftp connection is active ftp.
#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site:21*/pub/grp/i686/athlon-xp/"

# Synchronizing Portage
# =====================
#
# Each of these settings affects how Gentoo synchronizes your Portage tree.
# Synchronization is handled by rsync and these settings allow some control
# over how it is done.
#
#
# SYNC is the server used by rsync to retrieve a localized rsync mirror
#     rotation. This allows you to select servers that are geographically
#     close to you, yet still distribute the load over a number of servers.
#     Please do not single out specific rsync mirrors. Doing so places undue
#     stress on particular mirrors.  Instead you may use one of the following
#     continent specific rotations:
#
#   Default:       "rsync://rsync.gentoo.org/gentoo-portage"
#   North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
#   South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
#   Europe:        "rsync://rsync.europe.gentoo.org/gentoo-portage"
#   Asia:          "rsync://rsync.asia.gentoo.org/gentoo-portage"
#   Australia:     "rsync://rsync.au.gentoo.org/gentoo-portage"
#SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
#
# RSYNC_RETRIES sets the number of times portage will attempt to retrieve
#     a current portage tree before it exits with an error. This allows
#     for a more successful retrieval without user intervention most times.
#RSYNC_RETRIES="3"
#
# RSYNC_TIMEOUT sets the length of time rsync will wait before it times out
#     on a connection. Most users will benefit from this setting as it will
#     reduce the amount of 'dead air' they experience when they run across
#     the occasional, unreachable mirror. Dialup users might want to set this
#     value up around the 300 second mark.
#RSYNC_TIMEOUT=180

# Advanced Features
# =================
#
# MAKEOPTS provides extra options that may be passed to 'make' when a
#     program is compiled. Presently the only use is for specifying
#     the number of parallel makes (-j) to perform. The suggested number
#     for parallel makes is CPUs+1.
MAKEOPTS="-j2"
#
# PORTAGE_NICENESS provides a default increment to emerge's niceness level.
#     Note: This is an increment. Running emerge in a niced environment will
#     reduce it further. Default is unset.
#PORTAGE_NICENESS=3
#
# AUTOCLEAN enables portage to automatically clean out older or overlapping
#     packages from the system after every successful merge. This is the
#     same as running 'emerge -c' after every merge. Set with: "yes" or "no".
#     This does not affect the unpacked source. See 'noclean' below.
#AUTOCLEAN="yes"
#
# PORTAGE_TMPFS is a location where portage may create temporary files.
#     If specified, portage will use this directory whenever possible
#     for all rapid operations such as lockfiles and transient data.
#     It is _highly_ recommended that this be a tmpfs or ramdisk. Do not
#     set this to anything that does not give a significant performance
#     enhancement and proper FS compliance for locks and read/write.
#     /dev/shm is a glibc mandated tmpfs, and should be a reasonable
#     setting for all linux kernel+glibc based systems.
#PORTAGE_TMPFS="/dev/shm"
#
# FEATURES are settings that affect the functionality of portage. Most of
#     these settings are for developer use, but some are available to non-
#     developers as well. 
#
#  'autoaddcvs'  causes portage to automatically try to add files to cvs
#                that will have to be added later. Done at generation times
#                and only has an effect when 'cvs' is also set.
#  'buildpkg'    causes binary packages to be created of all packages that 
#                are being merged.
#  'ccache'      enables ccache support via CC.
#  'collision-protect'
#                prevents packages from overwriting files that are owned by
#                another package or by no package at all.
#  'cvs'         causes portage to enable all cvs features (commits, adds),
#                and to apply all USE flags in SRC_URI for digests -- for
#                developers only.
#  'digest'      causes digests to be generated for all packages being merged.
#  'distcc'      enables distcc support via CC.
#  'distlocks'   enables distfiles locking using fcntl or hardlinks. This
#                is enabled by default. Tools exist to help clean the locks
#                after crashes: /usr/lib/portage/bin/clean_locks.
#  'fixpackages' allows portage to fix binary packages that are stored in
#                PKGDIR. This can consume a lot of time. 'fixpackages' is
#                also a script that can be run at any given time to force
#                the same actions.
#  'gpg'         enables basic verification of Manifest files using gpg.
#                This features is UNDER DEVELOPMENT and reacts to features
#                of strict and severe. Heavy use of gpg sigs is coming.
#  'keeptemp'    prevents the clean phase from deleting the temp files ($T) 
#                from a merge.
#  'keepwork'    prevents the clean phase from deleting the WORKDIR.
#  'maketest'    causes ebuilds to perform testing phases if they are capable
#                of it. Some packages support this automaticaly via makefiles.
#  'noauto'      causes ebuild to perform only the action requested and 
#                not any other required actions like clean or unpack -- for
#                debugging purposes only.
#  'noclean'     prevents portage from removing the source and temporary files 
#                after a merge -- for debugging purposes only. 
#  'nostrip'     prevents the stripping of binaries.
#  'notitles'    disables xterm titlebar updates (which contain status info). 
#  'sandbox'     enables sandboxing when running emerge and ebuild.
#  'strict'      causes portage to react strongly to conditions that are
#                potentially dangerous, like missing/incorrect Manifest files.
#  'userpriv'    allows portage to drop root privileges while it is compiling,
#                as a security measure.  As a side effect this can remove 
#                sandbox access violations for users. 
#  'usersandbox' enables sandboxing while portage is running under userpriv.
FEATURES="sandbox buildpkg"
#FEATURES="sandbox ccache distcc distlocks autoaddcvs"
#
# CCACHE_SIZE sets the space use limitations for ccache. The default size is
#     2G, and will be set if not defined otherwise and ccache is in features. 
#     Portage will set the default ccache dir if it is not present in the
#     user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache
#     (/var/tmp/ccache), and for regular use the default is /root/.ccache.
#     Sizes are specified with 'G' 'M' or 'K'.
#     '2G' for 2 gigabytes, '2048M' for 2048 megabytes (same as 2G).
#CCACHE_SIZE="512M"
#
# DISTCC_DIR sets the temporary space used by distcc.
#DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
#
# RSYNC_EXCLUDEFROM is a file that portage will pass to rsync when it updates
#     the portage tree. Specific chunks of the tree may be excluded from
#     consideration. This may cause dependency failures if you are not careful.
#     The file format is one pattern per line, blanks and ';' or '#' lines are
#     comments. See 'man rsync' for more details on the exclude-from format.
#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes
.pre



----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/GentooStuff/MakeConf> {date: 2005-05-09 18:12:16 +0200}
.pre
import xchat
from xmms import get_playlist_title, get_playlist_pos

__module_name__ = "nowPlaying"
__module_version__ = "1.0"
__module_description__ = "Displays what song is currently playing in Xmms"

song = get_playlist_title (get_playlist_pos())

try:
        xchat.command ("me plays: " + song)
except TypeError:
        xchat.prnt ("Xmms is not running")
.pre


----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/GentooStuff/SkripticaZaXchatIXmms> {date: 2005-05-09 18:07:48 +0200}
.pre
#!/bin/sh
cat "$1" | awk '{ print $1 | "sort" }'
.pre


----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/GentooStuff/SkripticaZaSredjivanjeLinkova> {date: 2005-05-09 18:02:42 +0200}
.pre
This document describes how to get fbsplash up-n-running in a fast and
painless way.

1) Install the latest Gentoo kernel sources:
   # emerge gentoo-sources

2) Configure, build and install your kernel:
   # cd /usr/src/linux
   # make menuconfig
   # make
   # make install modules_install

3) Install splashutils:
   # emerge splashutils

4) Create an initramfs image for fbsplash:
   # splash_geninitramfs -v -g /boot/fbsplash-emergence-1024x768 -r 1024x768 emergence

5) Configure your bootloader: (instructions for grub)
   # cd /boot/grub

   Edit menu.lst, find the entry for your kernel, and put 'splash=silent,theme:emergence'
   onto the kernel command line. You should get something like this:

   title Gentoo Linux (g-d-s 2.6.11)
       root (hd0,4)
       kernel /boot/gentoo-2.6.11 ro root=/dev/hda1 video=vesafb:1024x768-32@85 splash=silent,theme:emergence
       initrd /boot/fbsplash-emergence-1024x768

This is it. Reboot and enjoy fbsplash :)
.pre


----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/GentooStuff/PetKorakaDoFbsplasha> {date: 2005-05-09 17:59:37 +0200}
.pre
#!/bin/sh
#----
---------------------------------------------------------------
----
# beware, comments FOLLOW the rules, not precede them.
#
/sbin/iptables -F
/sbin/iptables -X block
#flush all rules first ...
#
#----
---------------------------------------------------------------
----
/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
#A little NAT, we'll need it, too.
#
#/usr/local/bin/iptables -t nat -A PREROUTING -i ! ppp0 -p tcp --dport 80 -j REDIRECT --to 194.152.207.52:4242
#some transparent proxying??
#
/sbin/iptables -t nat -A PREROUTING -i ! ppp0 -p tcp --dport 6667 -j DNAT --to-destination 192.168.1.1:7000
#irc port redirection?
#
/sbin/iptables -N block
#define our rule chain ...
#
#----
---------------------------------------------------------------
----
/sbin/iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT
#accept _all_ established connections initiated by our side ...
#
/sbin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --dport 113 -i ppp0 -j ACCEPT
/sbin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --sport 113 -i ppp0 -j ACCEPT
#accept _all_ connections on *ident* port
#
#/usr/local/bin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --dport 6667 -j ACCEPT
#/usr/local/bin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --sport 6667 -j ACCEPT
#accept _all_ connections on *ircd* port
#
#/usr/local/bin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --dport 22 -i ppp0 -j ACCEPT
#/usr/local/bin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --sport 22 -i ppp0 -j ACCEPT
#accept _all_ connections on *ssh* port -- NOT!
#
/sbin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --dport 20 -i ppp0 -j ACCEPT
/sbin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --sport 20 -i ppp0 -j ACCEPT
#accept _all_ connections on *ftp-data* port
#
/sbin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --dport 53 -i ppp0 -j ACCEPT
/sbin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --sport 53 -i ppp0 -j ACCEPT
/sbin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol udp --dport 53 -i ppp0 -j ACCEPT
/sbin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol udp --sport 53 -i ppp0 -j ACCEPT
#accept _all_ connections on *DNS* ports
#
#/usr/local/bin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --dport 4000 -i ppp0 -j ACCEPT
#/usr/local/bin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --sport 4000 -i ppp0 -j ACCEPT
##/usr/local/bin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --dport 4242 -i ppp0 -j ACCEPT
##/usr/local/bin/iptables -A block -m state --state NEW,ESTABLISHED,RELATED --protocol tcp --sport 4242 -i ppp0 -j ACCEPT
#accept _all_ connections on our strange proxy port
#
/sbin/iptables -A block -m state --state NEW -i ! ppp0 -j ACCEPT
#accept _all_ connections originating on our local interfaces
#
/sbin/iptables -A block -j DROP
#default policy is drop, of course
#
/sbin/iptables -A INPUT -j block
#all in input chain we forward to our rules...
#
/sbin/iptables -A FORWARD -j block
#and forward chain,too.
#
/sbin/iptables -A FORWARD -m limit -j LOG
#do a little, of course limited, logging.
#
/sbin/iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
/sbin/iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j LOG
#SYNflood protection
#
/sbin/iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
/sbin/iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j LOG
#ping of death protection
#
#----
---------------------------------------------------------------
----
#that's all folks, for now.
.pre



----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/DocumentS/FireWall> {date: 2005-05-09 09:08:24 +0200}
.pre
function precmd {

    local TERMWIDTH
    (( TERMWIDTH = ${COLUMNS} - 1 ))


    ###
    # Truncate the path if it's too long.
    
    PR_FILLBAR=""
    PR_PWDLEN=""
    
    local promptsize=${#${(%):---(%n@%m:%l)---()--}}
    local pwdsize=${#${(%):-%~}}
    
    if [[ "$promptsize + $pwdsize" -gt $TERMWIDTH ]]; then
	    ((PR_PWDLEN=$TERMWIDTH - $promptsize))
    else
	PR_FILLBAR="\${(l.(($TERMWIDTH - ($promptsize + $pwdsize)))..${PR_HBAR}.)}"
    fi


    ###
    # Get APM info.

#    if which ibam > /dev/null; then
#	PR_APM_RESULT=`ibam --percentbattery`
 #   elif which apm > /dev/null; then
#	PR_APM_RESULT=`apm`
 #   fi
}


setopt extended_glob
preexec () {
    if [[ "$TERM" == "screen" ]]; then
	local CMD=${1[(wr)^(*=*|sudo|-*)]}
	echo -n "\ek$CMD\e\\"
    fi
}


setprompt () {
    ###
    # Need this so the prompt will work.

    setopt prompt_subst


    ###
    # See if we can use colors.

    autoload colors zsh/terminfo
    if [[ "$terminfo[colors]" -ge 8 ]]; then
	colors
    fi
    for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do
	eval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}'
	eval PR_LIGHT_$color='%{$fg[${(L)color}]%}'
	(( count = $count + 1 ))
    done
    PR_NO_COLOUR="%{$terminfo[sgr0]%}"


    ###
    # See if we can use extended characters to look nicer.
    
    typeset -A altchar
    set -A altchar ${(s..)terminfo[acsc]}
    PR_SET_CHARSET="%{$terminfo[enacs]%}"
    PR_SHIFT_IN="%{$terminfo[smacs]%}"
    PR_SHIFT_OUT="%{$terminfo[rmacs]%}"
    PR_HBAR=${altchar[q]:--}
    PR_ULCORNER=${altchar[l]:--}
    PR_LLCORNER=${altchar[m]:--}
    PR_LRCORNER=${altchar[j]:--}
    PR_URCORNER=${altchar[k]:--}

    
    ###
    # Decide if we need to set titlebar text.
    
    case $TERM in
	xterm*)
	    PR_TITLEBAR=$'%{\e]0;%(!.-=*[ROOT]*=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\a%}'
	    ;;
	screen)
	    PR_TITLEBAR=$'%{\e_screen \005 (\005t) | %(!.-=[ROOT]=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\e\\%}'
	    ;;
*)
	    PR_TITLEBAR=_
	    ;;
    esac
    
    
    ###
    # Decide whether to set a screen title
    if [[ "$TERM" == "screen" ]]; then
	PR_STITLE=$'%{\ekzsh\e\\%}'
    else
	PR_STITLE=_
    fi
    
    
    ###
    # APM detection
    
#    if which ibam > /dev/null; then
#	PR_APM='$PR_RED${${PR_APM_RESULT[(f)1]}[(w)-2]}%%(${${PR_APM_RESULT[(f)3]}[(w)-1]})$PR_LIGHT_BLUE:'
#    elif which apm > /dev/null; then
#	PR_APM='$PR_RED${PR_APM_RESULT[(w)5,(w)6]/\% /%%}$PR_LIGHT_BLUE:'
#    else
#	PR_APM=''
#    fi
	
#	alias ls='ls -AFqshH --color'
    	alias lsl='ls -Al --color=auto'
 	alias ls='ls --color=auto'
	alias cd..='cd ..'
	alias df='df -h'
	alias defdate='date +%r'
	alias cls='clear'

    ###
    # Finally, the prompt.

    PROMPT='$PR_SET_CHARSET$PR_STITLE${(e)PR_TITLEBAR}\
$PR_CYAN$PR_SHIFT_IN$PR_ULCORNER$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\
$PR_GREEN%(!.%SROOT%s.%n)$PR_GREEN@%m:%l\
$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_CYAN$PR_HBAR${(e)PR_FILLBAR}$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\
$PR_MAGENTA%$PR_PWDLEN<...<%~%<<\
$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_CYAN$PR_URCORNER$PR_SHIFT_OUT\

$PR_CYAN$PR_SHIFT_IN$PR_LLCORNER$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\
%(?..$PR_LIGHT_RED%?$PR_BLUE:)\
${(e)PR_APM}$PR_YELLOW%D{%H:%M}\
$PR_LIGHT_BLUE:%(!.$PR_RED.$PR_WHITE)%#$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\
$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\
$PR_NO_COLOUR '

    RPROMPT=' $PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_BLUE$PR_HBAR$PR_SHIFT_OUT\
($PR_YELLOW%D{%a,%b%d}$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_CYAN$PR_LRCORNER$PR_SHIFT_OUT$PR_NO_COLOUR'

    PS2='$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\
$PR_BLUE$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT(\
$PR_LIGHT_GREEN%_$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\
$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT$PR_NO_COLOUR '
}

setprompt
.pre


----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD/MojSajt/DocumentS/ZshRc> {date: 2005-05-09 09:05:45 +0200}