Monthly Archives: March 2007

A Question of Licenses

As a software developer and sole-trader, the GNU General Public License (GPL) has enabled me to do things with software that I could not otherwise have afforded. Free software has huge benefits for sole trader or small software business. But what about developing and releasing free software?

If I were to develop a programme under the GPL, I could distribute it to someone and charge for it; GPL does allow for money to be made. However, once I have handed the software over, there is nothing stopping the recipient from posting it on the Web, and letting the rest of the world have it – for free. This is all very well, if I charged a reasonable amount for the software in the first place. I cannot, however, stop anyone else from making a lot of money out of my work, or just giving it away so nobody else will buy it.

Issuing software under GPL is all very well for corporations and academic institutions where developers already have an income, but not as good for the small business where software revenue is needed to pay staff, clean the floors and put food on the table. Making the product close-source and proprietary might be one solution, but there are those of us who are philosophically opposed to any form of closed-source software.

What is the answer? In a word (two words, actually), Creative Commons. Creative commons allows one to select and create a license by filling in a simple, online questionnaire; the license is clear and simple, and does not require hiring a legal team to understand. Software, music, graphics, Web content – just about all media can be licensed under Creative Commons.

GPL has its place, that cannot be denied; I respect the GPL and adhere to it where applicable, such as my Drupal work. However, all material which is not constrained by GPL will be released under a simpler, Creative Commons license, no headaches or lawyers required.

Good English, Poor Accessibility?

Accessibility by Numbers

Whilst those of us who care about Web Accessibility tend to take care to make our own content as accessible as possible, there are times when we discover that we may not have been doing things as well as we could.

Over the last couple of weeks, I have been thinking about how we represent numbers in text. I was taught in school that any cardinal number (the ones we count with) less than 100 should be written out in full, for instance, one, two, three, forty-two. I can’t remember what we were supposed to do with ordinal numbers and fractions. I probably wasn’t listening at the time. ("Smith Minor does not pay attention in class.")

If we look at Checkpoint 14.1 of the WCAG10, we are told that we should "Use the clearest and simplest language appropriate for a site’s content". If our audience is not very good at reading English, the clearest and simplest way to represent a number must be in numeric form – 42 rather than forty-two or, even worse, two score and two. This could be even worse in French, where the humble 99 becomes quatre-vingt-dix-neuf.

I would say, therefore, that we should probably be writing our numbers as numbers, not words. For me, this is merely a case of breaking a quarter-century habit, and then getting detention for it.

Formatting Numbers

Consider the number 123,456 – what number is it? There are two correct answers that I know of, depending on one’s cultural background. Most of the English speaking world would say 123456 (one hundred and twenty three thousand four hundred and fifty six). In continental Europe, however, this number would signify 123 and 456 thousandths (one hundred and twenty three decimal four five six). Diversity may be all very well, but does the world really need two reversed sets of thousands and decimal separators?

Here lies another accessibility issue, both for humans and software agents that are trying to make sense of numbers. Every good document on the Web declares its language, but can that language be implied to be a locale as well? In software terms, it is locale, not language, that tends to define how we treat punctuation when parsing a number.

I really cannot see an answer to this, so I present a couple of my own tongue-in-cheek possibilities and one a little more practical, though imperfect. These suggestions will probably come back to me with a lot of red ink on them and a stern injunction to "See Me"

Smiffy Solves the Numbers Problem

  • All data must be typed, as it is in the better classes of programming languages with the exception of Perl (Perl is just too cool to warrant cluttering beautiful code with type definitions.) For example, the phrase "I sat there for 3 hours" should be expressed as "I sat there for <integer>3</integer> hours." – any separators found must be thousands separators and may be ignored as formatting, as an integer does not need a decimal separator. When declaring a float value, at least one decimal place must be specified: <float>234,567.0</float>. The decimal separator may then be deduced from the right-most piece of punctuation; anything else is just formatting.
  • Return to our numeric roots. If we are using Arabic numerals, surely we should be using Arabic numeric punctuation. The Arabic decimal separator looks suspiciously like a comma. Uh-oh, does that mean that the Europeans have got it right? Not entirely, as the Arabic thousands separator looks like a single right quote that has slipped down the page – not a full stop (period). So, all we need to do is to mark up our numbers with &#x066b and &#x066c, and we’re laughing. And we are all using Unicode now, aren’t we children?
  • Use full language plus dialect (like en-GB) to imply locale, and work from that. This all falls apart for those of us with our own custom locales: en-US keyboard, en-GB spellcheck, en-AU currency and ISO8601 times and dates. Can three, sorry, 3 uses of ‘en’ be guaranteed to imply a specific set of numeric separators? Not with 100% confidence.

If anyone has a real solution to the way that we present and interpret numbers, please do tell.

No Comment Spam – Yet

After a fortnight, it may still be early days; however, since writing the code to allow Smiffy’s Place to take comments, I have yet to deal with any Comment Spam. There are a few possible reasons for this:

  • E-mail verification is required for the first comment posted, per e-mail address; this might be too difficult to code for a robot (although I can see how to do it with about 100 lines of Perl), and too time-consuming for a cottage-industry spammer doing it by hand.
  • E-mail verification allows me to pinpoint both the IP address from which the request came and, if confirmed, the IP address of the mail host. Would spammers really want to leave such obvious tracks?
  • Smiffy’s Place is driven by unique software – writing a robot to target WordPress may be worth the time and effort, but who is going to bother for a single, small blog? Anything that does get through is far more likely to have come from someone trying to spam manually.
  • I am not about to disclose how in a public forum, but I will say that the comments programme will not just accept a POST request from anywhere.

It comes to something when the worst nuisance robot activity is actually coming from a large search engine. For the meantime, I will delay rolling-out my Phase II anti-comment-spam measures.

Getting children’s favourites on the menu


Getting children’s favourites on the menu – How can restaurant operators offer kids healthy options that they’re prepared to try and likely to enjoy? Three cheffing dads give us their views and offer some recipe ideas.

From Smiffy

Bravo, another step in the right direction, just by featuring articles like this in the catering press. Seems like I left England just before the new trend of feeding children real food caught on. I wonder how long this will take to propagate through to Australia; before or after Jamie Oliver gets his knighthood?

Family-friendly restaurants still pushing junk food on kids, says Soil Association

In another article, from last November, the Soil Association rated ten popular British family restaurants. In a score out of thirty, the highest awarded was a mere sixteen. You can read the full article here.

Strange but True: Cats Cannot Taste Sweets

Scientific American reports that cats cannot taste sweets, which is why they are only really interested in meat. As a diabetic and meat lover, I can quite relate to this.

One issue that the article points out is that not only can they not taste sweetness, but also lack the ability to properly handle it in the body. Putting cereals into cat food, therefore, may be a less than good idea. As the fast food industry works diligently to ensure that every human on the planet is diabetic (thus expanding the market for their pals in the pharmaceutical industry) it would appear that the pet food industry is dancing to the same tune.

MSNbot – Ban the Bot, Or Not?

I am quite happy to have search engine robots visiting Smiffy’s Place, following the links and indexing the content. The majority of my robot visitors seem to do just that, and are no trouble at all.

Today, I had reason to look at the server error log for Smiffy’s Place and found some activity coming from msnbot with which I was less than pleased.

  1. It had tried to access my main images directory, despite the fact that this is banned in robots.txt
  2. Although I cannot make out the full request, my blog software had thrown an error on a URI which contained the following string: .get_permalink($post->ID). This – I believe – is actually WordPress code. Just why was a search engine robot trying to force scripting into my software?
  3. It had followed a concealed and commented out link to a honeypot for spam harvesters.

When I started documenting this, I was wondering whether msnbot is really welcome at Smiffy’s Place. Having now got to the end of the post, I am in no doubt that it is not. My robots.txt now includes the following lines:

User-agent: msnbot/1.0
Disallow /

I will now watch with interest to see whether or not visits from msnbot actually cease. If not, the netblock will be finding its way into an iptables rule to keep it out of my servers once and for all.

I would love to hear the experiences of others in relation to this robot – please leave a comment against this article, or drop an e-mail to the address at the bottom of the page.

Oh, Smiffy’s Place now also has a filter to return a rude message on receipt of anything that looks like an XSS attempt. Try adding a dollar sign to the end of the URI of this post and you will see.

I Love My Linodes Even More

A little while ago, I told of my move to Linode virtual servers. I had been tempted to go the Linode route by a hint that the available RAM on all plans was going to be doubled within a few weeks.

My RAM has now been doubled; cool. However, what I was not aware of at the time is that RAM was only the beginning of it – available disc space and bandwidth have also doubled, with my primary Linode having a whopping great 300GiB per month of included bandwidth.

Please compare this with the 1GiB inbound that I used to have on my colocated machine – worked out at about 4GiB when combined with outbound traffic. This gives me potential for 75 times the traffic I had available before.

This extra bandwidth means that I can start running tests from my Linodes that I was previously forced to do from home – my DCMetaSpider being just one that springs to mind.

Yes, now I love my Linodes even more.

Blogging Against Sexism – A Belated Entry

Better late than never: my post for Blogging Against Sexism, submitted before International Womens Day slips off the International Date Line.

With various ideas about this, I finally decided that I would just reflect on the sexism that I have observed in my adopted country, Australia.

I should begin by saying that I live in a rural community – what I have observed may not reflect the situation in the cities here (at least the more cosmopolitan bits of the cities).

After having realised that I had missed the boat for International Womens Day, at least in my time zone, I decided to let things go and wait until next year. It was then that a local woman of my acquaintance (ie: my wife) made a comment – an assumption that a librarian was a woman – that I thought that maybe I should have a voice, at least to say how deeply ingrained sexism is in the rural culture.

In a small town, not far from here, there is a clothes shop. It sells mens and womens clothes. It offers a free alterations service – for mens clothes only. When I first heard of this, liberal minded Brit that I am, my jaw just dropped. Had I not only moved to another continent, but also into a previous century?

A closer look at the roles of women in the workplace and other roles by gender does not paint a nice picture; I understand 19th Century attitudes in older people, but it is not just older people that I am observing. The communities hereabouts are horribly and distressingly sexist. Possibly I am just a foreigner misunderstanding the culture in which I am now living, but it really does look bad to me.

I can only hope that increased penetration of the Internet into rural areas will help rid us of sexism and all the other “isms” as well.

Here ends my piece. I just wish that it could have been more positive – and on time!

Further Social Inclusion posts should follow on the 1st of May – Blogging for Disablism Day.

Dublin Core for Drupal

Whilst I had contemplated documenting my attempts at creating a Dublin Core metadata module for the Drupal CMS at Smiffy's Place, all such content will now live at my new Dublin Core for Drupal site.

This site is actually a Drupal installation (pretty much out of the box, as some may observe), which will also serve as the test-bed for the new module.

Those interested in keeping up with developments should subscribe to the front-page RSS feed.

National Des!

This is a little bit of a departure from the normal subject matter of Smiffy’s Place – I don’t normally "gossip" about people I know, but here I must make an exception.

My ability to prepare good meals is due very much to the quality of the ingredients that I use; the quality of the meats with which I have cooked since coming to Australia have been second to none. Credit for this goes to our butcher, Des Waters. Des has always been sympathetic to my sometimes awkward demands, obliging and wholly professional.

In addition to supplying meats the way I want them, Des has always been a great maker of smallgoods – predominately of a German style.

Some while back, Des won a state-wide competition for said smallgoods, going on to a final last week in Perth, Western Australia.

Whilst he didn’t bring home first prize, I am very proud to announce that our butcher is the second best in all of Australia!

Kudos to him – let’s hope this isn’t an excuse to put the prices up!