2011-11-17

Nature of technology

WiderstandsNetzWerk - Nature of technology


In diesem Jahr hatte ich wieder mehr Zeit gefunden an meiner Musik zu arbeiten und habe meine mittlerweile 4. Auskopplung Nature of technology auf Soundcloud und Jamendo veröffentlicht. In diesem Album möchte ich den uns umschließenden technologischen Anspruch und die Welt in der wir leben mit mehreren Facetten beleuchten und sowohl Pros und Cons zum Ausdruck bringen. Klanglich habe ich mich da vielfälltig verschiedener Hardware- und Software-Synths bedient und das ganze mit Hilfenahme unterschiedlicher Software gemixt und gemastered.

Ich habe ganz bewusst entschieden mein Musikprojekt bei dem Open-Music-Label Jamendo zu veröffentlichen, weil ich der Meinung bin, dass Musik als Kunstmedium generell frei sein sollte und ich die Open Music-Vision unterstützen möchte.
Ich lege mich auch auf kein festes Genre fest denke aber, dass weiterhin mein Einfluss aus dem Industrial-Bereich klar und deutlich herauszuhören ist. Ich hoffe auf jedenfall, dass meine Musik Anklang findet und noch vielen Zuhörern Freude bereiten wird.




  

2011-07-28

Linux-Distributionen im Überblick

Im Pool der Vielfalt!


Nachdem nun doch so einiges an Linux-Distributionen durch meine Finger geflossen sind möchte ich hier mal eine kleine subjektive Ansicht dessen liefern, was mir bisher an Distributionen untergekommen ist. Der Ein oder Andere wird bestimmt mit den Augen rollen und sich denken: 'Nicht schon wieder einer, der eine stupide Aufzählung herunterrattert.', womit man gar nicht mal so Unrecht haben kann. Jedoch möchte ich es hier nicht nur bei einer reinen Aufzählung belassen, sondern ein bisschen konstruktive Eigenkritik auf vereinzelte Distributionen ausüben in der Hoffnung, dass dadurch Interesse (oder Desinteresse) in die ein oder andere Distribution entsteht.
Ich werde getreu dieser superübersichtlichen Grafik von Top-Level-Distributionen hinunter zu immer tieferen Ablegern gehen (zumindest mit denen ich mich befasst habe) und einen kurzen Text über meine persönlichen Eindrücke schreiben.
Fangen wir mal bei den Klassikern an:
  • Debian
  • Wohl der Klassiker schlechthin. Ich denke, dass kaum eine Person, die auch nur im entferntesten mit Linux zu tun gehabt hat um diese Distribution herumgekommen ist. Was man dazu sagen ist, dass eine sehr gute Dokumentation und man dadurch einen Einstieg in die Linux-Welt finden kann. Die Distribution ist auf eine hohe Stabilitätsrate getrimmt und wird mit allen für die Software-Entwicklung und zum Bürobedarf nötigen Tools geliefert. Aufgrund der hohen Stabilität ist der vorhandene Linux-Kernel in der Regel veraltet und wird in der Regel auch nicht weiter gepflegt. Jedoch hat man eine durch und durch vielseitige Distribution, die sich frei gestalten lässt und durch die hohe Vielzahl an mitgelieferter Software notfalls auch ohne Internet auskommt. Als Paket-Manager wird in apt verwendet, welches ebenfalls einer der Einsteigerfreundlichsten ist. Größter Kritikpunkt ist wohl der Aufwand, den man in Kauf nehmen muss, sich auf moderneren PC-Systemen um die Beschaffung vieler Treiber selber zu kümmern. Oftmals braucht man dafür dann doch eine stabile Leitung. Ich selber hatte bei einem Notebook vom Typ Acer 7520 doch einige Probleme mit der Installation des WLAN-Moduls und durfte mich erst durch eine Menge Webseiten klicken bis ich den nötigen Treiber fand. Aber alles in allem: Immer noch eine gute Wahl.
  • Slackware
  • Mit Slackware fand die Linux-Gemeinde ihren Ursprung in der am individuellsten konfigurierbaren Distributionen. Slackware selber wird im Textmodus installiert, der Kernel kann auch selbst an die Bedürfnisse des Rechners angepasst und kompiliert werden. Man sollte schon ein fortgeschrittener Linux-Anwender sein, bevor man sich dieser Distribution widmet, jedoch ist der "Hacking"-Anspruch recht groß. Sie sieht sich selbst als eine Distribution, die gut von der Hand geht, ist jedoch mit einigem an Aufwand verbunden. Ohne Vorkenntnisse ist eine hohe Einlesdauer von Nöten, hat man jedoch die wichtigsten Linux-Tools und Befehle verinnerlicht kann man sich wohl mit einer mächtigsten Distributionen begnügen.
  • Red Hat Enterprise Linux
  • Aufgrund des kommerziellen Hintergrunds und einiger unerfreulicher Presseberichte hielt ich mich von dieser Distribution fern. Wie man weiß, gehört sie jedoch ebenfalls wie Slackware und Debian zu den "großen" 3.
Nun folgen ein paar Distributionen der zweiten Linux-Generation, die auf Basis der vorher genannten entstanden sind:
  • Ubuntu
  • Eine der benutzerfreundlichsten und daraus wohl resultierend beliebtesten Linux-Distributionen. Die Installation verläuft sehr einfach im Fenstermodus und sie ist immer auf den neusten Stand. Man kann jedes halbe Jahr mit einer neuen Version rechnen, die den aktuellst stabilen Kernel beinhaltet. Die Distribution basiert auf Debian und beinhaltet alle beliebten und zur anwenderorientierten Verwendung nötigen Programme. Es gibt viele verschiedene Ubuntu-Ableger, die wahlweise mit den Benutzeroberflächen Gnome, KDE, LXDE u.A. geliefert werden. Diese Distribution verwende ich heute noch gerne, jedoch in veralteter Version, denn die Richtung in die Ubuntu mit der Oberfläche Unity geht, sowie die aktuelle Gnome-Umgebung gefallen mir überhaupt nicht mehr. Ubuntu ist wirklich gut für jemanden, der einfach mal "Linux" auf seinem Rechner laufen lassen möchte ohne sich großartig um Treiberkompatibilität zu kümmern.
  • Knoppix
  • Knoppix ist eine nützliche Live-Distributionen, die einem entgegenkommt wenn man dabei ist auf möglichst schnelle weise mit möglichst vielen Tools das vorhandene System zu konfigurieren, initialisieren oder zu manipulieren. Es kann von einem optischen oder elektronischen Datenmedium gebootet werden und arbeitet, ähnlich wie Debian auch, mit diversen X-Config-Einstellungen. Ich selbst verwende Knoppix eigentlich nur wenns "wirklich" brenzlig wird, denn ich finde nicht, dass sich damit effektiv auf lange Sicht arbeiten lässt. Den Spaß die Distribution auf den eigenen Rechner zu booten kann man sich eigentlich sparen, da man diesbezüglich keinen großartigen Gewinn zu Debian hat.
  • Gentoo
  • Das Linux zum Selbermachen! Einer meiner Favoriten unter den Linux-Distributionen, den ich heute auch noch gerne verwende, da man durch diese Distribution sehr viel über seinen eigenen Computer und der Linux-Struktur, sowie dem OS-Kernel erfährt. Für technikbegeisterte, die gerne mal über den Tellerrand hinausschauen wollen ist die Distribution wie gemacht. Installiert wird im Textmodus, dadurch bestimmt man seine eigene Partitionierung, wie die Userbeschaffenheit aussehen soll und kompiliert den Kernel. Der Vorgänger nannte sich Enoch und basiert auf einer Eigenentwicklung. Gentoo selbst kommt mit dem Paketmanager emerge auf, der getrost apt Paroli bieten kann. Die Dokumentation ist, ähnlich Debian, äußert gut lesbar und führt einen Schritt für Schritt in Gentoo ein, so dass man am Ende gerne auch behaupten darf, man hätte sich seine eigene Distribution zusammengebaut. Die Gentoo-Community ist auch nicht allzu klein, so dass einem gut geholfen wird. Auf jedenfall zu empfehlen.
  • SUSE
  • Damit fing alles an. Was ich aber heute mittlerweile bereue, denn SUSE (oder openSUSE) ist nichts für schwache Nerven. Zu Allererst bin ich ja kein großer Freund der KDE-Umgebung (und die ist auch nicht zwingend notwendig), aber diese Distribution nimmt Linux etwas an Attraktivität. Die auf Slackware basierende Distribution kommt mit dem Paketmanager Zypper und verkompliziert einem ziemlich die Anwendung. Sie ist meines Erachtens nach auch nicht so wirklich stabil und bei Erscheinen einer neuen x.0-Version kann man die ersten eigentlich ohne größeren Systemschaden vergessen. Es war sehr enttäuschend festzustellen, dass meine Oberfläche langsam aber sicher am Auseinanderfallen ist und das ebenso mit Versionsupdate wie auch ohne. Auch wenn diese Meinung nun extrem subjektiv ist, aber ich würde lieber die Finger von SUSE lassen.
  • ArchLinux
  • ArchLinux vereint Vorteile aus den Welten Debian, Gentoo und Slackware. Neue Versionen erscheinen ähnlich selten wie Debian, so dass man sich lange mit einer einzigen zufrieden geben kann. Es wird ebenfalls im Textmodus installiert und man bekommt einen minimalistischen Aufbau geboten, den man nach und nach weiterentwickeln kann. Jedoch machte ArchLinux auf mich einen nicht allzu stabilen Eindruck weswegen ich mich nach der Installation nicht tiefer damit befasst habe.
Nun folgen die jüngsten Sprösslinge (also die Ableger der Ableger) und somit die dritte Generation, wo einiges an Interessantem dabei ist, welche ich gerne hier vorstellen möchte:
  • Crunchbang
  • Neben Gentoo meine zweitliebste Distribution. Basierend auf Ubuntu kommt Crunchbang in relativ kleinem Umfang mit vielen Konfigurationsmöglichkeiten und gutem Einstieg für ein textorientiertes Betriebssystem. Die Installation geschieht schnell und einfach über einen typischen Ubuntu-Installer. Am Ende hat man aber eine minimalistisch moderne Openbox-Oberfläche und einige Tools jenseits dem Linux-Mainstream, die man über ein schnell und einfach zu findendes Menu frei nach Bedarf konfigurieren kann. Ich habe mich auf Anhieb in Crunchbang verliebt und denke, dass ich noch viel Zeit damit verbringen werde. (#!)
  • LinuxMint
  • Das System lässt sich wohl am einfachsten mit dem Versuch beschreiben ein äußerst benutzerfreundliches Linux noch benutzerfreundlicher zu machen. Die irische Distribution basiert auf Ubuntu und es sind kaum Unterschiede dazu spürbar, bis auf dass nach der Installation wirklich alles in einem zeitlichen Bruchteil auf Anhieb funktioniert hat und man sich um nichts weiter Sorgen machen musste. Da mir der Funktionsumfang jedoch zu gering war habe ich mich relativ schnell von dieser sehr einfachen Distribution gelangweilt und satt gesehen.
  • DSL
  • Der Name Damn Small Linux kommt nicht von ungefähr. Die wohl kleinste Live-Distribution mit nur 50MB basiert auf Knoppix und lässt einem auf die Schnelle ein Linux booten mit dem sich Probleme ohne allzuviel Ladezeiten aus der Welt schaffen lassen. Witzig ist auch der Entwicklungsgrund des Erfinders. Sollte man auf jedenfall im Auge behalten, wenn man ambitioniert ist etwas ein Embedded Linux aufzusetzen.
  • BackTrack
  • Die Penetration Testing Distribution ist eine wahnsinnig interessante Idee, die komplett auf Hacking und Reverse Engineering getrimmt worden ist. Die aktuellste Version basiert auf Ubuntu, hatte ihre Ursprünge aber bei einer auf Knoppix basierenden Distribution Namens Kanotix. Mir gefällt BackTrack auf jedenfall als Live-CD sehr gut, möchte man sich kryptologischen und forensischen Aufgaben widmen. Für allgemeine Anwendungsfälle ist sie aber nicht gedacht. Hat man Backtrack installiert befindet man sich sofort im root-Modus und muss erstmal einen anderen User einrichten, sowie dessen Struktur und die dazugehörige X-Umgebung. Ansonsten startet man gleich im Textmodus und könnte von dort aus sämtliche Tools ausführen, die mit BackTrack für forensische Aufgaben mitgeliefert wird. Diese sind eine ganze Menge, aber alles andere muss man über apt nachinstallieren. Die Spezialisierung ist jedoch gelungen.
  • Maemo
  • Eine auf Debian basierende sehr hübsche Distribution für Smartphones. Aktuell ist es auf dem Nokia N900 geflasht und kommt mit einer etwas kompliziert zu installierenden Entwicklungsumgebung für Ubuntu, mit der man jedoch eine Menge Spaß haben kann. Mir gefällt die Distribution sehr gut und die Community dazu ist supersympatisch. Traurig bin ich natürlich über den Schritt den Nokia getan hat, aber das ist eine andere Geschichte. Ich bin begeisterter Maemo-Nutzer und finde, dass dadurch die beste Schnittstelle geschaffen worden ist in eine unabhängige Linux-Distribution für Smartphones. Der enthaltene Paketmanager bietet nur leider nicht allzu viel an, weswegen man einige Repositorys mit einbinden muss, das alles geschieht aber über eine einem Linux-Nutzer sehr vertrauten Oberfläche.
  • MeeGo
  • Kurz als Zombie auf dem Nokia N900 verwendet. Eine für Tablets und Mobilgeräten abgestimmte Distribution, die eine Weiterführung der Distribution Moblin ist. Der größte Anreiz dafür besteht aus der Möglichkeit eine SDK über Qt zu integrieren und einige Apps zu entwickeln. Allzu attraktiv fand ich die Distribution jedoch nicht.
  • Lunar
  • Eine sehr mystische Linux-Distribution, die von der Struktur her Gentoo ähnelt, jedoch auf einer Distribution Namens Sorcerer basiert. Die Installation ist etwas einfacher, als bei Gentoo - man hat jedoch ähnlich viel Spielraum. Sehr interessant und darauf getrimmt Gefallen bei Geeks zu finden. Nachdem bei mir jedoch (Installation auf einem Thinkpad T61) der Bootloader ständig abgeschmiert ist, habe ich mich gegen einen weiteren Gebrauch entschieden.
Das war nun ein Bruchteil der Distributionen, die noch existieren, aber ich hoffe ich konnte einen guten Überblick über die Vielfalt geben, die "Software Freedom" mit sich bringt. Jeder muss für sich selbst entscheiden, welche Distribution ihm mehr zusagt, auf jedenfall schadet es nicht sich mal selbst ein Bild von allem gemacht zu machen. Eventuell kommt ja einem der Gedanke mal selbst eine eigene Distribution zu entwickeln, wer weiß.

2011-04-23

Tron Re-Score

Tron ist tot - lang lebe Tron!


Nun ist es auch schon mittlerweile wieder 3 Monate her, dass ich enttäuscht den Kinosaal nach dem lang erwarteten Tron-Nachfolger verlassen habe und, wie viele Andere wahrscheinlich auch, mich gefragt habe ob es denn Sinn macht, dass die Filmindustrie charakterlose Inhalte durch höheren Ausreiz an Special Effects wettmacht.
Nicht nur, dass der Film fast schon gar nichts mehr mit der eigentlichen Aussage des Vorgängers zu tun hatte, welcher für die damalige Zeit fast schon als Lehrstunde für Computerwissenschaften galt - Nein, viel schlimmer noch wird einem eine 3D-Vorstellung angepriesen, die im Grunde genommen durch mangelhafte technische 3D-Effektumsetzung und hochgerendertem Bildmaterial, dem Zuschauer ein Sinnbild zur Entwicklung der Film- und Gameindustrie vor Augen hält:
Bessere Grafik <=> Stumpfsinniger Inhalt
Man möchte hier fast meinen, dass es in der Welt der Computeranimation nicht möglich ist eine gelungene Story in schön gerendertem Bildmaterial zu packen, wenn da nicht die ein oder andere Ausnahme wäre!

Worauf ich jedoch glücklicherweise vor kurzem auf meiner Reise durch die Blogger-Welt gestoßen bin ist ein wirklich schöner Re-Score mit Bildern des original Tron aus dem Jahre 1981, welchen ich euch nicht vorenthalten möchte. Für mich ist es also eindeutig, dass an den Kultstatus diverser alter Werke heute wohl nichts mehr so schnell rankommen wird, worüber sich die Filmindustrie jedoch ihre Gedanken machen sollte, möchte sie auch ein Publikum erreichen, jenseits des Gefühls einem Kitch ausgesetzt zu sein für den es reiferen Menschen nicht gelingt etwas übrig zu haben.. Viel Spaß mit dem 1-stündigen Re-Score:

2011-04-07

FPGA

Flexibles Hardware-Design mit FPGA!


Vor kurzem habe ich mich mit der "Entwicklung eines DVB-C Basisband Generators" auf Basis eines sogenannten Field Programmable Gate Arrays (kurz: FPGA) beschäftigt und muss sagen, dass es schon erstaunlich ist wie flexibel sich diese Wunderwerke der Technik programmieren lassen. Während mir im Gegensatz dazu ein Mikrocontroller die Entwicklung eines nur seriell ablaufenden Algorithmus ermöglicht und ich im Grunde genommen dem Aufbau des von mir erworbenen Mikrocontrollers ausgesetzt bin, kann ich mit einem FPGA beliebig viele (bzw. entsprechend der vorhandenen Gatteranzahl) parallele Operationen ausführen und habe somit einen beliebig großen Spielraum.


Bei einem FPGA handelt es sich um eine Aneinderreihung reiner Logikgatter, deren Zusammenhang von vornherein noch undefiniert bleibt. Mittels einer Hardwarebeschreibungssprache (VHDL, Verilog u.a.) lässt sich die interne Funktionsweise des FPGAs definieren. Im Grunde genommen ist die Handhabung ähnlich wie bei der C-Programmierung eines Mikrocontrollers. Man verwendet eine Entwicklungsumgebung, die einen Compiler für eine diverse Anzahl an FPGAs eines Herstellers und codiert den Algorithmus in einem Editor, was im Grunde genommen einer Art Bitshifting gleichkommt. Was am FPGA von vornherein angeschlossen sein sollte, ist jedoch ein Quarzoszillator der dem FPGA eine bestimmte Taktfrequenz vorgibt. Auf diesen aufbauend können über sogenannte PLLs (Phase Locked Loops) Takte festgelegt werden mit denen der Algorithmus schaltet.
Eine weitere Besonderheit ist auch, dass die Peripherie des FPGAs frei bestimmbar ist. Man kann also (natürlich unter der Voraussetzung einer geeigneten A/D-Wandlung) an einer beliebigen Stelle des FPGAs analoge Signale hineingeben oder ausgeben. Alles fällt am Ende auf die Codierung und Definition in der HDL ab.
Den einzigen Nachteil bringen FPGAs jedoch in der Speicherung des HDL-Codes mit sich. In der Regel wird nämlich der auf den FPGA geladene Code nach Abschaltung der Spannungsversorgung gelöscht und die Logikgatter fallen wieder in ihren Default-Zustand. Somit wäre es auch empfehlenswert, wenn vorher an einen speicherbaren Flash- oder EEPROM-Baustein gedacht wird. Einige Hersteller (wie Actel) bieten jedoch FPGAs an, die in ihrer Architektur bereits einen integriert haben.

Wer gerne mal in die Materie schlüpfen möchte, dem empfehle ich wärmstens sich nach einem günstigen Entwicklungskit der Hersteller Xilinx, Actel oder Altera umzugucken. Es wäre jedoch zu empfehlen sich vorab zu informieren für welche FPGAs die kostenlosen SDKs der Hersteller geeignet sind bevor man sein wertvolles Geld für ein Board verpulvert, welches sich am Ende nicht oder nur über eine teure Lizenz kompilieren lässt. Ansonsten verweise ich gerne auf fpga4fun, dort finden sich einige gute Einstiegsinformationen zum besseren Verständnis sowie eine gute weiterführende Linksammlung zum Erlernen einer Hardwarebeschreibungssprache und zum dementsprechenden FPGA-Markt.