Great minds and photoblogs

Looks like Alan and I have had the same idea at roughly the same time.

I’ve been wanting to try photoblogging for a while, and more generally, post about stuff that is decidedly not work related. Rather than dilute this one with non-techie stuff I think I’m going to start a second one that I can muck about with a bit more.

My leanings to date are to stick with MoveableType and probably use some or all of the following plugins:

Been having trouble getting ImageMagick set up on my hosted server, but have managed to work around that so far by using it locally under cygwin and processing images manually. ImageMagick is highly scriptable (including Ruby!) so it should be pretty easy to build an automated image publishing workflow even if I can’t get it working on my server.

Reverse spam

Some filthy toe-rag is sending spam spoofed with one of my domain names. Consequently I’m being hammered with all the delivery failure messages. Can someone please fix the internet?

Defect Driven Development

Credit for the title of this post goes to a remark by JB Rainsberger in the extremeprogramming yahoo group.

The pertinent line was something like, “I pretend that my program starts as an infinite collection of defects”.

I like this concept because it discourages the creation of separate story queues and bug queues, and encourages driving out the design through the addition of failing tests.

Each test added will constrain the defect-space of the program, until all the requirements have been satisfied by tests and all the tests are passing. At which point the defect-space and functionality-space of the application are separate and distinct. There’s probably some clever comment about set theory and venn diagrams I could make here, but I’m not smart enough to think of one.

Virtual vs Final

Posted to the Artima forum following this interview with Anders Hejlsberg about the ‘virtual’ keyword in C# compared to Java’s ‘final’

By making methods final by default, and having to explicitly state which ones can be overridden, you are forcing developers to try and anticipate all possible future uses of the code they write.

It encourages a sort of protectionist attitude that says ‘You’re not smart enough to understand how my code works, so I’m going to only let you override the bits that I choose to allow’.

I write code to be useful, and if someone sees a use for it that I didn’t anticipate, by overriding a method, then thats a good thing and should be lauded, not repressed.

Spam, evolved

I’ve started received bayesian-busting spam on a regular basis. Typified by large blocks of surreally random words, they strive to reduce their spam-quotient by diluting the trigger words with large amounts of non-spam words. As a colleague commented, it does tend to reduce the comprehensibility of the marketing message somewhat, and can give rise to inadvertent humour, with such gems as:

‘cohesively delineates Krebs spaceships’
‘Amiga itself surprises paramount degree’
‘television resurrects evolute dictionary skeletons’
‘codifying beagles Janeiro snack rhythm’

I’m not really interested in buying herbal viagra, but I gotta get me one of those cohesive Kreb spaceship delineators. They sound cool.

Photographic Prentensions

So this week I should take delivery of a new camera. Its a Ricoh GR-1v fixed focus (28mm) compact. How many megapixels you ask? None. Zero. Nada. Or, if you want to be precise, it depends on what speed of film I load in it.

Thats right, its a non-zoom film camera. Am I some kind of technophobic luddite I hear you cry? Hardly. But I am something of a perfectionist when it comes to the deterministic parts of photography.

Let me explain. The ‘image capture’ element of photography basically boils down to the following factors:

  • Lens quality
  • Autofocus accuracy
  • Meter accuracy
  • Ability of capture medium
  • Composition

Of the five, only the last one (which I am using to include depth of field, metering off the right thing, focussing on the right thing etc, as well as ‘composition’ in the artistic sense) is qualitative. All the others can be measured, and don’t depend on who is behind the camera. So my thought process in this matter is something like this:

Why a compact? I want a compact camera for all the times I’ve cursed because I didn’t have my SLR with me and missed photo opportunities as a result. I want my ability to be the limiting factor in my photos and not my equipment. Fixed lenses are easier to make well than zooms, and the Ricoh’s is rated as one of the best. In fact, all the criteria that depend on the camera (for a film camera, the first three) are highly regarded in the Ricoh. Which leaves the quality of the final results down to me, not the camera. I want a fairly high degree of control (which the Ricoh offers), and couldn’t give two hoots about automatic program modes (which it doesn’t).

Why film? Opinions differ on how many megapixels you need to match the grain size of a high quality slow (ISO 100) film. The numbers vary from 6 to 64 and higher. Obviously the more the better, but there seems to be a consensus that the current crop of 6 megapixel SLR’s are starting to approach film for reasonable sized prints (up to about 10×8, which is close to A4). The larger the desired print size, the more pixels needed. There are other factors to be considered as well, such as the dynamic range (the number of shades between black and white), colour accuracy etc. Digital generally does better here, as these factors can be tweaked after the fact, which can’t be done with film. But I digress. The upshot of all this ponderment was that I could only meet my goals with a film camera, and not a cheap one at that. If I was in the market for a new SLR, then I would be looking very hard at digital, for the reasons I’ve mentioned above, but I would want the option of a film body also, which basically limits me to Canon or Nikon (and Canon currently have a big lead thanks to the 300D).