Monthly Archive for July, 2007

GlaxoSmithKline offers to sponsor T-Mobile cycling team

With the that T-Mobile are considering terminating their sponsorship of the T-Mobile cycling team early, pharmaceuticals company have decided to offer one of the largest sponsorship deals ever seen in the sport of cycling.

“We saw the excellent synergy between our industry and the sport of cycling and decided that the match was perfect” said Joe Smith, spokesperson for GSK Europe. He added, “With our pharmaceutical expertise and the athletes need for undetectable performance enhancing drugs, we feel that this is a relationship that could help develop an exciting future for the sport”.

Ads on packaging

My got a package from the UK Amazon store today. It looks like the standard Amazon packaging, except for the following:

Amazon package with Die Hard ad

I’ve never seen this before. It reminds me of the movie where everyone’s clothes had ads all over them.

S3 demo using Django

I have been amazed at how reliable storage is these days with services like . The S3 doesn’t mention using python and django so I thought I’d implement the demo in django. It really is very simple to take advantage of S3 in your django apps, as Adrian shows .

Grab the S3 libary from .

My view looks like this:

BUCKET_NAME = 's3demo'

def upload_and_view(request):
    conn = S3.AWSAuthConnection('your access key', 'your secret key')

    if request.method == 'POST':
        post_data = request.POST.copy()
        post_data.update(request.FILES)
        filedata = post_data['uploaded_file']['content']
        filename = post_data['uploaded_file']['filename']
        content_type = mimetypes.guess_type(filename)[0]
        if not content_type:
            content_type = 'text/plain'

        conn.put(BUCKET_NAME, filename, S3.S3Object(filedata),
                    {'x-amz-acl': 'public-read', 'Content-Type': content_type})

    bucket = conn.list_bucket(BUCKET_NAME)
    bucket_entries = bucket.entries

    return render_to_response('s3demo/upload_and_view.html', {'entries': bucket_entries})

The template is a simple web form. bucket_entries contains a list of files in the S3 bucket. Since I’ve set the ACL to be public readable I can print a list of urls like so:

{% for entry in entries %}
<a href="http://s3demo.s3.amazonaws.com/{{ entry.key }}">{{ entry.key }}</a><br />
{% endfor %}

Great stuff!

Secret Nokia codes

Check out these cool secret Nokia codes:

*3001#12345#* and tap Call. Enter Field Mode.

Field mode reveals many of the inner settings of your iPhone, specifically up-to-date network and cell information.

*#06# Displays your IMEI. No need to tap Call.

IMEI is the unique identifier for your cell phone hardware. Together with your SIM information it identifies you to the provider network.

*777# and tap Call. Account balance for prepaid iPhone.

*225# and tap Call. Bill Balance. (Postpaid only)

*646# and tap Call. Check minutes. (Postpaid only)

These three are pretty self explanatory.

*#21# and tap Call. Setting interrogation for call forwards.

Discover the settings for your call forwarding. You’ll see whether you have voice, data, fax, sms, sync, async, packet access, and pad access call forwarding enabled or disabled.

*#30# and tap Call. Calling line presentation check.

This displays whether you have enabled or disabled the presentation of the calling line, presumably the number of the party placing the call.

*#76# and tap Call. Check whether the connected line presentation is enabled or not.

State whether the connected line presentation is enabled or disabled. Presumably similar to the calling line presentation.

*#43# and tap Call. Determine if call waiting is enabled.

Displays call waiting status for voice, data, fax, sms, sync data, async data, packet access and pad access. Each item is either enabled or disabled.

*#61# and tap Call. Check the number for unanswered calls.

Show the number for voice call forwarding when a call is unanswered. Also show the options for data, fax, sms, sync, async, packet access and pad access.

*#62# and tap Call. Check the number for call forwarding if no service is available.

Just like the previous, except for no-service rather than no-answer situations.

*#67# and tap Call. Check the number for call forwarding when the iPhone is busy.

And again, but for when the iPhone is busy.

*#33# and tap Call. Check for call control bars.

Check all the usual suspects (voice, data, fax, sms, etc) to see whether barring is enabled or disabled for outgoing.

Hang on, !

In all seriousness, I find it amazing that this is news.