CSSAfter a little flurry of activity last Christmas the updating of my web development skills has been slow for most of the rest of the year.

But I’m currently running…err…at least 4 small web-based projects at the moment, so I decided to invest in some web hosting to get some prototype sites actually up onto the ‘net.  I’ll probably host this blog there eventually too, with all the benefits and flexibility that come with hosting your own WordPress install.

Internet Reviews

Now, I have another post in my head titled “How to do an Internet Review”; maybe that’s for another day, but the premise will be that internet reviews of anything are either by people who are so completely in awe of the product that it’s worth 5 stars, or people who’ve had a problem and therefore thing it’s the worst thing in the world and so worth zero stars and lots of use of the words “suck”, “sucks” and “sucky”.  Such reviews have made objectively choosing a host difficult.

Hosting Requirements and Recommendations

My requirements for a web host are basically that I need lots of php, domain name, and MySQL flexibility at low cost and, preferably, on a month-by-month contract while I try things out.  I can see the benefits of having limits on storage and data transfer – this will put off people who just want to waste server resources and probably make for a speedier service.

I also really wanted a UK-based host – because it would make for localised support and less trans-atlantic lag, while helping out the UK economy (a LITTLE!!)

With internet reviews being mostly very unhelpful I Tweeted for recommendations and was surprised to only get one.  But the company looked good, met the requirements and allowed me to sign up for a month at a time.

DNS woes

Once up and running I then had to delve into the world of DNS, subdomains, add-on domains, CNAMEs, MX records, virtual hosts, domain transfers, and…err…other stuff.  I know about all this, but it’s been a while since I practically did anything with it, so it took a bit of refreshing.  Plus, you’re playing with the real live internet when you’re doing this and I didn’t want people’s email and websites going off line, so I was doing things cautiously.

I think it’s worked out that I understand things better then the hosting company’s support team – who are quick but don’t seem to really read what I’ve asked of them and understand my problem.  It’s been difficult to convince them of what needs to happen, but I think we’re getting there.  Currently the host does NEARLY all that I need it to, but not quite.  If their support team can turn around adding me a new domain that’s hosted with them but DNS-managed elsewhere then I’ll be happy.

CSS complications

With that all sorted I could turn to doing some web-page mock-ups for one of my apps.  I’ve moved on a bit from when I was Debugging the Borders, but I still find CSS awkward to use.

When I was a software engineer we used to say that the engineering principles were the key skill and that languages were like tools.  What’s important for a woodworker is knowing how to build things out of wood.  What type of plane or screwdriver you use is almost irrelevant.  And to a well-trained software engineer a new language is like a new type of screwdriver, it’s a tool that you use to apply the engineering principles and can be learned and applied quickly.

However, as I previously wrote, HTML and CSS aren’t really programming languages and so don’t fit with an existing paradigm in my head.  It’s not just another type of screwdriver – it requires learning a new set of principles and practices.

In the past I’ve just applied what little CSS I know in a fairly unstructured fashion.  But what I really need to do is learn CSS from first principles and see it applied by others to get to grips with it.  I need to understand “non-replaced elements”, “block-level layouts” and “selectors” and how these, and other things, fit together in “the cascade”.

In the meantime, does anyone know how to left-align text in a centre-aligned box?