Back to top


FON Social Router: Density by Country

More on FON Routers By Country

So, following on my last post about Fonero growth by country and after reading about required density for "wifi roaming coverage" I started thinking about density of routers in my data.

Getting the Country Area Density

I picked up the population and land area by country from "GeoHive". It's really an awesome set of basic data for anyone who likes this kind of thing. So, using that and a little bit of Spread Sheet magic I came up with the following table that shows countries ordered from most dense to least dense FON coverage.

CountryPoints 8/21Area (KM2)KM^2/PointRouters Needed
The Netherlands2,09141,52619.9397,389
South Korea3,56698,48027.6943,812
United Kingdom2,975244,82082.32,352,193
Puerto Rico219,104433.587,559
El Salvador1321,0401618.5202,392
Dominican Republic2748,7301804.8468,756
Costa Rica2551,1002044.0491,557
New Zealand65268,6804133.52,584,637
China Mainland1979,596,96048715.592,322,558

Notes about the Data

The data is from August 21 and the last column in the data shows "Routers Needed" meaning the number of routers needed to achieve the "full density" of 25 routers/square mile (roughly 9.6/square Kilometer).


I'm not sure that there really are many conclusions you can draw from this. Singapore, the Netherlands, Andorra, and South Korea all have fairly high numbers and if you look at metro areas in those countries you can see that indeed walking down a street you'd have pretty good luck finding a FON hotspot. It's not particularly useful to know that the USA needs 92 million more routers to have nationwide coverage - as every cell phone provider will tell you there is lots of land in the US that you just don't need to bother covering! It would certainly be more interesting to know the density of certain metropolitan areas - I assume that some similar internal analysis went into the decision to target 25,000 free routers at Manhattan.

People Involved: 

Mountain Biking Community site

Your Mountain Bike YADS

Last night I got reintroduced to the website which is a pretty cool mountain biking community site. It's built on the Drupal platform and is the first in a series of adventure sports enthusiast sites being created by Enthusiast Group. It's great to see, first of all the functionality that they were able to create, but also a well done, high-quality and attractive site implemented using everyday Drupal modules. Making it Yet Another Drupal Site - YADS.

Mountain Biking Social Networking/Citizen Journalism

It's a social networking and citizen journalism site wrapped up into one with the niche focus on the mountain biking community. So, you can see reviews of mountain biking products or user submitted mountain biking photos but it's also got a community aspect in multiple forms such as forums and community events.

Support the IMBA

They currently have a pretty cool deal going on where if you become a member and add your moutain biking photo to the site, they'll give $5 to the IMBA. That's a great deal and they haven't hit their limit yet!

Fun Features for Drupal

When I say "well done, high-quality" the stuff I'm talking about is some of the small details they've implemented. Specifically, creating new content redirects you to your user tracker page. At first this struck me as an odd place to redirect rather than the page itself. Then I realized the motivational effect this could have - it's like saying "here's the stuff you've created, why haven't you created more?". They are using the userpoints and buddylist modules to help promote networking and giving content to the site. The theme is littered with calls to action to post more photos, videos, stories. This worked well for me - after joining one of the little "calls to action" is what got me to upload my photo - and get the $5 donated to IMBA.

People Involved: 

Exciting weekend for Drupal

Fancy Javascript Stuff

This weekend JQuery1.0 was announced. There have been hopes and dreams to add this into Drupal core for a while, but it was waiting on GPL licensing, then on a 1.0, and now on proper agreement that it works well. So far, GPL licensing and the JQuery 1.0 have happened. Now we just need to make absolutely certain that it works well as a replacement and/or simply as an addition. You can follow the progress and problemsin this issue.

There seems to be a few bumps along the way, but hopefully we can solve them.

Fast Path File System Cache - fastpath_fscache

The file based cache was an interesting issue. In HEAD, Drupal contains at least two interesting improvements: partial bootstrap using drupal_bootstrap and the ability to have pluggable cache mechanisms. The first allows a highly custom page to do only a partial bootstrap if it knows that it only needs to interact with a subset of the Drupal "world" (i.e. apis, objects, etc.). The pluggable cache mechanism allows someone to say "well, I don't like having my cache in the default location of the database because my database server is my bottleneck, so I'm going to use an extra module to cache my files to the webserver's disk which is much faster". It allows people on a shared host to get the performance previously available only to fancy/complex server's with a reverse-proxy. This is very exciting to me because several of the sites I work on are situations with 90% anonymous visits and where the database is a bottleneck (e.g. this site). In those cases this file system cache module should be a great addition.

Note that as of this post, the fastpath_fscache module is listed as being "beta" quality and not recommended for production sites. I'd love to see some performance numbers, perhaps using the guidelines that webchick put together in the handbook on HOWTO Benchmark Drupal Code.

People Involved: 

TradeMarks and Keyword stuffing

Trademark Enforcement of a Certain Term Within Open Source

So, I don't want to say the term, but it's clear from this search that a company has been going around to various places and enforcing a trademark. When that happens to open source projects, it gets discussed in public and everybody knows about that action. If they do it to some close-walled company then the discussion is inside the walls and nobody knows. So, thanks to the open practices of open source projects, people can know what kind of a company they are dealing with when they deal with Collabrio.

Keyword Stuffing

One of the "tricks" of Search Engine Optimization (SEO) that people will try to use is called "keyword stuffing". Basically, search engines use the frequency and density of certain keywords to determine the importance of a word on a site. It makes sense that if I write a certain word or phrase a high number of times in my pages that it's an important word to me and probably the subject of the page. Webmasters (and SEOs) will take the keywords for which you are trying to get a good ranking and weave them into more parts of the site and content so that your site gets a high ranking. In the "if 2 is good, 100 is better" mindset, this can be pushed too far and the content no longer makes sense. So, what if you could use the word on the page hundreds of times but hide it from users by making the text white on a white background? This would confuse search engines into giving you a higher ranking than you deserve! Search engines don't like to be tricked. Tricking them means that their results are less valuable to their users.

Reporting Keword Stuffers

People Involved: 

Game Theory - Repeated Prisoner's Dilemma with Unknown Number of Rounds

I went to a "smart athletic people's conference" and we played some games. Of course, the "smart" side of it meant that some of the games should be "heady" games. So, I included a game theory game:

Game 1 - Pricing Game:

You sell beer. You have one competitor who also sells beer. Each day you and your competitor have two choices for your price that day: a high price or a low price. There are four possible outcomes:


The numbers represent the profit you make that day in the order of (Your Profit, Competitor Profit). So, if you both choose "low" then the result is "1,1" meaning you each get 1. If you choose low and the competitor chooses high then you will get 3 and he will get 0.

Note that the game is symmetrical: "you" and "competitor" can be flipped and the results are the same.

How we will play the game:

Everyone will get two small cards - one that says "high" and one that says "low". We will play until this program tells us to "quit":

import random
limit = 0
loop = 1
while loop == 1:
again = random.randint(0,100)
if again > limit:
print "play again"
limit +=1
loop = input("time for next round? 1 or 0: ")
print "%d rounds, quit now!" % (limit)
loop = 0

I ran this program several times and got results between 3 and 27 rounds. It could theoretically go about 100 rounds, but that's pretty unlikely.

Your score: the sum of the results from each round. For example, if you and your competitor both chose low every time and the game lasted 3 rounds your scores would both be 3.

People Involved: 

Photos of a Dead Company - and disk storage

So, I found this site today of the photos from the sale of equipment for Wow. There's lots of crazy stuff in there.

The thing that got me the most excited was these two Clarion EMC2 disk arrays. How much space was on those? A couple terabytes? How many hundreds of thousands did they cost? To get that much disk today you'd have to...walk into an apple store and drop down a a couple thousand dollars. Crazy.

People Involved: 


Subscribe to RSS - past