Freitag, 18. Oktober 2013

Tabellenkalkulation - Software selbst programmieren, Berechnungsalgorithmus

Wie funktioniert eine Tabellenkalkulation?
Wie werden Spalten und Zeilen gehandhabt?
Welcher Berechnungsalgorithmus wird verwendet?

Falls jemand sich seine eigene Tabellenkalkulation programmieren will steht er vor obigen Fragen. Dazu einige Überlegungen:

Die einzelnen Zellen einer Tabellenkalkulation werden nicht nach Zeilen- und Spalten angesprochen, sondern nach Zellen-Nummern. Man kann sich vorstellen, dass die Zellen zeilenweise durchnummeriert sind. Die Zelle A1 hat die Nummer 1, B1 die Nummer 2 und so weiter. Hat also ein Tabellenkalkulationsblatt 4 Spalten, so beginnt A2 mit der Zellennummer 5.

Die Umrechnung von Zellennummer und Zeile bzw. Spalte (wobei S die Anzahl der Spalten pro Zeile ist) funktioniert dann so:

 
  • Zellennummeri = (Zeilennummeri -1) * S + Spaltennummeri
  • Zeilennummeri = integer [ ( Zellennummeri -1) / S + 1 ]
  • Spaltennummeri = Zellennummeri modulo S

In einer Tabelle (indiziertes Feld) sind die Zellen der Reihe nach mit ihrer Zellennummer und der mathematischen Funktion (formelle Abhängigkeit von anderen Zellennummern) aufgelistet:

  1. Zellennummer1 Funktion1
  2. Zellennummer2 Funktion2
  3. Zellennummer3 Funktion3
  4. usw.
Durch Anlyse aller Funktionen kann eine Tabelle von gerichteten Graphen konstruiert werden (Beispiel):

   Graph vonZellennummer nachZellennummer:
   1 2
   2 3
   2 4
   3 4

Man sieht an dem Beispiel, dass Zelle (Knoten) 1 einen numerischen Wert enthält, da sie nur in der Spalte vonZellennummer einmal vorkommt und nicht in der nachZellennummer (kein Input aus bzw. Abhängigkeit von einer anderen Zelle).
Zelle 2 ist wiederum nur von Zelle 1 abhängig und Zelle 3 nur von Zelle 2.
Am Ende des Graphen ist die Zelle 4 die mit der höchsten Abhängigkeit von anderen Zellen (hängt von den Werten der Zelle 2 und 3 ab).

Erstellt man daraus eine Häufigkeitstabelle, indem man die Anfänge und Enden der jeweiligen Zellen zählt, erhält man:

   Häufigkeit - Zellennummer Anfänge Enden:
   1 1 0
   2 2 1
   3 1 1
   4 0 2

Zelle 1 hat einen Anfang und kein Ende, Zelle 2 hat zwei Anfänge und ein Ende, Zelle 3 hat einen Anfang und ein Ende und Zelle 4 hat keinen Anfang und zwei Enden.

Will man nun diesen "topologischen Baum" berechnen, so scheint eine Berechnungsreihenfolge der Zellwerte nach folgenden Kriterien optimal:

  1. Zellen ohne Ende (Zelle 1) brauchen nicht berechnet werden (enthalten ohnehin nur numerische Werte).
  2. Zellen mit vielen Anfängen müssen zuerst berechnet werden (Zelle 2).
  3. Bei Zellen mit gleich vielen Anfängen müssen diejenigen Zellen zuerst berechnet werden, die weniger Enden aufweisen.
Zuletzt muss noch gewährleistet werden, wie oft diese Berechnungsreihenfolge abgearbeitet werden soll. Hier bietet sich das Prinzip der "minimalen Fehlerquadrate" an:

Dazu wird vor der Berechnung jeder Zelle der alte Zellwert gespeichert, von dem dann nach der Berechnung der Zelle der neue Zellwert abgezogen wird. Diese Differenz (Fehler) wird quadriert (Fehlerquadrat) und einer Gesamtfehlersumme hinzuaddiert. Die letztendlich resultierende Gesamtfehlersumme wird dann mit einer vorgegebenen Genauigkeit verglichen. Ist sie größer, muss noch ein Berechnungsdurchlauf gestartet werden.

Montag, 24. September 2012

Kindle 4NT - Exit from Tequila System Diags (ENABLE_DIAGS) and other Hacks

ENABLE_DIAGS
Schreibt man in das Root-Verzeichnis des Kindles eine leere Datei namens ENABLE_DIAGS, so bootet der Kindle nach einem Reset in ein Diagnostic-Programm (Tequila System Diags) das nun folgende Optionen bietet:

Tequila System Diags
A) Device Setting
 S) Set Serial Number
 E) Set PCB ID
 U) Set Mac address
 I) Set Manufactoring Code
 T) Display Serial Number Barcode
O) Operator test suite
 Q) for PASS - FW LEFT
 P) for FAIL - FW RIGHT
R) Run in Test
 A) Movi Nand ENABLED
 B) Gas Gauge Test ENABLED
 C) LED 1 and 2 Blink Test ENABLED
 D) Video Flip Page Test ENABLED
 E) Video Gray Scale Test ENABLED
 F) Video Ghosting Test ENABLED
 G) Video Pattern Test ENABLED
 H) Video All Ghosting Test ENABLED
 I) WIFI ON ENABLED
 J) WIFI OFF ENABLED
G) Gas Gauge
E) 511
T) Power Test
 M) Power Suspend mode
 T) Shipping power mode
H) Adjust battery
M) MoviNand
N) Misc individual diagnostics
 C) Certificatio Test Mode
 I) Wifi Test
 L) LED Test
 K) Key test
 B) Five Ways Test
 V) Video Test
 F) FCT Test
 A) Accessory Port
 U) Utilities
  E) 511 with device info
  Z) Enable USBnet
  M) Mount nfs
  S) Stress Tests
Y) ART 11g factory test
U) USB device mode
D) Exit, Reboot or Disable Diags
 F) Fastboot Bundle Install
 U) USB Bundle Install
 C) Check Pass/Fail Status
 R) Reboot System
 D) Disable Diagnostics
 L) Exit to login prompt
 M) ReportToXml


Exit
Mit "D) Exit, Reboot or Disable Diags" und "D) Disable Diagnostics" beendet man den Diagnostic-Modus (ENABLE_DIAGS wird gelöscht) und der Kindle startet nach dem nächsten Reset wieder wie gewohnt ins User-Menü.

Möglich ist auch, dass man mit "U) USB device mode" den USB-Speichermodus aktiviert und die Datei ENABLE_DIAGS vom PC aus "per Hand" löscht.

SSH
Neben vielen Tests ist der "USBnet-Modus" (U Utilities - Z Enable USBnet) eine Möglichkeit, um eine SSH-Verbindung vom PC (ifconfig usb0 192.168.15.201) mit dem Kindle (ssh root@192.168.15.244) einzugehen (password: mario, fiona6b2 oder bei mir funktionierte fiona6b25).

Sleep TimeOut Zeit ändern
Mit SSH kann man im Kindle System beispielsweise den Systemspeicher mit "mount /dev/mmcblk0p1 /mnt/base-mmc/" mounten und nach "cd /mnt/base-mmc" mit "find . -name t1_timeout" die Datei t1_timeout suchen.
Editiert man t1_timeout (mit "vi t1_timeout") kann man in der letzten Zeile die Timeout-Zeit in Sekunden (default 600) ändern.

Jailbreak, Screensaver, Fonts
Weitere "sinnvolle" Hacks sind nur nach einem Jailbreak (kindle-jailbreak-k4-1.4.N.zip) möglich. Beispielsweise können dann eigene Screensaver (kindle-ss-0.29.N.zip) oder besser lesbarere, eigene Fonts (kindle-fonts-5.4.N-k4.zip) installiert werden. Will man diese Hacks wieder entfernen (z. B. bei Problemen mit den offiziellen Firmware-Updates), geht man am Besten in umgekehrter Installations-Reihenfolge vor und wendet die "Uninstaller" in den ZIP-Dateien an.

Donnerstag, 2. August 2012

Raspberry PI in Verbindung mit einem Linux-PC (NAT, ssh, X11, ftp)


Der Raspberry PI

Ein geniales Gerät, das man mit einem Raspberry PI (nach einiger Wartezeit) um 42 EUR (inkl. Versand) bekommt. Rechnet man Zubehör (SD-Karte, Keyboard, Maus, Netzgerät, WLAN-Dongle, Kabel) dazu, verdreifacht sich der Preis locker. Deshalb sollte man (im Sinne der "RASPI-Niedrigpreis-Philosophie") zusätzliche Kosten vermeiden und "bestehende" Hardware verwenden - eine SD-Karte, Keyboard und Maus liegen schnell irgendwo herum.


Internetverbindung (über eth0) mit einem anderen Linux-PC

Der RASPI hat kein WLAN. Falls man sich den USB-WIFI-Dongle sparen will, kann man den RASPI mit einem Ethernet-Kabel über einen Linux-PC mit dem Internet verbinden.

   Internet]-----[wlan0-PC-eth0]-----[eth0-PI

Ist beispielsweise der PC über das wlan0-Interface mit dem Internet verbunden (dhcp), so kann man an dessen eth0-Schnittstelle den RASPI (mit einem Ethernet-Kabel) anschließen und über den PC als Gateway das Internet nutzen.

PC-Commands:
ifconfig eth0 192.168.0.1 netmask 255.255.255.0
ifconfig eth0 up
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -A FORWARD -i eth0 -j ACCEPT


Damit gibt man dem PC die Netzwerksadresse 192.168.0.1 und funktioniert ihn (mit iptables) zum Gateway um.

RASPI-Commands:
ifconfig eth0 192.168.0.2 netmask 255.255.255.0
ifconfig eth0 up
route add default gw 192.168.0.1 eth0

Ähnlicherweise bekommt der RASPI die Adresse 192.168.0.2 und erhält eine route zum PC-Gateway.

Mit den Befehlen ifconfig und route kann man sich die Einstellungen noch ansehen, ein gegenseitiges anpingen (ping 192.168.0.1 am RASPI) und auch ein Ping zu Google (ping google.com am RASPI) sollte nun möglich sein.
Damit steht dem Surfen oder einer Softwareinstallation am RASPI nichts mehr im Weg.


Von einem Linux-PC zum RASPI mit ssh verbinden

Am RASPI ist (bei Verwendung des raspian-Betriebssystemes) ein Shellserver (openssh-server, sshd) installiert. Befindet sich am Linux-PC ein Shellclient (openssh-client), kann man (vorausgesetzt, es besteht eine Netzwerksverbindung - siehe oben) den RASPI vom PC aus nutzen. Damit spart man sich Keyboard, Maus und Monitor für den RASPI!

RASPI-Commands:
/usr/bin/sshd
Zudem sollte noch in der /etc/ssh/sshd_config der Punkt X11Forwarding yes gesetzt sein.

PC-Commands:
Installiere den ssh-client mit apt-get install openssh-client
Zudem sollten noch in der /etc/ssh/ssh_config die Punkte ForwardX11 yes und ForwardX11Trusted yes gesetzt sein.

Um letztendlich am PC zum RASPI zu verbinden gibt man in einer X-Shell ssh -X pi@192.168.0.2 ein. Nach einem Confirm- und Password-Vorgang kann man jede PI-Applikation starten (z.B. dillo).

File-Transfer zwischen Linux-PC und RASPI

Was noch fehlt ist das Kopieren von Dateien zwischen RASPI und Linux-PC, das mit ftp (oder einem "sichereren" Pendant) möglich ist.

RASPI-Command:
apt-get install ftp

PC-Commands:
Ich verwende dazu den komfortablen Midnight-Commander (mc). Mit F9-L-P kann man den FTP-Verbindungsbefehl eingeben (pi:pwd@192.168.0.2).

Mittwoch, 20. Juni 2012

ZOTAC ZBOX ID41 Linux Debian Installation - Squeeze, Grub, Fluxbox, Nvidia

Die ZBOX von ZOTAC ist ein preisgünstiger Nettop, der durchaus als Desktop-Light oder als Multimedia-PC im Wohnzimmer verwendbar ist. Mit einem (grafikunterstützten) Atom Prozessor (D525) ist er relativ energieverbrauchsschonend (um die 20 W) und dementsprechend leise.
Ich habe meine ZBOX mit 2x2 GB RAM (Kingston ValueRAM SO-DIMM 2GB PC3-6400S CL6 (DDR3-800)) sowie einer 64 GB SSD-Harddisk (Samsung MZ-7PC064B/WW 64GB SSD (6,4 cm (2,5 Zoll), 256MB Cache, SATA SATA 6.0Gbps)) bestückt.

Betriebssystem
Als Betriebssystem kam für mich nur Debian Linux (64bit, squeeze) in Frage. Das Booten und Installieren der "64-Bit-PC Netinst-ISO" mittels USB-Stick klappte auf Anhieb (über obere USB2.0-Schnittstelle oder mittels F11 bzw. ENTF (während des ZBOX-Splash-Logos) in das BIOS oder Startmenü). Vor allem die rasche eigentliche Installation der heruntergeladenen Software auf die schnelle SSD imponierte mir sehr  - und letztendlich weniger, als 40 Sekunden beim Booten bis zur grafischen Oberfläche habe ich noch nirgends gesehen.

Beim ersten Booten allerdings blieb nach GRUB und einigen Konsolen-Zeilen der Bildschirm schwarz. Dass die ZBOX regulär startete erkannt ich daran, dass ich (blind) als root einloggen und das System halt(en) konnte. Damit schien etwas mit dem Bildschirmmodus nicht zu funktionieren. Abhilfe schafft die Kernel-Ergänzung "nomodeset" in GRUB (während dem Grub-Menü mit "e" die Startsequenz editieren und in der Kernelzeile (beginnt mit linux) am Ende "nomodeset" hinzufügen. Danach bootete die ZBOX "sichtbar" zum Login. Nach einem root-Login korrigierte ich GRUB, um automatisch mit "nomodeset" zu booten.

Grafische Oberfläche
Eine der schnellsten (und trotzdem komfortablen) grafischen Oberflächen ist das "fluxbox"-Desktop auf X11, das mit "apt-get install fluxbox xorg" rasch installiert war. Optischer und praktischer Aufputz für fluxbox waren wbar, wmdrawer und conky - klein und schnell, aber doch etwas Konfigurations(Zeit)Aufwand.
Um beim Booten automatisch mit dem zusätzlich angelegten User X11 zu starten habe ich einen direkten Weg gewählt. In /etc/inittab logge ich in die erste Konsole mit "1:2345:respawn:/bin/login -f username tty1 /dev/tty1 2>&1" ein. Zudem starte ich X11 automatisch, indem ich auf /home/user in der Datei .bash_profile den Befehl "startx" eingebe.

Software
Minimum für einen Multimedia-PC ist ein Webbrowser (links2 -g ... für schnelles einfaches browsen und iceweasel für "gehobenere" Zwecke) und Mediaplayer (da schwöre ich auf den vielfältigen mplayer und das GUI smplayer, aber auch vlc ist sehr ansprechend und komfortabel).
Interessant ist auch die Installation des Office-Paketes "libreoffice", das nur für ältere Debian-Versionen als "Backport" vorliegt. Dazu muss man in  /etc/apt/sources.list die Ressource "deb http://backports.debian.org/debian-backports squeeze-backports main" hinzufügen und libreoffice nach "apt-get update" mit "aptitude -t squeeze-backports install libreoffice" installieren.

Bildschirmtreiber
Dann kam der nächste Tiefschlag. Videos anschauen funktionierte nur in "Zeitlupe" und sogar beim Fensterverschieben gab es einige Sekunden Verzögerung. Zudem hatte ich eine maximale Auflösung von (nur) 800x600 - einfach untragbar.
Bildschirmtreiber und Grafikbeschleunigung zählen leider zu den Linux-Dingen, mit denen ich keine Erfahrung habe (... es hat ja immer automatisch funktioniert). Ich konnte das Thema zwar durch Probieren lösen, bin mir aber nicht sicher, was letztendlich zum Erfolg geführt hat.
Mit "lspci" habe ich gesehen, dass ich eine Nvidia GT218 ION Grafikeinheit besitze. Nachdem ich einiges zu vdpau installiert habe (was vielleicht umsonst war) kam ich zum Nvidia-Treiber: Ich installierte nvidia-glx, nvidia-kernel-2.6.32-5-amd64 und nvidia-xconfig. Nachdem ich mit dem Befehl "nvidia-xconfig" eine /etc/X11/xorg.conf erstellt und neu gestartet hatte, war beim Laden der grafischen Oberfläche plötzlich für Sekundenbruchteile ein riesiges NVIDIA-Logo zu sehen. Danach war alles wunschgemäß: Auflösungen, soweit der Fernseher reicht, Videos in beliebiger Größe schnell und scharf und Fensterverschieben ohne Verzögerung. Das alles bei einer CPU-Auslastung (conky) im einstelligen Prozentbereich - herrlich.

Audio über HDMI
Das Problem, dass über HDMI kein Ton übertragen wird, konnte ich noch nicht lösen, obwohl es einige Anleitungen im Internet gibt. Derzeit verwende ich den DVI-VGA-Adapter und eine eigene Audioverbindung. Blöderweise waren einige Fonts in X11 winzig klein. Ein Umstand, den ich mit der Einstellung in der Section "Monitor" mit "Option "DPI" "96 x 96"" in /etc/X11/xorg.conf beheben konnte.

Freitag, 18. März 2011

MBA-Lehrgang "Executive Management"

Wer "postgradual" einen MBA machen will, dem kann ich den MBA "Executive Management" sehr empfehlen. Dieser wird beispielsweise von der FH-Kufstein (http://www.fh-kufstein.ac.at/) in Wien angeboten und lokal durch das Unternehmen Sanconsult (http://www.sanconsult.at/) organisiert.

Als positiv anzumerken ist, dass die Lehreinheiten über Wochenenden geblockt sind (für Berufstätige) sowie der Lehrgang mit rund 8.000 Euro relativ günstig ist und innerhalb eines Jahres abgeschlossen werden kann.

Der Arbeitsaufwand und die Belastung sind aber enorm (Vorlesungen, Übungen, viele Projektarbeiten, eine Master-Thesis, schriftliche und mündliche Prüfungen), was neben Beruf, Familie und Hobbies nur aufgrund der hervorragenden organisatorischen Unterstützung von Sanconsult (Frau Dr. Jutta Pfisterer-Pollhammer) möglich ist.

Frozen Shoulder - was nun?

Wenn der Arzt eine "Frozen Shoulder" diagnostiziert und man im Internet Informationen dazu einholt, ist der Frustpegel im roten Bereich. Diese blockierte Schulter tritt hormonell bedingt meist bei Frauen in den Wechseljahren auf. Ist man keine Frau, können Diabetes oder Bluthochdruck dafür verantwortlich sein, dass man:
  • die Arme nicht mehr über die Horizontale heben kann,
  • grösste Schmerzen bei An- und Ausziehen hat und
  • sein Hemd hinten nicht mehr in die Hose stecken kann (was bei Frauen dem Schürzen- oder BH-Griff entspricht).
Prinzipiell gibt es keine Ursache dafür, aber, wenn man Glück hat "öffnet" sich das Schultergelenk wieder nach einigen Monaten. Hat man Pech, bleibt man für immer blockiert und die zweite Schulter folgt nach.
Nachdem ein guter Orthopäde einen mechanischen Schaden (Ablagerungen oder Schäden im Gelenkskapselbereich) durch Ultraschall-, Röntgen- und eventuell MRT-Untersuchung ausschließen kann, schickt er einen (zusätzlich zu einer Cortison-Spritzen-Kur, die erstmal die Schmerzen lindert) zur Physiotherapie.

Das war mein Glück.

Neben Moorpackungen, Ultraschallmassagen und Stromreizungen wurden mir 10 "Turnstunden" beim Physiotherapeuten verordnet. In 10 Stunden (á 45 Minuten) kann man wahrscheinlich nicht viel ausrichten, dachte ich und wurde dem "Chris" (Praxis Dr. Grestenberger, Wien) zugeordnet. Optimalerweise teilt man die 10 Stunden auf einen längeren Zeitraum (3 Monate) auf, um taktische Tipps zum angewandten Trainigsprogramm zu bekommen.

Die erste "Turnstunde" erwies sich als besonders ausführliches Beratungsgespräch. Chris wollte vieles über mich und meine Gewohnheiten wissen. Schon bald hatte er eine Diagnose parat, die ich beim Orthopäden so sehr vermisste:

Als Computer- bzw. Schreibtischarbeiter hat sich mein Schultergelenk (trotz viel Ausgleichsport) so nach vorne gedreht bzw. verlagert, dass sich der Gelenksspalt an der Vorderseite zu Null verringert hat - und dies verursacht starke Schmerzen.

Mit ausführlichen Erklärungen (auch mit diversen Anschauungsübungen an Skelettpuppen) sollen Muskelgruppen an der Brustseite gedehnt und Muskelgruppen an der Schulterrückenseite gestärkt werden. Damit wird das Schultergelenk wieder nach hinten gedreht bzw. versetzt und nimmt wieder eine Normallage ein.

So einfach ist das.

Der Rest war ein (an meine aktuelle Beweglichkeit angepasstes) Trainingsprogramm, das ich als sehr ehrgeiziger Mensch extrem intensiv durchführte. Wenn ich nicht in einem Fitnesscenter Übungen an Geräten machte, trainierte ich jeden Abend vor dem Fernseher mit Stühlen, Hocker, Theraband und Gewichten (Kochbüchern meiner Frau). Zudem massierte ich meine Schultermuskulatur mit einem Salbei-Olivenöl-Gemisch und setzte mich zur Entspannung noch vor eine wärmende Infrarot-Lampe.

Und tatsächlich spürte ich schon bald geringe, aber stetig zunehmende Fortschritte in meiner Beweglichkeit, die von meinem Orthopäden mit großer Freude bestätigt wurden. Jetzt, nach fast einem halben Jahr intensivem Training, ist meine Schulter zu 99% wieder voll intakt. Meine Schultermuskulatur hat sich merklich sichtbar entwickelt - ich schaffe locker 3 mal 10 Faustliegestütze (Liegestütze mit den Fäusten auf einem Polster im Brustbereich).

Lediglich im Grenzbereich (starke Innen- oder Außenrotation) spüre ich noch Widerstand und leichte Schmerzen. Als (nach wie vor) Schreibtischarbeiter trainiere ich regelmäßig (2 mal in der Woche), um diesen Zustand zu halten.

Nun noch konkret einige Übungen, die mir sehr geholfen haben, der Reihe meiner Entwicklung nach. Dabei ist wichtig, dass man die Übungen seiner aktuellen Beweglichkeit anpasst. D. h. man soll sich immer in den Grenzbereich wagen, aber nie im Schmerzbereich. Die genaue Grenze ist schwierig zu finden, weil auch der Grenzbereich schon sehr unangenehm sein kann:
  • Sprossenwanddehnen (gestreckte Arme im Untergriff hinter dem Rücken an einer Sprossenwand) zum Dehnen der Brustmuskulatur (mindestens 2 Minuten dehnen)
  • 2-Sesseldehnen (zwischen 2 Sessellehnen "in die Knie gehen" - was man beliebig zu Dips erweitern kann)
  • Biszepscurl auf der Schrägbank - mit Daumen hinten
  • Faustliegestütz am gepolsterten Sockel (erst auf Knien, dann ohne Sockel, dann auf Zehenspitzen) - meine Lieblingsübung, da sie das Schultergelenk nach hinten positioniert
  • Latziehen mit Untergriff (kann später in Klimmzüge mit Untergriff am Reck enden)
  • Rudern an der Gewichtsmaschine (bei den ersten 3 Zügen mit Rückendehnen) - eine wichtige Übung, die die hintere Schultermuskulatur kräftigt - 3x12 Wiederholungen
  • Am Rücken liegend den Arm rechtwinklig und den Ellbogen rechtwinklig nach hinten zum Boden dehnen (mit einem Buch belasten) ... Außenrotation
  • an der Sprossenwand hinter dem Rücken hochgreifen und dehnen (BH-Griff) ... Innenrotation
  • Schulterhorn - das ist ein "Trainingsbügel", der gezielte Schulterübungen zulässt (gibt's um 100 Euro unter http://www.schulterhorn.de/) ... ich habe es nicht gekauft, sondern dessen Prinzip mit den Theraband und dem Ellbogen auf einem Tisch improvisiert
  • Schulterkappen trainieren (Gewichte mit getreckten Armen seitlich heben)
  • Bizepssehen im Schulteransatz quermassieren - sehr entspannend
  • Rückenstrecker am Ball, am Boden oder einem Rückenstreckgerät - wichtig ist es dabei immer den Hintern gut anzuspannen
  • Nackendehnen mit den Händen, um die hinteren Halsmuskeln zu dehnen
  • Situps mit Halsspannung, um die vorderen Halsmuskeln zu stärken
  • Schlafen in der Seitenlage wird wieder möglich - jedenfalls mit weggestrecktem Arm in stabiler Seitenlage (das ist dann auch gleich eine Dehnungsübung)
  • Dehnen und Strecken im Grenzbereich jederzeit - auch im Büro

Freitag, 11. März 2011

Griesschmarren

Das ist eines der einfachsten Rezepte (hier ohne viel Messen bzw. Abwägen) und relativ schnell zubereitet (15 Minuten):

Für zwei Portionen nimmt man 2 Häferl Milch und 1 Häferl Weizengries. Die Milch wird zum Kochen gebracht und danach der Gries eingerührt. Nachdem das Ganze eingedickt ist, gibt man es in eine vorerhitzte, mit geschmolzener Butter versehene, Pfanne. Danach rühren (damit nichts anbrennt) bis die gewünschte "goldgelbe" Farbe erreicht ist.





Natürlich kann man das mit Rosinen (am Besten schon in die kochende Milch eingebracht) verfeinern und mit Zucker, Kompott oder Zwetschkenröster anrichten.

Donnerstag, 28. Januar 2010

Java Programme für Nokia S40 Handys mit MIDletPascal erstellen

Will man "sein eigenes" Programm für das Handy schreiben (z.B. Java App für Nokia S40 Handy), stösst man bald auf schwer überwindbare Grenzen eines riesigen Java-Software-Development-Kits (SDK), das nicht nur die Grenzen eines PCs aufzeigt, sondern dem Programmierer auch eine hohe "Einlernzeit" abverlangt.

Eine Alternative bietet MIDletPascal, eine einfache Shareware-Programmierumgebung, die Pascal-Programmcode in ein Java-Applet (*.jar, *.jad) compiliert. Da das MIDlet-Pascal vom Standard-Pascal etwas abweicht, ist ein Blick in die Hilfe nötig. Da sind auch einige Tricks beschrieben, wie z. B. Float-Zahlen zu aktivieren oder Grafiken zu laden sind.

Ich habe gleich mein Standard-Programm TinyRPNcalc, einen, dem legendären HP-15c nachempfundenen Taschenrechner, in Midlet-Pascal umgesetzt. Wer sich das Programm ansehen oder ausprobieren will erhält Source- sowie *.jar-File hier. MIDlet-Pascal bietet sehr vielfältige Möglichkeiten - bei meinem Taschenrechner-Programm habe ich festgestellt, dass die (dabei zeitkritische) Tastaturabfrage eine Spur zu langsam ist, was den Taschenrecher in der Bedienung etwas "zähe" macht.

Freitag, 15. Januar 2010

GRML - Cooles Konsolen Linux

Was seinerzeit tomsrtbt als Floppy-Disk war, nämlich möglichst viel Administrator-Linux auf kleinstem Raum, das ist GRML-Linux, einem "Debian-Abzweiger" aus Österreich, gelungen.

In drei Größen (normal/medium/small ... ca. 600/300/100 MB) gibt es massenhaft Tools, um ein Linux-System zu betreiben bzw. zu installieren. In der Normalversion sind sogar einige (kompakte) Window-Manager dabei (für die, die unbedingt eine Maus brauchen). Mit "apt-get" kann man "on the fly" beliebige (Debian-)Applikationen nachladen (soferne man eine Internet-Verbindung hat).

Ansonsten Konsolen-Mania für Linux Freaks, wie ich sie mir eigentlich immer von SPB-Linux, das aber schwierig zu installieren ist, erwartet habe. Viele Scripts, die einem das Arbeiten erleichtern. Die ideale Rescue/Test-Umgebung, die blitzschnell auch auf USB-Stick oder Harddisk installiert werden kann. Derart perfekt gemacht, dass ich mir (nach 12 Jahren Linux als Hobby) wie ein Linux-Dilletant vorkomme.


Faszinierend ist auch, dass GRML-Linux auch gleich von der ISO-Datei gestartet werden kann - damit ist das Booten von meinem bestehenden Linux-System mittels GRUB einfach.

Donnerstag, 7. Januar 2010

Windows 98 auf einem USB Stick installieren

Prinzipiell will kein Windows auf einem USB-Stick residieren. Größter Nachteil sind die Hardware-Treiber die zu installieren sind, wenn man den WIN-USB-Stick in einen anderen Rechner steckt. Trotzdem hat ein Notfalls-Win-USB-Stick schon was. Wie man den bauen kann soll folgende kleine Anleitung zeigen:

Hilfreich ist das "HP-USB-Disk-Storage-Format-Tool", eine kleine Windows-Applikation, die USB-Sticks formatieren kann und (soferne man die Quelle einer DOS-Shell command.com) angibt, auch gleich ein startfähiges DOS-System auf den USB-Stick spielt.
Danach kopiert man die Inhalte der WINDOWS-98-CD auf den Stick. Kann man das DOS-System starten, braucht man nur noch in dieses Directory wechseln (mit dem Befehl "cd") und den Befehl "setup" eingeben. Danach kann Win98 "normal" installiert werden.

Doch es gibt einige Knackpunkte:
  • MS-DOS (bei mir 6.22) kann nur von einem USB-Stick gestartet werden, der mit FAT16 formatiert ist. Hat man zuvor schon eine FAT32-Formatierung auf dem Stick gehabt, bricht Windows mit der Meldung "SU0013" ab. Da hilft nur noch den Stick mit einem (laufenden) DOS-System mit FDISK zu formatieren. FDISK hat bei mehreren "Festplatten" bzw. USB-Sticks die Option auf eine andere Platte bzw. Stick zu wechseln. Vorsicht, dass man sich nicht das laufende DOS-System formatiert.
  • Win98 hat "unüberwindbare" Hindernisse, wie z.B. die Erstellung einer Notfallsdiskette oder mindestens 16 MB Hauptspeicher, die man aber durch Zusätze zum "setup-Befehl" verhindern kann. Bei mit hat der Befehl " setup /NF /IE /NM /NTLDR" zum Erfolg geführt, wobei /NF den Diskettenauswurf nach der Installation verhindert, /IE die Erstellung der Not-Diskette vermeidet, /NM die Mindestvoraussetzungen (Speicher) senkt und /NTLDR andere Betriebssysteme (z.B. Win-XP) unbeachtet lässt. Bei Letzterem gibt es zwar eine Meldung SU0015, die man ignorieren kann.
  • Startet Win98 (Neustarts, Treiber, etc.) erst einmal, merkt man, wie langsam Windows eigentlich ist. Nützlich ist dann auch die Konvertierung des Windows-Laufwerkes auf das FAT32-System mit Hilfe des Win98-Tools.
  • Die mühevolle Arbeit ist es dann Win98 alle richtigen Treiber zur Verfügung zu stellen, die dann aber (wie oben angemerkt) auf einem anderen Rechner wahrscheinlich nicht mehr funktionieren werden.

Donnerstag, 3. Dezember 2009

Günstige MPC Speichererweiterung

Eine originale Speichererweiterung des MPC 500 auf 128 MB kostet fast ein Viertel der MPC. Es gibt aber einen (preislich) "normalen" Speicherriegel, der (zumindest) in meinem MPC 500 tadellos funktioniert. Höchstwahrscheinlich sollte das auch für die MPC's 1000 und 2000 zutreffen. Eigenartigerweise hält dieser 144-pin-Speicherriegel 256 MB, die eben vom MPC nur zur Hälfte angesprochen werden.
Nun habe ich über 12 Minuten Stereo-Aufnahmezeit, womit man schon einiges anfangen kann.
Wie mein Foto zeigt, handelt es sich um einen 133 MHz SoDIMM mit 256 MB und 3,3 V.
(Zur Nachahmung empfohlen - für etwaige Schäden übernehme ich aber keine Haftung).


Dienstag, 17. November 2009

Ganz Berlin - zu Fuß - in 5 Stunden

Es ist möglich - hat man nur einen halben Tag Zeit, kann man zu Fuß ganz Berlin erleben. Natürlich gibt es dabei kaum Details und die 20 km sollte man auch körperlich verkraften. Es gibt einen optimalen Weg durch Berlin, der in dieser Zeit alle Sehenswürdigkeiten erlebbar macht:

Gestartet wird am Alexanderplatz. Vom Flughafen Tegel gibt es einen günstigen (Normalfahrschein um etwas mehr, als 2 Euro vom Fahrscheinautomaten oder am BVG-Schalter - da gibt es auch gratis Stadtpläne) Expressbus (TXL) der den Alexanderplatz anfährt (Fahrzeit etwa eine halbe Stunde). Will man vom Flughafen Tegel zum Zoo, hilft der Expressbus X9 weiter.

Die wesentlichen Stationen sind:
Alexanderplatz ... Platz der Demos und des beeindruckenden Funkturmes
Rotes Rathaus ... wuchtiges Rathaus in rotem Ziegelwerk
Domkirche ... Dom am Flussufer (daneben ist gleich das DDR-Museum)
Humboldt Universität
Unter den Linden ... die Prachtstraße von Ostberlin
Hotel Adlon Kempinski ... zentrales Hotel mit bewegter Vergangenheit
Brandenburger Tor ... "das" Symbol Berlins
Reichstag ... tolle Glaskuppel für Kanzlermeetings
Bundeskanzleramt
Hauptbahnhof ... Gleise auf mehreren Ebenen; große Fast-Food-Auswahl
Haus der Kulturen
Schloss Bellevue ... der Amtssitz des Bundespräsidenten
Siegessäule ... über einen unterirdischen Zugang kann man bis zur Säule gehen; guter Blick auf die Fanmeile
Bahnhof Zoo ... die Gegend war das Zentrum von Westberlin
Europa Center ... mit der beeindruckenden Gedächtniskirche
Kurfürstendamm ... ideale Einkaufsstraße
KaDeWe ... der "Harrods" von Berlin (ein "must see" bis zum obersten Stockwerk)
Berliner Philharmonie
SONY Center ... bei Dunkelheit beeidruckend beleuchtet
Potsdamer Platz
Checkpoint Charlie ... sehr "touristifiziert", aber eine Gegend mit hohem "Mauer-Feeling"

Unter http://www.attraktionen.info/berlin/ gibt es viele Informationen zu den jeweiligen Sehenswürdigkeiten.

Donnerstag, 8. Oktober 2009

deetee - REFLECTIONZ

Meine ersten Musikproduktions-Outputs habe ich im Album REFLECTIONZ bereitgestellt (für die, die das ihren Ohren wirklich antun wollen):


boilz (2:27)
firzt (3:08)
ize (2:55)
paradize (3:23)
timez (3:13)
wotz (3:10)
zmith (2:22)
zmoke (3:08)
zweet (2:46)

xsilent (3:29)

Montag, 5. Oktober 2009

Hip-Hop-Songs mit einem AKAI MPC 500 erzeugen

Lange Zeit habe ich gebraucht, um mich mit meinem Geburtstagsgeschenk einem AKAI MPC 500 (Music Production Center) zurecht zu finden. Als Laie auf dem Gebiet der Musikproduktion wusste ich nicht einmal, was ein "Sampler" ist.



Wenn ich das jetzt definieren müsste, würde ich das so tun:

Samples sind kurze Audio-Dateien (z.B. wav-Files) und ein Sampler ist ein Gerät, das diese abspielen kann. Dass dies sehr vielfältig (Dateien können geschnitten, gefiltert, verzerrt, mit Mikrofon erzeugt werden), mehrfach (viele Dateien gleichzeitig) und komfortabel (mit Spuren, Sequenzen, Liedern) und trotzdem einfach geschehen kann, ist das faszinierende an diesem Gerät. Mit Computer-Programmen habe ich bis jetzt eher schlechte Erfahrungen (Bedienung, Zeitverzögerungen, Leistungsfähigkeit) gemacht.

Mittlerweile glaube ich, dass ich 80% des Funktionsumfanges meiner MPC 500 verstehe. Das Ding ist wirklich erstaunlich.

Leider ist zur Aufnahme von Tönen via Mikrofon ein Mikrofon-Vorverstärker (Microphone Pre-Ampifier oder mic-preamp) nötig, da selbst mit Software-Tricks (z.B. Nomalizing) die Tonqualität unzureichend bleibt. So ein mic-preamp kostet etwa ein Zehntel einer MPC 500. Im Elektronik-Handel (z.B. Conrad) gibt es aber billige Bausätze für "mono-mic-preamps" (Stromversorgung mittels 9-Volt-Batterie), die jeder zusammenbauen kann, der einen Lötkolben bedienen kann.

Hilfreich ist auch ein MIDI-Keyboard, da man dessen Tasten besser und schneller spielen kann, als die MPC-Pads. Unglücklicherweise unterstützt aber das MIDI-Keyboard nicht die praktische 12-Level-Funktion der MPC, die aus einem Sample gleich eine ganze Oktave über die Pads verteilt.

Nun stellt sich nicht nur die Herausforderung an meine handwerklichen Fähigkeiten, das Gerät zu bedienen (mir fehlen viele Tricks), sondern auch an mein Gehör und Musikgespür, das nicht so toll ist, wie ich immer geglaubt habe. Töne, die mit dem Lied harmonieren zum richtigen Zeitpunkt zu setzen ist sehr schwierig. Oft erkenne ich massive Fehler erst, wenn ich den fertigen File in der Stereo-Anlage spiele - unrhythmische Stellen, fehlende Frequenzen, die der Equalizer zeigt oder zu viele Spezialeffekte im Vokalbereich.

Trotzdem macht es (nicht nur mir, sondern auch meinen Kindern) Spass Musik zu erzeugen, wenn auch viele Stunden für ein Lied "draufgehen".

Donnerstag, 30. Juli 2009

Tom Yum Goong - Suppe

Scharfe, durch Kokosmilch gemilderte Suppe als Hauptspeise, an die ich mich erst nach einigen Versuchen gewöhnt habe, dafür jetzt aber umso mehr schätze (speziell in der "Schnupfen-Zeit").

Folgendes Rezept sollte für 8 Personen reichen (wobei sich jeder noch einmal Nachschlag holen kann):
  • Frühlingszwiebel (1 Bund) in Scheiben geschnitten in einem großen Topf (8 Liter) mit etwas Öl anschwitzen
  • Chili (scharf, Daumengröße) in Scheiben geschnitten (wer es nicht zu scharf will, kann die Scheibchen dann aus der Suppe herausfischen) dazugeben
  • Hühnerbrustfleisch (750 ... 1000 g) würfelig schneiden und anbraten
  • danach mit etwa 0,5l Wasser ablöschen
  • Champignons (1 große Tasse) halbieren und dazugeben
  • Salz, Pfeffer, Zitronengras (3 Stäbchen), Zitronenblätter (8 Stück), Koreander (1 Bund, fein geschnitten) und eine Packung Tom-Yum-Paste dazugeben
  • etwa 10 Minuten kochen
  • Kokosmilch (1 Liter) beimengen und mit dem Saft einer halben Limette oder Zitrone abschmecken
  • Shrimps (750 g, ausgelöst) dazugeben
  • gute 3 Minuten kochen lassen

Mit Baguette (ca. 20 cm je Person) servieren - Teller für die Reste (Zitronengras und Co.) nicht vergessen.

Freitag, 8. Mai 2009

22. Juli 1964

Liebe L., H. und K.!

Zuerst recht vielen Dank für alles Ihr macht immer so viel Auslagen für mich.

Habe meinen 50 sehr gut ferbracht mein Zimmer ist ganz voll mit Blumen von den Nachbahrn sind alle gekommen mit Blumen.

Liebe L.
Haben heute einen schweren Tag I. hat einen Diter bekommen es war sehr aufregend.
Um 8 Uhr in der Früh sagd I. ich glaube bei mir fangd es an ich wollte gleich die Rettung anrufen da wolte sie nichts wiesen.
Sie fing an den Kopf zu waschen u war unter der Haube.
Wie die Haare troken waren muste ich Sie auf den Diwan legen.
Lori war zum Glück im Garten.
Sie laufte sofort anrufen die Rettung war sofort da es waren zwei junge Burschen.
Ich schrie Ihnen entgegen der Kopf ist schon halb da sie kamen bei der Tür herein hat das Kind schon geschrien.
Einer von den beiden hat gleich die Nabelschnur abgebunden und das Kind in die Tücher gewickelt die I. auf die Tragbahre gelegd u. in den Wagen und ford waren Sie.
Und das ganze dauerte von 9 bis 1/2 10 Uhr eine 1/2 Stunde.
I. hate nur 3 Preswehen.

Liebe L. hofendlich kannst Du lesen aber ich bin mit den Nerven ganz fertig der Bub ist ganz ein fester Broken wieviel er wiegd weis ich noch nicht.

Nochmals vielen Dank und viele Grüße u. Bussi

Mittwoch, 8. April 2009

Entstörungskosten bzw. Reparaturkosten von Betriebsmitteln

Wer mit Anlagevermögen bzw. Betriebsmitteln zu tun hat, beschäftigt sich irgendwann mit Ausfällen, Entstörungen bzw. Reparaturen und Reinvestitionen. Badewannenkurven und Ausfallswahrscheinlichkeiten findet man in der Literatur häufig, wie man aber Entstörungs- bzw. Reparaturkosten modelliert bzw. rechnerisch möglichst einfach behandelt ist schon nicht mehr so leicht. Deshalb habe ich eine einfache Exponentialfunktion mit lediglich zwei zu wählenden Parametern entwickelt, um Entstörungskosten einfach darzustellen bzw. zu modellieren:


Die Grundlage bildet eine In-Betriebs-Funktion (blaue Kurve), die zum Zeitpunkt 0 (Inbetriebnahme der Betriebsmittel) bei 100% beginnt ... alle Betriebsmittel sind In-Betrieb. Mit der Zeit fallen aber einige Betriebsmittel aus, d.h. die In-Betriebs-Funktion sinkt (umgekehrt) exponentiell ab und nähert sich asymptotisch der Zeitachse.
Interessant ist dabei der Zeitpunkt, an dem noch 1/e Betriebsmittel (also ca. 37%) in Betrieb sind. Dieser Zeitpunkt entspricht der Zeitkonstante der e-Funktion (t=8 in obiger Grafik) und ist der erste Parameter der Entstörungskostenfunktion ... und wird mit t[1/eiB] bezeichnet.

Aus dieser In-Betriebs-Funktion leitet sich nun die (gewünschte) Entstörungskostenfunktion (rote Kurve) ab, die im Prinzip den Kehrwert der In-Betriebs-Funktion darstellt multipliziert mit einem Faktor.
Dieser Faktor ist der zweite Parameter der Entstörungskostenfunktion und entspricht den Entstörkosten zum Zeitpunkt t[1/eiB] ... und wird mit EK[t=1/eiB] bezeichnet. Das heißt, dass man die Entstörungs/Reparaturkosten kennen/schätzen muss, die anfallen, wenn nur noch 1/e (also ca. 37%) der Betriebsmittel in Betrieb sind.

Donnerstag, 19. März 2009

Knoppix v6 - zusätzliche Software installieren

Dass ich Knoppix v6 genial finde, habe ich ja schon in anderen Blogs bekundet - schnell und brauchbar. Aber auch einfach und flexibel erweiterbar - wenn man sich mit dem Debian-System auskennt:

Nötig ist jedenfalls eine Datei für persönliche Software, die (wenn sie noch nicht vorhanden ist) beim Knoppix-Start zur Erstellung abgefragt wird. Die Datei heisst "knoppix-data.img" und befindet sich am USB-Stick im Ordner "knoppix". Die Größe der Datei muss bei der Erstellung festgelegt werden.


Danach öffnet man (bei aktiver Internet-Anbindung) eine root-Shell (oder startet alle Befehle mit "sudo") und macht für das Debian-Paket-Management-Tool "apt" ein Update der Datenbasis mit dem Befehl "apt-get update".

Ein Paket installiert man dann einfach mit "apt-get install Paketname". Den genauen Paketnamen kann man unter http://packages.debian.org/stable/ nachschauen (stabile Distribution).

Samstag, 14. März 2009

Pizzastangen

Pizzastangen sind ideal zum Knabbern, Dippen oder als Beilage und können mit vielfältigen Geschmacksrichtungen variiert werden.

Für den Pizzateig knetet man

  • 500 g glattes Mehl,
  • 0,25 l warmes Wasser,
  • 2 Packungen Trockenhefe (oder ein Stück frische Hefe),
  • eine Prise Zucker (in die Nähe der Hefe geben) und
  • eine gute Prise Salz

zu einem festen (eher trockenen) Teig, den man dann ca. 20 Minuten rasten/gehen lässt.

Danach Stangen kneten/wuzeln und in genügend großem Abstand (die vergrößern sich noch beim Backen) auf ein Backblech (idealerweise mit einem Backpapier unterlegt) auflegen. Es müssen auch nicht unbedingt fantasielose Stangen sein - auch Brezen, Ringe, Scheiben, Buchstaben oder geflochtene Zöpfe machen sich ganz gut.

Danach mit Olivenöl bestreichen und würzen. Als Geschmacksrichtungen sind der Fantasie keine Grenzen gesetzt - denkbar sind

  • Salz (grobkörnig),
  • Kümmel,
  • Knoblauch,
  • Pizzagewürz (Oregano),
  • Wasabi,
  • fein geriebener Parmesan,
  • Sesam, Leinsamen, Kleie

und deren Kombinationen (Salz macht sich überall gut). Eher üppiger belegen/bestreichen, da einerseits die Stangen beim Backen aufgehen und andererseits der Geschmack sich in der Hitze "reduziert". Speziell bei Knoblauch oder Wasabi empfiehlt sich das "Bestreichen in der letzten Backphase".

Alle Stangen dann ca. 15 min bei 220 Grad (idealerweise Unterhitze mit Umluft) goldgelb backen und frisch servieren.


Donnerstag, 12. März 2009

Splash Image erzeugen - logo16

Knoppix arbeitet mit einem Splash-Image namens "logo.16", das beim Booten dargestellt wird. Aufgerufen wird das Image mittels Text-file boot.msg wo einfach in der ersten Zeile logo.16 notiert ist.

Eine Änderung des Splash-Images (oder ein Neues) ist oft etwas tricky, da das lss16-Dateiformat nicht gängig ist und gewissen Beschränkungen unterliegt (kleiner gleich 640x480 mit maximal 16 Farben).

Gottseidank gibt es das Grafikprogramm mtpaint, das in PUPPY standardmäßig vorhanden ist und dieses Format beherrscht.

Somit braucht man lediglich Puppy starten, den file logo.16 mit dem Filebrowser lokalisieren und mit "öffnen mit ... mtpaint" (rechte Maustaste) öffnen. Danach kann man die Grafik nach eigenen Belieben verändern (siehe dazu auch das Extra bezüglich mtpaint-Spezialitäten). Mit "Speichern als" kann man das Format lss16 auswählen und die Grafik speichern (z.B. als splash.lss).
Letzter Schritt ist es dann noch den File in "logo.16" umzubenennen.

mtpaint-Spezialitäten:
Die Zwischenablage ist etwas eigen zu bedienen. Um einen Ausschnitt von Grafik1 in Grafik2 zu kopieren, muss man beide Grafiken mit jeweils einem mtpaint-Programm öffnen.
Danach den Ausschnitt in Grafik1 markieren und mit STRG-C kopieren, womit er aber nur in mtpaint-Grafik1 verfügbar ist. Diese lokale Zwischenablage muss noch mit STRG-F1 (Edit -> Save Clipboard) in die erste Zwischenablage kopiert werden (wird damit lokal in einem File gespeichert).
Danach zu mtpaint-Grafik2 wechseln und mit SHIFT-F1 (Edit -> Load Clipboard) einfügen.
Falls das nicht funktioniert, stimmen die Farbpaletten (und evtl. auch die Anzahl der Farben) nicht überein. Dies kann mit "Image -> Convert to RGB" (in beiden Grafiken) korrigiert werden. Die Anzahl der Farben kann man mit "Palette -> Set Palette Size" einstellen.
Die Endgrafik kann dann noch mit "Palette -> Set Palette Size" auf 16 Farben reduziert werden bzw. mit "Image -> Convert to Indexed" optimal indiziert werden (sonst werden in der Splash-Grafik beispielsweise alle Gelb-Schattierungen zu einem Einheitsgelb zusammengefasst.