Death and taxes?

To quote Benjamin Franklin, “‘In this world nothing can be said to be certain, except death and taxes.”

Recently I’ve been running more than usual, as part of my preparation for the London Marathon in April. Combined with my new-found healthy lifestyle – alcohol-free, smoke-free and largely low-GI – this has left me feeling as healthy as I have in a decade. In many ways I think I am probably fitter now, at 43, that I was when I got married at 30. As a result of this I have been spending some time this week looking at the subject of longevity.

There are a number of online resources which make a prediction of longevity based on a number of lifestyle factors. The projections are based on calculation similar to those made by an actuary in assessing the degree of risk implicit in offering life insurance. As a starting point I measured my projected longevity using a number of these longevity calculators, with encouraging and to be honest quite surprising results: the longevity calculator at livingto100.com gives me a projected lifespan of 94 years, while the one at nwmf.com projects 91 years. Having given up smoking and drinking and taken up regular exercise the only major lifestyle changes I can make which will influence my longevity seem to be to reduce my weight to within the normal BMI range, and to reduce my exposure to stress. I’m already watching my weight quite carefully and as a result of the level of exercise I’m currently doing I seem to be moving slowly but steadily toward my current target weight of 192 lbs, which would give me a BMI just within the normal range. As far as stress is concerned I’m a fairly chilled kind of guy – and improving my time management skills will probably eliminate a lot of the stress that I currently bring on myself.

So, it would seem that I’m doing quite a lot of things right in terms of trying to live a long and healthy life. Can I do better, and is the trade-off between possible benefits against quality of life worth it?

The consensus of scientific opinion seems to favour the opinion that as a species the maximum lifespan of a human is about 120 years. In other words, however well you look after yourself, or however lucky you are, 120 is the absolute maximum age you can hope to attain.

The only proven way to extend this maximum lifespan (and even then only conclusively proven through studies of other species) is through calorie restriction. Quite how calorie restriction lengthens lifespan remains the subject of some conjecture, but in the case of rodents and primates at least it does seem to work. The downside to calorie restriction, for me in any case, is that it is not particularly compatible with high levels of exercise. For the time being I intend to maintain my current healthy lifestyle and re-evaluate my approach to calorie restriction once I am within the normal BMI range.

Death and taxes? I’m favouring an approach that includes biogerentology and compound interest.

More to come…

All that glitters is Chrome

google_chrome_web_browserI encountered Google Chrome in use for the first time at a meeting with a potential new web design client yesterday. Chrome is a newcomer to the browser wars, but however it measures up to the opposition with a market share of around 4% it now justifies being included when checking cross-browser compatibility. Safari, for example, only commands 3% of the browser market.

The potential client praised it’s ease of use and speed, but this was a man who boasts about spending £1000 a month on Google Adwords while expressing no interest in achieving organic search engine results by optimising his website. And who hosts his own websites on his office server. So at the moment the jury is still out on Chrome until I’ve had a chance to do some more research and drawn my own conclusions.

In Search of the Holy Grail

The Holy Grail, in web design terms, was first defined for me in an article on A List Apart:

“Three columns. One fixed-width sidebar for your navigation, another for, say, your Google Ads or your Flickr photos—and, as in a fancy truffle, a liquid center for the real substance. Its wide applicability in this golden age of blogging, along with its considerable difficulty, is what has earned the layout the title of Holy Grail.”

This is in fact the design layout that had already come (independently) to epitomise my own design ethos, by offering each viewer a site which fits into the screen area available. In most cases it remains so. However, both web standards and technologies are constantly evolving and it is necessary for the layout to evolve with them.

Like most enlightened designers the twin tenets of my design philosophy are accessability and usability. My personal interpretation of these is to provide the best user experience to the widest possible audience, where that audience comprises the target market of the website in question. To do this I look at industry statistics such as those provided by the The World Wide Web Consortium (W3C) to determine the requirements of my target audience both now and in the near future. It is impossible to future-proof a design, but by analysing trends a designer can maximise the longevity of a design.

In terms of browsers I currently design for Internet Explorer 6 and 7, Firefox, Safari and Opera. Where conflicts arise in terms of cross-browser compatibility I go with the majority in terms of audience which as of October 2008 favours Internet Explorer (IE7 26.9%, IE6 20.2%) and Firefox(44.0%). Current browser statistics can be referenced at W3 Schools, although it is important to bear in mind that visitors to W3C may tend to be more sophisticated than the “average” user in terms of browser choice.

*This article is very much a work in progress and I will continue to update it as time allows.

Happy birthday Generation X Computers…

My web design and development company, Generation X has just celebrated its fifth birthday. It is difficult to pinpoint the exact moment when it was born…the name Generation X Computers was first conceived back in the mid-90s, when I was selling computers and software for LSI Computers in Warrington. However it was only around 2003 that I began to write HTML and discovered a real passion for web design.

I registered the domain Generationxcomputers.com on the 9th October 2003, and registered Generation X Computers Ltd as a limited company the following week on the 14th October. For the purpose of an official birthday I’ve decided to go with the latter. It was actually a few months later on the 5th April 2004 that I took the plunge and officially became a full time web designer.

It would have been nice to have relaxed and celebrated, but this week has flown by in a blur of late nights and pressing deadlines. Even at 5, Generation X is still a demanding child. And rather like the soul-searching that comes when a child reaches school age, it is a good time to look back… and forward.

Established wisdom has it that UK start-ups have a failure rate of over 50% in their first two years. Depending on the statistics you read small business failure rates are anywhere between 30% and 90% within the first 3-5 years. More specifically, 2007 research by accountancy firm UHY Hacker Young highlights annual failure rates of 8.9% for businesses in the Marketing Services Industry, and 6.3% for those in IT services…so Generation X must have been doing something right. However, I’m happy to admit that we also have a lot of lessons to learn and apply over the coming years.

The Times 100 website, for example, lists 10 common reasons for business failure:  poor marketing, cash flow problems, poor business planning, lack of finance, failure to embrace new technologies and developments, poor choice of location, poor management, poor human resource relations, lack of clear objectives and particularly in the case of .com start-ups the difficulties encountered in building a brand in competition with more established brand names. I think that we can improve in at least 7 of these areas in our next 5 years.

In particular, I feel that time is long overdue to look at the issues of business planning and marketing. In times of global crisis I count myself fortunate to have a full order book with enough work to see me into 2009. However, it also seems a portentous time to focus on the future. In particular I plan to develop the Generation X brand in Shropshire, Cheshire and the Midlands, expanding our focus into marketing and graphic design as well as web design and development. I also have the infrastructure in place to develop the web hosting and domain registration side of the business.

Anyway…Happy Birthday to me!

The Withnail and I drinking game

Unfortunately, or on consideration perhaps not, I only found the rules for this particular drinking game after I’d become middle-aged and caught sobriety in a big way. I categorically reserve the right, however, to consult this post when I next catch up with my oldest and dearest friend.

Hi, Chris 😉

This is a drinking game associated with Withnail & I, popular amongst fans. The game consists of keeping up, drink for drink, with each and every alcoholic (and other) substance consumed by Withnail and Marwood over the course of the film.

Most players may simply drink their beverage of choice regardless of what the characters consume, though this is viewed by the more “hardcore” Withnail & I fans (and I have always considered myself a hardcore fan) as an “easy way out.” All told, Withnail drinks roughly 9 1/2 glasses of red wine, 1/2 pint of cider, 1 shot of lighter fluid (vinegar or overproof rum are recommended substitutes), 2 1/2 shots of gin, 6 glasses of sherry, 13 whiskeys and 1/2 a pint of ale. Seeing as the whiskey alone would be more than enough to necessitate a trip to hospital for most people, few people, if any, keep pace for the entire film.

The Withnail and I drinking game is played while watching that film, and involves matching the title character drink for drink. Note that only consumption visible on screen is counted – while we may know that, for instance, Withnail has just finished a pint of beer there is no need to join him in it if we didn’t see him drink it. For planning purposes, a complete list of everything that passes Withnail’s lips on screen is presented below. Since drinks of different types sometimes follow in quick succession, in order to keep up it will probably be useful to keep a “buffer” of the next few drinks ready to go at all times.

• mouthful of red wine
• “Lighter fluid” (eg overproof rum)
• double gin
• finger of cider (with ice)
• finger of cider (with ice)
• finger of cider (with ice)
• glass of sherry
• two big chugs of sherry
• mouthful of sherry
• sip of sherry
• double whisky
• mouthful of whisky
• mouthful of whisky
• mouthful of whisky
• mouthful of whisky
• splash of whisky
• single Teachers
• double Teachers
• double Teachers
• single Teachers
• sip of sherry
• three fingers of ale
• sip of red wine
• gulp of sherry
• small glass of red wine
• sip of red wine
• half glass of red wine
• sip of something white (gin & bitter lemon?)
• sip of red wine
• sip of red wine
• gulp of red wine
• gulp of red wine
• finger of red wine
• finger of red wine
• gulp of red wine (“’53 Margaux”)
• gulp of red wine (“’53 Margaux”)
• gulp of red wine (“’53 Margaux”)
• gulp of red wine (“’53 Margaux”)

40 tips for good English

1. Avoid alliteration. Always.
2. Never use a long word when a diminutive one will do.
3. Employ the vernacular.
4. Eschew ampersands & abbreviations, etc.
5. Parenthetical remarks (however relevant) are unnecessary.
6. Remember to never split an infinitive.
7. Contractions aren’t necessary.
8. Foreign words and phrases are not apropos.
9. One should never generalize.
10. Eliminate quotations. As Ralph Waldo Emerson said, “I hate quotations. Tell me what you know.”
11. Comparisons are as bad as cliches.
12. Don’t be redundant; don’t use more words than necessary; it’s highly superfluous.
13. Be more or less specific.
14. Understatement is always best.
15. One-word sentences? Eliminate.
16. Analogies in writing are like feathers on a snake.
17. The passive voice is to be avoided.
18. Go around the barn at high noon to avoid colloquialisms.
19. Even if a mixed metaphor sings, it should be derailed.
20. Who needs rhetorical questions?
21. Exaggeration is a billion times worse than understatement.
22. Don’t never use a double negation.
23. capitalize every sentence and remember always end it with point 25.
24. Do not put statements in the negative form.
25. Verbs have to agree with their subjects.
26. Proofread carefully to see if you words out.
27. If you reread your work, you can find on rereading a great deal of repetition can be avoided by rereading and editing.
28. A writer must not shift your point of view.
29. And don’t start a sentence with a conjunction.
30. (Remember, too, a preposition is a terrible word to end a sentence with.)
31. Don’t overuse exclamation marks!! Ever!
32. Place pronouns as close as possible, especially in long sentences, as of 10 or more words, to their antecedents.
33. Writing carefully, dangling participles must be avoided.
34. If any word is improper at the end of a sentence, a linking verb is.
35. Take the bull by the hand and avoid mixing metaphors.
36. Avoid trendy locutions that sound flaky.
37. Everyone should be careful to use a singular pronoun with singular nouns in their writing.
38. Always pick on the correct idiom.
39. The adverb always follows the verb.
40. Last but not least, avoid cliches like the plague; They’re old hat; seek viable alternatives.

My first marathon

On Sunday I ran the Anglesey Marathon. We and some friends – my running partner Graeme and his family – rented a cottage and made a bit of a weekend of it. Jude and I used to visit Anglesey quite often around the time we got married, but I’d forgotten just what a beautiful island it is. On Saturday we all visited Newborough beach, and after eating a lunch of fish and chips by the sea we went swimming. It was a bit on the cold side, but it was such a warm sunny day we couldn’t resist the lure of the waves.

The marathon itself, on Sunday morning, was a really good experience. I had already heard that the course was quite hilly and that proved to be the case. Graeme and I had driven around the course on Saturday but what had seemed quite gentle inclines from the comfort of the car proved somewhat more daunting after 20 or so miles of running.

 I started much too quickly, clocking a sub-8 minute second mile, and paid dearly later on. My Garmin 305 began to play up – on this of all days – at around the 7 mile mark and from then on in I just had to keep going at what seemed a realistic pace. From about mile 12 I began to tire, and it became a real struggle as I hit the serious hills from mile 23 on. I was briefly reduced to a walk, but then fell in behind a girl who was relentlessly slogging up the hill and managed to keep going in an “if she can, I can” kind of way.

I finished with a chip time of 4 hours 21 mins and 6 seconds – slower than I’d hoped but pleasing nevertheless. Graeme and I hope to return next year to see if we can better our times and to enjoy another lovely weekend in the country.

Add a link to a .swf file

As part of my ongoing work for a client I sometimes update their home page using a Flash .swf file provided by their corporate marketing department. In order to improve user navigation I have been looking for way to add a link from the swf file to specific content within my client site. However, I don’t have access to the .fla source file, and can’t therefore simply update the actionscript within the Flash movie.

Initially I had simply hoped to add an <a href=”link.html”> style link around the swf object. However, searching in Google, the established view seems to be that it is impossible to add an html link to a .swf file without access to the source.

In web design and development, if not in other aspects of life, my mantra is always to find a way, so I started to think a little more laterally. My solution is to place a layer over the Flash file, containing a transparent image, linked to my target. I’ve tested this solution in IE7, 6, 5.5, Firefox 2 and Opera and I’m delighted to report that it seems to work.

The code which inspired my original implementation of this technique was found on a Hawaiian web design company website, and whilst I intended to add details of my exact implementation here, time has defeated me so far. Therefore I’ve added their code below until I get a chance to document my own.

1. First add the wmode parameter transparent to the flash object that is going to be embedded.

Like so…  <param name=”wmode” value=”transparent” />

(note:) If you are using the swfobject.js method to embed your flash files (recommended) you can add the transparent parameter by simply using the example below to append to your current setup:

<script type=”text/javascript”>
var so = new SWFObject(“movie.swf”, “movie”, “700”, “300”, “#ffffff”);
so.addParam(“wmode”, “transparent”);
so.write(“flashcontent”);
</script>

 

2. Now wrap the flash movie in its own div tag and and apply some css so that we can set the position to be below the header text and description div.
(See example below for xhtml and css code.)

<div id=”header”>

<div id=”flash”>flash file goes here.</div>

</div>
And the accompanying css for the above is:
(note the z-index and absolute position for #flash div)

#flash {
width: 700px;
height: 300px;
position: absolute;
z-index: 0;
}

#header {
height: 300px;
margin-bottom: 30px;
text-align: left;
}

3. Ok, now lets go ahead and set up the html layers that will be displayed displayed above our flash content. In this case it will be an h1 header and a description that is in its own div that is above the flash media.

(Two items to be positioned over the flash movie)

The h1 css is: (note: feel free to style it however you want or use a different tag, the important thing is the z-index and absolute position.

h1 {
padding-top: 15px;
padding-bottom: 15px;
margin-left: 10px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 24px;
color: #666666;
font-weight: bold;
position: absolute;
z-index: 1;
}
Now for the description css which is going to be in its own div tag containing text and will be positioned above the flash element as well: (note the z-index and the absolute position again)

.description {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 9px;
color: #FFFFFF;
margin-left: 15px;
margin-top: 35px;
padding: 5px;
font-weight: bold;
line-height: 14px;
position: absolute;
z-index: 1;
}

4. Thats it, the finished code in the body of a web page will look like this:
(note: Code is placed in the header div which has no z-index or absolute position necessary)

<div id=”header”>

<div id=”flash”>flash file goes here.</div>

<h1>Heading Text</h1>
<div class=”description”>Your description text</div>

</div>

And the final accompanying CSS is:
h1 {
padding-top: 15px;
padding-bottom: 15px;
margin-left: 10px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 24px;
color: #666666;
font-weight: bold;
position: absolute;
z-index: 1;
}

.description {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 9px;
color: #FFFFFF;
margin-left: 15px;
margin-top: 35px;
padding: 5px;
font-weight: bold;
line-height: 14px;
position: absolute;
z-index: 1;
}

#flash {
width: 700px;
height: 300px;
position: absolute;
z-index: 0;
}

#header {
height: 300px;
margin-bottom: 30px;
text-align: left;
}

HTML Layers and Flash Position Summary:

How to layer a Flash movie below another html div tag or layer.

To position a flash movie under another html element basically you just need to give the flash move a parameter of wmode transparent and position it absolutely with a z-index of 0. Do this by putting the flash object in its own div and using css. (see examples above)

For the items that you would like positioned above the flash movie set their z-index to 1 and position them absolutely as well. After that it’s just a matter of putting it all in the div or container that you would like applying the css and adjusting the margin and padding to your specific needs.

Domain junkie?

As much for my own reference as anything else I feel I should compile a list of my current domain portfolio, both in development, and  published. Hopefully this might act as a reminder not to buy any more until I’ve progressed some of these as projects. Well, maybe just one more…

www.designcheshire.co.uk – Project: Web Design Cheshire

www.designmidlands.co.uk

www.designshropshire.co.uk

www.ellesmere.me.uk

www.genealogybookshop.co.uk

www.generationx.it

www.generationxcomputers.co.uk

www.generationxcomputers.com

www.generationxhosting.co.uk

www.generationxinternet.com

www.hibbott.com

www.inventiveinnovations.com

www.languagetolife.com

www.mummycool.co.uk

www.mummycool.com

www.mummywear.co.uk

www.mummywearmaternity.co.uk

www.mummywearmaternity.com

www.myonlineguide.co.uk

www.shropshireholidaycottage.co.uk

www.specialistbookshop.co.uk

www.specialistbookshop.com

www.thestartupbusiness.co.uk

www.ukpta.co.uk

www.ukpta.com

www.ukpta.org

p.s. Like all addictions I needed just one more fix, and www.languagetolife.com is it.

I’ll blog seperately and in more depth on my plans for the development of the names above soon. In the meantime if you want to make me an offer…

Ellesmere Triathlon Results

Ellesmere Triathlon 2008In spite of my somewhat sporadic training, the triathlon went rather better than I had realistically expected or hoped. My total time was just over 3 hours, with my split times as follows:

Swim, including T1 35:49

Cycle, including T2 1:25:50

Run 59:25

Total 3:00:04

It was a fantastic day, with ideal weather conditions, and I really enjoyed the race. My intention now is to concentrate on my running for the remainder of this year with a view to entering a sprint (probably Oswestry) and another Olympic triathlon (hopefully Ellesmere) next year. I’m planning to keep up my cycle and swim fitness with one session of each every week and hope be able to shave (at least) the extra 5 seconds off to complete my next Olympic under the 3 hour mark!

Full results can be viewed at http://www.tri247.com/results_5225.html

Scroll to top