<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Johannes Buchner &#187; comment</title>
	<atom:link href="http://johannes.jakeapp.com/blog/category/tag/comment/feed" rel="self" type="application/rss+xml" />
	<link>http://johannes.jakeapp.com/blog</link>
	<description>Johannes Buchner&#039;s blog about advanced usage of your operating system</description>
	<lastBuildDate>Sun, 18 Jul 2010 08:30:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Get started with github</title>
		<link>http://johannes.jakeapp.com/blog/category/happy-hacking/200902/get-started-with-github</link>
		<comments>http://johannes.jakeapp.com/blog/category/happy-hacking/200902/get-started-with-github#comments</comments>
		<pubDate>Thu, 26 Feb 2009 14:03:30 +0000</pubDate>
		<dc:creator>JohannesTheDeveloper</dc:creator>
				<category><![CDATA[Happy Hacking]]></category>
		<category><![CDATA[comment]]></category>

		<guid isPermaLink="false">http://johannes.jakeapp.com/blog/?p=22</guid>
		<description><![CDATA[- create your local git repo.
- create account+project on github
- copy your github url (see project page)
- git remote add origin &#60;github-url&#62;
- git push origin master
copies your local changes
- git pull origin master:master
pulls from github
Setup for another directory/user:
- git clone &#60;github-url&#62;
- git push
- git pull
Note: the second user lives in origin, whereas your original lives [...]]]></description>
			<content:encoded><![CDATA[<p>- create your local git repo.<br />
- create account+project on github<br />
- copy your github url (see project page)<br />
- git remote add origin &lt;github-url&gt;<br />
- git push origin master<br />
copies your local changes<br />
- git pull origin master:master<br />
pulls from github</p>
<p>Setup for another directory/user:<br />
- git clone &lt;github-url&gt;<br />
- git push<br />
- git pull</p>
<p>Note: the second user lives in origin, whereas your original lives in master and you push to origin. <br />
I&#8217;m still trying to figure stuff out. Git resources: <a href="http://www.gnome.org/~federico/misc/git-cheat-sheet.txt">http://www.gnome.org/~federico/misc/git-cheat-sheet.txt</a></p>
]]></content:encoded>
			<wfw:commentRss>http://johannes.jakeapp.com/blog/category/happy-hacking/200902/get-started-with-github/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Backup compression</title>
		<link>http://johannes.jakeapp.com/blog/category/fun-with-linux/200805/backup-compression</link>
		<comments>http://johannes.jakeapp.com/blog/category/fun-with-linux/200805/backup-compression#comments</comments>
		<pubDate>Fri, 30 May 2008 23:11:32 +0000</pubDate>
		<dc:creator>JohannesTheDeveloper</dc:creator>
				<category><![CDATA[fun with Linux]]></category>
		<category><![CDATA[comment]]></category>

		<guid isPermaLink="false">http://johannes.jakeapp.com/blog/?p=46</guid>
		<description><![CDATA[I compressed a backup with various tools:
1606M original tarfile
1226M bzip2 &#8211;best
1.3G gzip &#8211;best (sorry, no exact MB)
1152M lzma -7 (default) 
1131M lzma -8
LZMA (7-zip) is definitly a algorithm heavy on cpu and memory, but achieved great compression. 
This shouldn&#8217;t be a benchmark (as I didn&#8217;t measure time), only a perception in this specific use case.
]]></description>
			<content:encoded><![CDATA[<p>I compressed a backup with various tools:</p>
<p>1606M original tarfile<br />
1226M bzip2 &#8211;best<br />
1.3G gzip &#8211;best (sorry, no exact MB)<br />
1152M lzma -7 (default) <br />
1131M lzma -8</p>
<p>LZMA (7-zip) is definitly a algorithm heavy on cpu and memory, but achieved great compression. <br />
This shouldn&#8217;t be a benchmark (as I didn&#8217;t measure time), only a perception in this specific use case.</p>
]]></content:encoded>
			<wfw:commentRss>http://johannes.jakeapp.com/blog/category/fun-with-linux/200805/backup-compression/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux: Hostname change break X apps</title>
		<link>http://johannes.jakeapp.com/blog/category/fun-with-linux/200803/linux-hostname-change-break-x-apps</link>
		<comments>http://johannes.jakeapp.com/blog/category/fun-with-linux/200803/linux-hostname-change-break-x-apps#comments</comments>
		<pubDate>Thu, 13 Mar 2008 11:06:20 +0000</pubDate>
		<dc:creator>JohannesTheDeveloper</dc:creator>
				<category><![CDATA[fun with Linux]]></category>
		<category><![CDATA[comment]]></category>

		<guid isPermaLink="false">http://johannes.jakeapp.com/blog/?p=55</guid>
		<description><![CDATA[There exists a really lame problem on X (X11,XFree86,Xorg,&#8230;): The authentification or identification mechanism when a new application wants to connect to the X server (read: show a window) works over the hostname.
This is fine if you live in 1990, but wireless network have dhcp and dhcp server can send a hostname to your machine [...]]]></description>
			<content:encoded><![CDATA[<p>There exists a really lame problem on X (X11,XFree86,Xorg,&#8230;): The authentification or identification mechanism when a new application wants to connect to the X server (read: show a window) works over the <b>hostname</b>.</p>
<p>This is fine if you live in 1990, but wireless network have dhcp and dhcp server can send a hostname to your machine making your X session stop working: You can&#8217;t start any programs anymore.</p>
<p>NetworkManager (what also make the little icon on GNOME/KDE desktops, pre-installed on Ubuntus et.al., developed by RedHat) uses dhclient to retrieve a hostname.</p>
<p>The magic words to add to your dhclient.conf are:</p>
<pre><code>send host-name "hoot";
supersede host-name "hoot";</code></pre>
<p>If you use pump (instead of dhclient), you shouldn&#8217;t have this problem, as it doesn&#8217;t set the hostname (see the man page).</p>
<p>A mailing list entry on this topic starts here: <a href="http://lists.freedesktop.org/archives/xorg/2004-August/002772.html">http://lists.freedesktop.org/archives/xorg/2004-August/002772.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://johannes.jakeapp.com/blog/category/fun-with-linux/200803/linux-hostname-change-break-x-apps/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HSQL CHECK constraints with CASE statement</title>
		<link>http://johannes.jakeapp.com/blog/category/happy-hacking/200803/hsql-check-constraints-with-case-statement</link>
		<comments>http://johannes.jakeapp.com/blog/category/happy-hacking/200803/hsql-check-constraints-with-case-statement#comments</comments>
		<pubDate>Wed, 12 Mar 2008 19:23:32 +0000</pubDate>
		<dc:creator>JohannesTheDeveloper</dc:creator>
				<category><![CDATA[Happy Hacking]]></category>
		<category><![CDATA[comment]]></category>

		<guid isPermaLink="false">http://johannes.jakeapp.com/blog/?p=56</guid>
		<description><![CDATA[Like the post at [0] suggests, HSQL CHECK constraints can not be used together with CASE WHEN statements.
If you try to insert/update, you will receive a (very informative) &#8220;S1000 General error java.lang.ClassCastException&#8221;, followed by the whole SQL statement. (here I have, HSQL 1.8.0.9).
If you have something like:

ALTER TABLE personnel ADD CONSTRAINT salary_types_constraint
CHECK (
CASE
WHEN pos = [...]]]></description>
			<content:encoded><![CDATA[<p>Like the post at [0] suggests, HSQL CHECK constraints can not be used together with CASE WHEN statements.<br />
If you try to insert/update, you will receive a (very informative) &#8220;S1000 General error java.lang.ClassCastException&#8221;, followed by the whole SQL statement. (here I have, HSQL 1.8.0.9).</p>
<p>If you have something like:</p>
<pre><code>
ALTER TABLE personnel ADD CONSTRAINT salary_types_constraint
CHECK (
CASE
WHEN pos = 0 AND (salary &lt; 1000 OR salary &gt; 5000)
THEN FALSE -- personal
WHEN pos = 1 AND (salary &lt; 10000 OR salary &gt; 20000)
THEN FALSE -- manager
ELSE TRUE
END
);
</code></pre>
<p>It will not work. It will give you a &#8220;S1000 General error java.lang.ClassCastException&#8221; error message.</p>
<p>Replace with:</p>
<pre><code>
ALTER TABLE personnel ADD CONSTRAINT salary_types_constraint
CHECK (
(pos = 0 AND (salary &gt; 1000 OR salary &lt; 5000))
OR
(pos = 1 AND (salary &lt; 10000 OR salary &gt; 20000))
);
</code></pre>
<ul>
<li>[0] <a href="http://osdir.com/ml/java.hsqldb.user/2006/msg00278.html">http://osdir.com/ml/java.hsqldb.user/2006/msg00278.html</a></li>
<li>buggy report  <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1913019&amp;group_id=23316&amp;atid=378131">http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1913019&amp;group_id=23316&amp;atid=378131</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://johannes.jakeapp.com/blog/category/happy-hacking/200803/hsql-check-constraints-with-case-statement/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bittorrent: Watching the net</title>
		<link>http://johannes.jakeapp.com/blog/category/happy-hacking/200707/bittorrent-watching-the-net</link>
		<comments>http://johannes.jakeapp.com/blog/category/happy-hacking/200707/bittorrent-watching-the-net#comments</comments>
		<pubDate>Wed, 25 Jul 2007 01:34:32 +0000</pubDate>
		<dc:creator>JohannesTheDeveloper</dc:creator>
				<category><![CDATA[Happy Hacking]]></category>
		<category><![CDATA[comment]]></category>

		<guid isPermaLink="false">http://johannes.jakeapp.com/blog/?p=86</guid>
		<description><![CDATA[You might wonder, why I made the previous story. 
I was trying to find out how to make a tool that watches the local network for torrents. Ideally, it outputs the files shared and being downloaded so one can either join &#8230; or fire that guy. 
As it turns out reading the spec (bittorrent.org, theory.org) [...]]]></description>
			<content:encoded><![CDATA[<p>You might wonder, why I made <a href="http://twoday.tuwien.ac.at/jo/stories/303809">the previous story</a>. </p>
<p>I was trying to find out how to make a tool that watches the local network for torrents. Ideally, it outputs the files shared and being downloaded so one can either join &#8230; or fire that guy. </p>
<p>As it turns out reading the spec (<a href="http://www.bittorrent.org/protocol.html">bittorrent.org</a>, <a href="http://wiki.theory.org/BitTorrentSpecification">theory.org</a>) and doing some sniffing, that you can not find out the original torrents. <br />
That is because the info_hash, that is transmitted to tracker announcements (getting other peers, etc) regularly is a one-way hash (sha1). </p>
<p>Thus you can only see how much traffic, how many and which users and how many different files are participating, but not which files are shared, unless you have the .torrent files yourself (like, your the owner of thepiratebay.org).</p>
]]></content:encoded>
			<wfw:commentRss>http://johannes.jakeapp.com/blog/category/happy-hacking/200707/bittorrent-watching-the-net/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C Reference (Glibc info)</title>
		<link>http://johannes.jakeapp.com/blog/category/fun-with-linux/200706/c-reference-glibc-info</link>
		<comments>http://johannes.jakeapp.com/blog/category/fun-with-linux/200706/c-reference-glibc-info#comments</comments>
		<pubDate>Fri, 29 Jun 2007 23:45:11 +0000</pubDate>
		<dc:creator>JohannesTheDeveloper</dc:creator>
				<category><![CDATA[fun with Linux]]></category>
		<category><![CDATA[comment]]></category>

		<guid isPermaLink="false">http://johannes.jakeapp.com/blog/?p=90</guid>
		<description><![CDATA[I already knew that the linux man pages contain documentation for a lot of the C-functions. 
But I just found the info pages for glibc and using yelp (gnome help), entering
yelp file:///usr/share/info/libc.info.bz2
gives the C reference manual I always wanted!
Awesome.
]]></description>
			<content:encoded><![CDATA[<p>I already knew that the linux man pages contain documentation for a lot of the C-functions. </p>
<p>But I just found the info pages for glibc and using yelp (gnome help), entering</p>
<pre><code>yelp file:///usr/share/info/libc.info.bz2</code></pre>
<p>gives the C reference manual I always wanted!<br />
Awesome.</p>
]]></content:encoded>
			<wfw:commentRss>http://johannes.jakeapp.com/blog/category/fun-with-linux/200706/c-reference-glibc-info/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spam</title>
		<link>http://johannes.jakeapp.com/blog/category/fun-with-linux/200706/spam</link>
		<comments>http://johannes.jakeapp.com/blog/category/fun-with-linux/200706/spam#comments</comments>
		<pubDate>Thu, 28 Jun 2007 21:35:53 +0000</pubDate>
		<dc:creator>JohannesTheDeveloper</dc:creator>
				<category><![CDATA[fun with Linux]]></category>
		<category><![CDATA[comment]]></category>

		<guid isPermaLink="false">http://johannes.jakeapp.com/blog/?p=91</guid>
		<description><![CDATA[For not getting confused with my emails, I use filters obviously. 
For blocking Spam I use spamassassin. http://wiki.apache.org/spamassassin/
Both are integrated really nice in KMail, my favorite mail application.
Spamassessin is nice &#8217;cause it&#8217;s actually software meant for mail servers. Thus I think the bayes and other stuff is quite good. Coolest thing is, I can also [...]]]></description>
			<content:encoded><![CDATA[<p>For not getting confused with my emails, I use filters obviously. <br />
For blocking Spam I use spamassassin. <a href="http://wiki.apache.org/spamassassin/">http://wiki.apache.org/spamassassin/</a><br />
Both are integrated really nice in KMail, my favorite mail application.</p>
<p>Spamassessin is nice &#8217;cause it&#8217;s actually software meant for mail servers. Thus I think the bayes and other stuff is quite good. Coolest thing is, I can also fine tune it:</p>
<p>The spam rating is based on scores given for the different tests run on the incoming email. As a user, you can create new test and set the scores for existant tests. If the sum hits a maximum (5 for me), it is flagged as spam. Cool feature in Kmail: You can see the spaminess (Spam score given by spamassessin)<br />
<img width="115" height="27" title="" class="right" align="right" src="http://johannes.jakeapp.com/blog/oldblog/images/spaminess.png" alt="spaminess" /></p>
<p>My .spamassassin/user_prefs:</p>
<pre><code>
score DATE_IN_FUTURE_12_24      5
score HTML_MESSAGE              3.3
score MIME_HTML_ONLY            5
score MULTIPART_ALT_NON_TEXT    3
score GAPPY_SUBJECT             5
score FROM_EXCESS_BASE64        3
score FROM_HAS_ULINE_NUMS       3
score UPPERCASE_25_50           3
score UPPERCASE_50_75           4
score SUBJ_ALL_CAPS             2
body EVIL_WORDS         /(software|petroleum|casino|kurs|profit|symbol)/i
score EVIL_WORDS                2
describe EVIL_WORDS     evil_words
body EVIL_WORDS2        /(price|oil|bonus|prognose|borse|preis)/i
score EVIL_WORDS2               2
describe EVIL_WORDS2    evil_words2
body DOLLAR_SIGN        /[\$]/
score DOLLAR_SIGN       3
body PERCENT_SIGN       /[\%]/
score PERCENT_SIGN      3
</code></pre>
<p>The 25_50 stands always for percent.</p>
]]></content:encoded>
			<wfw:commentRss>http://johannes.jakeapp.com/blog/category/fun-with-linux/200706/spam/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HP-UX/Bash: Getting comfortable in your shell</title>
		<link>http://johannes.jakeapp.com/blog/category/fun-with-linux/200706/hp-uxbash-getting-comfortable-in-your-shell</link>
		<comments>http://johannes.jakeapp.com/blog/category/fun-with-linux/200706/hp-uxbash-getting-comfortable-in-your-shell#comments</comments>
		<pubDate>Sun, 24 Jun 2007 00:07:31 +0000</pubDate>
		<dc:creator>JohannesTheDeveloper</dc:creator>
				<category><![CDATA[fun with Linux]]></category>
		<category><![CDATA[comment]]></category>

		<guid isPermaLink="false">http://johannes.jakeapp.com/blog/?p=93</guid>
		<description><![CDATA[Introduction: I&#8217;m talking about the weird things after opening a shell on stud4
stud4 has a ugly configuration. If you connect, you get a minimal shell. the locale is set wrong, so you see the following all the time:
 Warning! One or more of your selected locales are not available.
Please invoke the commands "locale" and "locale [...]]]></description>
			<content:encoded><![CDATA[<p><i>Introduction: I&#8217;m talking about the weird things after opening a shell on stud4</i></p>
<p>stud4 has a ugly configuration. If you connect, you get a minimal shell. the locale is set wrong, so you see the following all the time:</p>
<pre><code> Warning! One or more of your selected locales are not available.
Please invoke the commands "locale" and "locale -a" to verify your
selections and the available locales.
Continuing processing using the "C" locale.</code></pre>
<p>Also, vi is no fun, and vim doesn&#8217;t accept the extended keyboard (delete, end).</p>
<p>Here I want to provide some info how you can improve your comfort.</p>
<p>1: start bash. Way better than the default shell.</p>
<pre><code>bash</code></pre>
<p>2: set your locale (language and localization). This is also in which language the error messages for example are.</p>
<pre><code>export LC_ALL="en_US.utf8"
#export LC_ALL="de_DE.utf8"</code></pre>
<p>For example:</p>
<pre><code>[e0123456@stud4:~]$ export LC_ALL="en_US.utf8"
[e0123456@stud4:~]$ man
Usage: man [-M path] [-T macro-package] [ section ] name ...
or: man -k keyword ...
or: man -f file ...
[e0123456@stud4:~]$ export LC_ALL="de_DE.utf8"
[e0123456@stud4:~]$ man
Syntax: man [-M Pfad] [-T Makro-Paket] [ Sektion ] Befehlsname ...
oder: man -k Schl&uuml;sselwort ...
oder: man -f Datei ...
[e0123456@stud4:~]$</code></pre>
<p>3: allow backspace</p>
<pre><code>stty erase "^?"</code></pre>
<p>4: get a informative prompt (second is with color)</p>
<pre><code>PS1="[\u@\h \W]\\$ "
PS1="\e[0;34m[${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}]$ \e[m"
</code></pre>
<p>Example:</p>
<pre><code>bash-2.04$ PS1="\e[0;34m[${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}]$ \e[m"
[e0123456@stud4:~]$</code></pre>
<p><a href="http://www.cyberciti.biz/faq/bash-shell-change-the-color-of-my-shell-prompt-under-linux-or-unix/">List of colors and manual</a></p>
<p>If you want that in your startup, write the following into your .bashrc</p>
<pre><code>#!/bin/bash
export LC_ALL="en_US.utf8"
#export LC_ALL="de_DE.utf8"
stty erase "^?"
PS1="\e[0;34m[${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}]$ \e[m"</code></pre>
<p>Now you may wonder, how can I write that easily in the freaking file?</p>
<pre><code>pico .bashrc</code></pre>
<p>To set pico, vim, xemacs or whatever your default editor (so "crontab -e" and other commands call it), use:</p>
<pre><code>export EDITOR=pico</code></pre>
<p>Another funny thing is XForwarding. Try this:</p>
<pre><code>ssh e0123456@stud4.tuwien.ac.at -X
bash
xemacs</code></pre>
<p>Ta-daa! A fat graphical editor. Of course only if you use X.<br />
Also funny commands you can play with: xload, xbiff++, xclock, etc.</p>
<p>
Really useful on the stud4 server is the script quotax:</p>
<pre><code>[e0123456@stud4:~]$ quotax
Disk space limits on stud4:
---------------------------
Total disk space in home directory:   200 MB
Minimal free space for mail delivery:  10 MB
Maximal capacity of inbox folder:      50 MB
Disk usage summary for user e0123456:
-------------------------------------
Used disk space in home directory:  186.0 MB [93.0 %]
Free disk space in home directory:   13.9 MB [ 7.0 %]
Number of messages in inbox folder:  213
Size of inbox folder:                 2.0 MB [ 4.0 %]
Free space for incoming messages:     3.9 MB
WARNING: Remaining disk space in home directory is very low.
-------&gt; There is not much space left for files and incoming mails.
</code></pre>
<p>At the end, some useful bash and vim tips for these crippled terminals:</p>
<pre>bash:
Ctrl-A: begin of line
Ctrl-E: end of line
Ctrl-W: delete last word
vim: (watch out if you are in edit or command mode)
:dl      Delete letter
:dw    Delete word
:dd     Delete line
:wq    Write &amp; quit
:q!      Quit without writing or anything
</pre>
<p>It is always worthy reading the according manuals (probably not on HP-UX, but on a linux machine or man-pages on the internet). </p>
<p>That&#8217;s it. Try things, don&#8217;t break things, and have fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://johannes.jakeapp.com/blog/category/fun-with-linux/200706/hp-uxbash-getting-comfortable-in-your-shell/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>My backup plan</title>
		<link>http://johannes.jakeapp.com/blog/category/fun-with-linux/200705/my-backup-plan</link>
		<comments>http://johannes.jakeapp.com/blog/category/fun-with-linux/200705/my-backup-plan#comments</comments>
		<pubDate>Sat, 19 May 2007 19:43:23 +0000</pubDate>
		<dc:creator>JohannesTheDeveloper</dc:creator>
				<category><![CDATA[fun with Linux]]></category>
		<category><![CDATA[comment]]></category>

		<guid isPermaLink="false">http://johannes.jakeapp.com/blog/?p=107</guid>
		<description><![CDATA[Everyone says, backups are important, but how do you backup? And have you ever tried replaying a backup?
My backup plan:  
- Working copy on my laptop  
- Compressed archive is created every week. I delete old backups infrequently.  
- Infrequent rsync of working copy (filtered) to USB stick.  
- rsync of [...]]]></description>
			<content:encoded><![CDATA[<p>Everyone says, backups are important, but how do you backup? And have you ever tried replaying a backup?</p>
<p>My backup plan:  <br />
- Working copy on my laptop  <br />
- Compressed archive is created every week. I delete old backups infrequently.  <br />
- Infrequent rsync of working copy (filtered) to USB stick.  <br />
- rsync of working copy (filtered) to the university servers.  <br />
- Compressed archive copied to the university server.</p>
<p>I would say I&#8217;m quite secure &#8230;</p>
<p>Crontab entry: <code>0 */4 * * * cd backup &amp;&amp; sh backup2.sh</code></p>
<pre><code>
#!/bin/bash
PARENT=/mnt/daten/Daten/
DIR=Studium/
SELDOMCHANGE='*.zip *.ps *.pdf *.rar *.tar.* *.jpg *.gif *.png'
BORING='*.log *.out *.xac *~'
LARGESERVER=a0123456@login.unet.univie.ac.at
SMALLSERVER=e0123456@stud4.tuwien.ac.at
SERVERS="$LARGESERVER $SMALLSERVER"
cd $PARENT
# part A:
# compress some file types that change seldom and send them over once a month
# that would be zip, ps, pdf, rar, tars, images,
FILENAME=Sicherungen/Full/seldom-changed-types-$(date +%W).tar.bz2
TARGETSERVERDIR=$LARGESERVER:Sicherungen/Full/
# create archive if it doesn't exist yet
[ -s $FILENAME ] || \
echo 'creating weekly archive' &amp;&amp;
find Studium -type f $( for i in $SELDOMCHANGE ; do echo "-iname" "$i" "-or"; done) -false | \
tar --create --bzip2 "--verbose" "--files-from=-" "--file=$FILENAME"
# lets sync that to the server
# commented out: files ~ 500MB :-(
#echo 'rsyncing weekly archive to server'
#rsync $FILENAME $TARGETSERVERDIR
# part b
# rsync the others
#
for SERVER in $SERVERS
do
echo 'rsyncing with ' $SERVER
TARGETSERVERDIR=$SERVER:Sicherungen/Studium/
for i in $SELDOMCHANGE $BORING; do echo "- $i"; done | \
rsync -az --checksum --delete-excluded --exclude-from=- $PARENT/$DIR $TARGETSERVERDIR
done
echo 'backup done.'
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://johannes.jakeapp.com/blog/category/fun-with-linux/200705/my-backup-plan/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Feedreader für Lindex</title>
		<link>http://johannes.jakeapp.com/blog/category/happy-hacking/200705/feedreader-fr-lindex</link>
		<comments>http://johannes.jakeapp.com/blog/category/happy-hacking/200705/feedreader-fr-lindex#comments</comments>
		<pubDate>Thu, 17 May 2007 15:26:39 +0000</pubDate>
		<dc:creator>JohannesTheDeveloper</dc:creator>
				<category><![CDATA[Happy Hacking]]></category>
		<category><![CDATA[comment]]></category>

		<guid isPermaLink="false">http://johannes.jakeapp.com/blog/?p=105</guid>
		<description><![CDATA[Hier werden geeignete Feedreader f&#252;r Lindexdiskutiert.
Um zu testen, gehe auf die Lindex Startseite und w&#228;hle einen unmoderierten Feed von der TestLVA von der TestUni. Nachdem der Feed geladen wurde, &#228;ndere bei einem Eintrag Text oder Datum. Der Feedreader ist gut, wenn er die &#196;nderung erkennt (als neu markiert und Datum und Text richtig ausgibt).
Empfehlungen

Windows: RSSOwl: [...]]]></description>
			<content:encoded><![CDATA[<p>Hier werden geeignete Feedreader f&uuml;r <a href="http://jublogin.sourceforge.net/uni/lindex/">Lindex</a>diskutiert.</p>
<p>Um zu testen, gehe auf die <a href="http://jublogin.sourceforge.net/uni/lindex/">Lindex Startseite</a> und w&auml;hle einen unmoderierten Feed von der TestLVA von der TestUni. Nachdem der Feed geladen wurde, &auml;ndere bei einem Eintrag Text oder Datum. Der Feedreader ist gut, wenn er die &Auml;nderung erkennt (als neu markiert und Datum und Text richtig ausgibt).</p>
<p><b>Empfehlungen</b></p>
<ul>
<li>Windows: <b><a href="http://www.rssowl.org/">RSSOwl</a></b>: Vorbildlich (sollte auch auf anderen Betriebssystemen gehen)</li>
<li>Linux: <b>Liferea</b>: Vorbildlich</li>
<li>Windows: <b><a href="http://www.rssreader.com/">RSSReader</a></b>: Erstellt bei &Auml;nderungen einen neuen Eintrag</li>
<li>Firefox: <b><a href="https://addons.mozilla.org/en-US/firefox/addon/77">Sage</a></b>: Zeigt aber Datum nicht in der Liste an.</li>
</ul>
<p><b>Getestet und nicht empfohlen</b></p>
<ul>
<li>Linux: Akregator: Erkennt keine &Auml;nderungen.</li>
<li>Firefox: <a href="https://addons.mozilla.org/en-US/firefox/addon/424">WizzRSS</a>: Zeigt Datum nicht an.</li>
<li>Windows: <a href="http://www.feedreader.com/">Feedreader</a>: Markiert ge&auml;nderte Eintr&auml;ge nicht als neu/ungelesen</li>
<li>Thunderbird: Erkennt &Auml;nderungen nicht, un&uuml;bersichtlich bei zu vielen Feeds.</li>
</ul>
<p>Jeder ist eingeladen, dazu Kommentare zu posten.</p>
]]></content:encoded>
			<wfw:commentRss>http://johannes.jakeapp.com/blog/category/happy-hacking/200705/feedreader-fr-lindex/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
