brain4free

Benutze dein Gehirn oder wir nehmen es dir wieder weg!

So ist der Homepagetitel zu verstehen. Wie ihr unter Ideen lesen könnt, wäre mit ungenutzem Hirnpotenzial durchaus ein sehr lukratives Geschäft zu machen. Die nötige Ressource wäre ja genügend vorhanden. Bis wir die Techniken dazu besitzen beschränke ich mich hier auf eine private Homepage mit meinen Photos, meinen Einschlafhilfen und vor allem meinen Projekten die euch hoffentlich nützlich sind.

Mehr über mich und wie ihr mich kontaktieren könnt.

brain4free Blog

WD "Advanced Format" HD mit LINUX

Diese Informationen sind im Moment anwendbar auf die Festplatten WD10EARS, WD15EARS und WD20EARS von Western Digital.

Die neueste Generation Festplatten von WD wechselt von 512 Byte zu 4 KByte grossen Datenblöcken, WD kennzeichnet dies mit “Advanced Format Drive”. Diese ersten Festplatten simulieren, um potenziellen kompatibilitäts Problemen aus dem Weg zu gehen, eine Festplatte mit 512 Byte Blöcken, was auch problematisch ist! Für mehr Informationen über die technischen Hintergründe könnt ihr diesen guten Artikel lesen: Western Digital’s Advanced Format: The 4K Sector Transition Begins

Als Linux benutzer musste ich leider feststellen, das WD die Festplatte ziemlich sicher mit Linux getestet hat aber es nicht als nötig erachtet, die nötigen Informationen bereit zu stellen.

Der Kleber auf der Verpackung suggeriert einen reibungslosen Betrieb mit Linux. Dies ist aber ein Trugschluss:
All other OS configurations - drive is ready for use as is

Auswirkungen ohne Anpassungen

Wenn man die Festplatte einbaut und ohne Anpassungen einsetzt (also überall die voreingestellten Werte benutzt), wird nicht viel Freude aufkommen. In diversen Versuchen konnte ich jeweils auf neu erstellten Partitionen und Filesystemen zeigen, dass die Schreibleisung nach kurzer Zeit (ca. 10 bis 15 min konstantes beschreiben) die Schreibgeschwindigkeit unter 1 MByte/s absinkt!

Was ist zu beachten?

Wie es WD für Windows XP dokumentiert, ist es nötig, die Partitionsgrenzen an den Grenzen der jetzt 4 KByte grossen Blöcke auszurichten. Für XP Benutzer stellt WD ein Tool zur Verfügung das dies sicherstellt.

Für den Einsatz mit Linux muss keine spezielle Software eingesetzt werden aber es ist zwingend nötig die Festplatte korrekt zu Partitionieren. Wenn ihr fdisk oder parted benutzt mit den voreingestellten Einstellungen wird die Festplatte falsch Partitioniert!

Um zu prüfen wie und wo eure Partitionen erstellt wurden könnt ihr fdisk verwenden:

fdisk -l -u

So sieht ein schlechtes Beispiel aus:

     
   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1              63  2930272064  1465136001   83  Linux 

Es ist zwinged notwendig, dass sowohl Start wie End Wert durch 4 teilbar ist. Was in diesem Beispiel (was dem default Verhalten von fdisk, parted und Windows XP entpricht) nicht der Fall ist!

Was zu tun ist

Je nach dem was ihr üblicherweise verwendet hier die Anleitungen was ihr tun müsst:

fdisk

Die Details dahinter sind nicht ganz trivial aber das Resultat zählt. (Dank an Ted: Aligning filesystems to an SSD’s erase block size)

fdisk mit diesen Parametern erstellt alle Partitionen ausgerichtet an 4 Kbyte Blockgrenzen:

fdisk -H 224 -S 56 /dev/sdb

Partitionen ansonsten ganz normal erstellen und zur Sicherheit am Schluss nachprüfen.

parted

In gparted (parted Version mit GUI) habe ich die nötigen Einstellungen leider nicht gefunden, darum müsst ihr parted in der Konsole benutzen.

Wie beschrieben müsst Ihr sicherstellen, dass eure Partitionen an 4 KByte Blockgrenzen beginnen und enden. Relativ einfach geht das, wenn Ihr parted so umstellt, das alle Grössen in KByte angezeigt werden. (Ganz exakt in Kibibyte) Alle Grössen die Ihr eingebt müssen dann durch 4 teilbar sein.

Beispiel für eine Festplatte mit einer Partition (Beachted den Befehl unit kib)

parted /dev/sdb
(parted) unit kib
(parted) print
Model: ATA WDC WD15EARS-00Z (scsi)
Disk /dev/sdc: 1465138584kiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start    End            Size           Type     File system  Flags
 1      31.5kiB  1465136032kiB  1465136001kiB  primary  xfs


(parted) mkpart
Partition type?  primary/extended? p
File system type?  [ext2]? xfs
Start? 32
End? 1465138584
(parted) print
Model: ATA WDC WD15EARS-00Z (scsi)
Disk /dev/sdc: 1465138584kiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start    End            Size           Type     File system  Flags
 1      32.0kiB  1465138584kiB  1465138552kiB  primary

stopsoftwarepatents.eu Petition ist abgelaufen

Die von über 400'000 Personen unterzeichnete Petition stopsoftwarepatents ist abgelaufen und doch ist das Thema Software Patente in der EU noch nicht vom Tisch. Darum solltet Ihr die neue Petition schnell unterzeichnen, damit die Signalwirkung bestehen bleibt!

stopsoftwarepatents.eu petition banner

Zitag: Mit unserer Petition wollen wir die Stimmen besorgter Europäer, Vereinigungen und Unternehmen bündeln und europäische Politiker aufrufen, Software-Patente durch klare rechtliche Vorgaben zu stoppen.

2010/01/10 15:08 · Christoph Zimmermann

Webcam streamen und mit Flash Plug-in anzeigen

Am Sonntag wurde ich per E-Mail von einem guten Freund um Rat gefragt, wie er denn am einfachsten eine Webcam streamen kann, so dass am Schluss der Nutzer das live Video per Flash Plug-in auf einer Homepage sehen kann.

Er hat mich um Rat gefragt, weil er weiss, das ich mit streaming etwas Erfahrung habe, hald nur mit Audio, kein Video bis jetzt. Es stellte sich schnell heraus, dass der einschränkende Faktor das Flash Plug-in ist, das nur sehr wenige Video Formate unterstützt. Alle Tools die ich einsetze fallen so weg.

Die Lösung heisst VLC media player:

Und zwar mit dieser Anleitung hier im videolan Forum:
http://forum.videolan.org/viewtopic.php?f=4&t=60947

Meine persönlichen Erfahrungen mit VLC streaming sind eher schlecht (Wenige Versuche mit Dreambox z.b.) aber der Forum Post hat mir gezeigt, das ich mir bei VLC vielleicht doch mal die Dokumentation ansehen sollte um zu sehen wie das ganze richtig konfiguriert werden muss.

Das was im Tutorial beschrieben wird, lässt sich sehen und funktioniert ausgesprochen gut. Probiert es doch selber mal aus:
http://www.everydayjunglist.org/

2009/12/09 10:23 · Christoph Zimmermann

Meine USB-IR-Boy Dokumentation

Habe heute noch eine kurze Dokumentation zu meiner Version des USB-IR-Boy Projekts geschrieben. Dies ist ein kleiner USB Infrarot Empfänger für LIRC.

Beschreibung gibts hier

2009/11/25 21:45 · Christoph Zimmermann

StreamTranscoderV3 linux aac patch

I managed to get aac encoding working with StreamTranscoder V3 in Linux!

I tried to send this information directly to the developer but I didn't got an answer. Also I have problems to get an account for his forum, so I post my stuff here and hope that people find it.

_Installation Manual for aac support for StreamTranscoderV3_

For debian based distributions.

Add the following repository to your /etc/apt/sources.list file:

deb http://www.debian-multimedia.org stable main

Install all the necessary libraries and there HEADER files too:

apt-get install libogg0 libogg-dev libvorbis0a libvorbis-dev liblame0
liblame-dev libfaac0 libfaac-dev libfaad0 libfaad-dev libmad0 
libmad0-dev libflac8 libflac-dev automake libtool

Now we have to patch the StreamTranscoder configure.in file: the patch was produced with this command:

diff -u old/configure.in new/configure.in

Save the following patch to a file called “streamTranscoder-aac.patch”:

--- old/configure.in	2006-08-09 06:17:39.000000000 +0200
+++ new/configure.in	2009-10-24 19:26:40.000000000 +0200
@@ -5,9 +5,10 @@
 AM_INIT_AUTOMAKE

 AC_PROG_CC
-#AC_PROG_CXX
+AC_PROG_CXX
 AC_CANONICAL_HOST
 AM_PROG_LIBTOOL
+AC_PROG_RANLIB

 dnl Set some options based on environment
 
@@ -100,6 +101,7 @@
   FAAC_CFLAGS=""
 else
   FAAC_CFLAGS="-DHAVE_FAAC"
+  AC_DEFINE(HAVE_FAAC)
 fi

 CFLAGS="$OLDCFLAGS"

Extract the sources:

tar -xzf streamtranscoderv3-3.1.11.tar.gz

Change directory to the extracted streamTranscoder sources:

cd streamtranscoderv3-3.1.11

Apply the patch:

patch -p1 < ../streamTranscoder-aac.patch

Regenerate the build files:

aclocal -I m4/
autoconf
automake

Compile and install in the normal way:

./configure
make
make install

Change the encoder setting in your config file (in my case /etc/streamTranscoder/streamTranscoder_3.cfg): Encode=AAC

Restart streamtranscoderv3 and check the logfiles for errors.

Finished!

I post here also a nice init script written by me, changes the UID/GID and sets a the nice level to a higher priority than default: /etc/init.d/streamTranscoder restart

Here is my /etc/init.d/streamTranscoder

#! /bin/sh
#
# streamTranscoder
#
#               Written by Miquel van Smoorenburg <miquels@cistron.nl>.
#               Modified for Debian 
#               by Ian Murdock <imurdock@gnu.ai.mit.edu>.
#
#               Further modified by Keegan Quinn <ice@thebasement.org>
#               for use with Icecast 2
#               
#               adopted to use with streamTranscoder v3 from oddsock
#               by christoph zimmermann <christoph@bigbeat.ch>
#
### BEGIN INIT INFO
# Provides:          streamTranscoder
# Required-Start:    $net $syslog
# Required-Stop:     $net $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Starting StreamTranscoder
# Description:       StreamTranscoder is the swiss army knife of the
streaming server user. ### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/streamTranscoderv3
CONF=/etc/streamTranscoder
NAME=streamTranscoderv3
DESC=streamTranscoderv3

test -x $DAEMON || exit 0

# Defaults
USERID=transcoder
GROUPID=transcoder

#set -e

case "$1" in
  start)
        echo -n "Starting $DESC: "
        start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \
                --background --chdir $CONF --nicelevel -3 --exec $DAEMON
        echo "$NAME."
        ;;
  stop)
      echo -n "Stopping $DESC: "
        start-stop-daemon --stop --oknodo --quiet --exec $DAEMON
        echo "$NAME."
        ;;
  restart)
        echo -n "Restarting $DESC: "
        start-stop-daemon --stop --oknodo --quiet --exec $DAEMON
        sleep 1
        start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \
                 --background --chdir $CONF --nicelevel -3 --exec
$DAEMON echo "$NAME."
        ;;
  *)
        echo "Usage: $0 {start|stop|restart}" >&2
        exit 1
        ;;
esac

exit 0
2009/11/20 12:49 · Christoph Zimmermann · 4 Comments

Wichtiger Hinweis:

Trauen sie diesem Text nicht! Die Person die ihn geschrieben hat leidet unter psychischen Störungen, extremer Verwirrtheit, steht unter der Wirkung einer nicht unbedenklichen Menge an toxischen Umweltgiften und Hormonen die aus Abwässern stammen oder direkt in die Nahrungskette eingebracht wurden und Wirkungen zeigen können, wie unter massivem Drogeneinfluss.
Die Weltanschauung dieser Person kann nicht als objektiv bezeichnet werden. Durch einen massiv übermässigen Konsum von Unterhaltungsmedien wie Fernseher und Computerspiele in seiner Kindheit, die eine heikle Entwicklungsphase darstellt, konnte sich diese Person nicht wie andere normal in seine Umgebung integrieren.
Nehemen sie sich vor dieser Person in acht, sie kann sehr sprunghaft reagieren, ist sehr launisch, wierderspricht sich dauernd, nimmt nichts ernst und versucht andere Leute dauerhaft zu verwirren und damit ihr schönes, kleines Leben zu zerstören.

Der EG Gesundheitsminister

Last modified: 2010/05/12 20:39