Table cell min-height in Firefox
This week I came across a couple of cross-browser css quirks that I’d never seen before (I guess because I’d never needed to implement the elements that caused them). One that really stood out was the way that Firefox handles height values on table cells differently to other browsers.
Most browsers use the normal ‘content box’ model to render table cell content (some slightly differently, and we have all had to deal with these box model quirks over the years), but Firefox uses the ‘border box’ model. You can see a group of examples on Bruno Fassino’s site.
Simply put, it changes the calculation of the total rendered height of the table cell. So setting a height of 130px and a border of 5px means that the cell will be rendered as 140px in Firefox but 130px in every other browser. Bah!

It also ignores min-height values, and treats height values as min-height instead.
There is a CSS3 property called box-sizing, that allows you to specify which model you want to use, but that changes the model for the width as well, which causes some more issues for width calculations.
Solutions
There are a couple of solutions to get round this if you need a whole row of table cells to be a certain height, but don’t want the hassle of working out widths (if you use the box-sizing css3).
1. Find a cell on the row that contains a fixed height element (e.g. a button, or a title you know won’t change in length), and set top and bottom padding on that to get what you need.
2. Or, if you don’t have a fixed height element, then you can add a div around the contents of a table cell and set the min-height on that.
Simple fix, but it took me a good bit of poking around to find the reason for the quirk, I hope it helps someone else.
Freelance or Freelancer?
I’ve been reading a few freelancer blogs for a couple of years, and although I’ve found much of their advice useful, it seems like a lot of their posts are focused on the stay-at-home freelancer that is trying to build up a decent list of regular client. There doesn’t seem to be much for the contract freelancer that works in slightly longer term roles at a clients offices.
In the IT support world, the separation is more apparent — you’re either a company trying to gain multiple clients and grow your business, or you’re a contractor that moves from role to role (usually).
I guess I’d like to pass on some of my experience as an IT support contractor, a stay at home freelancer, an employer of freelancers (in a permanent management role) and now a contract freelancer in web development myself.
It’s all about your professional attitude
When I was employing freelancers on a regular basis, I was often shocked at some of their attitudes (and sometimes their aptitude) when they arrived at the studio. Over a few years I met a range of scruffy, uninterested, half asleep developers that were more interested in putting their personal view across (or playing online games) than getting some work done. Of course I also got to work with some folks that were awesome, switched on and made their presence missed when their time on a project was over.
Add some value
There are some key things you can do to make yourself valuable to a team, and make a positive impact on the people you work with:
Keeping positive
It’s not about being the most hyper and cheery person in the room (that can get very old, very quickly). It’s more about keeping positive about any task that you’re set, and being positive that you can help get things done in the right way. This means that you’ve got to know your stuff, and can be confident that if you don’t know the answer to a problem, you can use your skills to work it out. The wrong way to deal with dull tasks is to argue, or even sulk about it (worryingly, I’ve seen this more than once).
Being awake and alert
This may be obvious to most people, but turning up to a freelance gig yawning, not paying attention, or being distracted by other things is a sure fire way to annoy the person who is employing you. You’re there because they need your skills, and they are likely to get frustrated with someone who acts like they’re just another ‘bum on a seat’.
Remember you’re there to help
If you’ve seen a clients problem or issue happen before, and you can contribute in a meaningful way, then make sure you do so (but remember to be tactful). If you see some team members going through the ringer trying to fix an issue that you can solve, and you stay quiet, but let them know after they’ve fixed it, you’re not going to win any friends.
Make sure your skills are better than average
As a freelancer you need be at the top of your game. No excuses. If your skills don’t justify your wages, why should someone employ you? Don’t be a big head tho, another way to lose friends is to try and tell everyone you know everything. If you do know a lot more than the people around you, then introduce your knowledge gently. No one likes to be made to feel like they don’t know what theyr’re doing. And remember to soak up your environment like a sponge: if you get the chance to work in a new methodology, or technology, then learn as much as you can about it while you’re there.
Be sensitive to other people
This is something that came up very recently on a contract for me, but remember that how you see the world is not necessarily the way that everyone else does. Try to be aware that phrases you use might not fit in with the company environment (I’m not talking about swearing here), and without fail be ready to admit that you might be wrong and apologise where necessary.
Don’t mention the money
It goes without saying, but you should never talk about your rate, or the money you earn each year. It’s boring for a start, but it can also unsettle people who might otherwise be happy with their job, and possibly make them resent you. Freelancing isn’t a popularity contest, but it helps if the people you work with enjoy working with you.
I’m sure there’s a few more things that I’ve forgotten, but hopefully this will help someone out.
Are white cars the new cool kid?
I remember that when I was a kid, I hardly saw any white cars on the road. And when I did they were beaten up old rust buckets spewing out power station style smoke out the back.
Just recently I wandered past the BMW garage on Park Lane, and spotted a beautiful M3 coupe in gleaming white. I’ve since seen the same model in various colours, but none seem to show off the lines and shapes in the car’s design as well as the white version. Maybe its the shading caused by the sweeping lines down the sides, or the way the hump in the middle of the bonnet hints at the power below, but it really is standing out as a beautiful car.

Even BMW are using the white model in their advertising and promotional material.
Another stunning white car is the Audi A5, just as visually appealing as the BMW, and for the same reasons: the lines seem to be accentuated by the colour.
Even white used cars seem to be just as popular as other colours these days — Autoquake, labeled as the UK’s largest online used car retailer, found that searches on their site for white cars were almost equal to red, grey and blue (5% compared to 6.6%, 5.7% and 5.3% respectively). However Black and silver are still the leaders (at 65.9% and 11.5% respectively).
As far back as 2008 car makers were starting to see the differences in sales of white cars — apparently sales of white cars increased by more than 60% the previous year.
All the stats are interesting, but I think from a visual point of view current car design really suits a coat of white.