Archive for the ‘Software’ Category

PHP im Hintergrund (fork)

Dienstag, August 16th, 2011

Ja, man kann PHP als Hintergrundprozess, unabhängig vom Browser laufen lassen.

Der Browser macht einen Request. Der Server liefert eine Response, die der Browser anzeigt. Der Server startet zusätzlich einen http-Request im Hintergrund, der unabhängig vom Browser weiterläuft. Wenn der Browser den Request beendet (Stopp-Button), dann läuft der Hintergrundprozess trotzdem weiter.

Hauptscript vom Browser aufgerufen, php_fork_main.php:

echo "<p>start\n";
echo "<p>calling background process\n";
##############################################################
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, 'http://localhost/php_fork_background.php');
curl_setopt ($ch, CURLOPT_TIMEOUT, 1);
curl_setopt ($ch, CURLOPT_POST, false);
curl_setopt ($ch, CURLOPT_FRESH_CONNECT, true);
curl_exec ($ch);
curl_close($ch);
##############################################################
echo "<p>background process called\n";
echo "<p>end.\n";

Hintergrundscript, php_fork_background.php:

ob_end_clean();
header("Connection: close\r\n");
header("Content-Encoding: none\r\n");
ignore_user_abort(true); // optional
set_time_limit(0); // run script until it finish
ob_start();
echo ('<p>Text from background process starting');
$size = ob_get_length();
header("Content-Length: $size");
ob_end_flush();     // Strange behaviour, will not work
flush();            // Unless both are called !
ob_end_clean();

#####################################
# background task
#####################################
echo "<p>background process running, this output is not visible";
for($i=0; $i<10; $i++) {
	$data = date("H:i:s") . " - $i\n";
	file_put_contents('fork_background.log', $data, FILE_APPEND);
	sleep(10);
}

Mit dank an http://www.ivankristianto.com/….

Amazon Cloudfront Private Streaming Example

Mittwoch, April 7th, 2010

Update August 2012:
With Amazon servers it is possible to stream videos for Flash and HTML5 video players. So you can view private protected videos on all browsers, mobile phones, ipads and other tablets.
More information: Private Protected Video with Amazon Servers

 

Amazon Cloudfront streaming servers with private URLs have just been online for a few weeks. Therefore there is not much information available nor are there many code examples.

Here are a few links to explaining websites and a working PHP code example.

I hope this helps some other developers 🙂

Amazon Documentation
Amazon Forum
Cloudberry HowTo
Bucket Explorer HowTo

>>> Download Code Example:
>>> cloudfront_private_streaming_example.zip

Wake On Lan with Speedtouch 510

Donnerstag, März 4th, 2010

Here are some guidelines to install Wake on Lan for a pc which is connected to the internet with a Speedtouch 510.

Get the newest firmware on http://speedtouch.net.nz/510seriesFirmware.htm

When you update to the newest firmware you will probably loose all your settings!

It’s easiest to download the firmware+UpgradeApp.
– Unpack the files (run the downloaded exe)
– Rename the directory of the files to something short because the speedtouch seems to have a problem with long directorynames.
– start upgradeST.exe
– configure your speedtouch basic settings. In your browser connect to your speedtouch (either http://10.0.0.138 or http://192.168.1.254). Choose Speedtouch-Configuration-Set Up to configure your speedtouch with a wizard.

I am in Austria with Telekom and need the following configuration:
Router or Bridge: Router for NAT
VPI/VCI: 8.48
Connection type: PPPoA

Configure you speedtouch to connect to DynDns. This is straightforward in the web interface.

Save your configuration in an ini-file. In the web interface you find this with Speedtouch-Configuration-Save or Restore Configuration

Add this line in you ini-file to add a statical combination of ip-address to mac-address:
[ ip.ini ]
arpadd intf=LocalNetwork ip=99.99.99.99 hwaddr=99:99:99:99:99:99

Add this line in you ini-file to open port 6350 on the internet. A wakeup message sent to this port will be sent to you local pc (change ip-address) on port 7 :
[ nat.ini ]
mapadd intf=Internet inside_addr=99.99.99.99 protocol=udp outside_port=6350-6350 inside_port=7-7 inbound=enabled

Upload your ini-file to your speedtouch via the web interface.

Here you can send a wakeup signal to your pc: http://www.wakeonlan.me/
Remember to send your message to port 6350 (or any other port you’ve configured)

Here you can find a PHP script to wake up a pc: http://www.vdr-wiki.de/wiki/index.php/WAKE_ON_LAN_-_PHP

With this small program you can send wakeup signals and it can also detect if a wakeup signal is received. So you can test if a wakeup signal from the internet is received even when your pc is running. http://magicpacket.free.fr/

Wie mache ich einen Screencast?

Mittwoch, Januar 27th, 2010

Dafür gibt es einige Tools:

http://www.tripwiremagazine.com/2010/01/28-seriously-useful-tools-for-creating-your-own-screencast.html

Titanium bringt das Web in den Desktop

Samstag, Oktober 24th, 2009

Desktop-Applikationen schreiben mit Web-Technologie:

Applikation schreiben in JavaScript, HTML, CSS, Python, Ruby und bald PHP
und laufen lassen auf Windows, Mac OS and Linux

Titanium ist ein Framework mit inkludiertem Browser und Zugriff auf alle Betriebssystem-Funktionen.

Titanium Desktop
Mehr Info auf http://www.codestrong.com/
Slideshow Intro
Diskussionsforum http://support.appcelerator.net/home

Online zusammenarbeiten für Dummies

Freitag, Juni 19th, 2009

SVN kennt jeder, der in der SW-Entwicklung tätig ist.

Ein ähnliches Produkt für den privaten und Business-Bereich gibt es jetzt: http://www.teamdrive.net
Die Software synchronisiert ein lokales Verzeichnis mit einem Verzeichnis auf einem WEBDAV-Server. Benutzerrechte können konfiguriert werden. Die SW ist gratis, 100MB Upload monatlich ist auch gratis, danach wird es kostenpflichtig. Ein eigener WEBDAV-Server kann auch genutzt werden.