Archive for April, 2006

Firefox to overtake Internet Explorer by Dec-2007

Monday, April 24th, 2006

I recently noticed that 25% of the users on The Humor Archives where using Firefox. I got to wondering how and when Firefox had picked up quite so many users so I grabed the raw figures from my log analyser packaged and using JFreeCharts I slung the below graph together.

Firefox vs Internet Explorer

and so it seems that not only has the percentage of Firefox users been increasing for the last 2.5 year but the rate of increase in the percentage of users has also been increasing. However I wanted to get a worse case senerio of when Firefox would overtake Microsoft Internet Explorer. To get the worst case I plotted a linear regression to forecast the growth. I then messed around with various other regressions to see what more optimistic regressions gave. The results are below.

regression type overtake date
linear December 2007
logarithmic December 2007
exponetial July 2006

Now my University Mathematics lecturers would probably turn in their sandals at the mathematic rigour of my analysis as it is only based on one website with just 4,000,000 page views per month however it does give some indication of when Firefox will eventually take over as the dominant browser.

Get Firefox now!

Don’t live here no more

Thursday, April 20th, 2006

My personal blog has been extracted from here, from now on this domain will be my tech only blog. Those who know me and want to read my rantings (and can’t work out the new url) send me a mail and I’ll point you in the right direction.

One Laptop Per Child

Sunday, April 9th, 2006

Just read this article about the One Laptop Per Child project. The article concentrates mostly on the technicalities of producing a laptop for $100 US however what struck me was how this will change the Internet. Currently most the people on the Internet are relatively well off Europeans and Americans. With this initiative to give 5-10 million laptops to children in India, China, Brazil, Argentina, Thailand, Egypt, and Nigeria by Q1 2007 things start to get much more interesting. The Internet as a whole gets very much more diverse with ideas from many more perspective entering the shared consciousness.

Robert Metcalf’s law states that the “value” or “power” of a network increases in proportion to the square of the number of nodes on the network. However if all these nodes (people) are pumping out the same or similar ideas then, I’m sure, this places a dampening effect on the value/power of the network. You only have to look at a blog aggregator to see the ideas on the Internet seem to be part of a small closed system, there is a feedback loop going on but the loop is still too small to really amplify and evolve the ideas to their full potential. Now if you add 10 million nodes to the network from very different backgrounds you have a larger set of seed and mutation points to develop ideas.

I’m excited by this and applaud Google, Red Hat, AMD, Brightstar, News Corp and Nortel Networks for each donating $2 million US to the project. Oh and the laptop will run Linux.

shiny new .eu domain name

Sunday, April 9th, 2006

I sucumbed to the temptation and bought andyhedges.eu domain name, I have no idea what to do with it but after not registering andyhedges.com when I could and living to regret it I couldn’t see this go to someone else. So for now andyhedges.eu will be an alias to this site, my blog.

Now why register a .eu and not every other TLD that has come alone (.info, .biz, .mobi etc etc ad nauseum)? Well to me the .eu domain name has a reason for existing it represents a geographic, economic, political and cultural entity. Sure the country code do too but they have been around since the very early days of the ‘net and represent much smaller entities. The .eu is a larger entity and as such to TLD is more important. However this is all by the by, the real reason I got the name was I believe that the .eu will become a respectable and iconic domain name maybe even up there on a par with .net, .org and of course the mighty .com.

Only time will tell but there have already been considerable registrations, 1,291,860, in fact, in just a few days. To put this in perspective there are just under 10 million .de domain names registered (German TLD) which is the second largest namespace after .com itself.

I like the .eu TLD, I wish it success.

Reflective Access to Parameter Names

Friday, April 7th, 2006

On the Mustang JSR there has been a lot of lively discussion on the benefits and drawbacks of providing reflective access to method parameter names. Currently in Java using the standard APIs there is no way to access the parameter names of a compiled java classes methods. In fact unless a Java class is complied using the -g flag with javac then the parameter names are completely discarded from the resultant bytecode. If the class is compiled with -g then they are preserved in bytecode and can be access by bytecode reading libraries (this is what IDE sometimes do in order to present more useful method information when source and javadoc are absent).

There have been calls prompted by this RFE for the addition of reflective methods to the java.lang.reflect.Method class to access the names of parameters as specified by the developer at coding time. These calls have been made by some members of JSR 270. To try and summaries a very long thread here are the arguments for and against:

  • code that used the parameter names would become dependent on that parameter name remaining the same across revisions

Actually that’s it as far as I can see, if anyone can think of others please let me know.

Arguments for:

  • Use for dynamic language support in java; many dynamic languages such as Python and Ruby benefit from having access to parameter names for certainly language features such as method calls like this (pseudo code):

    calculateArea(width := 10, height: = 20):

    This is cool because you don’t need to remember which way around the parameters go and it is also more readable.

  • Logging: if you have reflective access to the parameter names then you can record them for the purposes of logging.
  • IDE support: at the moment if you only have access to the compiled binary that hasn’t been compiled with the -g option then the ide will display generated variable names such as string1, int0 and so on which don’t aid the developer at all
  • External add-ons to a Java application such as a rules engine could certainly make use of parameter names, enabling the user to define rules and validation using the same names as the methods parameters, this without having access to the source or specially compiled binaries
  • AOP frameworks could certainly use these features too
  • Binding of Java classes to webservice by the generation of WSDL from classes files would create much more meaningful/readable WSDL with the parameter names included
  • It will be easier to add features such as closures to Java in the future using a well understood method of reflective parameter name access with the appropriate syntatic sugar

I would been keen to have this features in Java SE but as far as I’m aware it won’t be in Mustang (Java SE 6) but will be put forward as a recommendation to the Dolphin (Java SE 7) JSR