I just received my phone bill from O2 by email. See if you can spot the deliberate mistakes. Click for a bigger version.

I started getting into photography a couple of years ago, and I have been helped along the way by a colleague and various books and websites. I’ve been learning about cameras continuously, and a few months after I got interested, my brother took an interest too.
I made some notes about basic camera settings for him, which he says he found very useful. So I’ve decided to try and write them up a bit more formally for my blog, in the hope that they will be useful for someone.
I wrote this guide mainly using my Fuji Finepix S9600, with the intention that my brother would use it with his Fuji Finepix S5800. Some of the numbers may vary, but pretty much all of the advice is transferable between digital cameras and even 35mm film cameras.
For someone who has never used manual settings on a camera before, there are a few terms you need to be familiar with.
| Aperture | Also known as F-stop. This is the size of the hole behind the main lens of the camera. It can be adjusted in size to let in more or less light. |
| Shutter speed | Also known as the exposure. This is simply the amount of time that the camera exposes for. Long exposures mean blurry photos while short exposures can freeze action shots in time. |
| ISO | This is the sensitivity of your camera to light. |
In the next post, I’ll talk about the modes on your camera, and how they come into play with the three concepts I’ve just explained.
Last week I was given a Canon 35mm SLR. I’ve already shot a roll of film to test out the camera and today I received the prints and a photo CD. Here are my favourite shots from the roll.
The colours are nice, and the lens is nice.

This indoor portrait of Hana is somewhat underexposed. I could have done with some more light really.

This shot of the physics department was disappointingly grainy given that it was taken in sunlight.

In my opinion, these shots are all rather grainier than they should be. I don’t know if it’s because I used an old film, or because they are underexposed, or for some other reason. But I will keep trying!
I use vim all the time, but I can never remember off the top of my head. I have to look it up every time. So I’ve made a note of it here.
This command simply replaces all occurrences of string with replace. Simple!
:%s/search/replace/g
Yesterday at work I had the need to create a federated table in MySQL. I read about the federated engine and thought I had it sussed. I noted:
Beginning with MySQL 5.1.26, the
FEDERATEDstorage engine is not enabled by default in the running server; to enableFEDERATED, you must start the MySQL server binary using the--federatedoption.
Turns out it’s also possible simply to add the line federated in the [mysqld] section of /etc/my.cnf
The version of MySQL currently installed on my CentOS box was an older one (5.0.45) but I added this line anyway. The server refused to start. It quickly became clear that the MySQL binary packaged with CentOS was not compiled with the federated engine.
Fedora is currently packaging MySQL 5.1.37 but it seems that this too is lacking the federated engine. That’s annoying – I had wanted to install a version of MySQL from some yum repo or other, so I don’t have to keep upgrading the package every time a new version is released.
Perhaps the lack of federated support is a Red Hat (and derivatives) issue. I downloaded the rpm from MySQL directly, and installed it. Guess what – no federated engine compiled in.
So I downloaded the source tarball. I explicitly configured it with the federated engine, like so:
./configure --with-plugins=federated
And then I built and installed it. Nothing worked properly out of the box, and I was annoyed to find that the make install command doesn’t do half of the things I would normally expect it to do. I found this information and followed the steps to get it working. I had to steal and tweak the /etc/init.d/mysqld script from a different box which was running the bog-standard CentOS package.
Woohoo! The federated engine was finally available.
mysql> show engines; +------------+---------+----------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +------------+---------+----------------------------------------------------------------+--------------+------+------------+ | InnoDB | YES | Supports transactions, row-level locking, and foreign keys | YES | YES | YES | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | | FEDERATED | YES | Federated MySQL storage engine | NO | NO | NO | | ARCHIVE | YES | Archive storage engine | NO | NO | NO | | MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance | NO | NO | NO | +------------+---------+----------------------------------------------------------------+--------------+------+------------+ 8 rows in set (0.00 sec)
But I can’t understand why none of the binary builds of MySQL include it. Fair enough that isn’t enabled by default in the running server – it’s no problem to add a line to my.cnf on a standard CentOS box. But it is a nuisance to have to build from source. It doesn’t break anything to have it enabled in a build, even if unused.
Of course CentOS won’t change the way they build their packages until Red Hat does. So I’m doing what I can, and I have filed a feature request with Fedora in the hope that in the next major release, there will be a version of MySQL built with the federated engine.
So I’ve been playing with my new camera, a 35mm Canon SLR. I rather like it.
For me, film will never win over digital for convenience, but I’ve enjoyed using the SLR so much that I’m strongly considering upgrading my Fuji Finepix S9600 to a digital SLR. Cost aside, there are several disadvantages in upgrading, believe it or not.
| Pros | Cons |
|
[1] It’s handy to have information in an OSD
[2] The S9600 has a really handy flip-out LCD for those awkward shots
So it looks like buying a digital SLR will bring me higher quality photos, albeit at a cost of convenience. Hmm. I’ll have to consider this carefully.
Today I was given a camera by a relative – an unwanted Canon AE-1P.

It’s my first SLR camera and I’m looking forward to having a play with it. My digital camera, a Fuji S9600 has many of the controls of an SLR without actually being one, so I’m familiar with the concepts.
But film is very different and I haven’t the first clue about it. I’ve never used a proper film camera. As a child my parents gave me disposable 35mm cameras and they were also fairly early adopters of digital photography (starting with a Fuji A201) so there were never 35mm cameras lying around for me to play with. I had to consult the user manual to figure out how to load film into the AE-1P!
After I’ve taken some photos with the AE-1P and had them developed (and begged, borrowed or stolen a film scanner) I’ll post the results on my photo blog if they are any good.
An unusual Tuesday Challenge from Stu this week…
This fortnight, your mission is to draw a giraffe. And submit it to OneMillionGiraffes.
Having just read this article about the phasing out of 100W light bulbs, I decided to take a photo of one.
Unfortunately I don’t have any traditional light bulbs (I’m a good boy!) but I found a desk lamp with a 12V halogen bulb. I took this photo using an infra-red filter.
This is a +1 for Easy Firewall Generator for iptables.
Of course any self-respecting sysadmin should be able to set up iptables, but sometimes starting off can be tricky. So I use the this website, which lets you define the basics using a handful of checkboxes, and it generates a script that configures your computer’s iptables firewall.
It works for single hosts and servers that do NAT, and includes protection against a great many nasties.
Once you have this, it’s then an easy task to hand-configure the result to your heart’s content.