Thursday 19 June 2008

Firefox sets the World Record

I have been checking out the Firefox map of its World Record attempt at:
http://www.spreadfirefox.com/en-US/worldrecord

The map is obviously a pretty good indicator of technology acceptance in the various countries with North America and Western Europe hitting the top notches and Africa, South America, and Asia being less well served. I do feel it's a shame that the results aren't also computed in relation to the actual population of each country though.

For instance, France and Spain both downloaded more copies (well above 300,000) compared to Russia where "only" around 130,000 downloads occurred. Yet Russia appears dark red. And a country like Belgium appears in orange.

Let's compare some numbers to show where I am coming from.

Wikipedia tells us Russia's population in 2008 is around: 142,008,838 and we know from Firefox that 134,442, which brings us to 0.09% of the population.

The population of Belgium is around 10,000,000 and we know from Firefox that 69,760 downloads occurred over the 24-hour download period, which is about 0.7% of the population. So, although the map is a good indicator of the global distribution of downloads, it really does give as skewed vision on a per-country basis.

What also struck me was the huge discrepancy between Southern Ireland and the UK. At first sight, Ireland looks like it didn't support the SpreadFirefox initative all that much at all - it shows in pale orange and is hardly worth the notice on that map next to it's dark red neighbour.
Well, let's check it out.

Populations in the UK and Ireland are respectively estimated at around: 60,587,000 and 4,339,000. Firefox downloads reached 387,488 and 42,993 respectively.
The actual percentage of downloads reached: 0.6% in the UK but virtually 1.0% for the Republic of Ireland!

[EDIT: 2008-06-19]
So let's recap with our new numbers:

  • UK, 0.6%, dark red

  • Belgium, 0.7%, orange

  • Ireland, 1.0%, light orange


The colors show the exact opposite to what the true representation in these countries actually is!
[/EDIT]

One last thing caught my eye. Notice the difference between North and South Korea?

Any thoughts?

Tuesday 17 June 2008

Second Life take 1

Tony Karrer recently published a comprehensive list of Second Life Learning Videos.

After viewing three, curiosity got the better of me. So... I now have a Second Life account and have downloaded, installed and started (or almost) the program.

Only problem: my home PC doesn't meet the minimum requirements. I do only have 256 Mb of RAM. Ouch. Of course, it does date back to dinosaur era (i.e. ~2002), which explains why it's so outdated.

[EDIT: 2008-06-19]
I did try this again at home in the hopes it may have been a one-off, but no luck, it crashed again.
[/EDIT]

With a bit of luck, I shall be able to pursue this experiment over my lunch hour tomorrow! More news then...

Firefox Download Day

Well, Firefox Download Day started about 4 hours ago (19.00 here in Belgium).
It looks like there might have been a slight glitch in the system as when I first followed the link, it simply gave me the usual RC3 version.

Now it links to a "The Browser That Has It All" page, with the final 3.0 release.

http://www.mozilla.com/en-US/firefox/?p=downloadday

Thoughts?

When the creation meets its creator



Thoughts?

Tuesday 10 June 2008

Google's favicon

Google's favicon needs a make-over! The favicon is the little icon that shows in the address bar and also your favourites, so it's important in getting people to identify company image.

I gather they have already explored an incredible number of possible icons and are now making a public request for more ideas. So, you can now submit your own home-grown Google favicon by following the link: http://www.google.com/faviconideas/

Of course, I couldn't resist building my own 16 x 16 proposal!

Simple version:


This actually looks less than 16 by 16px because there's a transparent background border on the left side of the pic.

Full version:


This looks square because... it is.

I hope to be submitting these in the near future, as soon as I get my head around their terms of service.

EDIT [June 11, 2008] - Done.

Thoughts, advice, opinions?

Sunday 8 June 2008

Object-oriented form rendering using PHP, part 2

There is one fundamental problem with my previous analysis of automatic form generation (using PHP).

// in the page header
$form->displayJS();
// ... lots of useful stuff
// in the page body
$form->display();
// ... other useful stuff

Which is: displaying the JS in the header is a really cool idea in a world where all forms are created on full HTML pages: with html, head, body tags. The truth of the matter is though that you often, probably mostly, work with PHP 'chunks' which you then include in the higher level page.

For instance, I am currently working on a login form which I would like to appear on several different pages. Displaying JS in the header using the displayJS() function becomes impossible because the include (using require_once, include, ...) happens when you are already in the 'body' of the resulting page.

<html>
<head>
<title>An example</title>
</head>
<body>
<?php require_once('login/login.php'); ?>
</body>
</html>

So, onto plan B. I have now changed my original idea to a more lightweight technique. On each 'input' you declare, you can add one or more client-side 'rules' which will take effect when the onchange event occurs (i.e. whenever the user validates input for the field). In other terms, whenever the user enters information into the field, it's trimmed, etc. using Javascript.
Once the form gets submitted, the onsubmit event triggered by the browser, will only make sure required fields are present, required being also used in the sense non-empty.

Right, so that's the theory. All it needs now is putting into practice.

Thoughts?

Google Webmaster Tools

As you probably guessed the use of the words 'sex' and 'drugs' in my previous post title were not quite as innocent as I tried to make out. I have always wondered the effect using these words could have on a blog's popularity and have now decided to experiment.

Today, time for the grand news! I decide to connect to my Google Analytics account, expecting the zillions of visits I so truely deserve for this pathetic attempt, and low and behold... nothing has changed. Same flimsy statistics.

But my eye did catch on to one thing: Google is now offering a set of tools for webmasters. They are absolutely free, easy to 'plug into' using a simple meta tag in your page headers, and can be added to your iGoogle page.

For instance, you can list top search queries, crawl errors, problems with content (meta tags, ...) and so on and so forth. You can also submit a site map to make sure Googlebot visits all the pages you want referenced.

Other interesting fact, the last time Googlebot successfully crawled my index page was May 22. So my dismay is now tempered by the fact that there is still a tiny gleam of hope for the sex and drugs effect.

Any ideas for better words?

Friday 6 June 2008

Sex, drugs and malbolge

This is probably the most useless piece of information E-VER but you just gotta love it! Pointed out by one of my colleagues today!

Ever heard of malebolge, the eighth circle of Hell? Sounds pretty horrendous, right? Well, some chap called Ben Olmstead, invented the programming language to go with it: Malbolge.

Prepare, for the end is nigh.

Example: guess what the following does.

(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<

This actually displays... Hello World.

Uh oh. Ben, you are either crazy or simply have a great sense of humour!!

http://www.antwon.com/other/malbolge/malbolge.txt

Thoughts?

Wednesday 4 June 2008

Object-oriented form rendering using PHP, part 1

Well, hi again.

I have had to major annoyances these past two weeks:
- clearing my flat (those who know me well, know this is a endless task);
- and studying for a Dutch exam, which is today! So, there is lots of touching wood going on around here.

[UPDATE: the exam wasn't that difficult. I think I have made it to the next module. Actual results next Wednesday!]

The good news is I actually found my IT diploma certificate!

Other than that, I have continued my personal website, and also started working on anxcity, which I have already renamed zencity because we really want to focus on the aim rather than the "problem".

I know I shall be needing quite a few forms (especially for administration), so I have started developing a form publisher using object oriented PHP. The form and input nodes are ready, but I hope to be adding client-side and server-side rules shortly.

The general idea is (I haven't checked syntax so bare with me):

$form=new Form();
$name=new Text('name',40); // 40 is the size
$comment=new TextArea('comment',4,5);
$form->add($name);
$form->add($comment);
$form->display();


And of course ultimately:

// in the HTML head or before
$form=new Form();
$name=new Text('name',40); // 40 is the size
$name->addPreSubmitJS('trim');
$name->addOnSubmitJS('min-length',0);
$comment=new TextArea('comment',4,5);
$comment->addPreSubmitJS('trim');
$comment->addOnSubmitJS('min-length',0);
...
...
$form->add($name);
$form->add($comment);

// in the HTML head
$form->displayJS();

// in the HTML body
$form->display();

// once the form is actually submitted to server,
// apply server side rules



There are thus to separate types of rules:
- JS client-side rules (the usual: trim(), length()>0, etc.) that get tested before the HTTP request actually gets (or doesn't get) sent.
- PHP server-side rules (non-duplicate identifier, etc.) tested on the server-side once the HTTP request gets through.

Anyhow, once the personal website is up I shall be able to share more with you about the evolution of the project.

Any thoughts for now?
Online Marketing
Add blog to our blog directory blog search directory Blog Directory Blogarama - The Blog Directory