convert -adjoin -delay 2 *.JPG animation.gif
convert -adjoin -delay 2 *.JPG animation.gif
Ich musste eben in einem Blog ein vimeo Video einbinden und wusste nicht wie das funktioniert und ob ich ein plugin dafür brauche oder nicht. Man braucht kein plugin. Das Theme muss es nur unterstützen. Wenn das Theme diese Funktion nicht standardmäßig konfiguriert hat kann man das leicht nachholen. Dabei muss man nur die functions.php im Theme Ordner bearbeiten und folgenden Code hinzufügen:
function vimeo($atts, $content) {
return ‘<iframe src=”http://player.vimeo.com/video/’.$content.'” width=”612″ height=”344″ frameborder=”0″>
<a href=”http://vimeo.com/’.$content.'” target=”_blank” title=”Video bei Vimeo ansehen”><img src=”[ABSOLUTE_URL]/vimeo.png” border=”0″ alt=”Video bei Vimeo ansehen” /></a>
</iframe><br />
<small><a href=”http://www.vimeo.com/’.$content.'” target=”_blank” title=”Video bei Vimeo ansehen”>Video bei Vimeo ansehen</a></small><br />’;
}add_shortcode(“vimeo”, “vimeo”);
add_filter(‘the_excerpt’, ‘do_shortcode’);
Wenn man nun ein Vimeo Video einbauen möchte, dann muss man nur noch folgenden Code benutzen:
[vimeo]23410166[vimeo]
Die Nummer zwischen den beiden Tags ist die des Videos.
Manchmal ist es sehr hilfreich wenn man einen eigenen Ubuntu mirror im Netzwerk hat. Mit dem Programm debmirror ist das auch nicht mehr schwierig und ist in ein paar Schritten erledigt. Bei ubuntuusers.de ist so gut wie alles beschrieben, aber leider fehlt das die GPG keys als “trusted” hinzugefügt werden müssen.
Fangen wir also an den User und die Gruppe anzulegen und wechseln zu dem User:
sudo bash
aptitude install debmirror ubuntu-keyring
groupadd mirror
useradd -g mirror -c “Ubuntu Mirror” mirror
su – mirror
mkdir -p ~/scripts ~/ubuntu ~/ubuntu-security ~/ubuntu-updates
cd ~/scripts
Jetzt können wir die Scripte erstellen die zum aktualisieren des Mirrors verantworlich sind. Es ist möglich sie von ubuntuusers.de zu nehmen und muss nur den Pfad des Mirrors ändern. Zum Beispiel:
#!/bin/bash
#
# Spiegelt die Haupt-Ubuntu-Repostiories
#
logger -t mirror-ubuntu.bash[$$] Updating Ubuntu
debmirror /home/mirror/ubuntu –passive –progress –nosource \
–host=ftp.inf.tu-dresden.de –root=os/linux/dists/ubuntu
–dist=hardy,lucid \
–section=multiverse,universe,restricted,main –arch=amd64 –cleanup
\
–verbose
logger -t mirror-ubuntu.bash[$$] Finished Updating Ubuntu
Bei dem oben beschriebenen Script wird ein mirror für hardy und lucid erstellt. Die Architektur ist 64bit (amd64). Es ist also nicht nötig für jeden Release ein Mirror zu erstellen. Falls man einen eigenen dns eintrag für den Mirror erstellen möchte reicht eine sehr einfache apache Konfiguration:
NameVirtualHost mirror.example.org:80
<VirtualHost mirror.example.org:80>DocumentRoot /home/mirror/
ServerName mirror.example.orgAlias /mirror/ “/home/mirror/”
<Directory “/home/mirror/”>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
allow from all
</Directory></VirtualHost>
Als user mirror müssen wir noch den GPG keyring als trustedkeys einbinden. Ansonsten können wir den Mirror nicht updaten.
gpg –no-default-keyring –keyring trustedkeys.gpg –import /usr/share/keyrings/ubuntu-archive-keyring.gpg
Zum Schluss tragen wir noch ein paar cronjobs (user: mirror) ein und der Mirror wird jede Nacht aktualisiert.
crontab -e
und fügen folgendes hinzu:
0 1 * * * bash -l -c “/home/mirror/scripts/mirror-ubuntu.bash”
Das war es auch schon. Zum testen und initialisieren des Mirros lohnt es sich das Script einmal per Hand auszuführen.
Der /etc/apt/sources.list des Clients kann dann zum Beispiel wie folgt aktualisiert werden:
deb http://mirror.example.org/mirror/ubuntu lucid universe multiverse main restricted
Fertig. Pro Mirror können schon mehr als 60GB zusammen kommen. Also Vorsichtig!
Es gleicht fast einem Wunder, aber RIM hat es tatsächlich geschafft mit dem ersten Offiziellen Release von OS6 eine funktionierende Japanische Eingabe für den Bold 9700 mit QWERTZ Tastatur zu veröffentlichen. Nachdem das beim letzten mal über ein Jahr gedauert hat klappt es plötzlich auf Anhieb. Vielen Dank.
Download: 9700jAsia_PBr6.0.0_rel1478_PL6.6.0.86_A6.0.0.380_Vodafone_Essar_Limited.exe
Es gibt schon Leaks mit einer höheren Versionsnummer und ein paar mehr Bugfix. Ich habe mit die .380 nun auf meinen Installiert und bin super zufrieden. Es läuft stabil und die Performance stimmt auch. Was mich am meisten bei OS6 begeistert ist die “Universal Search”, “Social Feeds” und die neuen “Notifications”. Der Blackberry ist und bleibt einfach ein Nachrichten-Genie.
Japanisch wird bei der dritten Generation von dem Kindle ohne hack Unterstützt. Leider konnte ich bis jetzt noch nicht heraus finden wie man die Eingabesprache ändern kann. Ich denke das man dies einfach nicht machen kann! Somit kann man eigentlich nicht mit dem Kindle auf Japanischen “suchen”. Zum Glück gibt es so tolle Projekte wie Ajax IME die einem die Unterstützung der Japanischen Eingabe über Ajax ermöglichen. So kann man zum Beispiel auf matsuu.org das Aozora Projekt (äquivalent zu Guttenberg) durchsuchen und die ebooks direkt als mobi herunterladen. Und alles direkt vom Kindle.
Eine andere Möglichkeit Aozora auf dem Kindle zu benutzen ist die Seite a2k zu benutzen. Dazu kopiert man den “ruby…zip” Link auf die Seite und bekommt das Buch als pdf als Download angeboten.
Rikaichan sollte jedem ein Begriff sein der Japanisch lernt und für alle anderen, Rikaichan ist ein Firefox/Thunderbird Plugin mit dem man sehr leicht Japanisch übersetzen kann. Dies geht leider nur im Firefox/Thunderbird und nicht auf Betriebssystem Ebene. Es bringt uns nichts wenn wir in OpenOffice einen 50 Seiten Text schreiben auf Japanisch. Jetzt gibt es ein hervorragendes Tool damit das überall auf dem Computer machen. Dazu muss nur ein Wort markiert werden und ein kleines Popup Fenster erscheint und zeigt die Übersetzung an. Als Wörterbuch dient mal wieder das gute wadoku.de :)
Das ganze Funktioniert zur Zeit schon unter Linux und Windows. Ein MacOSX port ist anscheinend auf dem Weg und ein Video gibt es auch. Die Sourcen liegen für jeden Erreichbar auf github. Über Feedback freut man sich immer.
Homepage & Download: boscowitch.de
Durch Zufall wurde ich auf die DockStar aufmerksam geworden und habe mir direkt eine bestellt. Findigen Leuten ist es nämlich gelungen Linux auf das kleine Gerät zum laufen zu bekommen. Das Geniale an dem Gerät ist das es nur 26EUR kostet und nur 8Watt verbraucht.
CPU & RAM Übersicht (aus der busybox):
-bash-3.2# cat /proc/cpuinfo
Processor : ARM926EJ-S rev 1 (v5l)
BogoMIPS : 1192.75
Features : swp half thumb fastmult edsp
CPU implementer : 0x56
CPU architecture: 5TE
CPU variant : 0x2
CPU part : 0x131
CPU revision : 1
Cache type : write-back
Cache clean : cp15 c7 ops
Cache lockdown : format C
Cache format : Harvard
I size : 16384
I assoc : 4
I line length : 32
I sets : 128
D size : 16384
D assoc : 4
D line length : 32
D sets : 128Hardware : Feroceon-KW
Revision : 0000
Serial : 0000000000000000
-bash-3.2# free
total used free shared buffers
Mem: 126064 123488 2576 0 104
Swap: 0 0 0
Total: 126064 123488 2576
Wir können das Linux nicht direkt auf dem Gerät Installieren sondern auf einem USB Stick oder externe Festplatte. Zum testen benutze ich hier einen 4GB USB Stick. Das Wichtigste ist dass das Gerät NIEMALS vorher mit dem Internet in Kontakt war. Es gibt auch verschiedene Anleitungen. Ich habe beide benutzt ;)
NOTE: So wie es aussieht hat Jeff es geschafft Debian auf das NAND zu installieren! Das probiere ich demnächst aus.
Als erstes müssen wir die Dockstar mit einem Computer verbinden und die IP des Gerätes heraus finden:
root@host ~ # ifconfig eth0 169.254.1.0
root@host ~ # nmap -e eth0 -sP 169.254.0.0/16
Danach melden wir uns mit folgenden Daten per ssh an:
user: root
password: stxadmin
Ab jetzt streiten sich die Geister was gemacht werden soll. Ich habe mich dazu entschieden die Pogo Software zu Beenden damit wir den Knilch an unser normales Netzwerk verbinden können.
-bash-3.2# killall hbwd
-bash-3.2# mount -o remount,rw /
-bash-3.2# chmod go+w /dev/null
-bash-3.2# vi /etc/init.d/rcS
folgendes kommentieren damit es wie folgt aussieht:
#/etc/init.d/hbmgr.sh start
Jetzt können wir das Gerät ausschalten und an unser normales Netzwerk anschliessen:
-bash-3.2# mount -o remount,ro /
-bash-3.2# /sbin/halt
Bevor wir weiter machen können muessen wir einen USB Stick vorbereiten auf dem wir Debian Installieren können. Dabei muss beachtet werden das die erste Partition die root Partition wird und die zweite die Swap.
Partition 1, primaer, Typ Linux, min. 280MB, Typisch 512MB
Partition 2, primaer, Typ Swap, ~100-500MB (je groesser, desto besser fuer das Wear Leveling des Sticks)
Nachdem die DockStar von unserem DHCP (in unserem “nomalen” Netz”) eine IP bekommen hat können wir uns wieder mit der Box verbinden und anfangen Debian Installieren mit Hilfe einem Script von Jeff Dozan:
-bash-3.2# cd /tmp
-bash-3.2# wget http://jeff.doozan.com/debian/dockstar.debian-squeeze.sh
-bash-3.2# chmod +x dockstar.debian-squeeze.sh
-bash-3.2# export PATH=$PATH:/usr/sbin:/sbin
-bash-3.2# ./dockstar.debian-squeeze.sh
Das wird ein bisschen dauern und danach ist Debian Squeeze und ein neuer Bootloader Installiert :D Bei der Einrichtung kann man getrost der Anleitung von mikrocontroller.net folgen. So schnell kann man einen kleinen 24/7 Server mit 4 USB Ports und einem 1GB RJ45 Anschluss haben mit nur 8Watt (inklusive Platten) verbrauch.
Wie manche früher oder später *hust* mitbekommen haben erlaubt Twitter jetzt nur noch OAuth als Authentifizierungsverfahren. Ich war in letzter Zeit irgendwie sehr beschäftigt und habe es erst gestern gemerkt. Also musste ich mein rss2twitter script auf OAuth umstellen und dabei hat bayashi sehr geholfen. Im großen und ganzen geht das sehr einfach und hier gibt es das Script zum Nachlesen:
#!/usr/bin/perl
# script: Using the latest RSS entry to update Twitteruse strict;
use warnings;
use Net::Twitter::Lite;
use LWP::Simple;
use XML::RSS::Parser::Lite;
use WWW::Shorten::Metamark;my $feed = get(‘http://dailywadoku.itbert.de/feed.rss’);
my $rp = new XML::RSS::Parser::Lite;$rp->parse($feed);
my $it = $rp->get(0);
my $long_url = $it->get(‘url’);
my $short_url = makeashorterlink($long_url);
my $message = $it->get(‘description’);$message =~ s/^.+ – //; # remove dash seperator.
$message =~ s/^\s+//; # Nuke any leading space; every char counts.
$message =~ s/\s+$//; # Nuke any trailing space; every char counts.
$message =~ s/[_]+$//; # Nuke any trailing underscores; happens when message is short.$message = substr $message , 0 , 116; # Twitter can only handle 140 chars.
$message .= ‘ -> ‘; # Append ellipse to denote further content available.
$message .= $short_url; # Append the shortened URL.# get in http://dev.twitter.com/apps/XXXXXX
my %CONSUMER_TOKENS = (
consumer_key => ‘** CONSUMER_KEY **’,
consumer_secret => ‘** CONSUMER_SECRET **’,);# get in http://dev.twitter.com/apps/XXXXXX/my_token
my $ACCESS_TOKEN = ‘** ACCESS_TOKEN **’;
my $ACCESS_TOKEN_SECRET = ‘** ACCESS_TOKEN_SECRET **’;my $t = Net::Twitter::Lite->new(%CONSUMER_TOKENS);
$t->access_token($ACCESS_TOKEN);
$t->access_token_secret($ACCESS_TOKEN_SECRET);
my $status = $t->update($message);
So Sachen wie ** CONSUMER_KEY ** müssen natürlich ersetzt werden und sind hier nur Platzhalter.