Dienstag, 14. Dezember 2010

Running the upcoming kernel in older opensuse releases

in this tutorial I’ll going to show you some tricks which will result in a new usable
version of opensuses 2.6.37-rc5 upcoming kernel for 11.4 in older opensuse releases.
i tried this for the older 11.2 but the newer 11.3 might also work.

First you have to download the kernel-source.src.rpm. Yes you heart me right. You need this one
to unpack with rpm2cpio. Assuming you have save the kernel-source-src.rpm downloaded to
~/src/kernel doing



cd ~/src/kernel
rpm2cpio < kernel-source.src.rpm|cpio -id

and you should be left with the original kernel-source.src.rpm and the linux-2.6.36.tar.bz2,
a lot of patches and special files needed to build the package kernel-source.noarch.rpm but as i assure you we will use this for rebuilding the kernel suitable for installing on opensuse 11.2 or 11.3.

next we're creating the preparation base for patching the kernel source code.

tar xvfj kernel-source.tar.bz2
mkdir patches
mv patches*tar.bz2 patches/
cd patches/
for i in ls *; do tar xvjf $i;done
cd ..


Applying the patches is the next step. You should be able to see the apply-patches script. we will use this to apply all needed patches that ships with suse. The apply-patches script is used to patch the kernel in the correct order rather than doing each patch by hand. however if you ever run into a situation where you have do patch a kernel manualy you can fullfill this task using patch with the following syntax:

patch -d /PATH_TO_KERNEL_SOURCE -p 1 < PATH_ZUM_PATCH.diff


But in this case we closely run into trouble, as we dont know which patch have to be applied afer what. So i strongly recommend doing it the following way:

cd linux-2.6.36
../apply-patches ../series.conf ../patches/ i386


You may also use x86_64 instead of i386 here if you have a 64 bit capable system.

Now that we have successfully patched our kernel, we can begin with the actual build procedure.
As user root you should copy the linux-2.36 to /usr/src/linux-2.6.37-rc3-git6 directory and link that directory to /usr/src/linux .

cp -r linux-2.6.36 linux-2.6.37-rc3-git6
rm /usr/src/linux
ln -s /usr/src/linux-2.6.37-rc5 /usr/src/linux


The Suse Linux Kernel supports the /proc/config.gz file which holds the configuration setup for the current running kernel. So it seems to be a wise thing here making a clone copy of the actual existing configuration. So do as user root (after this step i assume you are the user root and have changed to the directory /usr/src/linux)

cd /usr/src/linux
zcat /proc/config.gz > .config


We can continue by doing a

make xconfig

to start the configuration in a graphical user interface. Doing this you have to make sure that you ether have the qt3 development files or the qt4 development files. You can install them if they aren’t already in place by simply using opensuses tools for package management:

zypper in qt3-devel libqt4-devel


Uncheck the boxes "Enable enterprise support facility" since we don't need an enterprise kernel, "Split the kernel in multiple packages" since we want the kernel to be created as kernel-2.6.37-rc5.i386.rpm which can live next to our existing kernel. The Box "Kernel to suit desktop workloads" can also be unchecked but doesnt need to.

Unfortunately configuring the kernel is not an easy thing to do. You should study each option very clearly to understand what each option does and how it interacts with your hardware. It is mostly safe to use the suggested configration and leave the configuration in place as this represents the current configuration and should also work with your new kernel. The settings you might be aware of are:

"General Setup" --> "Local Version append to the kernel release".

Here you can give the Kernel a local Version like Test1 or your initials followed by a number.
In

"Processor Type and features"

you can build a kernel which fits perfectly to your machine. For example if you have a Pentium M Processor you should select Pentium M as Processor Type. You also can disable Xen support if you don't ever need this. Or you can set the timer frequency of the kernels scheduler system to your needs. Also i recommend to enable the kernels cgroup support when ever you see it which is new and really fastens up your system.

Caution setting up a configuration setting for a kernel is not a thing you do in five minutes. You really should take your time to make sure you understand what each configuration setting means even it took you 3 hours or more.

If you are done you can grep a caffe and type the following

make prepare && make modules_prepare && make rpm

This will result in two rpms sitting in /usr/src/packages/rpm/SRPMS and /usr/src/packages/rpm/RPMS/i386. If you don't need the src.rpm in /usr/src/packages/rpm/SRPMS you rather want to use the make target binrpm-pkg, which will result only in the rpm /usr/src/packages/RPMS/i386. It may be helpful for you to look at make help to list all make targets
you can possible get. For example if you want to see whether your kernel name is set property you can use the make kernelrelease target.

If the package has successfully build you can finally install it using the rpm Command utility.
In my Case i need to upgrade my package from a former build and my make kernelrelease results in

linux-2.6.37-rc5-Test4

So i need to use

rpm -Uhv /usr/src/packages/RPMS/i386/kernel-2.6.37-rc5*.rpm

This will also install your kernel next to your default distribution kernel so you can choose which
one you want to boot into during grubs first stage and also you have a fallback if your kernel does
not work or not work as you expected it would.

Unfortunately this kernel rpm does not create and install a proper initial ram-disk you have do this by hand.

cd /boot
mkinitrd -k vmlinuz-2.6.37-rc5-Test4 -i initrd-2.6.37-rc5-Test4


Now you should find at least three new files residing here. The vmlinuz-2.6.37-rc5-Test4 or something with an other version number you may applied to, is the kernel you just created by compiling and installing the kernel. The initrd-2.6.37-rc5-Test4 is the initial ram-disk which you have created in the previous step. And the System.map-2.6.37-rc5-Test4 which is used to map modules before initialize the filesystem you are sitting on. So far all seems fine and by adding these lines to /etc/grub/menu.lst

1 title Kernel-Test
2 root (hd0,0)
3 kernel /vmlinuz-2.6.37-rc5-Test4 root=/dev/system/root resume=/dev/system/swap splash=silent quiet showopts vga=0x314
4 initrd /initrd-2.6.37-rc5-Test4


you can actually run your new kernel by restarting the computer.

Dienstag, 26. Oktober 2010

Howto enable Compiz in Debian


Unlike Ubuntu, compiz is not enabled by default in the Debian Distribution and unfortunately
there is no gnome integrated tool to switch compiz on and off or to let compiz start after login
into a gnome session. So you have to set this up manually like everything else in Debian ;)

But no problem here! I will show you how you can archive this easily in a few steps.

First you should download and install compiz via aptitude of course. Especially if you
want to configure compiz you need the compiz config setup manager or ccsm for short.
Also make sure you have a proper video card with at least 64 MB video RAM and 3d support if
you want to use compositing effects. Nevertheless on my machine there are 256 MB RAM, so not all features may be working with compiz if you have a video card with less memory.

Now you write a little script, well its not really a script because it only wraps the command to
start the compiz window mananger.
#!/bin/bash
# simple wrapper script

# starting compiz 10 secondes after login
sleep 10

compiz --replace
exit 0


You may want to save this in /usr/local/bin/ according to FHS and make it at least readable and
executable to the user who wants to use compiz.




Next open the gnome configuration tool gnome-session-properties for setting up programs
that starting up when you log in. Add a new Item. In the Path to the binary you now specify the absolute path to your script.

Done, next time you log into a gnome session, compiz is enabled and ready to be configured using the compiz config setup manager.

Montag, 27. September 2010

Mein Sed Cheat Sheet

Basierend auf dem Cheat Sheet von Catonmat habe ich ein erweitertes Sheet Cheat mit einigen Beispielen erstellt, dass nur auf eine einzige Seite passt. Es kann von hier heruntergeladen werden.

Dienstag, 27. Juli 2010

Strg Alt Backspace deaktivieren in opensuse 11.3

Zuhause mag die Tastenkombination Strg-Alt-Backspace sinnvoll sein. Mal eben den X-Server neustarten. Kein Probelm. Schließlich ist man meistens eh der einzige der Zugriff auf den Rechner hat.

In einem Betrieb oder Schulungszentrum wo meherer Leute Zugang zu dem Rechner haben und eine Menge Spaßvögel herumlaufen, die nur weil Sie eben nicht sehen was du machst wenn du den Screen lockst einfach mal Strg-Alt-Backspace drücken, ist vor allem dann nicht lustig wenn man gerade ein Script am Laufen hatte, dass Backups fährt.

In opensuse trägt man dazu folgendes in die Datei /etc/X11/xorg.conf.d/90-keytables.conf ein:

Section "ServerFlags"
Option "DontZap"
EndSection

Nach letztmaligem Drücken der Tastenkombination funktioniert das nicht mehr.

Montag, 26. Juli 2010

Themevorschlag für opensuse 11.3

Das Standard-Theme welches Opensuse 11.3 mitliefert ist schon ganz hübsch. Ich persönlich finde es aber ein wenig langweilig und teilweise zu aufdringlich. Deshalb habe ich es mir ein wenig angepasst. (siehe Bild)

Als erstes schieben wir mal die Leiste nach oben und ersetzen dieses komische Hauptmenu durch die Gnome Menüleiste. Es ist zwar recht nett,
aber bei mir und anderen Menschen die sich bereits mit Linux auskennen, hemmt es extrem den Arbeitsfluss.

(1)Mit rechts auf das Panel klicken --> Eigenschaften und im Pulldownmenu
oben wählen.

(2) Rechtsklick auf Hauptmenu --> Aus dem Panel entfernen

(3) Rechtsklick auf das Panel --> Zum Panel hinzufügen --> Menüleiste

(4) Rechtsklick auf Panel --> Verschieben --> Mit der Maus nach links ziehen

Für Menschen die gnome-do verwenden empfiehlt es sich den Docky als Fenster-
manager zu nutzen. Dazu muss Compiz aktiviert sein.

(1) Rechtsklick auf die Fensterleiste --> Aus dem Panel entfernen.

(2) Auf Anwendungen klicken --> Diensprogramme --> Arbeitsfläche --> Gnome-Do

(3) Rechts oben auf den Pfeil von Gnome-Do klicken --> Einstellungen

(4) Im Reiter Allgemein wählt man "Gnome-Do beim Anmelden automatisch ausführen"

(5) Im Reiter Erweiterungen empfehle ich die Plugins "Files and Folders" und
"Firefox" zu aktivieren.

(6) Im Reiter Erscheiniungsbild wählt man unter "Selected Theme" "Docky" aus und kann noch diverse andere Einstellungen vornehmen. Sehr schön finde ich Trash
und Icon zu aktivieren.

So nun haben wir zwei Mülleimer auf dem Desktop. Um diese Redundanz zu vermeiden
kann man mittels gconf-editor das Eimerchen vom Desktop entfernen, falls es bereits im Docky
zu sehen ist.

(1) Als erstes startet man den gconf-editor

(2) Hier wählt man / --> apps --> nautilus --> desktop

(3) Hier nun den Haken bei trash_icon_visible entfernen

Als letztes noch Das Icon- und Mausthema. Ich nutze Obsidian für das Maus-
thema. Welches man von meinem Repository(l1zard) bekommt. Das Icontheme AwOken erhält man bei gnome-look.org und muss wie folgt für die Installation in Gnome angepasst werden:

(1) Entpacken des Iconthemas. Es muss zunächst das gzip und dann das tar.gz
Archiv entpackt werden. Warum der Autor hier das Thema gleich 2 mal Verpackt
erschließt sich mir nicht.

(2) kopieren sie mittels cp -r AwOken ./icons

(3) Als nächstes wechselt man in das Verzeichnis .icons/AwOken. Hier führt man das Script
customize.sh aus:

./customize.sh folder-dark
./customize.sh distributor-logo-suse2

Das wars in Erscheinungbild, welches man unter System --> Darstellung Erscheinungbild findet,
klickt man unten auf anpassen und kann in den entsprechenden Reitern Mousetheme
und Symbole ändern.

Um das Mousetheme auch global festlegen nutzt man Yast und hier Editor für
/etc/sysconfig und kann dann unter Desktop --> X_MOUSE_CURSOR Dmz löschen und
Obsidian eintragen.

Viel Spaß beim ausprobieren.

Donnerstag, 10. Juni 2010

Ubuntu: Lucid Bugs

(Update: 10.06.2010 16:46)

(1) Nach dem Upgrade auf 10.04 schaute ich erstmal blöd in den schwarzen Bildschirm. Denn seit der Version 10.04 werden einige Intel Grafikkarten nicht mehr unterstützt. Gott sei dank gibt es aber einen Würg Around.

GlasensBlog
Wiki-EIntrag

Abhilfe schafft hier auch das Starten mit dem alten 2.6.31er Kernel. Diesen also beim Upgrade nicht entfernen oder bei der Neuinstallation mittel dpkg per Hand einspielen. Immerhin funktioniert der abgesicherte Modus ja noch. Allerdings gibt es für den 2.6.31er keine Sicherheitsupdates mehr bzw. auch diese müssen dann manuell heruntergeladen und installiert werden.

So nun aber weiter. Nachdem mir ein freundlicher Mensch auf der Ubuntu Release Party und chb vom Unixboard geholfen haben, konnte ich mich nun endlich anmelden und den neuen Desktop genießen. Damit mir das nicht nochmal passiert gleich das /home verzeichnis auf meinen externen Stick mit

cp -a $HOME

absichern. So dachte ich. Falsch gedacht...

(2) Zunächst gar kein Usbstick automount. Nach installation von usbmount wird der Datenträger zwar eingehängt aber nur mit den Rechten von root. Also kein Schreibrecht auf den entsprechenden Ordner. Abhilfe schafft hier die Deinistallation von usbmount und die Installation von pmount. Danach kann man auf der Konsole das Gerät mit

pmount /dev/sdX als

User mounten und mit

pumount

unmounten.

(Update)
Nach dem Einspielen der neuesten Aktualisierungen scheint das Problem ganz behoben.

(3) Exaile startet nach dem Upgrade nicht mehr. Hier hat bei mir das Löschen von ~/.local/share/exaile mittel sudo geholfen. Er verpasst diesem Ordner nämlich glatt mal roots Rechte während des Upgrades.

(4) Nach dem Starten fehlen oben das Wlan-Symbol und der Lautsprecher. Dieses kann man beheben, indem man mit der Maus auf das obere Panel klickt und --> zum Panel hinzufügen --> Benachrichtungsanzeige (ja so heißt das jetzt) auswählt.

(5) Als nächstes leuchtet bei mir immer ständig die Festplattenanzeige auf und der Start dauert ungewöhnlich lange. Also kein Start in Null Komma Nix. Stattdessen mittels

dmesg|tail

mal geschaut was da los ist. Tatsächlich der Kernel versucht auf /dev/fd0 zuzugreifen, obwohl ich doch gar kein /dev/fd0 (Diskettenlaufwerk) habe. Mein BIOS hat aber eines enabled. Also habe ich das auf disabled gestellt und nun funktioniert es.

(6) Total nervig ist auch dass Aptitude beim Aufruf von safe-upgrade immer wieder versucht Packete zu löschen die ich aber noch behalten will. Hier hilfe ein einfaches Neuinstallieren der Pakete, die Aptitude zu löschen versucht mittels des Aufrufs reinstall {Packetname}

(7) Nach getaner Arbeit will man ja auch mal ein Filmchen schauen. Doch was ist das, wenn man auf ein Film klickt verabschiedet sich X erneut und wir sehen wieder nur schwarz. Abhilfe schafft hier der Karmic Kernel 2.6.31-22. Damit dieser beim Booten Standardmäßig geladen wird trägt man in der /etc/default/grub den Eintrag
GRUB_DEFAULT=2 #(Vorsicht grub fängt bei 0 an)

ein.

Weitere Bugs die ich bisher nicht behoben habe:
+ ---Das selbst definierte MouseTheme funktioniert nicht richtig. Stattdessen wird mir ein Mix zwischen dem Standard-Moustheme (auf dem Desktop) und meinem (In Programmen) angeboten.--- --> nach update gefixt

Update (03.05.2010)
+ CONFIG_TASK_DELAY_ACCT not enabled in kernel, cannot determine SWAPIN and IO %

Ich schätze mal, dass ich durchaus noch Bugs finden werde.

Dienstag, 1. Juni 2010

Opensuse 11.3 Milestone 7: Neues und Altes

Wie üblich bei allen X.3 Versionen von SuSE/Opensuse fallen nur wenige Veränderungen auf. Die kommende Version wird voraussichtlich das aktuell in Ubuntu genutzte Gnome 2.30 beinhalten Möglicherweise wird es aber bei Fertigstellung des neuen Major Release von Gnome (3.0) ein entsprechendes Repository im Buildservice geben. Das bleibt jedoch abzuwarten.


Die auffälligsten Änderungen sind hier bei Gnome in der Performance zu spüren und machen sich wieder einmal beim Dateimanager Nautilus deutlich. Dieser kann nun,- endlich!!!,- auch das was KDEs Dateimanager schon seit KDE3 kann,- tatata,- er beherrscht den Splitscreen. Außerdem setzt die Version 11.3 nun auf Upstart, um den Bootvorgang zu beschleunigen, welches von anderen Distributionen wie Ubuntu schon länger genutzt wird.

Zusätzlich wurde mal wieder das Theme verändert. Dem düsteren Grün weicht nun ein frisches sommerliches Grün, was vor allem zu dem Gesamtthema von KDE4 gut passt.

KDE3 ist vollständig entfernt worden. Es wird nicht einmal mehr im Buildservice unterstützt. Wer immer noch keine Lust auf KDE4 hat, kann ja eine andere Desktopoberfläche nehmen oder sich sein KDE3 selber kompilieren, was nicht so schwer ist wie sich ein komplettes Gnome from Scratch zu bauen.

Konsequent wurden die Anpassungen vorgenommen, die nötig sind, um das GTK basierte Software Tool von Yast auf das Niveau seines QT-Bruders zu heben.
Das macht das Aktualisieren für mich interessant, da hier die Qt Librarys eingespart werden können. Das der Softwareverwaltung zugrunde liegende Tool Zypper wurde verbessert und um einige Features erweitert. So entfernt die Option --clean-deps die nicht mehr benötigten Pakete bei der Deinstallation gleich mit.

Die Spielauswahl bei einer Standardinstallation wurde auf eine sinnvolle Auswahl reduziert. Neu hinzugekommen zur Standardauswahl ist der Gnome Phnoemanger, welcher es ermöglicht Dateien und Einstellungen mit dem Mobiltelefon abzugleichen. Sehr gut gefällt mir auch das FSpot Plugin für den Bildschirmschoner, mit dem sich Slideshows aus den Favoriten generieren lassen.

Wünschenswert wäre gewesen, wenn das deutlich schmalere und übersichtliche Musiktool Exaile als Standardplayer in die engere Auswahl geschafft hätte.

Obwohl es hier und da ein paar kleine Macken gibt, schaut das Gesamtergebnis schon recht stabil und brauchbar aus.

Dienstag, 4. Mai 2010

Sonntag, 18. April 2010

8 Mal die 3 - Hosentaschensitzvertrag mit jamba

Wissen Sie was Hosentaschensitzverträge sind? Nein? Ein Hosentaschensitzvertrag kommt dann zustande wenn man sich mit seinem Allerwertesten auf sein Mobiltelefon setzt und die Tastatursperre nicht aktiv war. Wählt man nämlich versehentlich durch darauf sitzen bzw. wählt Ihr Arsch versehentlich 5 mal die 3 werden sie mit einem Sprachcomputer der Firma Jamba verbunden.

Durch 3 mal 3 weiteres darauf sitzen kommt nun ein Vertrag zwischen ihrem Arsch und dem Sprachcomputer zustande. Und da ihr Arsch nun mal Ihnen gehört müssen Sie dafür bezahlen. Dabei hält es Jamba noch nicht mal für nötig ihrem Arsch bzw. Ihnen eine schriftliche Bestätigung mit den genauen Vertragsbedingungen zukommen zu lassen.

Es wurde also nie irgendwo etwas unterschrieben, denn schließlich fehlt ihrem Po ja auch die Möglichkeit dies zu tun und zum anderen haben Sie einen Vertrag mit einem Gegenstand abgeschlossen. Doch das scheint Fox Mobile wenig zu kümmern und bucht nun fleißig über ihre Telefonrechnung nicht nachzuvollziehende Beträge ab.

Man könnte nun unterstellen, dass diese Schlaufoxe mit Absicht die 3 als Bestätigung gewählt haben.



Donnerstag, 15. April 2010

Kennen Sie Bash (wirklich)?


Bash verfügt über einige kleine Nettigkeiten, die sich nicht unbedingt auf den ersten Blick erschließen, das Leben allerdings um ein Vielfaches erleichtern:

Die History:
Bash verfügt neben der allseits gegenwärtigen Completion die man durch zweimaliges Drücken der TabTaste erreicht auch noch eine sehr schöne History.

In der Datei ~/.bash_history speichert die Bash Zeilenweise welcher Befehl zuletzt aufgerufen wurde. Mit den beiden Umgebungvariablen $HISTSIZE und $HISTFILESIZE kann durch ersteres bestimmt werden, bis zu wieviele letzte Befehle durch Eingabe des Befehls:

>>history

angezeigt werden bzw. durch zweiteres wieviele letzte Befehle in der Datei ~/.bash_history abgelegt werden sollen. Die Option -c löscht die Bash-History. Bash nummeriert die zuletzt aufgerufenen Befehle von 1 bis $HISTSIZE. Durch Eingabe von

>> !n

wird der Befehl mit der Nummer n aus der History hervorgekramt und ausgeführt. Durch einfaches Drücken der hoch [runter] oder der Tasten Strg-P [Strg- N] kann man durch die History einfach vor- und zurückblättern. Mit Strg-R lässt sich in der History rückwärts durchsuchen. Strg-S durchsucht respektive vorwärts. Mit Strg-G verlässt man die Suche wieder.

Emacs/Vi Mode:
Bash lässt sich Wahlweise im Emacs oder im Vi Mode betreiben. Normalerweise wird von den meisten Distributionen der Emacs Modus benutzt. Mit dem Befehl:

>> mode -o vi

versetzt man Bash vom Emacs in den Vi Modus. Sollte doch Widererwarten der Vi Modus eingeschaltet sein und möchte man diesen in den Emacs Modus zurück wechseln, kann man dies durch Eingabe von:

>> mode -o emacs


erreichen.

Die beiden Modi Unterscheiden sich durch ihre definierten Shortcuts. Der Vi Mode erlaubt die Bash so zu steuern wie man sie von Vi her gewohnt ist. Durch das Drücken der ":" Taste gelangt man in den Befehlsmodus:

Cursorsteuerung:

Emacs

Vi

Auswirkung

Strg-A

0

Cursor am Zeilenanfang positionieren

Strg-E

$

Cursor am Zeilenende positionieren

»Linker Pfeil«
Strg-B

L >>Space>>

Cursor, ohne zu löschen, ein Zeichen nach links bewegen

»Rechter Pfeil«
Strg-F

H

Cursor, ohne zu löschen, ein Zeichen nach rechts bewegen

DEL

x

Das Zeichen links vom Cursor wird gelöscht

Strg-D

X

Das Zeichen unter dem Cursor wird gelöscht

Strg-U

Strg-U

Vom Cursor bis zum Zeilenanfang alle Zeichen löschen

Strg-K

D

Vom Cursor bis zum Zeilenende alle Zeichen löschen


Wortsteuerung:

Emacs

Vi

Auswirkung

Esc b

b

Ein Wort zurück bewegen

Esc f

w

Ein Wort vorwärts bewegen

Esc del
Strg-W

Strg-w

Das Wort links vom Cursor löschen

Esc d


Das Wort unter dem Cursor löschen

Str-y

u

Letztes gelöschtes Wort zurückholen


Zeichensteuerung:

Emacs

Vi

Auswirkung

Strg-T

Strg-T

Vertauscht das unter dem Cursor stehende Zeichen mit seinem linken Nachbarn

Strg-V

Strg-V

Das nächste eingegebene Zeichen wird maskiert

Esc U


Konvertiert alles vor dem Coursor in Großschreibung

Esc L


Konvertiert alles vor dem Cursor in Kleinschreibung


Mittels Strg-X Strg-E öffnet man den in $EDITOR festgelegten Standardeditor.

Zwei äußerst brauchbare CheatSheets gibt es bei Catonmat:
http://www.catonmat.net/download/readline-emacs-editing-mode-cheat-sheet.pdf
http://www.catonmat.net/download/bash-vi-editing-mode-cheat-sheet.pdf

5 Dinge die ich bei Star Trek schon immer Unsinnig fand

1. Warum macht das Beamen am Ziel ein Geräusch?Ich habe jedenfalls noch nie Licht gesehen, was Geräusche macht.

2. Warum hört man im Weltraum immer wie die Raumschiffe explodieren? Wie genau breiten sich eigentlich Schallwellen im Weltraum aus?

3. Was soll eigentlich die komische Kopfplatte bei den Klingonen darstellen? Sind die mal gegen die Wand gerannt? Welche Funktion soll das denn haben? Welchen evolutionären Vorteil bringt so eine Stirnplatte?

4. Woher weiß der Computer so genau wann er gemeint ist. Warum zum Beispiel springt er bei Sätzen wie "Ich habe das Computer(log) überprüft nicht genauso mit einem Piepsen an." Wie bei "Computer Licht."

5. Warum ist es zeitlich kein Probelm quer durch den Alpha-Quadranten zu reisen? Braucht aber 70 Jahre um von einem Ende des Delta-Quadranten zum Anfang des Alpha-Quadranten zu gelangen. Das ist doch die selbe Strecke auf einer Spirale == Milchstraße.

Montag, 22. März 2010

Feurige Kramkiste: Meine Firefox Addons

In letzter Zeit habe ich mal ein wenig in der Addon Kiste von Firefox gekramt. Ein paar davon haben es dann auch in die engere Auswahl geschafft. Und da es sich bei "ZeigdochmaldeinAddon" um eine neue Sportart der Firefox Fanboys zu handeln scheint, (Mist geoutet!) will ich hier mal die Addons kurz vorstellen,die es erstmal geschafft haben längere Zeit auf meinem Pcs zu erleben ohne gelöscht zu werden.

Adblock Plus:
Muss man das eigentlich noch erklären? Also alle die das noch nicht installiert haben, sollten das sofort nachholen. Es blockt effektiv Werbung, so dass das Browsen im Web wieder Spaß macht.

Better Privacy: Löscht so gennante Flashcookies nachdem beenden von Firefox.

BugMeNot: Zum Umgehen von Zwangsregistrierungen. Das Addon holt per Kontextmenu Zugangsdaten aus einer Datenbank.

Dictionary (EN/DE): Schnell mal ein Wort übersetzen.

Download in Tab: Öffnet das Downloadfenster in einem eigenen Tab wie man es von Opera her kennt.

DownThemAll: Mehrere Elemente mit einem Mausklick herunterladen, ohne dass einem der Finger abfault.

FEBE: Mit Febe kann ich mir meine Addons speichern, damit ich sie mir bei einem Update oder bei einer Neuinstallation nicht wieder zusammensuchen muss.

Firebug: Debuger für Websiten.

Fireclam: In Verbindung mit Clamav kann man heruntergeladene Objekte auf Viren überprüfen.

Flashblock: Zusätzlich zur Werbung werden nun auch die nervigen Flashfilmchen ausgeblendet. In Verbindung mit Adblock Plus unverzichtbar.

Flashgot: Zum herunterladen von Flashfilmen.

HideMenuBar: Damit schafft man sich noch ein wenig Platz im Browser indem man die Menüleiste verschwinden lässt. Sollte man die Menüleiste wieder brauchen kann man sie mit der Alt Taste wieder hervorholen.

Mouseless Browsing:
Das ist mein absolutes LieblingsAddon. Damit wird es nämlich mögliche sich ganz ohne Mouse durchs WWW zu hangeln. Nach der Installation sieht man neben den Links kleine Zahlen. Drückt man nun Strg + die Zahl wird der Link "angeklickt".

NoScript: Verhindert Cross Site Angriffe und blockt andere Scripte die sich in Webseiten eingebettet werden.

ReadItLater: Dieses Tool hat meine Bookmarks ersetzt mit einem einfachen Klick fügt man eine Website zu seiner Liste hinzu. Geht man Offline werden die Hinzugefügten Seiten heruntergeladen und lokal gespeichert. Braucht man den Bookmark nicht mehr, kann man ihn genauso einfach wieder entfernen.

Redirect Remover: Entfernt die Umleitung aus Links und Grafiken. ;)

ScribeFire: Ein Plugin mit dem ich meinen Blog verwalte. Eigentlich ist es ein Programm im Programm, mit dem sich das Bloggen wesentlich übersichtlicher und einfacher gestaltet.

Smart Stop/Reload: Verschmilzt den Start und den Reload Button.

Stealther: Ermöglicht das Anonyme Surfen auf Knopfdruck. Es werden keine Cookies mehr angenommen.

Work Offline: Ein Kleiner Schalter mit dem man zwischen Off und Onlinemodus wechseln kann.

Montag, 15. März 2010

Rednotebook Notiz: - Mit Python Programmieren lernen 2

Da ich nun am Wochenende mal wieder etwas Zeit hatte mein Python 3 Buch zu studieren, will ich hier nun die 2. Notiz veröffentlichen. Wie immer habe ich keinen Wert auf Vollständigkeit gelegt. Ne Versicherung, dass es keine Fehler mehr gibt, kann ich auch diesmal nicht geben. Alles wie immer: Ohne Gewe(ä)hr.

Da bei der letzten Notiz durch die von Blogspot verwendete Software viel an der Ursprünglichen Formatierung verloren ging, habe ich meine Notizen diesmal in das Text Format konvertiert. Ich hoffe ihnen wurde geholfen.

Python1

Python1(DOS konvertiert)

Python2

Python2(DOS konvertiert)

Mittwoch, 3. März 2010

Wie man im Aktivcenter deaktiviert wird

Aktualisiert am 04.03.2010

So nachdem ich jetzt 3 Monate dabei war, will ich noch mal zusammenfassen was das Aktivcenter ist und was man da macht bzw was man da nicht macht, wozu das ganze gut ist und wer am Ende davon profitiert.
Das ganze läuft grundsätzlich so ab. Das einem am Anfang eine so genannte Eingliederugnsvereinbarung unter die Nase gehalten wird. Doch mit Vereinbarung hat das ganze nichts zu tun. Höchst Grundgesetzfeindlich wird man erpresst, den Wisch zu unterschreiben der einen dann zwingt 6 Monate seines Lebens im offenen Strafvollzug abzusitzen. Im Aktivcenter wird man dir später erklären, dass es überhaupt nicht gegen deine Grundrechte verstößt. Schließlich hätte man ja die Wahl gehabt, gar keine staatliche Hilfe in Anspruch zu nehmen und auf der Straße zu verhungern. Und wenn du dich weigerst den Wisch zu unterschreiben, dann wird es einfach per Verwaltungsakt erlassen.
Über diese Eingliederungserzwingung kann sich der TÜV Rheinland freuen, die wohl ungefähr folgenden Gedankengang hatten: Ey cool. Aktivcenter. Da mieten wir einfach auf einem alten abgewrackten Gelände ein olles Gebäude, dass schlecht beheizt ist und wenig Miete kostet und alles andere kommt von allein. Wir brauchen uns nicht mal um Teilnehmer kümmern und Werbung dafür machen, denn das Arbeitsamt wird uns die Leute direkt zuspielen und damit auch die Kohle, - und sich für jeden Teilnehmer ein paar tausend Euro in die Tasche stecken kann. Das ist ja wie im Schlarafenland. Nur blöd dass diejenigen den es eigentlich etwas bringen soll, gar nichts bringt. Aber hey wen interessieren die schon.
Abstellen auf das Abstellgleis und für ein halbes Jahr nichts mehr von den Problemen sehen und hören. Das ist die Devise. Von diesem Zeitpunkt an, ist man nicht mehr arbeitslos sondern arbeitsuchend. Und Hokus Pokus Schlechterscherzus haben wir auch weniger Arbeitslose. Die moderne Endlösung für ein anwachsendes gesellschaftliches Problem.
Ok was soll man hier also machen. Groß und Schwierig ist diese Frage zu beantworten. Das habe ich selber auch nie herausfinden können. Also zusammenfassen man macht nichts und man lernt nichts,- wie auch denn die Pfeifen die hier Dozenten nennen, wissen weniger als man selber. Zusammenfassend geht es nur darum dass man hier herumsitzt und solange die Liste nicht da ist, lernt wie wertvoll seine Zeit eigentlich ist. Und wenn man nicht irgendeine unsinnige Zeitung zusammenbastelt, könnte man auf die Idee kommen sich zu bewerben. Doch die Bewerbung sollte man lieber zu Hause abschicken, denn für jede erfolgreich vermittelte Arbeit oder sonstige bezahlte oder unbezahlte Beschäftigung, zahlt das Abrbeistamt dem Herrn Möckel eine saftige Prämie. Klar dass er versucht auf der einen Seite einen auf Kumpel zu machen und hinten rum sagt, dass Du da nichts Wert bist, und gefälligst jede Arbeit anzunehmen hast. Damit er auch Morgen wieder gut gelaunt mit dem Fahrstuhl fahren kann, den die Teilnehmer nicht benutzen dürfen und sich kumpelhaft als echter Witzbold neben einem setzt und erst mal den neuesten Kalauer zum Besten gibt. Der hat halt gut lachen. Kann sich vor der Rente eben noch mal nen hübches Sümmchen dazu verdienen. Und das auf Kosten des Staates, des Grundrechtes und der Arbeitslosen. Ein Hoch auf den TÜV und das Arbeitsamt.

Dienstag, 16. Februar 2010

Rednotebook Notiz: - Mit Python Programmieren lernen 1

Ich habe mir neulich das Buch "Python 3 for absolute beginners" gekauft. Während ich das Buch lese, werde ich mir Notizen zu dem gelesenen in meinem persönlichen Notizbuch Rednotebook machen. An welchem ich die Allgemeinheit gerne teilhaben lasse. Wie gesagt es sind nur Notizen und haben daher weder Anspruch auf Vollständigkeit noch auf Richtigkeit. Ich hoffe dennoch, dass sie dem einem oder anderen vom Nutzen sind:

===Lerning Python Part 1===

__Chapter 1 Introducing Python__
**Why python**
- leicht zu lernen
- einfach zu lesender und zu wartender Code
- schnell zu schreibender Code
- man wird gezwungen sauberen Code zu schreiben
- aussergwöhnliche Große Bibliothek mit Funktionen und Klassen

**Wann Python**
- Schnelle Zweizeiler um adminstrative Aufgaben zu erledigen
- als Projektcode
- zum Einfachen nachvollziehen simpler Algorithmen
- Flexibel einsetzenbar +Jango --> Webprogrammierung
+ Pygtk --> grafische programmierung
- als kleiner Taschenrechner

[Python-docs ""http://docs.python.org/3.1/index.html""]

Python3 ist __**nicht**__ zur früheren Version 2.x komapttibel

[Jargon Hackers Dictionary ""http://catb.org/~esr/jargon""]
- erklärt Begriffe der Informatik und der Programmierung

**Tipp**
Da Python noch immer standardmäßig in Version 2.x ausgeliefert wird, wird Python3 oftmals zusätzlich installiert und dann durch python3 in der shell aufgerufen.
Wenn man in der bash aber den alias setzt
alias py='python3'

und dann anschließend mittels source ~$USER/.bashrc die bashrc neu sourced, bekommt man eine ziemlich nette Abkürzung für die shell.

matthias@Dickkopf:~$ py
Python 3.1.1+ (r311:74480, Nov 2 2009, 14:49:22)
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Verlassen mit quit()

Geany wird als IDE erwähnt. Ich empfehle Genay weil es ein bisschen mehr als ein Text-Editor und ein bisschen weniger als eine IDE ist.

**Was heißt hier Programmieren**
Problem, was gelöst werden soll --> Idee wie ich dieses Problem lösen kann --> Wie kann ich die Idee Umsetzen (welche Methoden und Algorithmen muss ich anwenden)

Problem --> Idee --> Werkzeug
_____________v________________
v
Lösung
Cyclus der Softwareentwicklung (**software development circle**)

__Chapter 2 Designing Software__
//Frage: Wie wird ein Problem in ein funktionierendes Programm umgewandelt, welches dieses in Problem löst?//

**Das Problem beschreiben**
- (1) Was soll die Software für dich tun? Welches Problem soll sie lösen?
- (2 ) Wer soll die Software benutzen?
- (3) Auf welchem System wird die Software laufen

- zu (1)
Öffnen Sie einen Texteditor und beschreiben Sie kurz welches Problem die Software lösen soll und was die Software tun soll. Welche Optionne es verwenden wird, wie es generell ausgeführt werden soll.

**Tipp:**
ich speichere alle meine Projekte unter
/home/$USER/workspace/python

- zu (2)
Für wen ist das Programm und wie Benutzerfreundlich muss ich es machen. Technical Scills des Anwenders.
Wie soll der Anwender mit dem Programm interagiieren
--> einen knopf drücken
--> komplexe grafische oberfläche mit menüstruktur
--> Text interface wie bash mit optionen
--> Eine Fragedialog beantworten
--> Wieviel hilfestellung soll angeboten werden

- zu (3)
Welches Betriebssystem (bei Linux welche Distri) wird eingesetzt. Welche Bibliotheken kann ich benutzen. Müssen bestimmten Vorraussetzungen gegeben sein, damit dass Programm läuft.


**Tipp**
Um mehr Hilfe zu erhalten dokumentiert man möglichst in englisch
Beispiel:
"
Simple Program for Systemadministrators to make a dircetory or files
shared.
Share is a file having the Rights root:Shared rwxrx---, so that the group Shared is able to access and use the file but only root can delete and write to this files.

This idea came to me when i was deleting all my Music-Collection in a non sleeping night using rm -r /media/MeinMusik instead of rm -r /media/MeineMusik1

usage: mksh where the argument is eithe a vail file or dircetory known in root-directory.
"

**Functinal Requirement**
Methoden, Funktionen, Klassen die man braucht damit die Software das tut was man von ihr erwartet. Definieren Sie in Kommentaren am Ende des Programms welche Funktionen die Software noch erhalten soll. (ein Update soll möglich sein, der User soll in der lage sein den Ort einer log-datei selbst festzulegen). Oftmals fallen einem während der Arbeit an dem Programm noch zusätzliche Funktionen und Optionen ein, die ein Program erhalten soll oder man merkt dass Software hier und da noch nicht ausreichend so gestaltet ist, dass es auch die dümmsten falscheingaben des Users abfängt.
|
/ \
|
|
**Nonfunctional Requirements**
Accessibillity, Usability, Kosteneffizens, Kompatibilität mit anderen Systemen, Sicherheit und Performance, Stabilität, Flexibilität (sind neue Features leicht zu implementieren. Muss ich neue Features implementieren?)

__Besseres Beispiel:__
"
Problem: Make A file have permissions root:Shared 750 (Shared)

Target Users: Me and Users holding Root Permissions preventing there Data to be deleted in long work nights ;)

Target System: Linux

Interface: Bash Command-line

Functional Requirements: Using chmod and chown. Printing out a message when done with the processes.

Testing: simple run program on a bunch of files and use ls to verify

Maintainer: theo@example.com
"

__In Python__
#!/usr/bin/env python3
"""
hello_world.txt
Problem: Get the Computer to print a message
Target Users: Me
Target System: GNU/Linux
Interface: Command-line
Funtional Requiremnest: Print out a messae. User must be able to input text
Testing: Simple run test - expecting a message to appear.
Maintainer: me@home.com
"""

Python Programme haben immer die Endung .py

# In python wird alles was hinter den # in einer zeile bis zum ende der zeile steht als Kommentar gewertet.

Gute Dokumentration ist notwendig, um auch später nachzuvollziehen was ein Stückchen Code macht.

"" '' sind in Python //Text-Strings// Quotes Alles was innerhalb eines """ steht wird als Kommentar gesehen, so das man nicht jede Zeile mit # versehen muss. Dass hilft auch um nicht funktionierenden Code schnell auszukommentieren. Der Unterschied zwischen "" und '' ist der, dass man '' benutzt um Kommentare in Kommentare einzubetten.
"'Was soll das.', fragte sie."

**Pseudocode benutzen**
Pseudocode ist durch ein # Kommentar gekennzeichnet und beschreibt in kurzen prägnanten Worten, welcher Schriit hier implementiert werden soll.

__Beispiel:__
"""
#!/usr/bin/env python3

hello_world.txt
Problem: Get the Computer to print a message
Target Users: Me
Target System: GNU/Linux
Interface: Command-line
Funtional Requiremnest: Print out a messae. User must be able to input text
Testing: Simple run test - expecting a message to appear.
Maintainer: me@home.com
"""
#read users input <--step ##initialize varibale that holds users input <--substep #test users input #printout users input on screen #endprogramm

Donnerstag, 11. Februar 2010

Schau doch mal mein Conky

In den letzten Tagen habe ich mich sehr detailliert mit Conky und seinen Nettigkeiten beschäftigt. Das Ergebnis sieht man im Bild.

Ich will hier nicht weiter auf die Besonderheiten und Details eingehen. Dazu gibt es schon genug ausführliches Material im Netz.
http://crunchbanglinux.org/forums/topic/59/my-conky-config/
http://conky.linux-hardcore.com/

Zudem gibt es auf der Website von Conky eine ausführliche Dokumentation.

Ich werde einfach nur ein Conkyschalter vorstellen mit dem mehrere Conkys verwalten kann:

Conkymain (Ist die Hauptdatei):
"# Use Xft?
use_xft yes
xftfont Trebuchet MS:size=8
xftalpha 0.8
text_buffer_size 256

update_interval 2
total_run_times 0

####edit this lines if conky does not work propertly
#default 512
max_specials 1024
default 16384
max_user_text 18384
####edit this lines if conky does not work propertly

# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_transparent yes
#own_window_type desktop
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager


double_buffer yes
#minimum_size 220
draw_shades no
draw_outline no
draw_borders no
stippled_borders 0
border_margin 5
border_width 1
default_color 719ECE
color1 EF6631
alignment bottom_left
gap_x 15
gap_y 25
no_buffers yes
uppercase no
cpu_avg_samples 1
net_avg_samples 2
override_utf8_locale yes
use_spacer yes


TEXT
${font OpenLogos:size=22}J
${font}$nodename
${font OpenLogos:size=12}t${font} $sysname $kernel on $machine
${font StyleBats:size=12}q${font} Uptime: ${alignr}${uptime}
${hr}
${exec grep -m 1 "model name" /proc/cpuinfo | sed 's/^.*: //g'}
${font Poky}P ${font}CPU: ${cpu cpu1}% ${alignr}${cpugraph cpu1 10, 100 EF6631 EF6632}
${font Poky}H ${font}HDD: $diskio ${alignr}${diskiograph /dev/sda 10,100 EF6631 EF6632}
$diskio_read (disk read) ${alignr} $diskio_write (disk write)
${hr}
${font StyleBats:size=12}g${font} RAM: ${alignr}$mem / $memmax
${font StyleBats:size=12}j${font} SWAP: ${alignr}$swap / $swapmax
${hr}
${font Pie charts for maps:size=12}7${font} ${fs_free_perc /}% free / ${alignr 8}${fs_bar 4,100 /}
${font Pie charts for maps:size=12}7${font} ${fs_free_perc /boot}% free /boot ${alignr}${fs_bar 4,100 /boot}
${hr}
$processes processes ($running_processes running)

NAME $alignr PID CPU
${color1}${top name 1} $alignr ${top pid 1} ${top cpu 1}
${color white}${top name 2} $alignr ${top pid 2} ${top cpu 2}
${color}${top name 3} $alignr ${top pid 3} ${top cpu 3}
${top name 4} $alignr ${top pid 4} ${top cpu 4}
${top name 5} $alignr ${top pid 5} ${top cpu 5}

"

netioconky:
"
use_xft yes
xftfont Trebuchet MS:size=8
xftalpha 0.8
text_buffer_size 2048
update_interval 2
total_run_times 0
own_window yes
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
minimum_size 220 0
draw_shades no
draw_outline no
draw_borders no
stippled_borders 0
border_margin 5
border_width 1
own_window_colour grey
color1 white
color2 EF6631
alignment top_right
#gap_x 15
gap_y 40
no_buffers yes
uppercase no
cpu_avg_samples 1
net_avg_samples 2
override_utf8_locale yes
use_spacer none
if_up_strictness adress

TEXT
${if_up eth0}
${font VariShapes Solid}F${downspeedgraph 15, 100 EF6631 EF6632} ${font VariShapes Solid}E${upspeedgraph 15, 100 EF6631 EF6632}
${else}
${if_up eth1}
${font VariShapes Solid}F${downspeedgraph 15, 100 EF6631 EF6632} ${font VariShapes Solid}E${upspeedgraph 15, 100 EF6631 EF6632}
${else}
There is no connection ${font Smiley}m
${endif}

"

Das Script kann versteckt zum Beispiel als .conkystart.sh angelegt werden und zum Beispiel
zu den zu startenden Programmen hinzugefügt werden:
"
#!/bin/bash
CONKY_RC=$HOME/.conky/conkymain
SLEEP_TIME=$1 ${SLEEP_TIME:=30}
if pidof conky | grep [0-9] > /dev/null

then
exec killall conky
else
sleep $SLEEP_TIME
conky -c $CONKY_RC &
conky -c $HOME/.conky/conkynet &
#conky addmoresconkyshere
exit

fi

"

Achja hätte ich ganz vergessen. Das ganze funktioniert nur mit ConkyColors und den entsprechenden Fonts. Viel Spaß

Dienstag, 26. Januar 2010

Arista - Transcodieren geht auch einfach




Als ich neulich mal wieder Repository gucken gespielt habe, entdeckte ich diesen Schatz. Den Arista Transcoder. Ein Multimedia Transcoder für die Gnome-Desktop-Umgebung.

http://programmer-art.org/projects/arista-transcoder

Das Tool überzeugt vor allem durch seine Schlichtheit. Rechts wählt man zunächst das Quellmedium. Der Name Gerät ist zwar wie ich finde etwas irrführend, jedoch kann man hier das Zielmedium in vorgefertigten Profilen zusammen mit dem unter Profil einzustellenden Qualität anwählen. Ein klick auf"Zur Warteschlange hinzufügen", dann lässt sich der Transcodeierungsprozess auch schon beginnen.

Arista hat ein eigenes Github
http://github.com/danielgtaylor/arista

Moved to github

Yeah as you may have noticed my bashtools have been moved to github. i will push and add as regularly as i can.

Freitag, 22. Januar 2010

Arte+7 Videos herunterladen


In der heutigen Zeit gibt es ja schon genug Schrott im Fernsehen, den man sich getrost schenken kann. Reine Hirnzeitverschwendung. Schon länger bin ich daher ein Fan der Seite Arte Plus 7 auf der man die wertvollen Dokumentationen und Sendungen noch 7 Tage nach der Erstausstrahlung sehen kann.

Leider macht es Arte den Nutzern nicht leicht, die Sendungen auf dem PC zu speichern und zu archivieren. Ich stelle hier zwei Methoden vor, wie man dennoch an die begehrten Dateien kommt.

Linux Nutzer wird es freuen, dass sich jemand mal die Mühe gemacht hat dafür ein kleines Script zu schreiben. Mitzekotze hat auf http://github.com/devttybrain/arte-7-Download-Helper ein kleines Script geschrieben, welches in Zusammenhang mit Mplayer (diesen also noch installieren, falls das noch nicht der Fall ist) den Stream dumped.

Mitzekotzes Script kann nun ausgeführt werden, nachdem es mit chmod +x ausführbar gemacht worden ist. Für Mitzekotzes Script reicht es aus die URL der Seite mit dem herunterzuladenden Video als Argument in "" zu übergeben. Also zum Beispiel:

./arte.download.sh "http://plus7.arte.tv/de/1697660,CmC=3028662.html" foobar.wmv

in die Shell eingeben.
Die "" sind notwendig, um Interpretation der in der URL enthaltenden Sonderzeichen auszuschließen.

Für den Trick mit VLC muss man sich die Streamingurl selbst herauszuchen. Das geht so.

Man öffnet mit Firefox 3.x die Arte Seite und dann das Video was man sich anschauen will. Im Firefox kann man unter Ansicht --> Seitenquelltext anzeigen, sich den Quelltext der Seite anzeigen lassen. Gibt man in das Suchfeld wmv ein, sollte man unter anderem folgendes finden:

In einer anderen Methode kann man den VLC verwenden. Hier einfach Medien --> "Netzwerkstream öffnen" und die URL eintragen. Im Dropdown Menu neben Wiedergabe, wähl man nun Konvertieren aus. Im darauf folgenden Fenster noch Ausgabe anzeigen anwählen und das wars dann.