Nokia Liveblog Image Uploading – Part 1

I’m calling this part 1, because I hope to follow it up at some point, although… who knows!

I wanted to be able to upload my photos from my N95 directly to my website, and notice that S60 phones appear to have an option to upload to Flickr and Vox using the ‘online services’ system, so I figured adding my own shouldn’t be too hard. After a bit of googling, I found this:

lifeblog_posting_protocol_specification_1.0.pdf

Continue reading “Nokia Liveblog Image Uploading – Part 1”

Stateless password reset system

It’s pretty common for sites to have a password reset system on websites, which allow you to enter your email address, and have the site email you a link you can use to reset your password.

I had a specification that demanded this kind of system, however it needed to be stateless – in that I could not store any extra information. Also, the hash could only be used once, and it was required that it needed to time out after a configurable time period. Also, the URL must be short enough such that it can be easily copied and pasted into the address bar from an email, and doesn’t wrap in the email.

Continue reading “Stateless password reset system”

Getting PHP4 to work along side PHP5 in Ubuntu Gutsy

I got PHP4, compiled it as CGI.. here’s how.

Install required packages

  apt-get install make libmysqlclient15-dev libmcrypt-dev libxpm-dev libpng12-dev 
libjpeg62-dev libcurl4-openssl-dev apache2-dev  gcc bison flex

configured as follows.

./configure --enable-force-cgi-redirect --disable-cli --enable-discard-path  
 '--prefix=/home/pookey/php/' '--with-xml'  '--enable-bcmath' '--enable-calendar' 
 '--with-curl' '--enable-ftp' '--with-gd' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' 
  '--with-xpm-dir=/usr/X11R6' '--with-mcrypt' '--enable-magic-quotes' 
 '--with-mysqli' '--with-mysql=/usr' '--with-openssl' 
  '--enable-discard-path' '--with-pear' '--enable-sockets' 
 '--enable-track-vars' '--enable-versioning' '--with-zlib'

This installed it into /home/pookey/php

Enabled per vhost using the following syntax

  SetEnv PHPRC /home/pookey/php/lib/stage
  ScriptAlias /php4-cgi /home/pookey/php/bin/php

  <Location />
    Action php4-script /php4-cgi
    AddHandler php4-script .php
  </Location>

For some stupid reason I failed to figure out, doc_root needs to be set to the document root for each vhost, and can only be done in php.ini (setting PHP_DOCUMENTATION_ROOT with SetEnv failed). This means each vhost needs it’s own php.ini, which is placed wherever you set PHPRC to.

Using this system, you can have PHP4 and PHP5 mixed even on the same vhost