Food 2.0

I’m something of a want to be foodie. I’ve been a fan of food since working in a restaurant as a KP way back when I was at school. I like staying in and cooking, watching the odd food related progamme and going out to nice restaurants. However, I suddently realised it’s one of those things I dont yet do online. Most of the other things I do, or am interested in, I do at least in part online – except food.

So I set out to see what I could find. I’d signed up for Cork’d a while back after the buzz around the site in the web standards and Rails community. I’ve added a few wines and a few drinking buddies and keep thinking I should keep it up to date but…

A quick search threw up Chug’d, Menuism and Recipe matcher to name but a few – all complete with Web 2.0 cliches. But nothing that really made me want to sign up. I’m not looking for a food community really, more a useful tool to store food related tit bits. Recipes. Which wine goes with what and when the best time to get perculier beers might be. Like a food focused version of backpack maybe? A mobile interface, hey maybe even a Palm based data entry setup would top things off nicely.

Any other food people reading with a workflow that works? We’re always talking about software workflow or getting things done but what about something important like food!

Background Images in Email

Whatever you might think about image rich emails you have to admit clients are a fan, and sometimes needs must.

The web, as always, comes to the rescue and their are a few good articles around – many of them over on including a set of Email Design Guidelines for 2006, Optimizing CSS presentation in HTML emails and the excellent A Guide to CSS Support in Email

A List Apart also has an older article and their is some good infmation over on about the support in web mail clients.

Another little bit of useful info I thought worth posting, after a quick conversation with a colleague, concerns the use of background images in emails.

Assuming your going down the inline styles route you might want to have something like this:

<div style="background: url(image.jpg) top left no-repeat; width: 500px;"></div>;

But this just doesn’t work. The image doesn’t appear when the email is sent. A quick fix is to include the image inline, but hide it as much as possible with a height and width of 1px and a style of display: none.

<img src="image.jpg" width="1px" height="1px" style="display: none;"/>

This throws up one of those interesting annoyances in Outlook. If you’re sending the email using Outlook the image appears twice in the editing pane, hence the 1px trick as well as the style display: none. When it’s received the style rule gets applied.

This assumes you are sending the images along with the email, rather than simply linking to them online were you dont have this problem – but do have a host of other issues with blocked images and the like.

I haven’t admittedly tested this extensively, however I’ve had a lot of luck with Outlook, which for business to business emails accouts for something like 75% of the audience according to Campaign Monitor (and probably around what I’d expect based on my experience).

Well, how did I do

Well, the year is ever so nearly over. Again. I’m sure their will be a good few round ups, I’ll probably even partake again, but thought I’d start off with a quick look at how I got on with my list of stuff to do.

I did the conference thing again and I’m sure I will be back this coming year. `media, Future of Web Apps and dConstruct all look like going from strength to strength. And all being different enought to be worth going along. And I stayed awake throughout the Ajax workshops and I’m pretty sure I got to everything `media had to offer. So that’s three ticked off.

On the article publishing thang. Well, I’m know writing for Vitamin – doing book reviews as often as I can do, two so far on Communicating Design and Using Microformats and more to come. Hopefully more to come on that front too. Another tick I reckon.

The next two, related to building and releasing stuff (specifically Rails and the feed syndicator) I sort of passed on. I actually have some things in the works but I’m not likely to get their this year. The reason was probably my flirtation with all sorts of other things – in particular Python. Releasing bits of code is something I’m going to do more of. Watch this space. Two crosses.

Locally I messed up the domain name but settled on the nicer and with a little help from Matthew Patterson Pennell have a nice new site. Next year I want to do more than just web site related bits an pieces. Maybe half a tick?

Now the “something vague” idea. Well, teaching web design at Newcastle College definately counts here I think. I didn’t see this coming and hopefully I’m doing a good job so far.

Ok, so not bad going, but I could do better. And looking back over a list I made a year ago is quite interesting. I guess I’m posting this early to encourage anyone reading it to post a list of things they want to do next year. Anyone got any ideas?

Mac Virtualhost follow up

A couple of people asked for the details of the virtualhost script I modified for use with MAMP in a previous post. Apologies for taking a bit of time.

First I had to make these changes to the original virtualhost script:

DOC\_ROOT\_PREFIX="/Applications/MAMP/htdocs" APACHE_CONFIG="/Applications/MAMP/conf/apache" APACHECTL="/Applications/MAMP/Library/bin/apachectl"

I also made a few changes to httpd.conf in /Applications/MAMP/conf/apache. From memory first to allow local .htaccess files to override everything on a per directory basis.

<Directory "/Applications/MAMP/htdocs"> oAllowOverride All </Directory>

and then to point to the virtual hosts directory.

NameVirtualHost Include /Applications/MAMP/conf/apache/virtualhosts

I keep meaning to do a screen capture tutorial of sorts, so maybe something like this would be a good starting point? We shall see as and when time permits. Probably this time next year. Any problems let me know and I’ll try and debug.

An Admission about Source Control

I have an admission to make; for personal projects, of which I have many, I haven’t been using source control until now. The reason? Probably laziness. I do lots of reading around the whole software development process but most of that gets used at work, at least until now.

One of my favourite articles is the old Joel Test. Some of this is less relevant to the home developer, but it does give you somewhere to start from. Well, I’ve now got subversion up and running and all new projects will be going in their. I’ve already added the repository to my backup policy. The free book Version Control with Subversion provided all the information I needed to get up and running. I’m more of a fan of command line interfaces anyway so haven’t installed any special interface. I’m sure I’ll look into the Textmate integration once I know my way around the command line interface a bit more.

Next up I’m on the lookout for something to use for bug tracking. I already use backpack and basecamp for different activities but I’m not sure yet if they will do for proper bug tracking. I dont really like bugzilla, although maybe trac is what I’m looking for?

What does anyone else use, either for source control or bug tracking?


Every now and again I go off on a tangent about the problems of learning, and teaching, web design. Recently I got an interesting email from a chap at Newcastle College and just a few weeks later I’ve now taken a couple of sessions with students studying web design.

I’m doing 4 hours a week, alongside the day job. 2 hours of theory and 2 hours of practice. Teaching everything from research techniques, wireframing and sitemaps to the first steps on the road to CSS and HTML mastery.

So far I’d like to think it’s going well (any students reading, please let me know if you think otherwise!) I thought a couple of observations would be handy at this stage, for those involved in doing the same, and for me looking back:

  • For someone not trained as a teacher, it’s too easy to take what you know for granted and go too quickly.
  • It’s often hard to get across to new professionals how important the groundwork and theory is. With students this is doubly so.
  • More structured techniques are a good idea for newcomers.
  • The new site is an excellent reference. Thanks Patrick.
  • Enthusiasm is priceless. Seeing enthusiasm I think “maybe I’ll end up working with them one day”, without it all the technical skills in the world wont get me excited.

Anyone else with a decent amount of experience and a little free time I’d recommend trying to do something similar. Our industry experience is a massively important part of the next generations educational needs and these are the people you’ll end up working with or managing in the future.

JRuby Vs Python.NET

I got to thinking recently, after playing around with more IronPython and talking with a Ruby fan, about the future of computer languages. Is their a war brewing between Python and Ruby in unexpected quarters? That quarter being the .NET and Java croud.

Personally I’m too much of a fan of dynamic languages to be wholly impartial, but working in a mainly .NET shop I’m following IronPython when I get a chance, and a friendly Java officionando seemed pretty pleased with JRuby (although why not Jython I’m not sure?) when last I spoke with them.

Java and .NET are the prime candidates when it comes to big companies buying software, and all of that investment isn’t going to go to waste any time soon. But the potential speed benefits of Python or Ruby, and the work already going on with the likes of JRuby, Jython and IronPython, could make for a smooth transition.

I guess only time will tell, and I’m sure some people are still not convinced when it comes to dynamic languages (heathens). In the meantime I’ve ordered Beyond Java by Bruce Tate to do some swatting up.

Busy. But at least something to show for it.

In between personal projects, sleep and work I dont think time exists at the moment, but a few of those efforts are starting to bear fruit.

I’ve just had my first book review published over on Vitamin, a review of Brian Suda’s Using Microformats. Hopefully this will be the first of many.

Let me know what you think.

This will probably have some sort of effect on the hibernating that I’ve simply not had time to maintain. This was I just get to concentrate on writing reviews, although I have a few ideas for the site which dont clash with that.

More personal web related news soon. If for no other reason than to prove I really am busy!

An apology to XSLT

I have to admit to thinking that XSL was something of a waste of time a while back. I’ve changed my mine and wanted to muse about why.

XML is simple enough to jump right in, and a few years back it had a big enough band wagon to mean jumping on was pretty much required. I think in hindsight, at least in my mind, alot of this was just a little gratuitous. XML abstraction layers, XML content management systems, SOAP, etc.

I’d often seen XSLT as the template layer in an XML based content management system and after several looks went back to using light weight systems that made sense. The idea of going from a database to XML then outputting HTML via XSLT just made me wonder why. The rationale that you could then output it as anything (WML, PDF, whatever) was very nice, but rarely actually realised from what I saw, and easy enough to do with any half decent templating system. You also always seemed to need more XSLT that it looked like you should.

Ruby on Rails even wore as a badge of honor that it didn’t need to do any XML pushups to deal with configuration. And even those with a penchant for Java seem to have problems with using XML as a programming language.

Of late though I’ve been back playing with APIs, many of which produce XML in one way or another (whether that’s RSS, Atom or some custom format), and XSL actually comes in pretty handy here for just thowing around content. I did some work with a Google Mini too using XSLT and their are some interesting tricks with Microformats to boot. I haven’t listened to the podcast yet so I’m just guessing at the moment but I could see Drew’s “Your website as your API” talk at the recent WSG meeting making use of XSLT?

So, I think I might have changed my mind a bit. XSL, I think, is going to be a useful skill to have in your toolkit in a world of microformats and APIs. The W3Schools XSL tutorial is a pretty good starting place if you’ve not used it previously at all. Thought I’d still rather use a decent templating engine for site rendering tasks.

Virtualhosts on Mac OS X

Matthew just posted a quick write up of setting up virtual hosts on windows and a little of the rationale behind why you would bother.

Being a Mac person when I’m not in the office I thought a quick follow up would be useful for those that way inclined.

On OS X their are a couple of things needed to setup a virtual host. As well as the apache virtualhost directives the host needs adding to NetInfoManager.

Although you can do all of this manually I’m more of a fan of a quick shell script and, as it happens, so are others. I’ve been using a modified version of Patrick Gibsons Virtualhost’s script for a while. Just drop it somewhere on your path (or run it from a specific folder) from Terminal like so:


Where is the local domain you want setting up. The default version of the script makes the assumption that you are using the default web server which comes with OS X. I’m not, but it’s easy enough to modifiy the configuration parameters at the top of the (well commented) script to point where you want. I have it working perfectly with a copy of the MAMP installation package for instance.

I’m something of a fan of utility scripts. Often repeated tasks can be bundled up into a shell script, python script or automator workflow. Automatic screen capture? Batch image processing? Backup? It can help keep everything tidy, as well as minimising repeated effort. Anyone else with any good examples of process automation with regards web design want to share?