Mittwoch, 29. September 2010

Das Ende der Online Bildagentur Polylooks

Hallo,

habe heute durch E-Mail erfahren das Polylooks dicht macht. Tja wenn man so hohe Anforderungen setzt für Bilder haben auch Hobby Fotografen die meiner Meinung nach ebenfalls gute Bild geschossen haben keine Chance. Daher hatte ich mich schon damals für fotolia.com entschieden.

mfg -DK-

Drupal und das PHP GD Problem

Hallo,

falls ihr Drupal nutzt und ihr einen eigenen VServer oder Server habt und diese Meldungen kommen:

GD Image FilteringLow Quality / Poor Performance
The installed version of PHP GD does not support image filtering(desaturate, blur, negate, etc). It was probably compiled using the official GD libraries from http://www.libgd.org instead of the GD library bundled with PHP. You should recompile PHP --with-gd using the bundled GD library. See http://www.php.net/manual/en/image.setup.php. An implementation of imagefilter in PHP will be used in the interim.
GD Image RotationLow Quality / Poor Performance
The installed version of PHP GD does not support image rotations. It was probably compiled using the official GD libraries from http://www.libgd.org instead of the GD library bundled with PHP. You should recompile PHP --with-gd using the bundled GD library. See: http://www.php.net/manual/en/image.setup.php. An implementation of imagerotate in PHP will used in the interim.

Gibt es eine Lösung:

Hier mal auf Deutsch:




Für Ubuntu Hardy bis Lucid:

apt-get install build-essential debhelper fakeroot
cd /usr/src
apt-get source php5
apt-get build-dep php5
cd php5-5.X.X #durch eure Versionen Ersetzen

Anschließend müsst ihr in "debian/rules:
--with-gd=shared,/usr --enable-gd-native-ttf \
durch folgendes ersetzen:
--with-gd=shared --enable-gd-native-ttf \
Also einfach nur ",/usr" entfernen.

Nun bauen wir es mit:
dpkg-buildpackage -rfakeroot

Installiert wird es mit:
dpkg -i php5-gd_5*deb

und jetzt nur noch den apache neustarten!

/etc/init.d/apache2 restart

Ich danke den User patusovniak für diese Tolle Tutorial!

16 Bit Computer in einen Computer Spiel?

Hallo,

als ich das lass dachte ich WTF?

Hier der Link: http://kotaku.com/5650027/man-builds-computer-inside-computer-game
Aber sehr es euch selbst an.

mfg -DK-

UUID einer VDI Datei von VirtualBox ändern

Hallo,

falls jemand ähnlich wie ich 1 Installation für mehre VMs verwendet, wird ermutlich auf folgende Fehlermeldung gestoßen sein:


Die Die Festplatte /home/drachenkaiser/win2.vdi konnte nicht geöffnet werden.
Cannot register the hard disk '/home/drachenkaiser/win2.vdi' with UUID {891b30d5-1b6f-4316-44b4-ce92bb9e07c7} because a hard disk '/home/drachenkaiser/.VirtualBox/win.vdi' with UUID {891b30d5-1b6f-4316-44b4-ce92bb9e07c7} already exists in the media registry ('/home/drachenkaiser/.VirtualBox/VirtualBox.xml').


Mit diesen Befehl:

VBoxManage internalcommands setvdiuuid win2.vdi kann man die UUID von der Virtuellen Festplatte ändern.

mfg -DK-

ScriptEngine und Modelbuilder für OpenJUMP

Hallo,

im Zuge eines Faches bei meinen Studium, sollte eine ScriptEngine für OpenJUMP entwickelt werden. Gemacht getan, die Beigefügte ScriptEngine ermöglicht es Plugins und kleine Scripte für OpenJUMP in Ruby, Python, Javascript zu Programmieren. Bei diesem Projekt kam mir die Idee eines Modelbuilders für OpenJUMP zu Entwickeln der die ScriptEngine voll ausnutzt. Natürlich heißt er nicht ModelBuilder sondern BrickBox womit man wie im Baukasten System seine Arbeitsschritte zusammenfassen kann. Natürlich ist er nicht vollkommen ausgereift, er beherrscht bisher nur die Befehle Union und Puffer. Falls es Interesse besteht, werde ich natürlich es Weiterentwickeln.

Download

Samstag, 25. September 2010

Gutenberg.de

Hallo,

habe auf der Suche nach einer alternative zu web.archive.org folgende Seite gefunden:
http://www.gutenberg.org

Hier findet man gute alter Klassiker der Weltliteratur wie Faust I und II, und andere Freie Schriftstücke.

mfg -Kuma_

Freitag, 24. September 2010

Bash Quick-Referenz

String länge:
output="Hallo Welt";
${#output}

Substring:

output="Hallo Welt";
${output: 0: 4}; #return: Hall


Diese Referenz werde ich bei Gelegenheit erweitern.

nginx vor Apache/Plesk schalten?

Hallo,

nach langen suchen habe ich in der Plesk-Dokumentation gefunden wie man es machen könnte. Zuerst muss man den Port der Apache/Plesk Konfiguration z.B. auf den Port 8181 ändern, dafür muss man nur diesen Befehl ausführen:


/usr/local/psa/admin/sbin/websrvmng --set-http-port --port=8181


Anschließend muss man diesen Befehl ausführen, damit der Port auf alle bisher erstellten Domains/Subdomains-Konfigurationen angewandt wird:


/usr/local/psa/admin/sbin/websrvmng --reconfigure-all


Jetzt für jede einzelne Domain/Subdomain eine ".conf" Datei per Hand anzulegen, erschient mir zu langwierig, daher habe ich mir ein PHP-Shell Script geschrieben.

create_nginx_vhost.php

$list_port = 80;
$to_port = 8181;

$dh = opendir('/var/www/vhosts/');

$sites = array();
while(($file = readdir($dh)) !== false) {

if($file != '.' && $file != '..' && strlen($file) > 5) {
if(count(explode('.',$file)) == 2 ) $sites[] = $file;
}
}
closedir($dh);
$subsites = array();

foreach($sites as $site)
{
$subsites[$site][] = '
server {
listen '.$list_port.';
server_name '.$site.' www.'.$site.';

location ~* ^.+\.(jpg|jpeg|jar|js|png|ico|rar|bz2|gif|txt|js|css|swf|zip|ttf|rar|avi|mid|mp4|flv|ogg|pdf|doc|exe|mpg|mp3|wav|mpeg|asf|wmv)$ {
root /var/www/vhosts/'.$site.'/httpdocs;
expires 30d;
access_log /var/log/nginx-static.log;
if (!-f $request_filename) {
proxy_pass http://'.$site.':8181;
break;
}
}

location / {
proxy_pass http://'.$site.':'.$to_port.';
include /etc/nginx/proxy.conf;
}
}

';
$dh = opendir('/var/www/vhosts/'.$site.'/subdomains/');
while(($file = readdir($dh)) !== false) {
if($file != '.' && $file != '..' && is_dir('/var/www/vhosts/'.$site.'/subdomains/'.$file)) {
$subsites[$site][] = '
server {
listen '.$list_port.';
server_name '.$file.'.'.$site.';

location ~* ^.+\.(jpg|jpeg|js|png|ico|rar|bz2|jar|gif|txt|js|css|swf|zip|rar|ttf|mid|avi|mp4|flv|ogg|pdf|exe|doc|mpg|mp3|wav|mpeg|asf|wmv)$ {
root /var/www/vhosts/'.$site.'/subdomains/'.$file.'/httpdocs;
access_log /var/log/nginx-static.log;
expires 30d;
if (!-f $request_filename) {
proxy_pass http://'.$file.'.'.$site.':8181;
break;
}
}

location / {
proxy_pass http://'.$file.'.'.$site.':'.$to_port.';
include /etc/nginx/proxy.conf;
}
}

';
}
}
closedir($dh);
file_put_contents('/etc/nginx/sites-enabled/'.$site, implode("\n",$subsites[$site]));
}
print "\nFertig\n";
?>


Dieses habe ich dann mittels:
sudo /usr/bin/php create_nginx_vhost.php
ausgeführt.

Warum sollte man dies machen?
Wir haben uns für diesen schritt entschieden, um unsere Seite zu beschleunigen. Vor der Umstellung liefen ungefähr:
21-40 Apache Prozesse, was natürlich mit 20 MB Ram verbrauch für jeden Apache Prozess zu Buche schlägt. Heute mit apache laufen ca. nur noch 8-12 Apache Prozesse bei Hochlast. Apache kümmert sich um die ganzen php Scripte und nginx versorgt die User mit den ganzen Statischen-Dateien wie jpg,css,js usw.


Wer Drupal einsetzt und möchte gerne Fortschrittsbalken auch unter nginx/apache Kombination nutzen, sollte dieses Plugin installieren:
http://drupal.org/project/filefield_nginx_progress

Wie Konvertiert man ein komplettes Verzeichnis?

Mir kam die Idee, wie konvertiere ich alle AVI-Dateien eines Verzeichnis von XVID in x264?

#!/bin/sh
for input in $(find *avi)
do
output=${input%\.avi}.mkv;
mencoder -msglevel all=-1:statusline=5 -vf pullup,softskip -ovc x264 $input -x264encopts bitrate=600:8x8dct:partitions=all:me=umh:me_range=23:threads=auto -oac copy -o $output
done


Dies ist ein einfaches Bash-Script was dies möglich macht. zuerst listen wir alle AVI Dateien mittels
find *avi
auf. Dies fügen wir anschließend in eine FOR-Schleife ein. Anschließend ersetzen wir avi durch mkv, mittels
output=${input%\.avi}.mkv;
(Ein Substring in Bash zu machen ist wirklich seltsam). Und nun der mencoder Befehl und wir sind Fertig!

Sonntag, 19. September 2010

VMware Player macht ärger

Hallo, beim Kompilieren der Kernel Module für 2.6.35 für VMPlayer kam immer folgender Fehler:

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vmmon-only'
make -C /lib/modules/2.6.35-2-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.35-2-generic'
CC [M] /tmp/vmware-root/modules/vmmon-only/linux/driver.o
CC [M] /tmp/vmware-root/modules/vmmon-only/linux/driverLog.o
CC [M] /tmp/vmware-root/modules/vmmon-only/linux/hostif.o
/tmp/vmware-root/modules/vmmon-only/linux/hostif.c: In function ‘HostIFReadUptimeWork’:
/tmp/vmware-root/modules/vmmon-only/linux/hostif.c:2004: warning: ‘newUpBase’ may be used uninitialized in this function
CC [M] /tmp/vmware-root/modules/vmmon-only/linux/iommu.o
/tmp/vmware-root/modules/vmmon-only/linux/iommu.c: In function ‘IOMMU_SetupMMU’:
/tmp/vmware-root/modules/vmmon-only/linux/iommu.c:156: error: implicit declaration of function ‘iommu_map_range’
/tmp/vmware-root/modules/vmmon-only/linux/iommu.c: In function ‘IOMMU_VMCleanup’:
/tmp/vmware-root/modules/vmmon-only/linux/iommu.c:403: error: implicit declaration of function ‘iommu_unmap_range’
make[2]: *** [/tmp/vmware-root/modules/vmmon-only/linux/iommu.o] Error 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmmon-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.35-2-generic'
make: *** [vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-root/modules/vmmon-only'


Nach langen Suchen fand ich in diesen Blog http://www.rrfx.net/2010/06/vmware-vmmon-module-compilation-issues.html die Lösung. Man musste einfach nur diesen Code ausführen und schon ging es wieder
cd /tmp
tar xvf /usr/lib/vmware/modules/source/vmmon.tar -C /tmp
perl -pi -e 's,_range,,' vmmon-only/linux/iommu.c
tar cvf /usr/lib/vmware/modules/source/vmmon.tar vmmon-only

ausführen und schon ging das Kompilieren der einzelnen Module

Samstag, 18. September 2010

Der erste Blogeintrag

Hallo,

wenn nun die Halbe Welt Blog, warum ich den nicht auch? Jedenfalls in diesem Blog, werde ich über meine neusten Vorhaben berichten. Der erste Blog eintrag und so langweilig.

Jedenfalls die Themen dieses Blogs werden über verschiedene Techniken Handeln:
Server-Software: nginx, apache, mysql, postgresql
PHP: Drupal und wBB
Und natürlich über www.rpg-studio.de !

Willkommen in DKs Blog!