(Skip to main content.)

Blogs Quoderat Land and Hold Short

Quoderat: what was

Back Monday for tech workers (??)

January 5th, 2009

I’m hearing rumours of small-scale layoffs from a few different places around Ottawa, mostly small-to-medium-sized companies.

Just a single layoff affects dozens of people:

  • the person who’s let go
  • the person’s family
  • the managers who have to do the firing
  • the person’s work friends, who’ll miss the lunchtime chats and drinks after work
  • the person’s coworkers, who’ll have to pick up the extra load
  • people from other organizations or members of the public who had dealings with the person
  • the restaurant owner across the street, who always had a special curry set aside for his favorite customer
  • (and so on)

When the slowdown became inescapable in November, many companies may have decided to postpone layoffs until after the Christmas holidays, out of kindness. The holidays are over now, and today (January 5) is the first day everyone will be back at work, so there could be a lot of postponed pain hitting all at once.

Are these just a few isolated incidents, or will today be the day that the economic slowdown starts to seem real to people in the tech industry?

Why stimulus attempts fail

December 18th, 2008

When a government spends money, a few things happen:

  1. it competes with the private sector for money, driving up inflation (or interest rates)
  2. it competes with the private sector for products and services, driving up costs
  3. it competes with the private sector for land, driving up property prices
  4. it competes with the private sector for workers, driving up salaries

During a boom, these are all bad things — when inflation, costs, and salaries are already too high, government spending just pumps more air into the bubble, leading to an even bigger bust later on (as we’re seeing this time around).

During a bust, it’s a different story. With the spectre of deflation and negative interest rates, more competition for money is a good thing. With companies laying off workers and struggling to stay afloat, more competition for products and services is a good thing. With a collapsing property market, more competition for land is a good thing. And with a huge pool of un- or under-employed workers, more competition for labour is a good thing.

So with so much potential good, why are stimulus packages usually a bad thing?

It’s all in the timing

Spending enough money to actually stimulate the economy out of a recession takes a lot of time. Sure, governments can spend some fixing existing roads and bridges, repairing sewers, etc., but that’s chickenfeed. To spend serious money and put people back to work, they need to do big stuff like new high-speed rail lines or highways, convention centres, etc.

Now, stop and think for a second.

Let’s say that you have access to $20B, right now, to build a high-speed rail line down the U.S. West Coast from Seattle to San Diego. When can you spend it?

First, you need to have public hearings.

Then you need to plan the line.

Then you need to negotiate with all the governments along the way.

Then you need an environmental assessment.

Then you need to put the work out for tender.

Then you need to expropriate some land, and deal with the court challenges from people losing their homes, parks, etc.

Then, 10-20 years later, you can start construction.

Granted, that’s an extreme case, but even something as simple as a new convention centre takes several years from first planning to the start of construction, with design, approval, tender, environmental assessment, etc.

Inflating the next bubble

And there’s the problem. Maybe we’ll still be in a bust in several years, but maybe .. just maybe .. we’ll be in the middle of a world-wide boom.

Then all the money that governments are committing now will go not to pull countries out of the current recession, but to inflate another bubble that could make the next recession even worse.

Are there any options? We could try to plan stimulus packages during the boom, not during the bust, so that they’re ready to go when we actually need them. The problem is, how do you predict a bust 5-10 years in advance? Are contractors and workers willing to wait an uncertain number of years to start work until the next recession is declared?

That is why stimulus attempts mostly fail.

Good choice (I think)

December 12th, 2008

The U.S. Senate made the right choice rejecting the auto industry bailout.

This isn’t about class warfare: it doesn’t bother me that the CEOs took their bizjets from Detroit to Washington (CEOs take private jets so that they have more time to work on running their companies, not to show off), and many of the shareholders who stand to lose are private citizens’ 401Ks and pension funds, not rich industrialists.

This isn’t about environmental concerns: companies will make electric cars as soon as they think they can profit from them (would you buy an electric car as your principal car now, when you have to stop every 2-3 hours and plug it in overnight, the batteries are an environment catastrophe waiting to happen, and a lot of the electricity in the U.S. is generated from dirty coal?).

This isn’t about free-market purism: sometimes even healthy private organisations do need a little bridge financing to get through hard times, and in rare cases the government has to be the financier of last resort.

This is about not prolonging the agony: the existing three major North American car companies are obviously doomed, and all a little more money will do is delay the bankruptcies, mergers, and restructuring that might actually create a vibrant, healthy North American auto industry (maybe just one company instead of three).

No money pit

A bailout would also be a commitment to a money pit — after spending $25B$14B now, would the U.S. government be able to say ‘no’ to more in three months, when the industry burned through the first handout? What about another three months after that?

These aren’t healthy companies going through a rough spot — they were dying slowly even during the boom, when the world auto industry was way over capacity for demand, and Detroit was losing hundreds or thousands of dollars on every car they sold. GM burned through USD 4.2B cash in 2008Q3 alone, and that was mostly before the market meltdown.

Palliative care

The U.S. auto industry won’t disappear, but it has to change, and that change is going to be painful for the workers, their families, and their communities. It’s good that the U.S. government has decided not to make a pointless intervention leading to false hope and prolonged agony; now, though, it’s time to think about palliative care for the industry, while the workers grieve and then move on with their lives. Can the government help? How? $25B$14B to help communities would be a lot more useful than $25B into GM’s, Ford’s, and Chrysler’s petty cash boxes. But how to spend it?

What’s happening in Canada?

December 1st, 2008

Canada just had an election six weeks ago, but we might have a new Prime Minister and cabinet from a different party in a week or so, without holding another election. What gives?

Background

If you don’t live in a country like Britain, or Australia, that uses the Westminster System, what’s happening in Canada right now — to the extent that you’re paying attention at all — must seem very strange. For our American cousins, here’s how our system lines up with yours:

U.S. Canada
President (directly elected) Sovereign, represented by the Governor General (appointed and purely ceremonial)
Senate (directly elected) Senate (appointed and mostly ceremonial)
House of Representatives (directly elected) House of Commons (directly elected)
House Majority Leader (indirectly elected) Prime Minister (indirectly elected)

A question of confidence

Since only our House of Commons — equivalent to the U.S. House of Representatives — is actually elected, it holds all the real power, and the leader of the ruling faction in the House — the Prime Minister — is the effective (but not constitutional) head of state and can appoint the other cabinet ministers (just like the party with a majority in the U.S. House can appoint the committee chairs).

The Prime Minister holds power, however, only to the extent that he or she can keep the confidence of the House of Commons. Any party leader can go to the Governor General and offer to form a government, but by tradition, the G-G will always give the first chance to the leader of the party that won the most seats. If that party has a majority of seats in the House, then forming a government will be a no-brainer (assuming that the leader can maintain party discipline); if the party has only a plurality of seats, then it has to prove that it can control the house and pass its major legislation; if not, then the G-G can offer a different party leader a chance to form a government.

Only MPs are elected

Although this might sound bizarre to people used to the American system, there’s nothing inherently undemocratic about it. Canadians elected 308 Members of Parliament (MPs) earlier this fall; we did not vote directly for a specific Prime Minister or a specific party. The Conservative Party won a plurality of the seats, but not a majority: that doesn’t guarantee them the government, only the first turn to try to form one. The Conservatives are about to bring their first major piece of financial legislation before the House, and if it is defeated, the G-G is required to conclude that the Conservative government does not have the confidence of a majority of the 308 MPs we elected, and (since the last election was so recent) to give another party leader a try if one can make a credible case.

Hubris

Last time around, the Conservatives had no problem governing with a minority government — they just made sure that at least one of the other parties would support each piece of legislation they brought forward, and the opposition parties — especially the Liberals — were too timid to force an election by defeating them. This time, though, the Conservatives foolishly pushed the opposition parties just a little too far, by trying to cut government funding for political parties. This would hurt the opposition much more than the Conservatives (who are better at fund-raising), and whether the move was morally right or wrong, it was politically ignorant.

Suddenly, two of the opposition parties — the Liberals and the New Democratic Party (NDP) — woke up out of their daze and realized that they could vote with the Bloc Québécois to defeat the Conservatives, then join together to form their own government. The Conservatives immediately panicked and withdrew the anti-funding proposal, but the genie was out of the bottle — the Conservatives’ only remaining hope is to try to appease the Bloc enough to keep their support.

Food for Junkies

So if you’re a political junkie who’s still in a slump after the end of the U.S. election, stay tuned — even Canadian politics can be exciting sometimes.

Banking: blame and beliefs

October 14th, 2008

The world banking meltdown is a lot like the Christian Bible: no matter what your personal beliefs, you can find something there, somewhere, to back them up.

Too little regulation? Lenders were able to use credit derivatives (such as collateralized debt obligations) to keep loans off their books, without any reliable way of assessing their risk (and thus, their actual value).

Too much regulation? Basel II (the regulatory response to previous banking crises) forced banks to reassess their reserves daily at market value — if the market started to fall, banks had to convert stocks to cash quickly to avoid falling below minimum reserve levels, massively magnifying even small stock market movements and encouraging banks to use credit derivatives to keep loans off their books.

Sinners? People (especially in the U.S.) went out and bought homes that they could never afford to pay for, on the assumption that home values would keep rising, then kept taking out more money against their mortgages to finance regular consumer spending.

Victims? Some of the financial instruments available to borrowers in the U.S., like negative amortization mortgages (pay less than the interest for the first few years), were deliberately designed to sucker in buyers who hadn’t quite mastered grade 5 math.

Too much government? By taking over bad loans from the banks, governments around the world have sent out the message that banks get to gain in the good times, but will be spared the pain in bad. Do they have any more incentive to be careful the next time around? Besides, all the government borrowing, especially in the U.S., has hardly helped the situation.

Too little government? Central banks could have stopped the housing bubble in its tracks by raising the prime interest rate (say, to 5 or 6% in the U.S.). Year after year, they passed on the opportunity, keeping interest rates low to keep the stock markets artificially high, and pumping more air in the housing bubble, leading to a bigger explosion this year than we really needed.

So, whether you’re a political candidate or just a Starbucks pundit, pick the statements above that best support what you already believe, and run with them. No matter what, you’ll probably be right.

sorry.google.com

October 1st, 2008

See the update below. I was right: Google’s new bot detection is overly naive, and I’m not the only one having problems.

See also John Cowan’s comment below, for a different (personal) interpretation of Google’s terms of service.

Google Maps won’t show me satellite imagery this morning.

Google has recently set up a system to try to autodetect and block bots scraping their system, and it isn’t working very well — people are getting blocked even from Google Search simply because they have too many (human-generated) queries passing through the same proxy.

This morning, I suddenly discovered a different problem: the satellite view in Google Maps has stopped working for me — I get the “don’t have imagery at this zoom level for this region” error everywhere, at every zoom level. I can still see maps and terrain, but not satellite pics, and I noticed the host sorry.google.com setting a lot of cookies.

Is Google’s satellite imagery down for everyone else this morning, or has their software decided that I’m a bot trying to scrape satellite imagery?

Update

I was right — Google’s software had decided that I was a bot. They have a test link directly to a satellite to see if you’re being blocked:

http://khm0.google.com/kh?v=31&hl=en&x=0&y=0&z=1&s=

It took me to this page. I was able to renable access simply by entering a CAPTCHA.

What happened?

I wrote a couple of months ago about how to detect overzoom in Google Maps. My guess is that the overzoom protection in OurAirports — automatically zooming out every 4 seconds until there were actual satellite tiles available — triggered to bot alert, and I’ve disabled the feature for now.

That’s very bad news for any mashup that uses JavaScript to do more sophisticated things with Google Maps, like, say, panning at regular intervals. Google’s bot detection seems to be extremely naive, and any repeated action at regular intervals will fire it off.

Taking sides

September 23rd, 2008

I don’t believe that anything — especially a political argument — can be self-evidently true: people get together in groups and construct their realities, whatever those may be. In my reality, however, there are some arguments that just don’t go well together, and I have a lot of trouble respecting any commentator, politician, or even dinner-table pundit who supports both statements in any of the following pairs.

Age

  1. A 16-year-old is too young to vote.
  2. A 16-year-old is old enough to be tried for a crime as an adult.

This is a variation of the “no taxation without representation” idea that helped drive the American Revolution. Any person who is considered legally capable of making an informed decision as an adult should have a share in choosing his/her government. If a 16-year-old is capable of forming a plan to steal/murder etc. as an adult, then a 16-year-old is capable of voting as an adult. There is no excuse for the voting age to be different from the age of full criminal responsibility.

There are lots of variations: for example, an 18-year-old is too young to drink in most of the U.S., but plenty old enough to have his finger on the trigger of major ordnance in a war. The age of sexual consent also comes into play here. This is one that right-ish political parties, like the Canadian Conservatives or the U.S. Republicans, usually flunk.

Environment

  1. The government should do something to lower gas prices.
  2. The government should do something to lower carbon emissions.

So far, high energy prices are the only thing that seems to cut carbon emissions. If you don’t believe that carbon emissions are accelerating global warming or that global warming is a serious threat, then go ahead and push for lower gas prices; if you do believe that global warming is a serious threat, then you should be cheering for $20/gallon gas. Most North American politicians — especially those in left-ish parties (like the Canadian NDP) — flunk this test cold.

Military intervention

  1. Rich countries should never send in their armies to invade poor ones.
  2. Rich countries have an obligation to ensure that there’s never another Rwandan massacre.

This is a tough one for me, because I believe that the rich world has botched nearly every military intervention it’s made in the poor and developing worlds over the last 200 years (Bosnia stands as one of the partial exceptions). Isolationism is a perfectly consistent political view, but for the rest of us, if we do ask our governments to protect people in poorer countries from their own governments, we are implicitly asking them to go in shooting if economic sanctions and strong words on the floor of the U.N. Assembly don’t do the trick. The rich world could probably could have stopped the Rwandan massacre, for example, but there’s a good chance rich-world troops would still be stuck as unwelcome guests in central Africa today, as they are in Iraq and (to a large extent) Afghanistan.

This is another one that politicians from left-ish parties usually flunk.

Freedom

  1. Freedom is what makes Democracies [sic] better than other forms of government.
  2. When Democracy is under threat, security is more important than people’s rights.

No explanation required. This is another one that politicians from right-ish parties usually flunk.

XML-in-Practice 2008: call for participation

August 26th, 2008

The new name for IDEAlliance’s annual XML conference is XML-in-Practice (December 8–10, Arlington, VA), and it has just released its call for participation, with proposals due by 19 September and selected papers announced by 3 October.

I won’t be chairing the conference this year, but I’m looking forward to reading many of the submissions as a peer reviewer.

Detecting overzoom in Google Maps

July 27th, 2008

[Warning: as of 1 October 2008, Google is using an over-simplistic bot detection algorithm, and something as simple as zooming out at regular intervals can trigger it and temporarily block access to Google resources. I recommend waiting until they fix their algorithms to use this technique.]

Here’s a link to a web page showing how to detect overzoom with the Google Maps API.

Overzoom is a big issue for my site OurAirports, which shows a close-up satellite view on each airport’s page (e.g. the former Meigs Field). Unfortunately, there’s no documented way to use the Google Maps API to check if a satellite view is overzoomed (instead of a satellite picture, it’s showing the “We are sorry, but we don’t have imagery at this zoom level for this region…” message). That can be confusing for someone who isn’t a regular Google Maps user and hasn’t actually touched the zoom controls on the map.

The hack

The page above came up with the clever solution of counting paragraphs in the map container. If there is a “sorry” message, there will be HTML p elements inside the map container. Here’s a simple JavaScript function that checks to see if the map is overzoomed, and zooms out one level if it is:

function check_zoom (map)
{
    var zoom = map.getZoom();
    var count = map.getContainer().getElementsByTagName('p').length;

    if (zoom > 1 && count > 0) {
        map.setZoom(zoom - 1);
    }
}

Note that it doesn’t iterate — it just does one check and exits. The easiest way to use this is just to have it run every two seconds or so. If your map is available in a variable named map, this will do the trick:

setInterval("check_zoom(map)", 2000);

Examples

To see how it works, check out Vuotso Airport in Finland. Google Maps doesn’t have very good satellite coverage for Lapland in the far north, but OurAirports now detects that after a couple of seconds and zooms out one step. For a more extreme example, look at Alert Airport, the world’s northernmost permanent airport, in Nunavut, Canada — the code has to zoom out several times until you can see anything in the satellite view.

Caveats

The more elegant solution would be to detect when the map is finished loading after every event that can affect it, but that sounds like too much work to save a couple of milliseconds here and there.

Note that Google can break this at any time simply by adding or removing p elements — it would be much better to have an official, reliable way to detect when a satellite view is overzoomed.

Widgets vs. Portlets

July 14th, 2008

Widgets are web pages embedded in larger web pages, generally using iFrames — the content comes via a separate HTTP connection and has its own CSS stylesheet, cookies, etc. Final composition takes place in the user’s browser.

Portlets are software modules that produce fragments of HTML markup that are assembled into a single HTML page, sharing common CSS stylesheet, cookies, etc. Final composition takes place on a portal server, and a single page is delivered to the client browser.

Features

Portlets have a lot of features that iFrames don’t: they require fewer HTTP connections, they allow for common styling (one CSS stylesheet can style all the portlets on a page), and they can communicate with each other and take advantage of common authentication/authorization, etc. (so that a user doesn’t have to sign on to each portlet separately).

Portlets use a window-manager metaphor, allowing the portlet server to resize them, expand them etc. They also have modes, like edit and view, all of which can be accessed through a common interface. All of this happens on the server side.

iFrame-based widgets don’t normally do any of that, but they don’t require special portal servers, they can be embedded in more creative ways, and they offload the processing from the server to the client. They also introduce potential security holes, but only if they’re hosted somewhere that’s not under the original company’s control (the same applies to remote portlets using WSRP).

Users

Portlets are used mainly in intranets, to provide a collection of enterprise apps on a single web page for employees (e.g. a news feed, calendar, expense forms, bug reports, etc.).

Widgets are used everywhere else (e.g. embedding Google maps, Facebook applications, etc.). While widget authors/consumers don’t tend to know (or care) much about portlets, the portlet people haven’t failed to notice the popularity of widgets — most (if not all) portal servers now have an iFrame portlet that does little more than wrap an iFrame and allow it to be resized, etc.

Future?

Are the extra features of portlets compelling enough to justify the extra cost and hassle of running a portlet server? Now that we have browser tabs, AJAX, etc., do enterprises really need to continue to squish all their apps into a single web page that looks like a 1995 Mac desktop gone bad?

My guess is that the only portlet feature with compelling benefits is common authentication/authorization — once the web community gets behind a solution to that problem (OpenID or something similar), widgets will probably push portlets out completely, even in the enterprise.

Structured community authoring

June 24th, 2008

About 10 months after launching my OurAirports site for air travelers and pilots, I’ve finished the basic infrastructure to allow community authoring. Unlike Wikipedia, OurAirports contains information that is specialized, structured and finite (there are only so many airports in the world), and I’m interested to see the technical and social differences from the Wikipedia world.

More details are available in the announcement on my flying blog. Note, also, that all of the data collected is free for download (public domain).

Set and forget: 335 days and counting …

June 18th, 2008

Late in summer 2007, I set up a dedicated Linux Ubuntu server at a site in San Diego to host OurAirports and my consulting site, megginson.com. The ISP has had some net outages, but the Ubuntu server itself has kept on chugging through. Here’s the uptime:

 11:18:31 up 335 days,  7:12,  1 user,  load average: 0.05, 0.06, 0.01

Since the ISP set the computer up with a minimal Ubuntu install and gave me the access info, it has run continuously — I know I should install an updated kernel some day, but it’s hard to bring myself to do that.

The Code Factory, Ottawa, Canada

June 16th, 2008

Ian Graham, who is well-known in the Ottawa tech community because of his involvement with Bar Camps, Demo Camps, etc, has a new start-up called The Code Factory.

Location, location, location …

Located in Ottawa’s downtown core a couple of blocks south of Parliament Hill, The Code Factory has offices for rent, drop-in communal working space with WiFi, and a lot of character (old building, bright with lots of windows, hardwood, rickity old elevator that reminds me of office buildings in SoHo).

No three-year leases

The offices go for around $800-$1,000/month (no long-term lease required), and all have windows or skylights. The open (no cubicles) communal working space costs $5/hour, billed to the nearest half hour, and includes unlimited coffee, cappuccino, or espresso, making it a break-even for coders who spend a lot at Starbucks (think one cappuccino/hour).

Unlimited caffeine

For the communal working space, his target market is coders who work from home, but miss the energy and social life of an office and want to drop in a couple of times a week. Despite all the friendly chatter, I find I’m actually getting more done in four hours there than I do in eight hours at home.

Shut-in no more

At a 45 minute walk from my house, The Code Factory is perfect for me — I’ve worked from home for over 10 years, and the Factory gives me an excuse for a little extra exercise, gets me downtown, and gives me the buzz that comes from working around other coders. I think that Ian has done a great service for the Ottawa tech community — much more so than yet another incubator or government-subsidized fund — and that we’ll see at least one or two successful companies tracing their roots back to the Factory, as well as a lot of happy consultants like me.


View Larger Map

Ready for Prime Time?

May 10th, 2008

I bought a cheap HP C4280 printer-scanner-copier today, since my old HP 1210 finally gave up the ghost.

Installing the printer in Windows Vista

Installing the printer in Windows Vista wasn’t too difficult. I followed the instruction not to plug in the USB cable until asked, then inserted the supplied CD-ROM and authorized Vista to run the setup.exe program. I had a click through a few screens, then I plugged in the the USB cable, let it autodetect the printer, and left it running over supper. The whole process took less than 15 minutes. When I came back in, it was finished, and I just had to dodge the ads attached to the end of the installation program. I think my non-computer-literate older relatives could have managed fine without any help from me.

Installing the printer in Ubuntu Linux

I turned on the computer. The HP C4280 appeared in the printer list.

Prime time

So who’s not ready for Prime Time on the desktop? No TV show on Prime Time is without flaws, and no OS is without flaws — Ubuntu still has trouble with some wireless networking cards, and pretty-much 100% of the tech support calls we made at XML 2007 were for Mac notebooks (Windows and Linux notebooks just worked, every time) — but Ubuntu makes it hard to argue that somehow Windows and Mac are good enough for the desktop, while Linux isn’t.

Dealing with strangers

April 8th, 2008

From the leader in this week’s Economist:

“Financial progress is about learning to deal with strangers in more complex ways.”

s/Financial/Technical/ and it applies just as well. What else are we doing in tech, if not figuring out ways for strangers to deal with each-other? Sometimes we focus on designing safeguards, like firewalls or spam filters, and sometimes we focus on creating opportunities, like social networks or source code repositories.

A political posting

March 29th, 2008

Late in 1963, shortly before he was assassinated, U.S. President John F. Kennedy asked Canadian Prime Minister Lester B. Pearson for his opinion on how the U.S. should cope with escalating unrest in Vietnam.

Peason: “Get out.”

JFK: “That’s a stupid answer. Everyone knows that. The question is how do we get out?”

How, indeed? As JFK had finally come to understand, military conflicts, justified or not, are like a Chinese finger trap: it’s easy for a political leader to order the troops in, but very tricky to pull them back out (just ask the British about Northern Ireland, the Russians about Chechnya, or even Pearson’s Canadian successors about southern Afghanistan).

Good luck to President Clinton, President McCain, or President Obama (alphabetical order) in January 2009 — they’re all smart and well-intentioned people, but they’re going to find that the trap has already been pulled very tight, and there’s not much room left to wiggle free.

Strange web exploit attempt (?)

February 4th, 2008

In the search logs for OurAirports, I noticed a series of searches for URLs:

http://www.feliciano.de/Webgalerie/bilder/Italy/une/yiwul/
http://www.unduetretoccaate.it/codice/aseje/wocobo/
http://www.altaiseer-eg.com/ar/articles/jed/umut/

At first, I thought they might be a kind of link spam — some sites display recent searches — but when I checked one of the URLs, I found something totally unexpected:

<?php echo md5("just_a_test");?>

They’re all the same. This is almost certainly related to passwords: is there a known flaw in a PHP content-management system like Drupal, or in the PHP API for a search engine like Lucene, where this would do some damage, or is it just a test probing for weaknesses? Is the PHP code supposed to be served up literally like that, or should I be seeing the MD5 instead?

Delayed echo in the echo chamber

February 2nd, 2008

Some people compare blogs (and mainstream media) to an echo chamber, constantly repeating and amplifying the same messages, but the echoes usually die out quickly. Not so, today, when I found this story on the planenews.com aviation news feed:

21 Feared Dead in Munich Crash.

About twenty one of the 44 passengers and crew of the British European Airways airliner which crashed yesterday near Munich carrying the Manchester United football team and many journalists are feared dead. About eight others are in hospital, seriously injured. Frank Swift, the former international goalkeeper, who had become a journalist, died in hospital.

I didn’t hear about any crash yesterday, but according to the Wikipedia article on Manchester United, there was a crash near Munich on 6 February 1958 that killed eight of the team’s players. In fact, when you follow the full story link in the posting, there is a story about the crash. The phrase “From the archive” is hidden in the deckline, but the dateline is “Saturday February 2, 2008″ (probably automatically updated by the site). There’s nothing else in the online version to indicate that this is an archived story from 7 February 1958, though a Brit would probably know that British European Airways ceased operations in 1974.

This is an easy mistake to make trying to keep up a blog of current events, and I don’t mean to suggest that the maintainer is stupid, or that I couldn’t do the same thing — in fact, next December, watch this spot for postings about an air attack on Perl Harbor.

Is the problem Wikipedia, or David Megginson?

January 23rd, 2008

The Wikipedia article about me was vandalized yesterday (vandalized version) by someone from the IP address 24.225.66.95, which seems to be in or near Raleigh, North Carolina.

What should I do?

  1. Edit the article myself to remove the vandalism? — OK, that’s a really bad idea
  2. Go in anonymously and edit the article? — also a bad idea
  3. Rejoice in the fact that my article is important enough to be vandalized?
  4. Despair in the fact that my article is not important enough for anyone else to have noticed and fixed it?
  5. Reconcile myself to the idea that the edits are not vandalism at all, and I am, in truth, “a freaking looser who knows nothing” and “a noob”

I’m leaning towards #5, though I’m disappointed that kids these days seem to have forgotten how to swear properly: “a freaking loser”???

Google analytics for XML 2007

January 21st, 2008

I forgot that I’d enabled Google analytics for the XML 2007 web site. Even though the conference is long over, I though it would be interesting to look and see what some of the trends were from September 2007 to January 2008 (keeping in mind that these stats apply to the kind of web users interested in a tech conference, not to the web at large).

MacOS is still #3

Despite the halo effect from the iPod and the widespread use of Mac notebooks among speakers, MacOS still hasn’t managed to make much of a dent in the visitor logs:

  1. Windows: 80.70%
  2. Linux: 9.57%
  3. MacOS: 9.44%

If MacOS can’t beat Linux on the desktop, I don’t know if it has a bright future.

Internet Explorer below 50%

Firefox is still #2 behind MSIE, but for this crowd, the gap is small:

  1. MSIE: 49.61%
  2. Firefox: 41.14%
  3. Safari: 3.50%
  4. Mozilla: 3.22%
  5. Opera: 1.76%

If you’re designing or maintaining a web site with a tech audience, you’d better be testing on Firefox as well as MSIE.

Screen resolution and colour depth

I know that web designers like big layouts, but the sad fact remains that 1024×768 is still the most common resolution (and remember that the browser window may be much smaller than the screen):

  1. 1024×768: 28.32%
  2. 1280×1024: 25.84%
  3. 1280×800: 10.61%

A long tail of resolutions follows, but it’s worth noting that the classic 800×600 has only 1.96%. Better news comes from colour depth, where almost everyone has 16bpp or better:

  1. 32bpp: 80.29%
  2. 24bpp: 11.89%
  3. 16bpp: 7.37%

Traffic

Search engines, referrers, and direct access were all important traffic sources:

  1. Search engines: 36.77%
  2. Referring sites: 34.97%
  3. Direct traffic: 28.22%

Blogs did show up among the referring sites, but the biggest traffic producers were traditional links from partner organizations (other conferences, IDEAlliance itself, etc.) — these were also the stickiest, since most people coming from these links went on to read more than one page.

As far as search engines go, I was surprised to find that nothing really matters but Google (assuming that Google Analytics isn’t biasing the numbers):

  1. Google: 94.16%
  2. Yahoo!: 3.46%
  3. Live: 1.51%
  4. MSN: 0.45%

I knew that Yahoo! and MSN were behind in search, but I had no idea just how bad it was (at least in the tech crowd). More than half of the people who found the site via a search engine went on to read more than one page.

The top search phrases were rather dull and predictable:

  1. “xml 2007″: 28.50%
  2. “xml conference”: 8.22%
  3. “xml conference 2007″: 3.20%
  4. “xml conferences” 3.04%

And so on through a very long tail. Individual speakers’ names start appearing soon, but none with more than 10 searches. I trolled through the low-frequency search phrases for something funny (and maybe risque), but all I came up with was the number “736″, which resulted in three visits. I gave up trying to find the site in the Google results for that number. Does anyone really search for a single three-digit integer, and if so, how many pages of results will that person scroll through?