Freitag, 10. Juli 2009

Vlc ohne X streamen

Ich habe neulich auf nem alten PII mit stolzen 266 Mhz, stolzen 192 MB Ram und ner Grafikkarte, die was weiß ich wie alt war, nen Film geguckt. Und das ganze ging ohne zur ruckeln.

Hier ist das Rezept, wie ich das hingekriegt habe:

Man nehme eine Debian Minimaldistribution: http://www.debian.org/distrib/
(Es ist noch nicht mal ein X Window System nötig ;) )
und den aktuellen Vlc Player. Den gibt es mittlerweile in der Version 1.0 allerdings nur für Sid, deshalb muss man den selber compilen:

http://www.videolan.org/vlc/download-sources.html
http://wiki.videolan.org/Documentation:Play_HowTo/Installing_VLC

viel Spaß und Geduld dabei ;)

Man brauch aber nicht unbedingt den aktuellsten Vlc . Was man aber mit sicherheit braucht, ist das Multimedia Repository: http://debian-multimedia.org/

Also fügen wir die folgenden Zeilen zu unserer /etc/apt/sources.list

#multimedia support for debian
deb ftp://ftp.debian-multimedia.org testing main

Ich habe bei mir immer testing zu stehen, da ich es mag mit halbwegs aktueller Software versorgt zu werden. Wer bei Squeeze also der nächsten Stable version beleiben will trägt stattdessen das ein:

#multimedia support for debian
deb ftp://ftp.debian-multimedia.org squeeze main

Jetzt noch mit dem vlc Package versorgen:
~> wget http://www.debian-multimedia.org/pool/main/d/debian-multimedia-keyring/debian-multimedia-keyring_2008.10.16_all.deb
~> sudo dpkg -i /debian-multimedia-keyring_2008.10.16_all.deb
~> apt-get update
~> apt-get install vlc

und mittels:
vlc meinvideo.avi

den Player in einer No-X Shell starten. Es ist zwar kein Interface zur Verügung aber der Player lässt sich über die üblichen Tastenkombinationen steuern.

Dienstag, 30. Juni 2009

Bashhackers next part ;) Nachschlag

Hier noch ein Script wie man die Konvertierung eines Strings in ein Array eleganter in einer while Schleife gestalten kann. Dabei ist wieder Jeder Buchstabe des Strings ein Element des Arrays

#!/bin/bash
#convert_to_aray

STRING=abc
i=${#STRING} #counts the length of the string

while [ $i -ge 0 ]
do
ARRAY[$i]=${STRING:$i:1} #assign the i-th letter of the STRING to be the i-th element of the array
i=$(($i-1)) #decrements by 1
done

#notice: the loop here is backwarts lets see how a forward loop runs
j=0
while [ $j -le $i ]
do
ARRAY[$j]=${STRING:$j:1}
$j=$(($j+1)) increments by 1
done

for a in ${ARRAY[@]}
do
echo $a
done

Und die Ausgabe sollte so aus sehen.
linux@user~> sh convert_to_array
a
b
c

Montag, 29. Juni 2009

Verblödung 2.0 oder die Vermüllung des Internets

Endlich ist es soweit. Das Internet ist schöner und interaktiver geworden. Nun kann auch der letzte Depp seinen Unsinn in die Welt hinnausschreien.

Ob man nun die Welt wissen lässt, dass man gerade auf Toilette war, nachdem man ordentlich chinesich gespeist hat oder bei Facebook allgemein verkündet, dass man jetzt wieder da ist. Der Informationsmüll im Netz steigt täglich an. Sachen die keiner wissen wollte und nach die niemand gefragt hat, tauchen plötzlich auf und hängen wohl auf ewig im Cache von google fest, so dass auch noch unsere Nachwelt erfahren wird, dass ich bei facebook ein profil habe, bei opensuse mit entwickle und heute um 9 uhr 42 vor meiner Tür der Müll ausgeleert worden ist. Gott sei dank. Mein Geist wird ewig im Cache von Google weiter leben.

Das Internet ist nicht besser geworden. Es ist bescheuerter geworden. Suchte man früher nach einem Begriff wie Afrika um wirklich Informationen darüber zu erhalten, so bekomme ich bei Google bestenfalls als ersten Eintrag eine Aufforderung jetzt sofort zu buchen und zu sparen. Unter Seitenweise links, die alle auf die gleiche Seite, nämlich wikipedia verweisen, findet man dann Seitenweise Reiseangebote. Eine Seite die in Afrika gehostet ist, lässt sich auch nach der zehnten Ergebnisseite nicht finden.

Ach war das noch schön, als kaum jemand überhaupt wußte was Internet überhaupt ist und wie man google schreibt.

Bashhackers next part ;)

Dummerweise nimmt die Umgebungsvariable $OPTARG keine Arraydeklartation an. Will man beispielsweise eine Option implementieren, die mehrere Argumente haben soll steht man ziemlich blöde da.

Die Lösung:
Die Argumente als Buchstabenkürzel übergeben und dann den Sting in ein Array umwandeln, wobei jeder Buchstabe als Elemente des Arrays behandelt wird:

Beispielcode:
#!/bin/bash

#script example

#first init of variables
WITH_FEATURE=


option_w()
{
W_F=$OPTARG
#3 possible arguments ASC
WITH_FEATURE[0]=${W_F:0:1}
WITH_FEATURE[1]=${W_F:1:1}
WITH_FEATURE[2]=${W_F:2:1}
}


while getopts w: flags
do
case $flags in
w) option_w
;;
\?) # a help option is here
esac
done
shift `expr $OPTIND - 1`

for i in ${WITH_FEATURE[@]}
do
case $i in
A) #do action a
C) # do action b
S) #do action c
esac
done

exit 0

Nachteil: Funktioniert nur wenn die möglichen Optionen vorher bekannt und überschaubar sind. für den Fall das zum Beispiel beliebige Verzeichnisse als Argument übergeben werden, muss man sich was anderes einfallen lassen.

Donnerstag, 25. Juni 2009

Die Internetausdrucker- und Wiedereinscanner haben endlich wieder zugeschlagen

Endlich! Unseren Internetausdruckern wird nie langweilig.

Erst Schäuble mit seinem Stasi 2.0 Maßnnahmen und seinen völlig unsinnigen Gesetzen zur Vorratsdatenspeicherung und zur Onlineüberwachung mittels Bundestrojaners.

Endlich! Nachdem uns das Zensursula die lang ersehnte und nie gewünschte chinesische gummi Internetmauer gebracht hat, schlägt nur eine Woche eine neue Maßnahme ein. Internet-Entzug für Filesharer. Ja lest es selbst hier:

http://www.heise.de/newsticker/Internetsperren-gegen-Urheberrechtsverletzer-auch-fuer-Deutschland-Update--/meldung/141084

Verwundert irgendwie nicht, dass nun endlich eine Woche später nach Verabschiedung des Gesetzesvorschlag zur Zensur des Internets für völlig vollverblödete Windowsnoobs, begonnen wird, darüber öffentlich nachzudenken, gegen "Piraten" vorzugehen.