Monthly Archives: August 2008

A visit to the National Motorcycle Museum

Yep, it’s Dad boring the poor kids senseless with the absolutely wonderful National Motorcycle Museum; we live that close that we’ve been so often they’ve only just let me take them there again…

If you like Bikes, no scratch that, if you *LOVE* bikes, then it’s definitely the place for you.

www.flickr.com


And that’s right, I’ve tagged this ‘Heaven’.

Microsoft’s very public “Blue Screen of Death” crash out at the Beijing Olympics

First reported by RiverCoolCool on his blog: http://rivercoolcool.spaces.live.com/blog/cns!D6F05428A2B8CB48!1570.entry

Then by Gizmondo: http://gizmodo.com/5035456/blue-screen-of-death-strikes-birds-nest-during-opening-ceremonies-torch-lighting

Now it’s at the Register: http://www.theregister.co.uk/2008/08/13/olympics_blue_screen_death/

But what’s genuinely amusing about this is the comments that are coming up, they range from the obvious to the really quite odd.

There are the standard comments lambasting Microsoft, but I think these should be disregarded; basically because they are boring in the extreme and especially given how interesting some of the other comments are.

Comments at the Register can be found here: http://www.theregister.co.uk/2008/08/13/olympics_blue_screen_death/comments/

The comments seem to be breaking down into a number of camps:

  1. The “Are they genuine?” camp
    There’s the camp that are questioning if the images themselves are real, or if they’ve been “photoshop”ed.
  2. The “Is it a hooky copy of MS Windows?” camp
    Plenty of people seem to be questioning if these are valid versions of Windows. Now this is just disingenuous; by implication (and directly, sadly, such as “it is in China after all”) it is being insinuated that this is what should be expected of China. I think this is pretty base, and hope it receives the contempt it deserves.
  3. The “Is it a Hardware error?” camp
    This group state that it’s a hard ware error that no OS could have responded to. Many add that at least you get this specific H/W error message with Windows.
  4. The “Have Microsoft done this on purpose ?” camp
    Now really this is like coming home to find that the life has turned into Bizarro World. Some of these conspiracy theorists note that one of the blogs in question is “supported” by Microsoft, others suggest that it is a ploy to get people to upgrade and move from XP to Vista.

Frankly what’s so very wrong with the idea that the pictures are genuine, that it is a valid copy of Windows, that there hasn’t been a hardware error, and that, just perhaps, software goes wrong occasionally?

It just takes a little application of Ockham’s Razor to see the truth here.

No outbound Twitter SMS for Europe, the UK and, frankly, most of the World

I received the following email this morning, apparently they’ll be no more outbound Twitter SMS for Europe, the UK and most of the rest of the World. The only countries to be keeping the outbound SMS service are Canada, India, and the US. Apparently it’s all down to the charges that our mobile network operators charge us for SMS delivery, which initially Twitter had been subsidising, however they can’t afford to do that any more and have begun to “rein in the cost” by disabling the service. I can’t blame them, however I think it’s a shame that they set a precedent by enabling this functionality, only to take it away.

Oh, and good luck to them as they “negotiate with mobile operators in Europe, Asia, China, and The Americas” but I can’t see this service coming back any time soon. And I wonder how long it will be before people are trying to find a way round this decision, potentially by spoofing a US, Indian or Canadian address, given that each of the solutions they have suggested have a cost to the user (either to deliver the SMS itself or to contribute to the datalink to the WAP service).

Changes To Twitter SMS

Hi,

I’m sending you this note because you registered a mobile device

to work with Twitter over our UK number. I wanted to let you

know that we are making some changes to the way SMS works on

Twitter. There is some good news and some bad news.

I’ll start with the bad news. Beginning today, Twitter is no

longer delivering outbound SMS over our UK number. If you enjoy

receiving updates from Twitter via +44 762 480 1423, we are

recommending that you explore some suggested alternatives.

Note: You will still be able to UPDATE over our UK number.

Before I go into more detail, here’s a bit of good news: Twitter

will be introducing several new, local SMS numbers in countries

throughout Europe in the coming weeks and months. These new

numbers will make Twittering more accessible for you if you’ve

been using SMS to send long-distance updates from outside the UK.

Why are we making these changes?

Mobile operators in most of the world charge users to send

updates. When you send one message to Twitter and we send it to

ten followers, you aren’t charged ten times–that’s because we’ve

been footing the bill. When we launched our free SMS service to

the world, we set the clock ticking. As the service grew in

popularity, so too would the price.

Our challenge during this window of time was to establish

relationships with mobile operators around the world such that

our SMS services could become sustainable from a cost perspective.

We achieved this goal in Canada, India, and the United States.

We can provide full incoming and outgoing SMS service without

passing along operator fees in these countries.

We took a risk hoping to bring more nations onboard and more

mobile operators around to our way of thinking but we’ve arrived

at a point where the responsible thing to do is slow our costs

and take a different approach. Since you probably don’t live in

Canada, India, or the US, we recommend receiving your Twitter

updates via one of the following methods.

m.twitter.com works on browser-enabled phones

m.slandr.net works on browser-enabled phones

TwitterMail.com works on email-enabled phones

Cellity [http://bit.ly/12bw4R] works on java-enabled phones

TwitterBerry [http://bit.ly/MFAfJ] works on BlackBerry phones

Twitterific [http://bit.ly/1WxjwQ] works on iPhones

Twitter SMS by The Numbers

It pains us to take this measure. However, we need to avoid

placing undue burden on our company and our service. Even with a

limit of 250 messages received per week, it could cost Twitter

about $1,000 per user, per year to send SMS outside of Canada,

India, or the US. It makes more sense for us to establish fair

billing arrangements with mobile operators than it does to pass

these high fees on to our users.

Twitter will continue to negotiate with mobile operators in

Europe, Asia, China, and The Americas to forge relationships

that benefit all our users. Our goal is to provide full, two-way

service with Twitter via SMS to every nation in a way that is

sustainable from a cost perspective. Talks with mobile companies

around the world continue. In the meantime, more local numbers

for updating via SMS are on the way. We’ll keep you posted.

Thank you for your attention,

Biz Stone, Co-founder

Twitter, Inc.

http://twitter.com/biz

New Sun and SCC Partner Website

Check out the new Sun / SCC partner website here: http://www.scc-sun.com

Specialist Computer Centres (SCC) are one of Sun’s main partner organisations in the UK and you can learn more about them, and Sun UK’s reseller partners here: http://uk.sun.com/aboutsun/contact/partners/

This has been out a little while now, but I wanted to make sure I brought it to your attention. There’s no nepotism here, even if SCC are based in Tyseley, Birmingham, and I once lived opposite the Greet Inn pub (not only sadly closed, but flattened as well), just round the corner to the SCC headquarters.

SCC’s main web page is here: http://www.scc.com/

And SCC Exchange, SCC’s direct retail site “exclusively aimed at small to mid-size businesses and public sector organisations”, where you can also get Sun kit from, is here: http://www.sccex.com/

Follow me on Twitter, you know you want to…

Seeing as I’ve been blogging about Twitter and it’s new lack of support for outbound SMS for Europe, the UK and the rest of the World (well, apart from the US, Canada and India, that is)…

And seeing as it’s generated a ton of page hits…

I thought I’d take this opportunity to invite you all to follow me.

Twitterfollow Wayne on twitter

You never know I might even follow you back.

Here’s what I’ve been Twittering (or is that Twitting, lol) about.

    Roller Weblogger language translation with Google using JavaScript and Velocity

    So here’s the latest version of my Google Translation code for Roller Weblogger, as used to host blogs.sun.com (or ‘bsc’ as we in Sun call it).

    It’s much improved over the original and Google versions.

    First off it checks for JavaScript, if there then it uses it to make sure the page hasn’t been translated before as well as get the current URL to translate (Google generates translation glitches if it tries to translate pre-translated pages).

    If not it still generates the language translation by using Velocity / Roller JSP code.

    If your on bsc then $baseURL needs the ‘eclectic’ text replaced with whatever your bsc site is called, otherwise $baseURL needs to be your blog URL.

    If your not on bsc you’ll also need to change $iconURL to where you are hosting the flag images (which I got from FamFamFam), unless of course you leech off mine.

    So far this code is being used on Bill Vass’ blog and Glenn Brunette’s Security Weblog (as well as this one of course).

    Here’s the code for you to have a look at and cut and paste if you’d like to use it. It needs to be embedded in your Roller template code, probably best to put it in the sidebar. You can also use it to translate from other source languages other than English, more on this at the bottom of the page.

    
    
    <div style="margin:0px; padding:1px;"> <!-- BEGIN _MOD_TRANSLATE --> ## Current Language
    #set ($langCur="en") ## Lang Text
    #set ($langText_ar="Arabic")
    #set ($langText_bg="Bulgarian")
    #set ($langText_zh-CN="Chinese (Simplified)")
    #set ($langText_zh-TW="Chinese (Traditional)")
    #set ($langText_hr="Croatian")
    #set ($langText_cs="Czech")
    #set ($langText_da="Danish")
    #set ($langText_nl="Dutch")
    #set ($langText_en="English")
    #set ($langText_fi="Finnish")
    #set ($langText_fr="French")
    #set ($langText_de="German")
    #set ($langText_el="Greek")
    #set ($langText_hi="Hindi")
    #set ($langText_it="Italian")
    #set ($langText_ja="Japanese")
    #set ($langText_ko="Korean")
    #set ($langText_no="Norwegian")
    #set ($langText_pl="Polish")
    #set ($langText_pt="Portuguese")
    #set ($langText_ro="Romanian")
    #set ($langText_ru="Russian")
    #set ($langText_es="Spanish")
    #set ($langText_sv="Swedish") ## Lang Code
    #set ($langCode_ar="ar")
    #set ($langCode_bg="bg")
    #set ($langCode_zh-CN="zh-CN")
    #set ($langCode_zh-TW="zh-TW")
    #set ($langCode_hr="hr")
    #set ($langCode_cs="cs")
    #set ($langCode_da="da")
    #set ($langCode_nl="nl")
    #set ($langCode_en="en")
    #set ($langCode_fi="fi")
    #set ($langCode_fr="fr")
    #set ($langCode_de="de")
    #set ($langCode_el="el")
    #set ($langCode_hi="hi")
    #set ($langCode_it="it")
    #set ($langCode_ja="ja")
    #set ($langCode_ko="ko")
    #set ($langCode_no="no")
    #set ($langCode_pl="pl")
    #set ($langCode_pt="pt")
    #set ($langCode_ro="ro")
    #set ($langCode_ru="ru")
    #set ($langCode_es="es")
    #set ($langCode_sv="sv") ## Other variables
    #set ($tranText01="<a style="padding:0px" title='") #set ($tranText02="' href="%22)%20%20%20%0A#set%20(%24tranServer=%22http://66.102.9.104%22)%20%20%20%0A#set%20(%24tranCommand=%22/translate_c?hl=%22)%20%20%20%0A#set%20(%24tranText03=%22&#038;langpair=%22)%20%20%20%0A#set%20(%24tranText04=%22%7C%22)%20%20%20%0A#set%20(%24tranText05=%22&#038;u=%22)%20%20%20%0A#set%20(%24tranText06=%22"><img decoding="async" alt='") #set ($tranText07="' style="border:0px; padding:0px 8px 8px 0px;" src="/web/20090226230923im_/http://blogs.sun.com/eclectic/entry/%22)%20%20%20#set%20(%24iconURL=%22http://blogs.sun.com/eclectic/resource/%22)%20%20%20#set%20(%24iconTLA=%22.png"></a>" ) ## specific blog entry ? #if ($model.permalink) #set ($baseurl="http://blogs.sun.com/BVass/entry/$utilities.encode($model.weblogEntry.anchor)" ) #else #set ($baseurl="http://blogs.sun.com/BVass/" ) #end <script language="JavaScript"><br/><!--<br/>{ /* Allocate memory */<br/>strLangPage = new String (location.href); /* Catch pages translated externally and re-assign */<br/>if ((strLangPage.indexOf("/translate_c?")!=-1)) { /* Catch pages with the new google tracking code and strip */ if ((strLangPage.indexOf("&usg=")!=-1)) { strLangPage = strLangPage.slice((strLangPage.lastIndexOf("u=") + 2),(strLangPage.lastIndexOf("&usg=") )); } else { strLangPage = strLangPage.slice((strLangPage.lastIndexOf("u=") + 2)); } } document.write("<div style='margin:0px; padding:0px;'>");<br/>document.write("$tranText01$langText_ar$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_ar$tranText05",strLangPage,"$tranText06$langCode_ar$tranText07$iconURL$langCode_ar$iconTLA$tranText08");<br/>document.write("$tranText01$langText_bg$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_bg$tranText05",strLangPage,"$tranText06$langCode_bg$tranText07$iconURL$langCode_bg$iconTLA$tranText08");<br/>document.write("$tranText01$langText_zh-CN$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_zh-CN$tranText05",<br/>strLangPage,<br/>"$tranText06$langCode_zh-CN$tranText07$iconURL$langCode_zh-CN$iconTLA$tranText08");<br/>document.write("$tranText01$langText_zh-TW$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_zh-TW$tranText05",<br/>strLangPage,<br/>"$tranText06$langCode_zh-TW$tranText07$iconURL$langCode_zh-TW$iconTLA$tranText08");<br/>document.write("$tranText01$langText_hr$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_hr$tranText05",strLangPage,"$tranText06$langCode_hr$tranText07$iconURL$langCode_hr$iconTLA$tranText08");<br/>document.write("$tranText01$langText_cs$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_cs$tranText05",strLangPage,"$tranText06$langCode_cs$tranText07$iconURL$langCode_cs$iconTLA$tranText08");<br/>document.write("$tranText01$langText_da$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_da$tranText05",strLangPage,"$tranText06$langCode_da$tranText07$iconURL$langCode_da$iconTLA$tranText08");<br/>document.write("$tranText01$langText_nl$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_nl$tranText05",strLangPage,"$tranText06$langCode_nl$tranText07$iconURL$langCode_nl$iconTLA$tranText08");<br/>document.write("$tranText01$langText_en$tranText02",strLangPage,"$tranText06$langCode_en$tranText07$iconURL$langCode_en$iconTLA$tranText08");<br/>document.write("$tranText01$langText_fi$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_fi$tranText05",strLangPage,"$tranText06$langCode_fi$tranText07$iconURL$langCode_fi$iconTLA$tranText08");<br/>document.write("$tranText01$langText_fr$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_fr$tranText05",strLangPage,"$tranText06$langCode_fr$tranText07$iconURL$langCode_fr$iconTLA$tranText08");<br/>document.write("$tranText01$langText_de$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_de$tranText05",strLangPage,"$tranText06$langCode_de$tranText07$iconURL$langCode_de$iconTLA$tranText08");<br/>document.write("$tranText01$langText_el$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_el$tranText05",strLangPage,"$tranText06$langCode_el$tranText07$iconURL$langCode_el$iconTLA$tranText08");<br/>document.write("$tranText01$langText_hi$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_hi$tranText05",strLangPage,"$tranText06$langCode_hi$tranText07$iconURL$langCode_hi$iconTLA$tranText08");<br/>document.write("$tranText01$langText_it$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_it$tranText05",strLangPage,"$tranText06$langCode_it$tranText07$iconURL$langCode_it$iconTLA$tranText08");<br/>document.write("$tranText01$langText_ja$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_ja$tranText05",strLangPage,"$tranText06$langCode_ja$tranText07$iconURL$langCode_ja$iconTLA$tranText08");<br/>document.write("$tranText01$langText_ko$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_ko$tranText05",strLangPage,"$tranText06$langCode_ko$tranText07$iconURL$langCode_ko$iconTLA$tranText08");<br/>document.write("$tranText01$langText_no$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_no$tranText05",strLangPage,"$tranText06$langCode_no$tranText07$iconURL$langCode_no$iconTLA$tranText08");<br/>document.write("$tranText01$langText_pl$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_pl$tranText05",strLangPage,"$tranText06$langCode_pl$tranText07$iconURL$langCode_pl$iconTLA$tranText08");<br/>document.write("$tranText01$langText_pt$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_pt$tranText05",strLangPage,"$tranText06$langCode_pt$tranText07$iconURL$langCode_pt$iconTLA$tranText08");<br/>document.write("$tranText01$langText_ro$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_ro$tranText05",strLangPage,"$tranText06$langCode_ro$tranText07$iconURL$langCode_ro$iconTLA$tranText08");<br/>document.write("$tranText01$langText_ru$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_ru$tranText05",strLangPage,"$tranText06$langCode_ru$tranText07$iconURL$langCode_ru$iconTLA$tranText08");<br/>document.write("$tranText01$langText_es$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_es$tranText05",strLangPage,"$tranText06$langCode_es$tranText07$iconURL$langCode_es$iconTLA$tranText08");<br/>document.write("$tranText01$langText_sv$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_sv$tranText05",strLangPage,"$tranText06$langCode_sv$tranText07$iconURL$langCode_sv$iconTLA$tranText08");<br/>document.write("</div>"); }<br/>// --><br/></script> <noscript>
    
    <div style="margin:0px; padding:0px;">
    $tranText01$langText_ar$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_ar$tranText05$baseURL$tranText06$langCode_ar$tranText07$iconURL$langCode_ar$iconTLA$tranText08
    $tranText01$langText_bg$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_bg$tranText05$baseURL$tranText06$langCode_bg$tranText07$iconURL$langCode_bg$iconTLA$tranText08
    $tranText01$langText_zh-CN$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_zh-CN$tranText05$baseURL$langCode$tranText06$langCode_zh-CN$tranText07$iconURL$langCode_zh-CN$iconTLA$tranText08
    $tranText01$langText_zh-TW$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_zh-TW$tranText05$baseURL$langCode$tranText06$langCode_zh-TW$tranText07$iconURL$langCode_zh-TW$iconTLA$tranText08
    $tranText01$langText_hr$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_hr$tranText05$baseURL$tranText06$langCode_hr$tranText07$iconURL$langCode_hr$iconTLA$tranText08
    $tranText01$langText_cs$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_cs$tranText05$baseURL$tranText06$langCode_cs$tranText07$iconURL$langCode_cs$iconTLA$tranText08
    $tranText01$langText_da$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_da$tranText05$baseURL$tranText06$langCode_da$tranText07$iconURL$langCode_da$iconTLA$tranText08
    $tranText01$langText_nl$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_nl$tranText05$baseURL$tranText06$langCode_nl$tranText07$iconURL$langCode_nl$iconTLA$tranText08
    $tranText01$langText_en$tranText02$baseURL$langCode$tranText06$langCode_en$tranText07$iconURL$langCode_en$iconTLA$tranText08
    $tranText01$langText_fi$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_fi$tranText05$baseURL$tranText06$langCode_fi$tranText07$iconURL$langCode_fi$iconTLA$tranText08
    $tranText01$langText_fr$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_fr$tranText05$baseURL$tranText06$langCode_fr$tranText07$iconURL$langCode_fr$iconTLA$tranText08
    $tranText01$langText_de$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_de$tranText05$baseURL$tranText06$langCode_de$tranText07$iconURL$langCode_de$iconTLA$tranText08
    $tranText01$langText_el$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_el$tranText05$baseURL$tranText06$langCode_el$tranText07$iconURL$langCode_el$iconTLA$tranText08
    $tranText01$langText_hi$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_hi$tranText05$baseURL$tranText06$langCode_hi$tranText07$iconURL$langCode_hi$iconTLA$tranText08
    $tranText01$langText_it$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_it$tranText05$baseURL$tranText06$langCode_it$tranText07$iconURL$langCode_it$iconTLA$tranText08
    $tranText01$langText_ja$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_ja$tranText05$baseURL$tranText06$langCode_ja$tranText07$iconURL$langCode_ja$iconTLA$tranText08
    $tranText01$langText_ko$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_ko$tranText05$baseURL$tranText06$langCode_ko$tranText07$iconURL$langCode_ko$iconTLA$tranText08
    $tranText01$langText_no$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_no$tranText05$baseURL$tranText06$langCode_no$tranText07$iconURL$langCode_no$iconTLA$tranText08
    $tranText01$langText_pl$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_pl$tranText05$baseURL$tranText06$langCode_pl$tranText07$iconURL$langCode_pl$iconTLA$tranText08
    $tranText01$langText_pt$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_pt$tranText05$baseURL$tranText06$langCode_pt$tranText07$iconURL$langCode_pt$iconTLA$tranText08
    $tranText01$langText_ro$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_ro$tranText05$baseURL$tranText06$langCode_ro$tranText07$iconURL$langCode_ro$iconTLA$tranText08
    $tranText01$langText_ru$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_ru$tranText05$baseURL$tranText06$langCode_ru$tranText07$iconURL$langCode_ru$iconTLA$tranText08
    $tranText01$langText_es$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_es$tranText05$baseURL$tranText06$langCode_es$tranText07$iconURL$langCode_es$iconTLA$tranText08
    $tranText01$langText_sv$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_sv$tranText05$baseURL$tranText06$langCode_sv$tranText07$iconURL$langCode_sv$iconTLA$tranText08
    </div>
    
    </noscript> <!-- END _MOD_TRANSLATE --></div>
    
    

    As I mentioned above it can also be used to translate from other source languages other than English.

    By changing #set ($langCur=”en”) it’ll translate from other source languages. For instance set $langCur to ‘fr’ to use French as a the source language. You’ll also need to transpose the ‘en’ output strings with that of the source language you want to use, because Google doesn’t like trying to translate a page to and from the same language! For instance, still using French as an example:

    
    $tranText01$langText_en$tranText02$baseURL$langCode$tranText06$langCode_en$tranText07$iconURL$langCode_en$iconTLA$tranText08
    needs to become
    $tranText01$langText_fr$tranText02$baseURL$langCode$tranText06$langCode_fr$tranText07$iconURL$langCode_fr$iconTLA$tranText08
    and reciprocally
    $tranText01$langText_fr$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_fr$tranText05$baseURL$tranText06$langCode_fr$tranText07$iconURL$langCode_fr$iconTLA$tranText08
    needs to become
    $tranText01$langText_en$tranText02$tranServer$tranCommand$langCur$tranText03$langCur$tranText04$langCode_en$tranText05$baseURL$tranText06$langCode_en$tranText07$iconURL$langCode_en$iconTLA$tranText08
    

    Remember that there are two versions of this string though, one encapsulated in JavaScript (using ‘document.write’) and the other free standing in the ‘NOSCRIPT’ element, just in case JavaScript isn’t used.

    Roller Weblogger blog post tag link code for blogs.sun.com, technorati and del.icio.us

    Here’s some code that produces tag links to four popular tag destinations, your blog, blogs.sun.com, technorati and del.icio.us (for your Roller Weblogger based blog, as the code is velocity).

    It also ensures that the links are marked as tags, so that crawlers that look for and index tags and tag data will pick them up (microformat and semantic web focused applications, like the ‘Operator’ plug in for Firefox also pick them up of course).

    I only add it to individual entries, rather than collections, which is what “#if ($model.permalink)” checks for.

    Best to add just before or just after the Comments section in your main Roller template.

    The code also includes some functionality to replace ‘-‘ and ‘+’ with ‘ ‘, so as to make the text fit in the table (this does not affect the tag).

    You can see this functionality here, on my blog, and on Bill Vass’ blog, however you will need to look at an individual blog post to see it.

    If your on bsc you’ll need to replace ‘eclectic’ with your bsc blog name, or if your not on bsc you’ll need to replace “http://blogs.sun.com/eclectic/” with your entire blog URL.

    Here’s the code:

    
    #if ($model.permalink) <!-- BEGIN TAGS: $entry.title -->
    
    <div class="comments-head">Tags</div>
    
    
    
    

    This blog

    Sun Blogs

    Technorati

    Del.icio.us

    #end

    Roller Weblogger improved blogroll display code for use with icons and images

    Here’s some code that improves on the default Roller Weblogger blogroll code to ensure that if you include an image / icon for your blogroll entries it displays the image and the blogroll entry name (good if your using icons).

    Using the default roller macro for displaying your blogroll means that no text is displayed if an image / icon URL is given. The default behaviour leaves rather empty lists of course, so I see this as an improvement.

    So this code is effectively a replacement for “#showBookmarkLinksList($rootFolder false false)”, although it still uses the same CSS notation for lists, so as not to disturb your design.

    It works with specific blogroll folders, so you do need to dictate which one your going to display (in the example below it’s “/My Blog Roll”). However this could be improved further to pick up the current folder name if you were to cycle through the sub folders (but I didn’t need it to do that, so I haven’t).

    
    #set($rootFolder = $model.weblog.getBookmarkFolder("/My Blog Roll"))
    #if ($rootFolder.bookmarks.size() > 0)
    
    <h2>My Blog Roll</h2>
    
    
    
    
      #foreach ($bookmark in $rootFolder.bookmarks)
    • $bookmark.name  $bookmark.name
    • #end
    #end