html markup for navigation

There’s been a lot of griping today about the use of an unordered list for a navigation menu (from @calevans among others). Although it is a generally accepted practice with the argument that a navigation menu is an unordered list of links, it’s not too difficult to find an alternative that is just as efficient is it? What’s the most basic code we could use as an alternative?

In html5 you could use the following: –

<a title="First link additional text" href="#">Link 1</a>
<a title="Second link additional text" href="#">Link 2</a>
<a title="Third link additional text" href="#">Link 3</a>

with css to sort out positioning and look.

For some specific layouts you may want to specify a :first-child pseudo class or a class="last" on a link.

For HTML4 strict just substitute a <div class="menu"> for <nav>.

So, not as complicated as I once thought!

Bitwise or bit stupid?

I’ll hold my hand up right now and confess to being bit stupid, I was really disappointed with my score in a recent php proficiency test and most of my downfall was bitwise operators (the rest was array functions I’d never needed to use before and I’ll tackle that in another post).

So what’s all the fuss about?

Continue reading Bitwise or bit stupid?

PHPUK Part 3: Comedy, Chris and Closing

Who do you call… Myphp-busters!

Reeling out of Hank’s Microsoft talk I rushed to get a seat for my ‘must see’ talk of the day Myphp-busters: symphony framework. I’ve been dabbling with frameworks for a while as they seem to be becoming a vital tool to increase productivity (especially important for us freelancers) and aid collaboration and team-working by reducing ownership of code (ie. everyone has a better chance of following the code in that clever widget you just built).
Continue reading PHPUK Part 3: Comedy, Chris and Closing

PHPUK 2009 Part 1: Cutting edge and Community

I was really excited to find I was able to go to the PHP conference in London on the 27th February this year, following a fortuitous set of circumstances and I’m glad to say all my excitement was well founded!

It’s great to be part of such a large friendly community and I was really happy to catch up with folks I’d met at PHPNW and talk about the changes to our industry in the last few months. Despite a global downturn it appears that the world of php development is still above water and in some cases actively thriving. So to the talks…
Continue reading PHPUK 2009 Part 1: Cutting edge and Community

Displaying html code listings your blog

I’ve long admired technical bloggers who spout seemingly reams of code listings to illustrate and support their blog articles, whatever the subject.

My recent forays into testing html5 and reporting the findings has lead me to want to produce my own listings. Really simple I thought, just dump the plain text from the source between two <code> tags and hey presto, one listing. Um… No, not quite that simple. It works fine for css – it’s considered plain text unless found in the <head> of a document between <style> tags. Html, however, is more tricky as the browser wants to render it <code> tags or no <code> tags.

Veteran code geeks may laugh and point at my obvious stupidity but I can honestly say it was only after several frustrating minutes of forum searches that the doh! moment struck and I remembered html entities.

So for anyone else out there bashing their head on this seemingly simple conundrum here’s the solution:

  1. type or paste your html code into your favourite blog software between <code> tags
  2. change every & to &amp;
  3. then change every < to &lt;

If you fancy showing the line numbers as well you can always mark up each line as a line item <li> within an ordered list <ol>.

Simple – now I know that is…

… happy code listing!

Fixing footer styling

Happily I appear to have fixed the issue with footer styling as detailed in my last post. Oh to have such an easy answer to all my problems!

The addition of
to the css told the browser (in this case firefox 3.0.6) what sort of element <footer> is and therefore how it should be dealt with.
Result – display as originally expected:

screen shot of firefox 3.0.6
screen shot of firefox 3.0.6

Big thanks to Bruce and David for pointing out this simple but effective solution.

Do not adjust your set it’s just HTML5

I’m lazy by nature and the less I have to type to get something working the better. This is what attracted me to HTML in the first place: meaningful tags reducing the need for div-itis. Adoption by the browser manufacturers seems to continue at their own pace (whatever that really means) and in the mean time something I expected to look like this:

screen shot of firefox 3.0.6
screen shot of firefox 3.0.6

well lets just say, it just didn’t. Not good…

Continue reading Do not adjust your set it’s just HTML5

7 straight As in Networking‡

To succeed in this current time of economic instability you might be having to rethink your approach to bringing in freelance or employed work and this may be taking you into uncomfortable new territory. Some people are naturally happy with networking and we all feel at home amongst our peers, the PHP community is especially friendly and weloming. However, going out in person into the marketing, sales and networking world to get new leads may well be out of your comfort zone, it was certainly outside mine.

So in the spirit of the season, here are my secrets to getting 7 straight A grades in face to face networking to help us all out in the New Year.

Advance planning
You will always have a couple of days at least before a conference, lunch, dinner, exhibition, workshop, seminar or get together to plan ahead. Use this time to focus yourself, what do you want out of this oportunity. The first answer might be a long term goal such as ‘more work’ but this is your time to figure out the steps you need to get there.

Find out who else may be going. Organisers may provide registration lists or try asking who will be there who could be interesting to talk to. If you book on line some events have attendee lists availble only to other attendees. Websites advertising events sometimes have forums and there’s always Twitter. You may be sick of hearing about Twitter but it is the one service that is bridging the gap between the technically minded and the marketing inclined. Recruiters, C*Os and business decision makers will not be found on irc.

Think up your agenda: of those attendees, how many do you want to talk to? Don’t expect to be able to talk to everyone, if you want to get really useful information, you won’t have time. What do you want to talk about and more importantly what do you want to find out? The event will be your oportunity to find out more about companies you want to target, who is best to approach and how they like to be contacted. Chances are the people you meet won’t always be the real decision makers but they can get you in with who is.

Prepare to be disappointed. Some people will register to attend simply to support an event and give it higher profile. They won’t actually be there on the day, but they will have given an email address, telephone number or web address when they registered that you could use to follow up.

Think of a few answers to questions you might get asked; mine were: how long have you been doing what you do, what do you specialise in, do you work locally, what is the favourite part of your working day?

If you haven’t got business cards or a name tag, get them. Not all events are well enough organised to provide name tags. A business card in a plastic bag with a safety pin just looks tacky – I’ve kept my phpNW holder so I never have to do that again!


Nothing old, nothing new…
T shirts and well worn converse boots work fine for developers and designers most of the time but, sorry to state the obvious, in the world of the suit you can only get away with it if you are already established, famous and known as eccentric. Since none of us have really got there and if we had we wouldn’t have to go to these sorts of things, making an effort is required. If you are used to working in the t shirt with your favourite saying* don’t go for a suit.

Yes that’s right – no suits… There is nothing more destracting for everyone than someone not comfortable in their own clothes and shoes. Wear a shirt, something with a collar, maybe a jacket or tidy fleece but nothing new. A new shirt straight out of the pack full of starch will make you itch, and me just watching you. A tie you can’t wait to get off will distract you from your questions, your purpose and you won’t relax. No new shoes either, or the ones you only bring out for weddings and funerals. Many networking events involve several hours stood up: circulating, viewing stands and moving between tables. Party feet were made for us girls who like to wear heels (of any height). Get a pair, really, pain is no help to anyone.

Nothing borrowed, nothing blue…
You’ve got an agenda, you’ve thought about what you want to ask, you’ve got clothes you’re comfortable in, so how are you going to interact?

Firstly be honest, you might not show everyone everything about yourself but what you do say or do, make sure it’s you. When you do make a connection you will want to keep it up.

Secondly, be positive. You might not have everything you want, you might really need a new customer or freelance contact but you’re already on your way to getting that by choosing to get out and meet new people, or current people in new ways. You will learn positive lessons from just attending, even if it is just how to survive the experience. Don’t moan though, everyone will start it and the evening will turn sour meaning nothing moves forward and no help for anyone.

Lastly, relax! Everyone else at the event will have once started from scratch too, may be wishing they were somewhere else with people they knew or is just having a bad day – we are all human!

As I’ve mentioned, many networking functions are standing affairs, though there will be seats available for dinners etc. Conversations work best if you are on the same level as the ‘target’. As I’m short I already have a disadvantage with taller people who have to crouch to my level to hear me. If I’m sat down it’s doubly difficult. There is also an intimidation issue if talking to someone who is seated, they one may feel dictated to or not on an equal footing in the conversation.

Tips for body language: both can sit for longer talks and as a signal for less interruption, but there’s less chance to get away to see others. Both can stand for shorter chats but don’t be surprised if you are interrupted. Luckily, many lunches and similar events will allow time for one-to-one sessions to be booked after the main event when you can buttonhole people for longer.

As well as physically being at the same level as people, we all need to be mentally aware of the level of the conversation. Overly technical in the wrong context will cause that familiar glazed expression but obviously over simplifying your interests or technical skills can be patronising. I’ve heard lots of people beginning a new topic with “I’m not sure how much you know about…” It’s given me instant feedback and an idea of the level at which to pitch myself. It can even give you a name to follow up: Oh, I let Dave deal with all that… Is one I’ve heard.

All face to face meetings are for one purpose, to come away with more knowledge than at the start. Attention is really important to pick up these things. Listening to someone else’s story tells you a lot about them, the way they say things and what they don’t say.

Being open minded also helps pick up more information, always remember people frquently have more than one ‘hat’. I didn’t dose off while someone told me about how her pyramid scheme worked and so I remembered to ask what else she did (residual income can never really be full time). I would never have found out she was a recruitment consultant with colleagues who specialised in IT if I hadn’t asked.
It helps not to be drunk too, dosing off happens that much easier…

Ad lib and ask questions

So networking isn’t really about who you know, but about who they know. The people you meet won’t be able to solve all your challenges in one go, but they will know people who can. Asking the right questions can open doors such as Who else do you know here? Are there any more of us web designers here then? Is this a regular event for you? Are you based locally?

Once you’ve relaxed and got ‘into’ an event it’s quite easy to go with the flow and learn answers to questions you hadn’t thought about asking. Don’t forget the thread of your own agenda but enjoy adapting it as the evening progresses!

Accumulate cards and Act on them

Always ask for a business card. Give them by all means but this is an oportunity for you to get some control. They can stuff your card into a pocket or the goodie bag and forget it. If you have their card you can use that information to follow up and contact them, seems easy really but most people forget.

A networking event goodie bag is also a contact gold mine. All those people you didn’t get chance to talk to may have a leaflet, card or pen in the goodie bag. I have a new potential client that I’ve never even met because their leaflet was in the goodie bag.

So you’ve survived your first evening, lunch, dinner or exhibition, but the work has only just begun: phone, email, followup, thank or check in with every person you spoke to. Send that CV you promised, or a link to your portfolio, be as good as your word and continue to act on it.

So there you go, my secrets to surviving an event with the ‘suits’:
Do some advance planning,
Think about your appearance and the attitude you want to portray
Decide on how to approach potential allies
Give them your time and attention
Ad lib and ask questions for an evening that develops
Accumulate: knowledge, more questions for the future
and contact information you can act on.

Have a Merry Festive Season and a positive 2009!

‡(sorry not the hardware and cables type)
*success means not having to wear a suit

Confessions of a conference virgin!

Up until November 2008 I was a conference virgin: no jollies, no hotel booking panic and no development talks. As I’ve been self employed as a website developer for three years I decided it was about time to break the mould, invest the profits and head up to Manchester. Working from home with a small group of local customers can lead to an insular perspective and feeling in a rut, surely the best thing to do is get together with like minded professions? Of course, it seems so obvious but it still took me three years to get there!

So why did it take so long? The first thing most people think of is money; yes conferences can be expensive, but you can make it cheaper if you share cars, book buses in advance, go for b&b or find a friends sofa. Another usual barrier is picking the most relevant event to go to, there’s so many to choose from and some days they all seem to be in the US.

Actually my initial stumbling block was finding out about conferences in the first place. Reading the ‘right resources’ will give you a window onto the whole spectrum of geekups, barcamps, lugs, php*s, but what if you don’t know the ‘right resources’? Twitter helped, following everyone featured in the following list of respected friends was a good start and adding feeds such as Planet PHP and A List Apart to my RSS reader was a huge leg-up too.

So armed with the right information all I had to do was book and figure out how to afford it? Almost – I also had to get over the fear.

I dealt with a few assumptions:

1) I didn’t know anyone, (apart from the lovely person giving me a lift)

2) I didn’t know anything,

3) As soon as I opened my mouth I was going to make myself look a fool.

By following the excellent pre conference run up on twitter and the conference site itself I found out about other people who were going, what they were interested in or looking forward to and where they were travelling from. I picked out talks I wanted to go to and made time to go to the socials – quite easy as a freelance but planning ahead can also help make this possible for the employed too.

Forcing myself to speak to complete strangers brought me up against assumptions 2 and 3. In the end I found the simplest thing to do was to admit I didn’t know how much PHP I knew and say I was there to learn and meet people who knew more. Just let me say this was a good move! By being open to new ideas and admitting I didn’t know as much as I wanted to automatically I avoided looking too much of a fool. Not drinking too much on the Friday night helped but I cannot recommend enough the power of being honest.

I even got the chance to meet some of the speakers and kill an assumption I didn’t even know I had – they are all very approachable rather than the stuffy elitists I thought they might be.

Once I’d arrived and got over the Friday night social jitters it was time for the actual conference. Although I’ve not been to an event like this before, I’ve heard plenty of horror stories: lost registrations, badly signed venues, schedules run amok and tedious talks. I’m so pleased to say PHPNW08 was none of that!

The whole venue was well signed – from street to seat, the registration staff and crew were friendly and helpful. the schedule was clearly posted and appeared in the goodie bag. Talks started on time and were thoroughly engaging. Sadly, some talks (particularly the HTML to Drupal ) had little time for questions but everything I attended was well worth going to. If anyone is interested there is a list of the talks I attended at the end of the article.

It was a very full day of intense concentration punctuated by fresh air and coffee but unbelievably worth it. The talks weren’t the only reason for going of course, I wanted to make contact with members of PHPWomen in real life, find out who on earth the talented and vocal LornaJane is, take a look at exhibition stands, complete a brainbench test, see a demo of the Zend framework, talk to recruiters and even come home with offers of new work! Completely unrealistically long list of things to achieve as it turns out 🙂

I have come away from my first conference with a whole new raft of assumptions:

– I don’t know as much as I want to about PHP, MySQL, HTML5, frameworks, testing, security….

– There are loads of resources out there on the web and in my local area to learn more or meet up with geeks like me such as PHPWomen, phpWM, whatwg, and freelance switch.

– I didn’t miss out on everything just because I wasn’t glued to irc all day

– Freelancing is a wonderful way to work

– I’m actually more of a front end developer

– Women can get exactly where they want to in the industry with hard work and determination (just like anyone else) Lorna and Johanna are just two of the successful developers that I had the chance to meet.

– The absolute best way to kick yourself out of a jaded rut is to get out and meet people, go to a conference, geekup, barcamp, php group in your area (or out of your area for a change)

– phpNW08 was the best choice for a first conference, no question. It was well run, open, friendly, and fired up my enthusiasm for the community and industry where I now feel at home.

I owe all that to the fabulous people behind PHPNW08, organisers and sponsors. A huge thank you to Jeremy (phpcodemonkey) for taking the gamble, the crew for keeping it all running so smoothly, Lorna and Johanna for inviting me into the PHPWomen fold, Smylers for being unfailingly enthusiastic and to Stuart for driving.

I attended (and surprised myself by understanding):

Welcome Keynote: KISS (Keep It Simple, Stupid)
Derick Rethans

Highlighting techniques we all forget in the great web2.0 takeover such as URLs that make human sense and the real place for spaghetti

First Steps with Zend Framework
Rob Allen

An excellent introduction to a sensible alternative to Notebook ++ and indicated just how much I don’t know about frameworks and php development.

From HTML to Drupal in 30 minutes
James Panton & Chris Maiden

A brave and successful live coding based talk that embraced visual teaching rather than discussing abstracts. I’m still not sure about Drupal but I liked the approach.

HTML 5: What’s that all about?

Hugely energetic and enthusiastic talk by someone who knows and obviously feels passionately about their subject. Most of my post-PHPNW research so far has been around HTML5, standards and CSS.

Twittex: From idea to live in 7 days

As a freelancer I find I also need to know about the commercial world, cost, promotion and planning. It was great to hear about the development of a new service in the wider business context.

This article can also be found on the PHP Women site at