Freunde
Donnerstag, 6. November 2008
Linuxshop in Berlin
Endlich habe ich ihn gefunden. Den Linuxshop auf http://www.tuxman.de/ in Berlin, bei den man auch persönlich vorbeifahren kann.
Ob Knuddeltuxe oder DVD-Images. Sogar T-Shirts und nützliche Mousepads mit den wichtigsten Befehlen in der Übersicht gibst hier.
Der Tuxman sitzt in der :
Möllendorffstraße 44
10367 Berlin
Öffnungszeiten:
Mo. - Fr.: 09.30 - 19.00
Sa.: 09.30 - 14.00
neben der Möllendorffpassage
Zu Weihnachten kommt die Susi ;)
Gestern, am 04.11.2208 hat das Opensuse Team die 4. beta von Opensuse 11.1 zum download freigegeben und ausgiebig zum Testen eingeladen.
Leider gibt es auf der Liste der Most enoying bugs immernoch das eine der andere Manko, so zum Beispiel funktionieren sowohl der KDE- als auch der Gnomeupdater eher gar nicht.
Freitag, 31. Oktober 2008
Mein Zitat der Woche: Zitat1
Das Zitat der Woche kommt heute das erste Mal von meiner Lieblings-TV-Serie House M.D.:
Dr. Wilson: (over a microphone) House, this is God.
House: Look, I'm a little busy right now. Not supposed to talk during these things. Got time Thursday?
Dr. Wilson: Let me check. Oh, I got a plague! How about Friday?
House: You'll have to check with Cameron.
Dr. Wilson: Oh, damn it! She always wants to know why bad things happen. Like I'm gonna come up with a new answer this time.
Dr. Cuddy: House!
House: Quick, God! Smite the evil witch!
Angekommen: Ubuntu 8.10 relased
Endlich ist es soweit. Seit Gestern steht der unerschrockende Steinbock zum Download auf einen der vielen Spiegelserver unter ubuntu.com zum download bereit.
Der Steinbock basiert auf Kernelversion 2.27 und kommt entweder mit KDE-4.1.2 als Kubuntu mit allerlei bunten Desktopeffekten oder mit der bekannten Gnome-Umgebung in der Version 2.24.1, dessen Dateimanager Nautilus mit neuen Funktioen aufwarten kann.
Weitere Neuerungen, die ein Upgrade für Desktopanwender Lohnenswert machen, sind Firefox 3.0.3, Gimp 2.6, Networkamanger 0.7.
Der verbesserte Xorg.7.4 X-Server installiert nun auf jeden Fall eine Defaultkonfiguration, so dass Anfänger deren Graphikkarten nicht erkannt wurden, sich nicht gleich vom manuellen editiern in der xorg.conf abschrecken lassen.
Die Servervariante kommt mit einem besseren Java-Stack,. Tomcat 6.0 und einer verbesserten Virtualisierungslösung.
Ubuntu 8.10 erscheint wie immer in 3 Varianten (Desktop, Alternate, Server) mit verschiedenen Desktop- und Arbeitsumgebungen (Xubuntu, Kubuntu, Edubuntu, Ubuntu-Studio, Mythbuntu)
Donnerstag, 30. Oktober 2008
Bashtools jetzt mit offiziellen Serverzugang
http://propstmatthias.bplaced.net/pub/bashtools/
zu finden. Dort können nun die aktuellen Version für die bashtools heruntergeladen werden. Eine neue Version 0.4.6 wird vorraussichtlich noch Ende diesen Jahres released.
Ich hoffen Sie wurden geholfen.
T#
Mittwoch, 29. Oktober 2008
Big Brother Awards 2008
Auch dieses Jahr wurden wieder 9 Awards in verschiedenen Kategorien vergeben. Darunter auch an den Rat der EU, der den Publikumspreis für die EU-Terrorliste erhalten hat.
Natürlich ist in diesem Jahr auch die deutsche Telekom AG mit einem solchen Preis bedacht worden. Allerdings nicht für den Unsachgemäßen Umgang mit unseren persönlichen Daten, sondern "für die illegale Nutzung von Telefonverbindungsdaten zur Bespitzelung von Telekom-Aufsichtsräten und Journalisten".
Beängstigend ist auch der Grund für den Preisverleih an die Yellow Stom GmbH, die den Preis "für die Vorreiterrolle bei der Einführung der Digitalstrom-Technik für Privatkunden, ohne jegliche Information zum Datenschutz der Kunden" erhalten haben. "Digitalstrom-Technik ermöglicht eine sekundengenaue Erfassung des Stromverbrauchs einer Wohnung und sogar einzelner Geräte. Sie könnte damit in Zukunft zur detaillierten Überwachung aller Aktivitäten im häuslichen Bereich genutzt werden."
Mehr Informationen:
https://www.bigbrotherawards.de/2008/
http://fritz.de/ (Bluemoon am 29.10.2008 um 22 Uhr)
http://chaosradio.ccc.de/
Linktipp: M00thyykus fantastische Bilderseite
Freitag, 24. Oktober 2008
Ubuntu 8.10 RC 1
Seid nun mehr 30 Tagen kann man auf der Website von Ubuntu den weißen Punkt auf das Ende des Swirls, das finale Release von Ubuntu, knvergieren sehen. Und endlich ist es wieder so weit. Das neue Release Intrepid Ibex (unerschrockener Steinbock) wird wieder einmal für eine Menge Verkehr auf den Weltweiten Spiegelservern sorgen.
Die wachsende Beliebtheit der Distribution verdankt Ubuntu nicht zuletzt dem Siegesmarsch der von Asus ins Leben geholten Netbooks. Deshalb werden mit Kernel 2.6.27 auch alle derzeit aktuellen Modelle unterstützt.
Ein apt-get distupgrade lohnt sich für alle die noch mit Hardy unterwegs sind allein schon wegen des schnelleren Xorg 7.4 und dem komfortableren Gnome 2.24, dessen Dateimanager nun auch das tabbed Browsing beherrscht und unter anderem mit neuen Funktionen für die Deskbar aufwarten kann. Wen das immer noch nicht überzeugt hat, der lässt sich vielleicht von dem neuen Design umstimmen, auf welches sich Benutzer einer 3D-fähigen Grafikkarte freuen dürfen.
Weitere Neuerungen sind zum Beispiel das Anlegen von verschlüsselten Ordnern innerhalb des Heimatverzeichnis, was bisher nur für Partitionen möglich war. Das das jetzt doch geht: dafür sorgt das spezielle Ecryptfs. Außerdem wurden natürlich die grundlegenden Basisbibliotheken überarbeitet, das Grafikbearbeitungstool Gimp gibt es jetzt in der Version 2.6, der Networkmanager funktioniert in der Version 0.7 auch besser und das Erstellen von bootfähigen Installationsmedien wurde auch vereinfacht.
Ubuntu erscheint natürlich wie immer wahlweise in verschiedenen Paketzusammenstellungen auch als Kubunu, Xubuntu, Medibuntu und Edubuntu.
Donnerstag, 23. Oktober 2008
AmaroK beta2 Der Kutie wird erwachsen
Dienstag, 7. Oktober 2008
Achtung Strassensanierung- warum bloß werden soviele Straßen pötzlich zu Strassen?
Man möchte glauben, dass Strassen etwas anderes sind, als Straßen. Was der durchnischnitts Rechtschreibidiot:
"Hä alles was man mit ß schrieb schreibt man doch jetzt mit ss"
nicht versteht, ist dass eine Straße keine Strasse ist. Sprich es doch mal aus wie es da steht. Das klingt doch schon anders und alles was anderes klingt als es ist, ist auch etwas anderes als das ursprünglich gemeinte. Diese Regel der einachfachen Semantik gilt eigentlich immer noch.
Also hört auf alle Straßen in Strassen zu verwandeln. Damit lassen sich nämlich auch Kosten sparen. Den ein neues Strassenschild, äh verezeihung, Straßenschild, kostet doch immerhin Steuergeld oder?
T#
Freitag, 19. September 2008
Bashhacker Part3: logusers
Code:
#!/bin/bash
#logusers
#Script that will log the uptime, date and time as well as all users logged in with their running actions
#Please report me, if you have any idea of what else should be logged.
#Comes with the package Bash-Tools
#Ideas collected by Mendel Cooper (Advanced Bash Scripting Guide)
#Rewritten for opensuse 10.3 by Matthias Propst
#VARS
NOT_ROOT=67
LOG_DIR=/var/log/logusers #Change this according to your needs
INDEX=$(date +%Y%m%d%H%M%S) #Change this if you need another date format or use a complete different way to index your logup file.
USERS=$(users)
IP_ADRESS=127.0.0.1 #Change this value if you know your current ip adress.
#VARS
###functions begin here
#checking for root
check_root ()
{
echo "Checking whether you are root."
if [ $UID -ne 0 ]
then
echo "Not root"
drop_failure
exit $NOT_ROOT
else
drop_ok
create_logdir
fi
}
#Checking whether directory /var/log/logusers allready exists and has all neccessary permissisons, if not, creating it
create_logdir ()
{
echo "Checking whether the logdir exists"
if [ ! -d $LOG_DIR ]
then
mkdir -p /var/log/logusers
chmod 700 $LOG_DIR
main
drop_ok
else
drop_ok
main
fi
}
#main fucntion does the action for what the script is for
main ()
{
#Creating new logfile
echo "Creating logdir. Please wait."
touch $LOG_DIR/"$INDEX".log
{
echo "File was generated by $0"
date
echo "========================================================================================================"
} >> $LOG_DIR/"$INDEX".log
{
echo "Host information:"
echo $LOGNAME"@"$HOSTNAME
echo $MACHTYPE
uname -r
cat /proc/cpuinfogrep model\ \name
cat /proc/cpuinfogrep cpu\ \MHz
uptime
echo "========================================================================================================="
} >> $LOG_DIR/"$INDEX".log
{
echo "Network information:"
ifconfig
iwconfig
ping -w 1 google.de 2> /dev/null
if [ $? -gt "0" ]
then
echo "There is no connection running:"
else
echo "You are running a connection to the internet"
#scans only the localhost by default
echo "nmap:"
nmap $IP_ADRESS -v
echo "netstat:"
netstat
fi
echo "========================================================================================================="
} >> $LOG_DIR/"$INDEX".log
{
echo "The following users are logged in:"
echo "=================================="
finger
n=0
for m in ${USERS[@]}
do
if [ $m != $n ]
then
id $m
n=$m
fi
done
id root
echo "The following processes are running:"
echo "===================================="
echo "Sorted by User"
k=0
for i in ${USERS[@]}
do
if [ $i != $k ]
then
echo $i
ps -U $i
k=$i
fi
done
echo "root"
ps -U root
echo "Treeview"
pstree -pu
echo "====================================================================================================="
} >> $LOG_DIR/"$INDEX".log
{
echo "These environment variables has been set:"
env
} >> $LOG_DIR/"$INDEX".log
#Ensuring the logfile is only readable to root
chmod 400 "$LOG_DIR"/"$INDEX".log
#Ensuring no one but root can manipulate or delete the output.logfiles
chattr +a $LOG_DIR/"$INDEX".log
echo "Logs have been saved to $LOG_DIR/$INDEX"
echo -e '\t \t \t \t \E[32mdone'; tput sgr0
exit 0
}
drop_ok ()
{
echo -e '\t \t \t \t \E[32mok'; tput sgr0
}
drop_failure ()
{
echo -e '\t \t \t \t \E[31mfailure'; tput sgr0
}
###functions end here
check_root
exit 0
Bashhacker Part2: wipefree
Code:
#!/bin/bash
#wipefree
#Script that will wipe the free space of several partitions
##Comes with the package Bash-Tools
#Original Idea by Thomas C. Greene
#Ideas Collected by Mendel Cooper (Advanced Bash Scripting guide)
#rewritten for opensue 10.2 by Matthias Propst
#VARS
NOT_ROOT=67
NO_PART=82
NO_INT=24
NO_SYNC=34
#VARS
###functions begin here
#checks for root
check_root ()
{
echo "Checking whether you are root."
if [ $UID -ne 0 ]
then
echo "Only root can wipeout free space."
drop_failure
exit $NOT_ROOT
else
drop_ok
check_sync
fi
}
check_sync ()
{
VERSION=$(sync --version 2> /dev/null echo "-" )
if [[ $VERSION == "-" ]]
then
echo "sync does not seemed to be installed"
echo "Please install sync and rerun again. It is usaly in the package coreutils."
echo "Script exits now."
drop_failure
exit $NO_SYNC
else
echo "found $VERSION"
drop_ok
often
fi
}
often ()
{
##stes the counter. this is important and ensures the script to stop
unset COUNTER
read -p "How often to you need `basename $0` to run: " COUNTER
${COUNTER:="0"} 2> /dev/null
CHECK=$(( $COUNTER * 1 )) 2> /dev/null
#this prevents the user passing 0 or an non integer value
##sets the Counter. this important and ensures the script to stop
if [[ $CHECK != $COUNTER OR $COUNTER == "0" ]] #because Check will be the errormessage from a non integer value or counter is 0 this checks whether counter is an integer > 0
then
echo "$COUNTER is not an integer value."
drop_failure
exit $NO_INT
else
algorithm
fi
}
algorithm()
{
unset ALGO
unset ALGO_NAME
clear
#Users Choise of which algorithm (method) is used
echo "Algorithms:"
echo "(1) urandom: Uses the /dev/urnadom (default)"
echo "(2) zero: Uses /dev/zero to overwrite your free space (fast but unsecure)"
echo "(3) filesplitter: uses a mixture of both zero and urandom and split up the _cleanupfile_. (should be best result)"
read -n 1 -p "Which algorithm do you want to run. Press Enter to use default." ALGO
${ALGO:=1} 2> /dev/null
case $ALGO in
1) check_part
;;
2) check_part
;;
3) check_part
;;
*) algorithm #if any other keys is pressed the script asks again
;;
esac
}
check_part ()
{
clear
echo "We will wipe out free space in"
for f in $FS #the loop list all folders given and checks whether the folder belongs to a partition
do
unset PART
unset CRYPTO_PART
if [[ $f == "/dev/" OR ! ${f/#\/dev*} OR ! ${f/#\/proc*} $f == "swap" ]]
then
echo "Oops"
echo "$f: This is not allowed"
exit $NO_PART
fi
PART=$(echo `less /etc/fstab grep $f`)
CRYPTO_PART=$(echo `less /etc/cryptotab grep $f`)
${PART:="-"} 2> /dev/null
${CRYPTO_PART:="-"} 2> /dev/null
if [ "$PART" == "-" ] ##if the partition is not in /etc/fstab than probly in /etc/cryptotab
then
if [ "$CRYPTP_PART" == "-" ]
then
echo "$f is not a partition"
echo "Maybe this is not your fault. Because the Script does not handle /foobar/ if the folder /foobar has"
echo "its own partition. Try to rerun the script with /foobar instead of /foobar/." #a warning because i dont know how to prevent that. maybe someone else has an idea+++script exits at first found invalid partition this depends on the order of given scripts
drop_failure
exit $NO_PART
fi
else
echo $f
fi
done
drop_ok
echo "$COUNTER times"
echo "with the"
case $ALGO in #prints a summary
1) echo "urandom"
;;
2) echo "zero"
;;
3) echo "filesplitter"
;;
esac
echo "algorithm."
sleep 3
main
}
trapint ()
{
echo "dont press ctrl + c"
}
main ()
{
echo "Starting now."
echo "This may take a long time."
echo -e '\E[5;31mDo not interrupt or kill this script until it is finished'; tput sgr0
sleep 3
case $ALGO in
1)
until [ $COUNTER -eq 0 ]
do
((COUNTER -=1))
((COUNTER2 +=1))
echo "Starting pass $COUNTER2."
echo "Remaining $COUNTER passes."
for f in $FS
do
name="$f/_cleanupfile_"
echo "Creating $name"
set +e +u
trap trapint 2 SIGTSTP
dd if=/dev/urandom of="$f/_cleanupfile_"
sync; sync
rm "${f}/_cleanupfile_"
sync; sync
drop_ok
done
done
;;
2)
until [ $COUNTER -eq 0 ]
do
((COUNTER -=1))
((COUNTER2 +=1))
echo "Starting pass $COUNTER2"
echo "Remainig $COUNTER passes."
for f in $FS
do
name="$f/_cleanupfile_"
echo "Creating $name"
set +e +u
trap trapint 2 SIGTSTP
##creates the big cleanupfile
dd if=/dev/zero of="$f/_cleanupfile_"
sync; sync ##sync the cleanupfile
rm "${f}/_cleanupfile_"
sync; sync ##sync free space
drop_ok
done
done
;;
3)
until [ $COUNTER -eq 0 ]
do
((COUNTER -=1))
((COUNTER2 +=1))
echo "Starting pass $COUNTER2"
echo "Remainig $COUNTER passes."
for f in $FS
do
folder="$f/_clean_"
a=0
i=0
while [ $a -eq 0 ]
do
unset a
mkdir -p $folder
((i+=1))
unset RAND
RAND=$(($RANDOM %2 )) #generates random integer and checks whether this is odd or even by using the mathemtic modulo function
case $RAND in
0) #rand was even
name="$folder/_cleanupfile_$i"
echo "Creating $name"
set +e +u
trap trapint 2 SIGTSTP
dd count=250000 if=/dev/zero of="$name"
;;
1) #rand was odd
name="$folder/_cleanupfile_$i"
echo "Creating $name"
set +e +u
trap trapint 2 SIGTSTP
dd count=250000 if=/dev/urandom of="$name"
;;
esac
a=$?
done
sync; sync
rm -r "${f}/_clean_"
sync; sync
drop_ok
done
done
;;
esac
echo -e '\t \t \t \t \E[32mdone'; tput sgr0
exit 0
}
drop_ok ()
{
echo -e '\t \t \t \t \E[32mok'; tput sgr0
}
drop_failure ()
{
echo -e '\t \t \t \t \E[31mfailure'; tput sgr0
}
###functions end here
FS=$*
${FS:="/"} 2> /dev/null #if no argument is given, / is assumed
check_root
exit 0
Donnerstag, 18. September 2008
Heute schon gedoodled
„Gestern habe ich doch noch diese Datei gehabt. Argh! Wo habe ich die nur wieder hin getan? Wenn ich doch nur wüßte wie die gesuchte Datei hieß. Jedenfalls weiß ich noch das ich darin etwas Interessantes über Foobar gelesen habe.“
Kennst Du das? Dann helfen Dir unter Linux sogenannte Such- und Indizierungsdienste, die Dateien und ihre Inhalte nach Stichpunkten durchsuchen und diese dann in eine Datenbank ablegen, die sich anschließend nach einem bestimmten Begriff durchsuchen lässt. Dabei kannst Du zum Beispiel auch Tags für Fotos in eine Indexdatenbank ablegen lassen, die die Information über Datum und Ort der Aufnahme enthalten können. So lassen sich zum Beispiel die Urlaubsfotos schneller finden. Ebenso ist es möglich. Mediatags, die Informationen zu Titel und Interpret einer Musikdatei enthalten, zu indizieren, so dass Du anschließend ganz einfach Deinen Lieblingstitel oder Künstler wiederfinden kannst.
Da Doodle intern die Bibliothek libextractor benutzt, werden Momentan die Dateiformate plain text, html, pdf, dvi, ps, mp3, ogg, wav, jpeg, gif, png, tiff, rpm, tar, zip, elf, real, riff, avi, mpeg, asf und quicktime für die Metatagindizierung unterstützt. Alle anderen Formate lassen sich aber immerhin über den Dateinamen indizieren.
Weil Doodle hauptsächlich als Kommandozeilentool konzipiert und entwickelt worden ist, ist es hoch konfigurierbar. Zudem läßt es sich außerordentlich gut durch Optionen steuern. Doodle kann mit Umgebungsvariablen umgehen, was das Programm eventuell interessant für das Schreiben von Shellscripten macht. Als Cron-Job eingerichtet oder mit Hilfe des Daemons doodled lassen sich Änderungen in Dateien einfach überwachen.
Für alle die Opensuse >= 10.2 benutzen, wird Doodle im Reposotority von Packman bereitgehalten.
ftp://ftp5.gwdg.de/pub/linux/packman/suse/10.2
ftp://ftp5.gwdg.de/pub/linux/packman/suse/10.3
Du kannst also Doodle bequem mittels Yast oder Smart installieren, nachdem Du Packman als aktive Softwarequelle zu Yast bzw. Smart hinzugefügt hast. Alternativ kannst du Doodle natürlich auch manuell installieren. Dazu musst du nur die Pakete
libdoodle
libextractor1
Für Benutzer einer Debian basierten Distribution, wie zum Beispiel Ubuntu, sollte Doodle ebenfalls einfach über
Für die, die keine Scheu haben Software aus dem Quellcode zu installieren, kann Doodle direkt von der Seite
http://gnunet.org/doodle/download/doodle-0.6.7.tar.gz
der Entwickler bezogen und nach dem Entpacken mit dem üblichen Dreisatz
make
make install
doodle -bf /usr/share/doc
Du kannst nun zum Beispiel einmal
/usr/share/doc/packages/doodle/README
Aber doodle kann noch viel mehr. So können auch Umgebungsvariablen als Parameter übergeben werden. Probiere es einmal aus, indem Du
doodle -bf $HOME
in der Kommandozeile eingibst und das Heimatverzeichnis des aktiven Nutzers von Doodle indizieren lässt.
Die Option -b teilt Doodle mit, dass das Program ein Verzeichnis, welches es als Parameter übergeben bekommt, indizieren soll. Die Zusätzliche Option -f sorgt dafür, das auch Dateinamen beim Anlegen der Datenbank berücksichtigt werden. Allerdings ist das Programm recht schweigsam und teilt Dir nicht mit, was es gerade tut. Um doodle zum Reden zu bringen musst Du die Option -V benutzen. Die Option -P erlaubt es Dir, Verzeichnisse oder Dateien von der Suche oder Indizierung auszuschließen. Außerdem solltest du Doodle mit der Option -B=
Angenommen Du sprichst Deutsch und Englisch und möchtest ein Verzeichnis mit dem Namen Vertraulich bei der Indizierung Deines Heimatverzeichnisses ausschließen, dann kannst Du das ganz einfach bewerkstelligen, indem Du
doodle -bfV $HOME -P $HOME/Vertraulich -B=DE -B=EN
Hat Doodle die Arbeit beendet, befindet sich eine versteckte Datei Namens .doodle im Heimatverzeichnis des aktiven Benutzers. Dies ist die Indexdatei der Datenbank. Du kannst das auch ändern. Dazu muss eine Umgebungsvariable DOODLE_PATH gesetzt sein, in der Du einen alternativen Pfad für den Doodleindex festlegen kannst. Trägst Du zum Beispiel folgendes in Deine ~/.profile und ~/.bashrc ein:
#Datenbanken für den doodleindex
if [ !-d $HOME/.mydoodle ]
then
mkdir $HOME/.mydoodle
fi
export DOODLE_PATH="$HOME/.mydoodle/mydoodle.doodle"
wird der Index zukünftig in .mydoodle/mydoodle.doodle deines Heimatverzeichnisses abgelegt.
Achtung: Änderungen für die ~/.profile werden erst nach einem Neustart der aktuellen Session übernommen. [Strg] + [Alt] + [Backspace]
Besonders interessant ist die Möglichkeit, mit Doodle Indexdateien für unterschiedliche Verzeichnisse anzulegen. Etwa wenn Du einen Ordner Musik hast und später genau weißt, dass es sich bei der gesuchten Datei um eine Musikdatei handelt. Dazu benutzt man die Option
--database=
doodle -bfV $HOME/Musik -B=DE -B=EN --database=~/.mydoodle/musik.doodle
Die Option -i erlaubt es Dir mit Doodle auch caseinsensitive, ohne dass Groß- und Kleinschreibung berücksichtigt werden, zu suchen.
Damit man Doodle nicht jedes mal selbst dazu bringen muss, die gewünschten Verzeichnisse zu indizieren kann Du Dich einerseits des Daemons doodled bedienen, wenn Du möchtest das Doodle über jedwede Änderung in Deinen Verzeichnis Bescheid weiß und diese sofort in die Datenbank schreibt, oder Du startest den Dienst als Cron-Job in festgelegten Zeitintervallen.
Für die Indizierung durch den Daemon musst Du diesen lediglich zusammen mit dem Fam-Daemon famd aufrufen. Dieser hat sein Heimat in dem Paket fam-server. Falls noch nicht geschehen, müssen noch folgende Pakete samt ihrer Abhängigkeiten nachinstalliert werden:
fam
fam-server
Das Starten des Fam-Daemons benötigt unter Opensuse die Rechte des Superusers Root.
pasword:
famd &
exit
Starte jetzt den Doodle-Daemon doodled unter Angabe des Verzeichnis welches überwacht werden soll als Parameter
Das hat den Vorteil dass der Index für dieses Verzeichnis immer aktuell gehalten wird, da Doodle hier Änderungen sofort in der Datenbank aktualisiert und ist besonders sinnvoll wenn Du ein Verzeichnis überwachen lassen möchtest, dessen Inhalte sich besonders häufig ändern.
Um den Dienst Anzuhalten, wird die unter Linux übliche Jobkontrolle verwendet. Dazu muss man zunächst die PID des Prozesses herausfinden:
ps -Agrep doodled
20439 ? 00:00:00 doodled
kill -9 20439
Für Verzeichnisse deren Inhalte eher statisch bleiben, empfiehlt es sich einen einfachen Cron-Job zu verwenden. Dazu öffnest Du zunächst den Cron-Tab Editor, indem Du
crontab -e
in Deine Kommandozeile eingibst. Jetzt kannst Du für die Crontab des Benutzers einen Job vergeben. Standardmäßig ist der Vi als Editor für die Crontab eingestellt. Da dieser Editor möglicherweise für Dich schwierig zu bedienen ist, kannst Du einen anderen Editor für die Crontab setzen. Hier bieten sich alle gültigen Editoren an, die im System bekannt sind. Zum Beispiel nano oder pico. indem Du eine Umgebungsvariable EDITOR setzt, kannst Du den benutzen Editor für die Crontab anpassen.
Editiere nun die Crontab:
crontab -e
#update des doodle index
0 2 * * 5 matthias doodle -bf $HOME/Musik -B=DE -B=EN --database=.mydoodle/musik.doodle
Dieser Eintrag sorgt dafür, dass Doodle immer Freitags um 2 Uhr Nachts die Datenbank für den Musikordner aktualisiert.
Als Systemadministrator kannst Du so mit Doodle das gesamte System indizieren und den doodled Daemon dazu nutzen die Heimatverzeichnisse der User zu überwachen. In diesem Fall solltest du eine Gruppe doodle anlegen, der es erlaubt ist die Datenbank von Doodle zu lesen. Außerdem sollte die Datenbank selber für den User lesbar sein. Du könntest diese zum Beispiel in einem gesonderten Verzeichnis in /var/doodle aufbewahren. Entsprechend müssen dann natürlich die Einträge für die Cron-Jobs und der ~/.bashrc bzw. ~/.profile angepasst werden. Angenommen Du lässt die Datenbank in /var/doodle/users.doodle schreiben, dann könntest Du folgendermaßen bei den adminstratortechnischen Aufgaben vorgehen:
password:
groupadd doodle
groupmod -A
chmod 640 /var/doodle/users.doodle
Nicht vergessen das SGID-Bit für das doodle Programm zu setzen, um Benutzern, die sich am System anmelden die Abfrage zu erlauben.
chown root:doodle /usr/bin/doodle
chmod g=s /usr/bin/doodle
exit
Der Doodle-Daemon sollte dann am besten zusammen mit dem Fam-Daemon beim Systemstart geladen werden. Füge dazu die folgenden Anweisungen in der Datei /etc/init.d/rc hinzu.
doodled
Alternativ kann auch der Yast Runleveleditor verwendet werden.
Doodle als Catfish
Hat man einmal die Datenbanken für den Doodle-Index erstellt, kannst Du diesen auch mit einem grafischen Tool durchsuchen lassen.
Das Tool Catfish ist einfach zu bedienen und Suchergebnisse lassen sich wie bei Beagle direkt öffnen und anzeigen. Nebenbei bemerkt kann das Tool
auch mit Beagle umgehen, außerdem beherrscht es find, locate, sowie den kde4 Indexer Strigi.
Catfish befindet sich ebenfalls im Packman Repo und kann von dort heruntergeladen und installiert werden.
Nach der Installation befindet sich das Tool im Menu, von wo Du es unter System → Dateisystem → Catfish findest. Du kannst es auch direkt als Befehl unter [Alt] + [F2] absetzen, indem du dort
catfish
eingibst. Im Pulldownmenu Suchmethode wählst Du einfach Doodle aus. Jetzt brauchst Du nur noch Deine Suchabfrage in die Suchmaske eingeben und das war es dann auch schon.
Freitag, 7. März 2008
Wenn die BVG streikt...
Montag, 3. März 2008
opensuse 11 kommt im neuen outfit
Samstag, 23. Februar 2008
Bashhacker Part1: rescale.sh
http://kde-apps.org/content/show.php/Photo+resize?content=61981. dann entsprechend bearbeiten. Das funktioniert aber alles andere als gut und hat zudem den Nachteil, dass man keine Auswahlmöglichkeiten hat, was die neue Größe angeht. Außerdem wird das Bild unwiederbringlich gelöscht, was man ja auch nicht unbedingt will.
Kurz in die Kommandozeile ein apropos ebgeschickt und herauskam ein Program was sich convert nennt und Teil von ImageMagick ist. Und dieses nette Script, das ich geschrieben habe macht es noch einfacher ImageMagick zu benutzen. Es ist prinzipiell ein Wrapper-Script, das sich zusaetlich um die Erkennung des Dateitypen kuemmert, den Benutzer vor unsinnigen Eingaben schuetzt, sowie die Bearbeitung von einer hohen Anzahl an Bildern ermoeglicht.
Code:
#!/bin/bash
#script to easyly mass rescale a colleection of jpeg and other picture formats supported by
#ImageMagick
#VARS
NO_CONVERT=33
NO_ARG=65
WRONG_SIZE=80
#VARS
check_convert () #convert is a function for manipultating images. it comes with ImageMagick
{
VERSION=$(convert -version 2> /dev/null echo "-" )
if [[ $VERSION == "-" ]]
then
echo "ImageMagick seemed not to be installed"
echo "Please install ImageMagick and rerun again."
echo "Script exits now."
drop_failure
exit $NO_CONVERT
else
echo "found $VERSION"
drop_ok
check_arg
fi
}
check_arg ()
{
if [ -z $PIC ] 2> /dev/null
then
echo "You must at least select one file "
echo "Usage: `basename $0` \"[jpeg] [bmp] [gif] [png] [tif]\" "
drop_failure
exit $NO_ARG
else
echo "These Pictures have been selected for rescale"
for pic in $PIC
do
echo $pic
done
drop_ok
geometry
fi
}
geometry ()
{
read -p "Please specify the new horizontal size:" HOR
read -p "Please specify the new vertical size:" VERT
check_geometry
}
#check whether the input variables are valid integers
check_geometry ()
{
PIXEL=$(( $HOR * $VERT )) PIXEL=0
if [ $PIXEL -eq 0 ]
then
echo "$HOR"x"$VERT" "is not a geometirc size"
drop_failure
exit $WRONG_SIZE
else
main
fi
}
main ()
{
for pic in $PIC
do
unset PICS_S
PICS_S=$(identify -verbose $picgrep Geometry) PICS_S="-"
if [ $PICS_S == "-" ] 2> /dev/null
then
echo "$pic seems not to have a valid format"
echo -e '\E[33mskipped'; tput sgr0
else
unset OLD_GEO
unset A
unset OLD_HOR
unset OLD_VERT
unset OLD_PIXEL
OLD_GEO=$(echo ${PICS_S##* })
A=$(echo ${OLD_GEO%%x*})
declare -i OLD_HOR=$(echo ${A##* })
declare -i OLD_VERT=$(echo ${PICS_S##*x})
OLD_PIXEL=$(( $OLD_VERT * $OLD_HOR ))
if [[ $PIXEL -ge $OLD_PIXEL ]]
then
echo "The pic allready has $OLD_PIXEL pixel but you want to rescale to $PIXEL pixel, which is greater or equal than the original size." #One line
echo -e '\E[33mskipped'; tput sgr0
else
convert $pic -verbose -scale "$HOR"x"$VERT" rescale_new-$pic
fi
fi
done
}
drop_ok ()
{
echo -e '\t \t \t \t \E[32mok'; tput sgr0
}
drop_failure ()
{
echo -e '\t \t \t \t \E[31mfailure'; tput sgr0
}
PIC=$*
case $1 in
-i)
for pic in $PIC
do
identify -verbose $pic 2> /dev/null grep Geometry 2> /dev/null && ls $pic
done
;;
*)
check_convert
esac
exit 0
Pittfalls: Achtung an einigen Stellen muss das was hier in 2 Zeilen untergebracht ist, in einer Zeile stehen. Aber die Einrückungen sollten klar machen, welche Teile das sind.
Noch zu tun: Möglicherweise ist es besser das Kommando file für die Überprüfung, ob eine Datei ein Bild ist oder nicht, zu verwenden.
Zusätzliche Informationen: Das Script wird mit den Dateinamen des Bildes bzw. der Bilder aufgerufen. Globbing und Wildcrards sind dabei erlaubt. Es überspringt Dateien die keine Bilder sind. Angenommen Du hast einen Ordner "durchaneinander", mit sagen wir 240 Bilder und einen ganzen haufen anderer Dateien. Dann kannst Du einfach das Script mit: rescale * aufrufen. Die Option -i erlaubt es Dir die Bilder zu Scannen, falls Du die Originalgröße des Bildes nicht kennst.
T#
Dienstag, 19. Februar 2008
Kde3 3.5.9 ist erschienen
Lass uns Freunde bleiben oder wie Frauen Schluss machen
Die Blumen, die ich Ihr für Valentines gekauft habe, werden wohl die nächsten zwei Wochen einsam in einer Vase vertrocknen und die Packung Edelmarzipanpralinen wird entweder an irgendsoeine unliebsame Tante weiter verschenkt oder zusammen mit nem Kumpel bei Bier und Wodka, zwischen Spaghetti und ´nem sinnlosen brutalo Actionfilm verzehrt.
Ich sitze mit ihr in einer Bar, um uns herum laute Menschen, die singen herumschreien und tanzen. Sie sitzt mit gegenüber und versucht an mir vorbei und durch mich hindurch zu sehen,- erzählt mir die ganze Zeit etwas von es geht nicht mehr und die Beziehung ist eigentlich nicht erst jetzt zu Ende. Und wie lange all das gedauert. Die Entscheidung usw. Welche Beziehung eigentlich? Die letzten drei Monate bestand unsere Beziehung eigentlich nur darin, dass einer von uns ständig betrunken oder mit irgendwelchen anderen Substanzen zugedrönt war, während der Andere nicht da war. Frauen betrachten das aber dennoch als Beziehung, denn es hat irgendwas offizielles. Nachher werde ich mir gründlich einen Antrinken. Man: Wieviel es dazu noch zu sagen gibt zu diesem es geht nicht mehr. Läuft doch am Ende eh alles auf das Gleichehinaus.Ich sitze höre weg und trinke mein Bier und rauche. Bla keine Zukunft und
überhaupt im Bett klappt es auch nicht mehr. Na klar,- das musste ja jetzt auch noch kommen,
wenn Frauen meinen Sie hätten es nicht deutlich genug gesagt, kommen sie mit der
Nummer, dass es im Bett nicht mehr läuft. Damit kriegen Sie uns Männer. Dann haben Sie unsere volle Aufmerksamkeit. Dann hören wir zu. Jetzt wird Sie depressiv und sagt, Sie wolle gehen... Warum eigentlich? Sie hat doch Schluss gemacht, dann müsste der Einzige der das Recht dazu hätte Ich sein, oder.
Draußen verabschiedet Sie sich, fragt mich ob ich noch nächste Woche zu IhrerGeburtstas-
party komme und dann kommt der Satz von dem Du eigentlich nie glaubst dass er noch kommt. "Lass uns Freunde bleiben."
Also wirklich dazu fällt mir dann immer nichts mehr ein. Als ob nicht alles schon beschissen genug ist, muss dann auch noch sowas kommen.
T#
Donnerstag, 14. Februar 2008
1 ist doch nicht gleich 2 oder wie man keinen mathematischen Beweis führt
Der Beweis: 2=1
Hmm sollten sich die vielen Jahre des Studium doch als vergeblich herausgestellt haben.
Der Beweis war so:
a= 1kg b=1kg
1) a = b *a
2) a^2 = ab -b^2
3) a^2-b^2 = ab-b^2
4) (a+b)(a-b) = b(a-b) :(a-b)
5) a+b = b
6) 1+1 = 1
7) 2 = 1
q.e.d.
Hä? Was ist denn das bitte schön? Habe ich mich so geirrt. Nein natürlich nicht, auch mein Bekannter kann die Welt nicht so ohne Weiteres auf den Kopf stellen. Der echte Fehler im Beweis ist an der Stelle, als durch (a-b), also durch 0(!!!) geteilt wird. Und das geht natürlich nicht. Viel offensichtlich unsinniger und offensichtlicher wird es wenn man anstelle immer a und b hinzuschreiben, gleich mit 1=1 anfängt.
beginn) 1=1 <==> nach Schritt 2) immer noch 1=1 <==> nach Schritt 3) 0=0 (aha!!) Und Schritt 4 ist dann schon nicht mehr zulässig. Also wenn es um konkrete Elemente einer Menge und eine wie auch immer geartete Beziehung geht, beweist man doch lieber über die Elemente.
Dem hier ungenannten Bekannten sei an dieser Stelle empfohlen dass lieber niemander beizubringen.
T#
Dienstag, 12. Februar 2008
Mixing Kde3 mit kde4
nmap local root exploit für Kernel 2.6
Community. Offensichtlich schleppt der Linux Kernel seid Version 2.6.17 eine
gefährliche Sicherheitslücke mit sich herum, die es einem Angreifer ermöglicht lokal
Rootrechte zu erlangen. Betroffen sind auch Distributionen wie: opensuse 10.2 und
Debian, sowie möglicherweise weitere Distributionen.
Zitat:
"There is a security hole in all versions of Linux-2.6 distributed by
Debian, including Etch's kernel.
The attached exploit code can be used to test if a kernel is vulnerable,
it starts a root shell."
Ob dein Kernel noch sicher ist und was Du dagegen unternehmen kannst, kannst Du auf
den folgenden Seiten nachlesen:
http://http://www.pro-linux.de/news/2008/12317.html (Nachricht von Pro Linux)
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=464953 (Debian Bug Report)
Die einfachste Lösung ist das installieren oder neu kompilieren des Kernel 2.6.24.2 von http://www.kernel.org
Dort funktioniert der Exploit nämlich nicht mehr.
T#
Montag, 11. Februar 2008
10 Dinge, die man nicht fragen sollte, wenn man einer imaginären Katze begegnet
Wenn Du einer Katze begegnet die offensichtlich gar nicht existiert bzw den eigenen Einbildungskräften- oder Schwächen entstammt,- obwohl Du das vielleicht gar nicht weißt,- so ist dieses eine Frage die Du Dir zwar zwangsläufig stellen wirst, die auf Katzen angewendet aber nicht unbedingt sinnvoll ist. Denn selbst wenn die Katze sprechen könnte,- was Katzen jedoch Erfahrungsgemäß nicht tun, denn außer ein ab und zu qänglendes Miau erhält man ja sowieso keine wertvollen Informationen von Katzen, seien diese nun imaginär oder real,- so würde sie Dir nicht antworten und das einzige Ergebnis wäre dann entweder die schnelle und sichere Erkenntnis, das Du nicht alle Tassen im Schrank hat, was dann zu weiteren schwerwiegenden Überlegungen führt, die alle ins Nichts laufen oder Du wirst Dir tatsächlich einbilden, die Katze würde so etwas sagen wie: "Na das siehst du doch, du Idiot. Eben bin ich doch von der SAtraße dort drüben gekommen". Das wiederum führt dazu, dass Du ein doppelter verrückter Idiot bist, weil Du Dir A dann sogar eine sprechende aufmüpfige Katze einbildest und b Du selbst von Deiner eigenen imaginärenKatze als der wahrscheinlich größte Vollidiot betitelt wirst.
2. Na Du guck mal was ich hier habe.(?)
Zum einen weil das gar keine Frage ist; obwohl es bei einigen zu dem Teil der sprachlichen Chiffre gehört, die die Frage suggerieren soll, "Willst du den Fisch?"- oder zumeist auch "Willst du das alle Trockenfutter?". Und wiederum wegen 1) weil Katzen nun einmal keine brauchbaren Informationen liefern,- wer weiß was wäre wenn sie dies könnten. Dummerweise haben Katzen nun zwei Eigenschaften, die Du Dir in so einem Fall,- sofern Du noch dazu in der Lage bist, in Erinnerung rufen sollte. Katzen laufen Dir hinterher und schwänzeln solange um Dich herum, so dass man irgendwann auch noch wegen dem unbestreitbaren Gefühl, die Katze nicht mehr loswerden zu können, von Verfolgungswahn beherrscht wird. Und dann hast Du echte Probleme, wenn auch nur eingebildete. Die andere Eigenschaft, ist die, dass Katzen grundsätzlich immer dazu neigen, mehr haben zu wollen, als Du selber an Essbarem entbehren kann. Was zusammen mit der schon gesteigerten Paranoia dazu führt, dass Du Dich schützend vor den Kühlschrank stellst, während Du mit einem Besen oder was sonst gerade griffbereit in der Nähe so herumliegt, um sich gegen einer nun immer gefährlicher werdenden Mutation von Stephen Kings Fresskatze und Godzilla zur Wehr zu setzen, wild in der Luft herumfuchtelst und wie wild gegen Wände Decke und Boden schlägst und deine Nachbarn wegen Ruhestörung die Polizei verständigen.
3. Wenn ich diese Katze nun in einen dunklen, luftleeren Sack stecke und ihn
fest verknote ist Sie dann noch lebendig oder Tod?
Katzen neigen im Allgemeinen nicht dazu sich in Säcke oder Kisten stecken zu lassen. Auch dann
nicht wenn Physiker das Gegenteil behaupten würden und schon gar nicht bei einer Katze die gar nicht existiert. Ausnahmen bilden hier nur die bekannten Lakritzkatzen die sich vornehmlich in Plastiktüten aufhalten und ihrem Besitzer einen kurzen Genuss verschaffen können. Solltest Du Dir eine solche Katze imaginieren, iss lieber einen Apfel. Außerdem würde das heißen, dass Du Dich jetzt mit einer halbtoten eingebildeten Katze herumschlagen müsstest, sollte Dir
das Unterfangen, eine eingebildete Katze in einen Luftleeren Sack zu sperren, wirklich gelingen.
4. Bringt das eigentlich Unglück?
An Deiner Stelle solltest Du Dir die Frage lieber nicht stellen oder wie folgt lieber selber beantworten: Ist die Katze schwarz und läuft an Dir von links nach rechts an Dir vorbei läuft, dann ja. Für alle anderen Fälle: Nun Äh ebenfalls Ja! Denn Du solltest Dir im Klaren darüber sein, dass es generell nichts Gutes bedeuten kann, wenn man Katzen begegnet, die gar nicht
existieren,- egal ob diese steht, dich verfolgen oder von rechts nach links springen oder sonst irgendwelche Bewegungsabläufe vollziehen. Aber Du kannst Dich trösten, denn wahrscheinlich steht es in solch einer Situation schon so schlecht um Dich, dass Du garantiert irgendwo ein Hufeisen in der Tasche mit Dir herumträgst. Und wenn das nicht reicht, kannst Du Dir ja auch noch eines einbilden oder bilde Dir einfach ein, gerade ein vierblättriges Kleeblatt gefunden
zu haben. Deine Phantasie sollte für beides ausreichen. So kannst Du wenigstens in Deiner Fantasie glücklich sein,- zumindest solange bis Dich Deine Mitmenschen darauf aufmerksam machen, dass da gar keine Katze ist und Du demzufolge wahrscheinlich nur ein verwelktes Laubblatt in der Hand hälst. Außerdem wird man Dich wahrscheinlich fragen, ob alles in
Ordnung mit Dir sei. Und da man anderen gegenüber selten bis gar nicht zugesteht einer Fata Morgana aufgesessen zu sein, könntest Du anfangen zu glauben Du besäßest übernatürliche Fähigkeiten und siehst äh... tote Katzen.
5. Ist die Katze eigentlich real?
Obwohl ich ernsthaft bezweifle, dass jemand, der eine nicht vorhandene Katze sieht, auf den Gedanken kommt gerade diese Frage zu stellen, kannst Du Dir sicher sein, dass Du Sie garantiert nicht beantworten kannst. Denn wie schon irgendsoein Philosoph sagte, dessen Namen mir jetzt entfallen ist und der auch nichts zur Sache tut: "Nichts ist so irreal wie die
Realität." Daraus muss und kann natürlich nicht der Umkehrschluss gezogen werden, dass demzufolge nichts so Real wie das Nichtvorhandene ist. Aber da Du ja nicht weißt dass die Katze gar nicht real existiert,- sondern nur deiner Phantasie entstammt, kannst Du selbst das nicht feststellen, und mit der blöden Erkenntnis, dass die Katze vielleicht nur ein viertel so real ist, wie eine halbe reale halbtote Katze, wirst Du leider nur noch verwirrter aussehen, als Du wahrscheinlich ohnehin schon bist.
6. Wie hoch ist die Wahrscheinlichkeit einer Katze zu begegnen?
Die Antwortauf diese Frage hängt natürlich stark von Deinem Gemütszustand ab. Aber ich gehe mal davon aus, dass es Dir nicht besonders gut geht,- oder zumindest weißt du noch nicht wie schlecht es Dir eigentlich geht. Wäre die Katze real, so könntest Du folgende simple Formel anwenden. Die Verteilung aller Katzen in der Raumzeit angewendet auf gewisse Markowprozesse des Universums. Dass allein dürfte bei Dir schon ein leichtes "Hä?.." oder "Wtf?"- Erlebnis hervorrufen. Aber in deinem Fall führt das mit Anwendung dieser Formel ganz sicher zu falschen Ergebnissen, denn nun stehst Du vor einer Welt in der nicht nur reale Katzen
sondern auch komplexe und sogar komplex konjugierte Katzen existieren. Woran
Du alleine schon erkennen solltest, dass da bei Dir irgendwas nicht richtig läuft, denn wenn du diese Katze quadrierst, so hast du plötzlich eine quadratische reale Katze. Und so etwas will wirklich niemand. Also lass das lieber sein und widme dich wichtigeren Fragen. Zum Beispiel der, ob Du Deine imaginäre Katze nicht lieber doch in einen komplexen Vektorraum steckst, wo Sie dann hoffentlich auch bleibt.
7. Was mache ich mit einer imaginären Katze?
Die einfachste und für Dich gesündeste Antwort, ist wohl dass Du sie einfach ignorierst und gar nichts mit ihr anfängst. Gut ich kann ja verstehen, dass es Dir durchaus schwierig fallen kann, Sie zu ignorieren. Wem fällt es schon leicht seine Hirngespinste zu ignorieren? Aber wenn Du etwas mit ihr anfängst,- also tatsächlich in Interaktion mit Deiner eigenen imaginären Katze treten solltest,- dann Vergewissere Dich darüber, dass Dich keiner dabei sieht. Ziehe am Besten Deine Gardinen zu und verriegele die Türen oder geht irgendwohin spielen, wo ihr beiden ungestört seid, aber kommt nicht auf dumme Gedanken dabei. Vielleicht sollte ich Dir hier noch kurz einen
Hinweis darauf geben, was Du auf gar keinen Fall tun solltest. Versuch auf gar keinen Fall Deine imaginäre Katze zu streicheln. Das sieht nicht nur komisch aus, sondern auch noch dämlich. Lasse Sie nicht auf einem Baum klettern. Fortsetzende Handlungsverläufe sind vielfältig. Im schlimmsten Fall führt es dazu, dass Du nicht genau unterscheiden kannst ob du vielleicht selber die imaginäre Katze bist, und von der Feuerwehr wieder heruntergeholt werden musst. Der Katze das Fell über die Ohren ziehen. Also ehrlich, dass solltest Du nicht mal mit einer echten Katze versuchen. Der imaginären Katze ein Wollknäuel zuwerfen. Tue dies vor allem dann nicht, wenn zu befürchten steht, dass Du Dich selber in dem Wollknäuel verheddern könntest. Der Katze einen Fisch zuwerfen,- denn für den Fall das die eingebildete Katze doch nur Nachbars Lumpi war; übrigens für den Fall solltest Du dringend einen Augenarzt aufsuchen; wird er Dir
das besonders übel nehmen. Es gibt noch zahlreiche Dinge, die nicht mit einer Katze oder mit einer imaginären Katze machen solltest, wobei die Handlungsarten hier nicht immer disjunkte Mengen sind und du durchaus auf Sachen kommst,- denn wenn Du bis hierher gelesen hast traue ich Dir alles zu,- die mir hier nicht einfallen- Hmm wie Einfältig von mir.
8. Warum ist eine Katze eine Katze?
Also wirklich.. Wenn Du in Deinen Wahnvorstellungen schon Katzen siehst, dann sollte es Dir doch wenigstens egal sein, ob die Idee Katze eine Katze an sich ist, oder eher aussieht wie ein Mischung von Koalabär und Kaninchen,- wenn es Dir nicht passt, dann gibt Dir mit Deinen Wahnvorstellungen ein bisschen mehr Mühe. Katze bleibt katze,- oder? Solange Du kein anderes Wort dafür erfindest bleibt es eben dabei, wenn man auch sagen muss, dass Dir anstelle der Katze lieber gar nichts begegnet wäre, was auch nur irgendwie Deiner Einbildung entstammt. Und wenn es Dich glücklich macht, so nenne die imaginäre Katze doch einfach in Quasalabet,- oder was Dir gerade einfällt,- um. Das hat auch den Vorteil, dass Du ungestört Nachforschungen über die imaginäre Katze an sich und ihrer Herkunft unternehmen kannst, ohne das jemand auch nur weiß was Du da treibst,- bzw. dass Du gar nichts treibst.
9. Haben Katzen wirklich 9 Leben?
Nun ja, vielleicht haben Sie das? Dir sei aber versichert, dass Du garantiert nur eines hast. Und das wird sich wahrscheinlich auch nicht so schnell ändern. Also komm nicht auf dumme Ideen. Bei dem Versuch eine imaginäre Katze auf den Bahnschienen festzuschnüren und zu warten bis ein Zug darüber gerollt kommt, hat schon so mancher verrückte Idiot ein Arm oder mehr als nur Körperteile verloren. Weitere Versuche dieses Mysterium zu entschleiern werden vor allem aufgrund der Tatsache erschwert, dass es unmöglich ist, mit imaginären Katzen auch nur irgendetwas anzustellen. Aber das habe ich ja bereits erwähnt.
10. Ob sich die wohl mit meinem Hund verträgt?
Frag Dich doch zunächst mal, ob Du überhaupt einen Hund hast,- sofern Du überhaupt auf die Idee kommst daran zu denken, hier könnte irgendetwas nicht stimmen. Könnte doch gut sein, dass der auch nur imaginär ist. Für diesen Fall solltest Du Dir überlegen, welche Tiere Du noch so in Deiner Vorstellung mit Dir herumschleppst und ob das unbedingt sinnvoll ist dies zu tun. Für den Fall das Du schon ein ganzen Zoo imagnärer Tiere hast, solltest Du dringend in eine größere Wohnung ziehen, sonst bildest Du Dir am Ende noch ein, in der Wohnung sei kein Platz für Dich.
Ein dich nervender Vogel der Dir mit seinem ständigen Gekrächse auf die Nüsse geht, könntest Du vielleicht mal Deiner virtuellen Katze zum Fressen vorwerfen. Das aber nur nebenbei.
Nun falls Dein Hund ebenfalls imaginär ist, äh verschenke ihn einfach an Deinen imaginären Freund. Das erhält,- für eine Weile jedenfalls,- eure imaginäre Freundschaft aufrecht. Naja es gibt Leute die haben eben nichts anderes. Und die Katze wirst Du am besten auch wieder irgendwie los,- bevor Du anfängst eine der anderen neun Fragen zu stellen.
done
T#
Die Ausleihbar und die Ausstellung von Ausweisen oder was mir neulich in der Bibliothek aufgefallen ist.
Was ich außerdem nicht wusste, ist dass es in der Bibliothek auch eine Ausstellung vonAusweisen gibt, die hat sogar laut Aushang bis 18 Uhr geöffnet. Wo sich diese nach abstrakter Kunst klingende ominöse Ausstellung jedoch befindet, habe ich bisher nicht herausfinden können. Obwohl ich doch eigentlich ein Freund von abstrakter Kunst bin. Das mag daran liegen, dass damit letztendlich doch nur das Erstellen von Ausweisen gmeint war.
T#
Hallo ich bins
Endlich bin auch ich da und jeder kann meinen Unsinn lesen, juhu!!!
viel Spaß noch beim Lesen
T#