.zshrc

Ich habe eine neue Lieblingskommandozeile zsh und da ich meine .zshrc gerne zentral erreichen möchte, stell ich sie mal online. Vielleicht will sie ja jemand kopieren.

zshrc link

26.09.2007
- Aliase
- History
- Funktionen (komprimieren und dekomprimieren)
- farbiger Prompt

28.09.2007
- Aliase automatisch für Linux oder Mac OS X
- Update Funktion (zupdate) der zsh Umgebung (.zshrc, zsh_domain_completion) vom Webserver
- automatische Vervollständigung von ssh, sftp per ~/.ssh/known_hosts Datei
- automatische Vervollständigung von “Netzwerktools” per ~/.zsh/zsh_domain_completion

12.10.2007
- Aliase für ls umgebaut (l, la -> list all, ld -> list directory, lf -> list files, ll -> list symbolic links)
- Suffix Aliase eingebaut (z.B. muss ich nur noch einen *.torrent Link einfügen und wget lädt den torrent herunter)
- Falls das letzte Kommando !=0 als exit code zurück gibt wird dieser im Prompt angezeigt

14.10.2007
- Weiter Veränderungen, über die ab jetzt nicht mehr berichtet wird!

zsh.png

Hier noch ein paar hilfreiche Links:

Microcontroller und Assembler aufgemerkt

Was mir schon lange im Kopf rumschwirrt ist, eine kleine Schaltung mit Microcontroller und PowerMOSFET zur Motorsteuerung. Da ich aber im Moment weder von uC noch von ASM große Ahnung habe, kann das ganze noch dauern!

Naja zumindestens ein Template für die Assemblerprogramierung hab ich schon mal. Ausserdem kann man mit dem AVR Studio den Code auch gleich simulieren auf der Zielplatform (ATMega, ATiny, …)

Vorsicht Assembler folgt:
[weiter lesen]

Mein neuer Sortieralgorithmus [EDIT: mit Download]

Ich nenne ihn S-Tree für Sorted Tree.
Da ich weder Experte auf dem Gebiet der Sortieralgorithmen noch auf dem der Bäume (B-Baum usw.) bin weiß ich jetzt nicht ob es das schon gibt bzw. ob es wirklich hilfreich ist.
Nichtsdestotrotz habe ich mir einen neuen Sortieralgorithmus zusammengebastelt.
[EDIT] Okay, nach längerer Suche in der Welt der Sortieralgorithmen hat sich natürlich herausgestellt, dass es so etwas schon gibt. Stichwort Binärbaum und AVL-Baum. Trotzdem bleibt noch meine Objektorientierte Umsetzung und natürlich wird noch weiter an der Implementierung gefeilt.

S-Tree OverviewDas besondere ist die Verwendung einer Baumstruktur und der Objektorientierte Ansatz.
Auf die Idee bin ich gekommen, da in einem B-Baum ja die Daten auch sortiert vorliegen. Nur enthält ein B-Baum sehr viele Funktionen auch für das Löschen und Ausbalancieren der Daten. Diese funktionene werden aber beim reinen sortieren nicht gebraucht, da weder Daten gelöscht noch gesucht werden.

Implementiert habe ich das ganze testweise in Java. Im Prinzip funktioniert das Ganze mit einer Klasse (STreeNode). Man gibt der RootNode (der obersten Node) einen Zahlenwert (long) und der wird dann an der passenden und freien B oder A Stelle im Baum eingefügt (siehe Bild).

Vorteil: schnell, objektorientiert ;)
Nachteil: braucht viel Arbeitsspeicher (wahrscheinlich viel mehr als jeder andere Sortieralgo.), Out-Of-Place Algorithmus
Hinweis: Irgendwie sieht es aus wie der Heapsort(ja ok es ist ein AVL-Baum) aber ich finde es einfacher, da Objektorientiert.

Ich habe mal einige Benchmarks gemacht und ihn mit meiner Bubblesort Implementierung verglichen.
Ich weiß Bubblesort ist nicht der beste Sortieralgo. aber der einzige, den ich aus dem Kopf kann.
System ist ein Laptop mit Intel Centrino 1,7GHz und 1GB Ram.
Getestet wird mit Zufallszahlen des Typs long:
1. Füllen des Baumes mit den Zufallszahlen (in s)
2. Rückgabe eines Sortierten Arrays (in s)
3. Gesamtzeit zum sortieren (in s)

Zahlen       S-Tree 1.  S-Tree 2.  S-Tree 3.  Anmerkung
10.000       0,01       0.0        0,01
100.000      0,171      0,01       0,181
1.000.000    3,315      0,27       3,585
5.000.000    20,557     1,201      21,758     200MB Ram besetzt
10.000.000   147,841    10,163     158,004    300MB Ram u.
                                              100 MB Swap besetzt

1. Füllen des Arrays mit den Zufallszahlen (in s)
2. Sortieren des Arrays (in s)
3. Gesamtzeit zum sortieren (in s)

Zahlen      Bubble 1.  Bubble 2.  Bubble 3.  Anmerkung
10.000      0,0        1,342      1,342
100.000     0,01       127,822    127,832
1.000.000                                    Nicht mehr abzuwarten

[weiter lesen]

Mein ./netinfo.sh

Ein kleines Script welches alle IPs und deren aufgelösten DNS-Namen anzeigt, mit denen der PC verbunden ist.

#!/bin/sh

# get all ip addresses from /proc/net/tcp
ipList=`cat /proc/net/tcp | cut -c 21-33`
for i in $ipList
do

[weiter lesen]

Umbenennen mehrerer Dateien

#!/bin/sh
for i in *.tar.gz
do
    # replaces .tar.gz with .tgz in filenames
    mv "$i" "`echo "$i" | sed s/.tar.gz/.tgz/`"
done

Backup - voll oder inkrementell

#!/bin/sh
# folders to backup
bupFolders="/etc /root /home /var/www /var/spool"
# folder to store backup
storeFolder="/mnt/backup"

[weiter lesen]

So Die Programmi…

So Die Programmiererei für das PA Projekt ist erstmal abgeschlossen, das GUI läuft und verrichtet seinen Dienst…

Designmäsig könnte man noch mal drüber gehen aber egal…

Jetzt fehlt nur noch ne Präsentation, die Dokumentation, JavaDoc und das Ant-Buildfile… Dann mal los!!!

Ich bin heute sc…

Ich bin heute schon ziemlich weit vorangeschritten mit meinem Programmierprojekt von der Berufsschule. Auch wenn ich bis jetzt NUR programmiert habe… Doku und Präsi fehlen noch komplett und die Uhr tickt…

Dead-Line in 7 Tagen…

Auf dem Bild kann man die Applikation schon erahnen…
Okay, das Koordinatensystem steht noch aufm Kopf, aber ich bin ja froh, dass der Test heute so gut geklappt hat…
Bis jetzt bin ich bei 6 Klassen.
Achja, das soll eine Aktienchart-Anzeige werden…
Ich habs mal ausprobiert mit 1000 Werten (Aktien):
der Sortieralgorithmus braucht dann ca 6 Sekunden auf meinem Rechner um alles zu sortieren, nach Datum.
bei 2000 Werten:
es dauert zu lange! ich hab nie gewartet, bis er fertig war.
Er sortiert nach dem Bubblesort Algorithmus…
und mein Rechner is ein PowerMac mit 2GB Ram und Dual 2.7GHz PowerPC G5 Prozessoren…
Jetzt bleibt nur die Frage wie gut die JavaVM 1.5 an den Prozessor angepasst ist…
Auf jeden Fall ist der Sortieralgor. bzw. dessen Geschwindigkeit wohl noch i.O. für diese Projekt…

Morgen gehts los…

Morgen gehts los… Mit was? Mit meinem Projekt für die Berufsschule! Deadline ist am 12. Mai.
TODO Liste für eine Aktienchartanzeige: