November 2005 Archives

Kevin Shockey

AddThis Social Bookmark Button

Today the computer science students around the Interamerican University of Puerto Rico Bayamón campus were abuzz with visions of grandeur. It seems that over the last few weeks the faculty has been discussing and preparing to participate in the 2006 Imagine Cup, which is sponsored by Microsoft Corporation.

The Imagine Cup is an annual competition that provides an opportunity for young technologists to help solve some of the world’s toughest problems. Students from high school and college can compete within different categories - Software Design, IT, Short Film, Algorithm, Project Hoshimi Programming Battle, and Interface Design - all focused on this year’s theme, health. The competition is organized into regional invitationals; with a world-wide finals held this year in Dehli, India.

The main focus of the Imagine Cup is the software design competition. Teams of up to four persons are asked to build health-related solution that feature a self created Web service, is designed on .NET Framework 2.0, and uses Visual Studio for development. Invitational winners will receive $8,000 and an all expenses trip to India to compete in the world-wide finals. The winners of the Imagine Cup will receive $25,000 and world wide recognition. What a wonderful opportunity! There is a small catch, however. According to the legal notice for the competition, by accepting the prizes, competitors must: “… agree that Microsoft shall be free to use for any purpose the residuals resulting from access to or work with your Application. The term “residuals” means information in intangible form, which is retained in memory by persons who have had access to the Applications, including ideas, concepts, know-how, or techniques contained within.

By entering you agree that Microsoft will not have any obligation to limit or restrict the assignment of such persons or to pay royalties for any work resulting from the use of residuals. “

So although as the legal notice states later, you are not granting a license of any copyrights or patents, you grant Microsoft an irrevocable, royalty free, fully paid up, worldwide license to use, review, assess, test and otherwise analyze your entry and all its content in connection with this Contest. Although this is the fourth year for the Imagine Cup, this is the first year I have heard students I know talking about it. Now that I have checked into the details, I find the conditions for this contest deplorable. Microsoft is trying to fund its research and development by stealing the ideas from young students. This couldn’t be any clearer when you compare the terms and conditions to another competition of sorts that Paul Graham founded in the form of Y Combinator.

If selected to participate as a Y Combinator founder, each team receives a $6,000 (per person) stipend to work for three months under the mentorship of Paul Graham and his associates. In exchange Y Combinator helps each team create a company, incorporate, present their technology to angel investors (including Yahoo and Google), and retain full ownership of all rights to their work. Y Combinator receives up to a 7 percent stake in each company for their efforts.

If you were a talented young technologist, which competition would you rather enter? One where you slave over a piece of software for months with the hope of winning $33,000, a trip to India, but giving away the license for someone else to market your software or doing the same amount of work and walking away with full rights minus 7% of any profits if you sell that software to Google?

The Imagine Cup is a huge farce and should be resented by any institution or country that is trying to install in their youth the entrepreneurial spirit. I recommend any teams that are considering this competition to seriously evaluate the cost of giving Microsoft “an irrevocable, royalty free, fully paid up, worldwide license to use” your innovation. I would also recommend reading Thomas Friedman’s book “The World is Flat”. Then do yourself a favor and check out the Y Combinator’s Founders program. The world has indeed been flattened and the Imagine Cup represents old world thinking.

Am I missing something here?

chromatic

AddThis Social Bookmark Button

Related link: http://slashdot.org/article.pl?sid=05/11/27/1645214;mode=nocomment;tid=166;tid=1…

When discussing how no single writer or publisher knows as much about a story than all of the experts in the world combined, Robin Miller makes a whopping claim:

With thousands of readers as fact-checkers, mistakes would rarely go uncorrected for long…

That’s a huge assumption, requiring you to believe also that:

  • Thousands of readers know the facts
  • Some significant percentage of those readers will make corrections
  • Those corrections represent the truth and not the opinions or biases of the correctors
  • You can tell true corrections from false ones
  • People read the comments!

Having read press releases and seen demonstrations staged for the mutual benefit of television cameras, I believe more strongly in the ability of a small group of people dedicated to manipulating the press (however willingly) than in the as-yet unproven ability or desire of a larger group of disinterested people to report more accurately on an issue they don’t care about.

More bluntly, unless you become an investigative reporter yourself, how can you tell a legitimate correction from deliberate misleading published by someone with an agenda? Does the loudest voice win? Does the most popular opinion win? Does the last edit win? Do you flip a coin?

Are Robin’s ideas bad? Not at all! Giving people more information about more perspectives about an event probably does improve the chances of knowing what really happened and why.

However, I just can’t believe that merely allowing feedback from anyone, regardless of experience, bias, knowledge, or skill, means that the truth is suddenly obvious and easy and widespread. The Internet doesn’t magically solve epistemological problems.

Here’s where you register a dozen different accounts and tell me I’m wrong.

Jeremy Jones

AddThis Social Bookmark Button

First of all, let me say that I am not a Microsoft hater. I will say that I am not fond of the majority of products I have used which bear the Microsoft label. They tend to leave me feeling as though my hands are tied and my options are limited and that I’m being “guided” by a paternalistic entity who feels that he knows what is best for me…but rarely ever really knows what is best for me. Whatever my experience, Microsoft creates products which are great for the majority of people out there. That is why Microsoft is such a successful company. Further, I believe that Microsoft has done more to push the computing world forward more than any other single company. So, I am by no means anti-Microsoft.

Next, let me say that I am not a conspiratorial person by nature. I’m a simple person and I tend to believe that the simplest explanation for something is typically the most plausible. This “Occam’s razor” principle causes me to become skeptical when I hear speculations about a group of people (or company) engaging in covert activity with the intent of duping, subverting, or harming another group of people. While this may sound overly optimistic, I’m really quite realistic. I recognize that there are rare occasions where regular people do engage in dubious, subversive, harmful activity. I also recognize that there are regular occasions where rare people also engage in dubious, subversive, harmful activity. Maybe it is my optimism, but I sincerely believe that nefarious behavior is not the norm across society as a whole. And I believe that most people and groups who have obtained a negative reputation probably have a worse reputation than they deserve.

So where am I going with all this? How can Microsoft kill Python? As I mentioned in the lead-in to this blog entry, when I say “kill”, I mean “seriously damage the relevance of Python”. Let me first outline what I don’t mean. I don’t mean that Microsoft, as some have suggested, will work on IronPython for a while, get people using it, then hijack the language by seriously changing the syntax of it and thereby breaking compatibility with CPython. I really don’t believe that Microsoft is going to do that nor do I believe that they have had secret meetings to conspire to such an end. I find such suppositions entertainingly absurd.

What I do mean is Microsoft’s emphasis of Python as one of many potential “dynamic and scripting languages”. The type of wording that I keep hearing to describe Python’s place in the overall .Net framework seems to keep it very separate from “real” languages like C#. It is true that Python is a very dynamic language. It is also true that Python makes a fantastic scripting language. But it is more than that. I believe that there is no reason to shy away from offering Python as an alternative to C# for application development. Sure, its dynamic nature can be emphasized, but I would market that dynamism as a selling point rather than a liability. It could just be me, but I get the feeling that Microsoft doesn’t want to encourage people too strongly to use IronPython for “real” application development.

So, how does this damage the relevance of Python? If Microsoft, who is investing considerable time and money to create a .Net implementation of Python, only refers to IronPython as a “dynamic language” and only pushes it as a “scripting language”, many people will begin to assume that that’s all that it is good for. If this causes more people to think of Python only as a scripting language (which many do, already) or a dynamic language to be used only when they can’t accomplish something in a static language, that will reduce the situations which IronPython might have been used for otherwise. If people limit what they use Python for, its relevance for a whole realm of programming tasks has been diminished.

And I think that would be a terrible shame. From what I have seen, Jim Hugunin and crew have done a fantastic job of integrating Python into .Net. I was really excited about this project when I heard about it. I’m still excited about the technology. And I’m more excited still about the overall possibilities and what it could do for Python. I’m just concerned that the current marketing words might cast Python in a limited light. Microsoft has the opportunity to promote Python as a full-blown viable alternative programming language with tremendous productivity benefits to its customers. I hope I’m wrong with my concerns. But more than that, I hope that Microsoft will begin to encourage Python usage for a broad range of programming tasks. Why shouldn’t they?

Sid Steward

AddThis Social Bookmark Button

Related link: http://news.yahoo.com/s/nm/20051128/tc_nm/tivo_dc_3

From the 11/28 WSJ:

“TiVo users will be able to set up a profile of products on their television screens by clicking on categories such as automotive or travel or typing in keywords such as ‘BMW’ or ‘cruises.’ … TiVo will then download relevant commercials to TiVo recorders over the Internet or, for those users who don’t have broadband, send the video via traditional broadcast signals.”

I could see myself using this to get detailed, media-rich product descriptions.

Andy Oram

AddThis Social Bookmark Button

A correspondent named Tim Almond just wrote me to point out a modern
barrier to communications:

How can person A know that person B uses OpenDocument? Everyone
assumes that people can read .doc and .pdf, but no-one assumes that
people can support .odt.

This is an interesting challenge. Computer systems don’t know how to
inquire what utilities are used on other systems, or formats they
support. That’s why, for instance, when you visit a site that offers
audio or video files, it makes you choose the format you want. Your
browser can tell the server what browser and operating system you’re
using, and the server can tell your browser what encoding it’s using
to send data, but the browser and server don’t figure out between the
two of them what format to use, when multiple formats are available.

Now, programming libraries such as the X Window System and CORBA
contain mechanisms whereby one side in an exchange can inquire what
extensions are used by the other side. And many networking protocols,
such as SSH, negotiate a lot of their parameters at the start, such as
what kind of encryption to use. But no such system is in use for
negotiating file formats.

The

Content Negotiation

section of the HTTP/1.1 protocol specification contains some
interesting reasoning as to why it would problematic to let computer
systems negotiate content. If driven by the server, any such system
would have to make assumptions about user preferences, or force the
user to describe her system in great detail (a potential privacy
violation). A browser-driven system would avoid some of these problems
but would add complexity and inefficiency.

Two more problems get in the way of creating a system that
automatically delivers documents in the format people want:

  • The choice of format tends to take place when a document is created.
    Unless all utilities support all formats (something that Microsoft
    shows no interest in, and which would be unfeasible for any utility
    when taken to an extreme) the person sitting down to create a
    spreadsheet or presentation has to make assumptions about what all the
    correspondents on the other end want.

  • Most documents are still delivered through the clunky, non-interactive
    medium of email. There is no way to negotiate parameters for
    communication.

So we’re going to have to continue doing what I do with my authors
every time I start working on a new book–ask what formats each side
can accept and do the negotiation on a human level. Still, it would be
interesting to speculate about systems that would be more flexible
than email and where you could set preferences before retrieving a
document from a colleague.

Jono Bacon

AddThis Social Bookmark Button

You know, we Open Source types tend to bang on a fair bit about rights. If it is not the rights associated with free software, it is the rights to free media with the Creative Commons, and then, with some tired gusts of air, we blurt out our rights associated with software patents, the overreach of copyright, the abuse of technology to invade privacy, the protection of free speech, and the protection of open knowledge. These rights affect everyone, but despite our objections, some people and organisations just want to trample on them anyway.

A while back I headed down to London to the OpenTech event in which a number of people had gathered to talk about digital media and Open Source. While there, I noted a deep undercurrent of discussion about digital rights. Aside from the notable Cory Doctorow and the fantastically insane Danny O’Brian, most of the delegates seemed to be engaged in some form of discussion about digital rights while lurking around the corridors. Danny had proposed earlier in the day that if people just paid a fiver a month (thats five English pounds for those of you not living on our isle), we could have a digital rights organisation with a suitably plump wallet to put some up some barriers to some of these people with little regard for our rights. An organisation such as this in the UK would be key in protecting these rights that are the subject of the aforementioned banging on.

A little while later I was milling around the foyer of the event minding my own business when Danny came up with a grin on his face, pinched my arm and told me he had set up a Pledgebank Pledge for such an organisation. Off went the sign-up request and I was rather chuffed to be the very first name on the list. Although I genuinely hoped the organisation would be founded and someone would wrestle that fiver from my bank account, there was a distinct possibility that it wouldn’t, and it would just be another great idea lost in the ether.

For the pledge to be successful, my name needed to be joined by 999 other names. Thats right, 1000 people needed to sign up for this thing to kick off; a lot of arms to be pinched. Thats a lot of names, and a lot of fivers. Well, through a series of mind bending jumps and feverish work on behalf of the team behind the pledge, they currently have 979 people signed up to an organisation now called the Open Rights Group. They are so close to hitting the big 1000 that you can practically hear their teeth vibrating. So what are you waiting for, get over and sign up!

Eating your own dogfood

Many of you will be reading this because you have a love of Open Source, not only because you believe in the technology and the community, but also the ethics and rights that this incredible new culture has afforded us. As a consultant I have experienced cases from large organisations right down to one man and his dog finding something valuable in Open Source, and the very real and human impact this has on all of these individuals is what makes Open Source and the Creative Commons much more than just ones and zeros; it actually enables people.

The Open Rights Group is essential for not only providing an intelligent and reasoned defence of our rights in the UK, but to also set a standard for digital rights advocacy and the execution of this advocacy with a reasoned method, free from zealotry. So, to find out what your fiver gets you, go and check out their website and a rather good wikipedia page summarising what they intend to do. Then, go and pledge your fiver and support this important group.

So what do you think? Are you going to do your bit? Do you have any thoughts on UK digital rights?

Chris Tyler

AddThis Social Bookmark Button

Related link: http://download.fedora.redhat.com/pub/fedora/linux/core/test/4.90/

The first test release of Fedora Core 5 provides an intriguing glimpse of what’s coming down the pipe next February (or, perhaps, March). There’s still a lot of sawdust and sharp edges, but there are some obvious improvements over FC4:

  • The installation uses logical volume management (LVM) by default. This is great technology and far superior to traditional partition managment — it’s good to see it in the defaults. To go along with this, there’s a very nice graphical tool for post-installation LVM management.

  • A complete switchover to yum for package management, and the new Package Updater (pup) tool takes over from up2date.

  • Lots of X11 changes: X11R7-RC2 has replaced X11R6.8.2. This means the end of the /usr/X11R6 hierarchy, the appearance of the X server and utilities in /usr/bin, new directories such as /usr/share/X11, the ability to install a reduced subset of X functionality if desired, and the debut of the evdev driver and -noswitchvt options which provide the ability to support multiple local X users out of the box (well, with a bit of configuration :-).

  • Gnome personal file sharing through WebDAV and mDNS/Rendezvous. Turn it on, plunk some files in ~/Public, and find them in Nautilus anywhere else on the network (what other clients will pick up a WebDAV share advertised via Rendezvous?).

  • Version bumps on most apps (of course!).

  • Lots and lots of little fixes and improvements. gdmflexiserver reliably does what it should (even when invoked by KDE), hardware detection and driver support seem to have been improved (at least on my laptop), and many annoyances are fixed up.

  • Some cosmetic changes: the Desktop menu is gone, replaced by System, and the System Settings submenu has been replaced by the Administration submenu. There’s a very cool new wait cursor, and the Gnome screensaver has been reworked.

I haven’t had a chance to look at all of the changes yet - including Xen and SELinux - but I look forward to checking them out over the next week.

There’s still a lot of work to be done on the installer and package manager renovations, but overall, it looks great. Congratulations to the whole Fedora team and the upstream developers!

What’s your take on Fedora Core 5?

Jeremy Jones

AddThis Social Bookmark Button

My wife is starting her own business and needs a web presence for it. Since I am the only geek she knows, I was her first choice in being the one to create her website. I expressed my absolute willingness to do whatever she wanted me to do, but I warned her that it would probably look like the droppings of a Siberian mountain goat. For some odd reason, that didn’t dissuade her.

So, what tool was I going to use to create my^H^Hher website? I looked into Nvu, but I wasn’t overly impressed with what I saw. I mentioned what I was doing to my boss, Tony, and he brought up FrontPage, whipped up a simple demo site in navigation view, and threw a navigation bar on one of the pages. Tada! That’s all there is to it. I’ve got to admit that I was pretty impressed by what I saw FrontPage doing. FP 2003 wasn’t at all the toy I remember some of the older versions being, so I decided to give it a try.

The first thing I did was lay out the site in navigation view and created all the pages that she needed. Next I began trying to figure out how to insert a navigation bar onto all the pages. I’m sure there is an easier way to do it, and I’m also pretty sure that one of you will chime in and point me in the right direction, but the best way that I found was to use frames and insert the navigation bar in the top frame. Well, I don’t particularly want to use frames. I could create a page template and create all the other pages from that page template, but what would happen I wanted to change the template? Would changes from the page template populate to all the child pages? I really don’t know.

The “ease of use” promise of Microsofty products was quickly fading for me. Each failed attempt to get things working in FrontPage added to my frustration and subtracted from the time I have to work on this site. I decided to scrap the idea of using FrontPage. It was turning out to be way too much work. Maybe the initial learning curve eventually pays off, but I doubt it would pay off for me. At least it wouldn’t pay off for this one website.

If I didn’t use FrontPage, what would I use? It should be pretty easy to write a script or two to manage the site navigation and put all the pieces of the website together. I did a quick search on Google and SourceForge to see if someone else had created something like this, but I came up empty. Not totally, but it looked like the projects which did what I was looking for hadn’t been updated in a couple of years. I decided to hack together a really simple, site-specific templating script to throw Debra’s site together. I began with the layout for most of the pages on the site. There would be a top area for navigation and maybe a logo. I also wanted an optional region on the left side of the page for navigation within a specific area of the site. The content for each page would occupy the majority of the middle-right section of each page. And the very bottom would a footer area.

The architecture for this templating system is pretty simple. So simple, that I’m almost ashamed to call it a “templating system”. There is an XML file which describes the structure of the site. There are individual XML files for the header, left pane, content of each page, and footer region. Each page can either use the default header, footer, and left pane, or it can specify its own. I could have used plain Python code instead of XML, but decided to use XML instead, just in case I wanted to use this templating system again. I then created a Python script to parse the XML files and create the HTML files.

So far, it’s working pretty well. I can add new pages and automatically have the page added to the overall navigation of the site. If I change the site-wide header, I just have to re-run my Python script and it updates all the files in the site.

Sure, I could have looked into using includes, but I would have to specify includes in each page. Plus, the navigation structure, specifically the optional left pane, would have been a little work to manage.

FrontPage might still have have its uses. I might use it for some page-specific design details. I can only believe that it will help this design-challenged hacker.

What does all this say about me? Either I’m too stupid or impatient to figure out FrontPage, or I’m just unwilling to be stuck in the range of ways of doing things which FrontPage provides. I hope it’s the latter.

What does all this say about FrontPage? It’s a fine tool as long as you’re willing to work within what it provides. And even if you don’t use it for website management (which was the biggest issue I had with it), you can still at least use it to help lay out individual pages.

Andy Oram

AddThis Social Bookmark Button

It was on the front page of the Boston Globe newspaper today, and the
lead article on their web site–an investigation that normally would
be buried in the City & Region section of the paper. So you can’t
miss it: IT manager Peter Quinn of the Massachusetts state government
is criticized for not fully reporting trips he took during his
promotion of the OpenDocument format.

Microsoft, after a late start (like most technology companies) has
poured millions into lobbying over the past decade. Rumors even
suggest that several government IT managers who dared to consider
open-source alternatives to Microsoft heard promptly from both the
company and their own bosses to pull back. So it would be highly
gratifying to Microsoft and those trying to maintain the status quo if
someone could turn the tables and try to smear the proponents of open
source and open standards with similar influence.

Because the whole thrust of choosing an open document standard is to
improve transparency in government, one could hardly find a cleverer
complaint than to accuse the proponents of lack of transparency.

A nice side effect of the controversy is to intimidate government
staff and punish them for doing what they should be doing: going out
into public forums and exchanging ideas with the communities affected
by their decisions. Especially in a major paradigm shift, and
especially when dealing with open standards that have far-flung
communities.

People opposing change have claimed that moving to an open standard would raise
costs, playing up the obvious observation that any investment in the
future requires a temporary increase in short-term expenditures. Then
representatives for the disabled raised the concern that tools
providing the OpenDocument format don’t support all the accessibility
options that Microsoft Office contains; this gap is being addressed
surprisingly fast.

Pamela Jones of groklaw pointed out that representatives for the
disabled were demonstrating an unseemly helplessness in raising their
complaint. Because several open-source tools support OpenDocument,
anyone who wants accessibility added can pay someone to do the job
rather than complaining about it.

So they’re running out of FUD, and it became time to shoot the
messenger. The Boston Globe article is short on details–suggesting
that there isn’t much legal basis for the whole complaint to start
with–but the argument goes like this; state officials have to receive
written authorization for trips paid by outsiders, and have to give a
detailed estimate of the costs of travel. Quinn, as director of IT for
the state government, made a dozen trips during the last two years,
receiving written authorization for some. It is not clear whether he
received verbal authorization or written authorization for the others.
He paid for some trips himself and accepted payment from the
conference sponsors, duly reporting these payments.

Now someone in state government is claiming Quinn should have listed
all the companies that sponsored the conferences, to allay fears that
these companies were trying to gain underhanded influence. By this
standard, a speaker who gets free admission to a conference such as
LinuxWorld Expo or O’Reilly’s Open Source conference would have to
list that his trip was paid for by Intel, Sun, Dell, and any other of
the one or two dozen companies listed as sponsors–even Microsoft!

Yes, companies are involved in open source. Contrary to the critics,
open source does create markets, and companies will rush in to make
money there. So the publicity around this investigation may
inadvertently weaken another form of anti-open source FUD.

Attending a conference, however, does not necessarily mean one comes
in contact with a company representative. Usually, to actually
interact with that company, an attendee has to take the deliberate
step of arranging a meeting; otherwise he’s unlikely even to get a
demo at a booth. A speaker at a conference is likely to come in,
deliver a speech, and leave without ever seeing a company
representative.

I managed to reach Quinn’s former boss, Eric Kriss, which the Globe
did not. (Choosing to break a story over Thanksgiving weekend, when
protagonists are on vacation and government offices that could answer
questions are closed, definitely does not contribute to clarity.)

Kriss, whom I know because he’s contacted me with a book idea earlier,
pointed out that:

  • Most of Quinn’s trips occurred after Massachusetts made the decision
    to adopt OpenDocument. There is no possibility that the trips would
    influence the decision that had already been made.

  • While some two-way communication occurs at any conference–and is
    beneficial to the public–the primary purpose of the trips were to let
    Massachusetts government tell the rest of the world what it was doing.

  • Far from being junkets, these trips were normally squeezed in on
    weekends around his normal duties and represented a contribution of
    his free time to the community.

I’m not going to express an opinion on the law, which is none of my
business, particularly because I err on the side of supporting more
information rather than less. Lapses in authorization and reporting
should be investigated by the state, and the Globe should report the
investigations. But it seems that their fundamental misunderstanding of
the dynamics of technical conferences has threatened to create an
unwarranted hysteria. Sponsorship of a technical conference does not
mean the sponsor is paying the speakers, or has any influence over
them.

What we’re left seeing is a lot of scurrying to transform an important
issue of government documentation into a spurious issue of staff
documentation, with publicity flourishes to warn that anyone trying to
open up government has to be ready for every kind of backlash.

Nitesh Dhanjani

AddThis Social Bookmark Button

While trying to use the ‘search’ feature on Digg, I realized that it is vulnerable to Cross Site Scripting (XSS). The search string is echoed back without proper output encoding. Example:

http://digg.com/search?search=%3Cscript%3Ealert%28%27vulnerable%20to%20xss%27%29%3B%3C%2Fscript%3E&submit=Submit

image

I haven’t checked to see if the comments or new story submission modules are affected – if they are, things could get pretty messy. I have contacted the Digg team about this, lets hope they fix it soon.

Update: They fixed it this morning.

Jeremy Jones

AddThis Social Bookmark Button

Related link: http://www.modpython.org/

From the website linked to above,

Mod_python is an Apache module that embeds the Python interpreter within the server. With mod_python you can write web-based applications in Python that will run many times faster than traditional CGI and will have access to advanced features such as ability to retain database connections and other data between hits and access to Apache internals.

Here is a changelog from version 3.1.4.

Some folks have done some work on running CherryPy with WSGI servers and have written one specifically for mod_python. I haven’t tried it, but it sounds like this would allow a CherryPy app (and, thus, a TurboGears app) to run under Apache without having to run a standalone CherryPy server. If this is, in fact, the case, I can see this being of tremendous help in finding more available and cheap hosting for your CherryPy/TurboGears apps.

If anyone has had any experience with running CherryPy apps under mod_python without running a standalone CherryPy server, I’d love to hear from you. Or if my understanding is incorrect, I’d love for you to correct me.

Christopher Diggins

AddThis Social Bookmark Button

Related link: http://www.cdiggins.com/marketing-books-online.html

If you aren’t an author, you should still find the article useful. Just substitute your product or service in place of “book” and ignore the bit about Amazon.com and you are ready to roll.

Does the article need more or less?

Sid Steward

AddThis Social Bookmark Button

Related link: http://en.wikipedia.org/wiki/Click_fraud

To what degree might Google shareholders click Google ads simply to boost their company’s profits? I think it would be an interesting and valuable point to research.

It is so easy to do that some shareholders might not even think it is wrong. Clicking a few Google ads a day is much easier than sharing copied music, for example. However, how many shareholders does Google have? How much would it boost Google’s profits if many of them clicked a few ads per day? These small acts could quickly add up.

What if people started buying ‘pay-per-click’ business stock simply because it gives them this direct control over company profits? I ask myself this, and I get flashbacks to dot-com scammers who worked the web to influence stock price. We know those kinds of people are out there.

This is all the more concerning given how many publicly traded companies are rushing into pay-per-click services, like Microsoft. If advertisers felt that click fraud was out of hand, it could be the end of Web 2.0.

Update: More Ruminations

It occurs to me that click fraud might be perfectly legal for most shareholders. There’s no law against clicking ad links, and Google’s Terms of Service doesn’t even mention it. AdSense and AdWords users are constrained by stricter terms.

I also suspect that even if click fraud became as pervasive as email spam, Google would always have AdWords advertisers. These kinds of online ads would never go mainstream, however. They would remain a niche.

brian d foy

AddThis Social Bookmark Button

Related link: http://www.theperlreview.com

The next issue of The Perl Review comes out December 1.

Coming up in this issue:

  • The Seven Sins of OO Programming — chromatic
  • PerlWar — Yanick Champoux
  • Hash Anti-Patterns — Alberto Simões
  • Haskell for Perlers — Frank Antonsen
  • reviews of “Pro Perl Parsing” and “Perl Testing: A Developer’s Notebook”, Perl Mongers News, TPF News, and more

If you’ve been a subscriber, check your email for a renewal notice. If you aren’t a subscriber, why not?

New this month is a two year “time traveler” subscription: you can get the last four issue and the next four issues with one payment. Use your holiday free time to catch up on everything that you missed.

Sid Steward

AddThis Social Bookmark Button

Related link: http://www.edge.org/3rd_culture/dyson05/dyson05_index.html

George Dyson reports: “My visit to Google? … The mood was playful, yet there was a palpable reverence in the air. ‘We are not scanning all those books to be read by people,’ explained one of my hosts after my talk. ‘We are scanning them to be read by an AI.’”

I forget where I first read this, but it makes sense. Expert humans study books to learn new facts and to learn how those facts relate to each other. Likewise expert search engines.

Here is more:


When I returned to highway 101, I found myself recollecting the words of Alan Turing, in his seminal paper Computing Machinery and Intelligence, a founding document in the quest for true AI. “In attempting to construct such machines we should not be irreverently usurping His power of creating souls, any more than we are in the procreation of children,” Turing had advised. “Rather we are, in either case, instruments of His will providing mansions for the souls that He creates.”

Google is Turing’s cathedral, awaiting its soul. We hope. In the words of an unusually perceptive friend: “When I was there, just before the IPO, I thought the coziness to be almost overwhelming. Happy Golden Retrievers running in slow motion through water sprinklers on the lawn. People waving and smiling, toys everywhere. I immediately suspected that unimaginable evil was happening somewhere in the dark corners. If the devil would come to earth, what place would be better to hide?”

For 30 years I have been wondering, what indication of its existence might we expect from a true AI? Certainly not any explicit revelation, which might spark a movement to pull the plug. Anomalous accumulation or creation of wealth might be a sign, or an unquenchable thirst for raw information, storage space, and processing cycles, or a concerted attempt to secure an uninterrupted, autonomous power supply. But the real sign, I suspect, would be a circle of cheerful, contented, intellectually and physically well-nourished people surrounding the AI. There wouldn’t be any need for True Believers, or the downloading of human brains or anything sinister like that: just a gradual, gentle, pervasive and mutually beneficial contact between us and a growing something else. This remains a non-testable hypothesis, for now. The best description comes from science fiction writer Simon Ings:

“When our machines overtook us, too complex and efficient for us to control, they did it so fast and so smoothly and so usefully, only a fool or a prophet would have dared complain.”

Murugan Pal

AddThis Social Bookmark Button

As more and more IT and ISV executives understand the power and promise of open source, proprietary software companies are starting to adopt the open source model. I quoted this phenomena as ‘Opening Up - Who, When, What’ in one of my presentations in May 2004. Since then, Ingres, Open Solaris, and many other commercial products have been open sourced. Recent announcements on Google’s Free Urchin (free software, not open) and Sun’s PostgreSQL support stress the importance of ‘Software Delivered As A Service (SAAS)’. Larry Augustin’s editorial describes why open source model is better very well.

Just in the last week, 3 proprietary software companies informally discussed with me on how to open source their products. I suggested the following migration approach and thought would share the same for wider community consumption.

Pricing Model:

Commercial and Proprietary software vendors charge one time License (L) and annual Maintenance/Updates (U) plus Support (S) fees. Remember, in open source model - you ‘may’ not be able to charge for newer versions (’Upgrades’) as that restricts customers and violate the open source adoption model. Typically, the maintenance and support costs are 18 - 22% of license cost. When you migrate to open source or SAAS model the L becomes zero as the software itself is free. Customers prefer at least two third cost savings on a 5 year TCO before making a software migration.

Hence, you may want to price your Updates & Subscription as a nominal annual subscription matching to 12% of your typical license costs derived from: [( L+L*5*20/100)*1/3*1/5 - mapped per year on a 5 year TCO of L+U&S after two third cost savings]

Migration Steps:

  1. Decide on the business model and licensing type: Caveats include how your business model will be perceived by community, licensing type impacts your prospective customers, and competition exploits your open sourced offering
  2. Make your product intuitive, easier to download, deploy and manage: Count on operational excellence, instant gratification and not on proprietary lock-in
  3. Conduct Technology Audit and do code walk through with architects and senior developers: If there are suggested improvements, either you can improve the code or document it for community to improve/enhance
  4. Blue Wash: Scan for IP issues (patent, copyright and license infringements), there are tools like BlackDuck and Palamida which offers code scanning services
  5. Community Involvement and Enablement: Have an action plan for how community can benefit from the offering. The community of developers or users or administrators must have key take-away after visiting your community site. This is important as open sourcing a product without a plan to help foster a community does not help.
Sid Steward

AddThis Social Bookmark Button

Related link: http://laptop.media.mit.edu/faq.html

I hate to be a negative nancy, but all this press over the $100 laptop gets me thinking… and doubting. It is supposed to help schoolchildren, but where is the content? Where is the curriculum? What is it actually supposed to teach?

From the 11/14 Wall Street Journal:

“Software will include a word processor, a web browser, an email program and a programming system. Governments would decide how to use the machine in classrooms. ‘We’re going to give them general tools so they can make big changes [in curriculum] if they want to,’ says Dr. Papert, who is a pioneer in using computers in education.”

This sounds most uninspired, especially coming from such a pioneer. Basically, you’re on your own — there is no content, no curriculum. You get the HOWTOs, Info docs, man pages and other great, geek staples. You might get Alice in Wonderland and other PG stuff. But your $100 doesn’t appear to include instructional material for children.

Of course there’s the Web, where you can find everything from scripture to porn. It isn’t really instructional, however. And it’s not putting booksellers out of business. Why not? Booksellers don’t sell books — they sell quality content.

The laptop’s FAQ waves its hands furiously trying to convince you of its value:

“In one Cambodian village where we have been working, there is no electricity, thus the laptop is, among other things, the brightest light source in the home.”

A 500MHz flashlight? That is more useful than some of the pentium doorstops I have around here. Which brings me to recycling.

The laptop FAQ attacks the current practice of recycling old hardware into developing nations. But it doesn’t answer: who is going to recycle these millions of laptops in a few years when they’re junk? How much will that cost?

Finally, what is the advantage of ‘one laptop per child’ over ‘$100 in books per child,’ or rather ‘$100 of school supplies per child.’ The notion that “500MHz, 1GB, 1 Megapixel” is a magic formula for superior education and economic acceleration goes unquestioned, for some reason. To me, a laptop without content is like a book without words.

* Update *

I have been debating this with some folks, and I would like to clarify my position. I am not against accessible technology. However, I believe the ‘one laptop per child’ program is overlooking the hidden costs of: 1) training educators, 2) technical support, 3) educational content, 4) infrastructure, and 5) upgrades/disposal. Looking at this bigger picture, the $100 laptop seems like the easy part.

Given the Web, some folks believe all content is free — they don’t understand my ranting about content. Indeed, information is free… you can’t copyright facts. Assembling relevant facts into a history book, however, takes skilled work. You can pay for this work, or somebody could do this for free, but it is work that must be done before you have a valuable history book.

So far, the $100 laptop sounds like a software development tool more than anything else. As a programmer, I use GNU/Linux every day — I love gcc and emacs. Programming is a trade skill, however. It might leverage skills in Reading, Writing, and Arithmetic, but I don’t think it is a substitute for general education.

Here We Go (Update)

From

Free Online ‘Open Content’ Initiatives Announced:

“New Web Portal Connects People in Developing Countries to Course Materials from Universities Worldwide

“Hewlett Foundation Announces $900K Grant to African Virtual University for Teacher Training Program”

Other Issues (Update)

I just discovered this article by Lee Felsenstein via BoingBoing: Problems with the $100 laptop.

It articulates some thoughtful criticisms to OLPC’s approach. Here are some excerpts:

Top down structure

… By marketing the idea to governments and large corporations, the OLPC project adopts a top-down structure. So far as can be seen, no studies are being done among the target user populations to verify the concepts of the hardware, software and cultural constructs. …

Distribution problems

This represents a particularly striking form of a command economy where a market economy is an absolute necessity. … For this reason, among others, we can expect the OLPC laptops to gravitate toward other segments of the population, where money and influence may be available but where budgets are still tight enough to place standard laptops out of reach.

Hardware issues – power generation

But what of the absence of reliable electrical power? OLPC statements refer to the hand-cranked generator included in each unit, having a ratio of 100:1 for operating time to crank time. For an optimistically low power drain of 1 watt this implies a 100 watt generator. … This would tire a strong adult quite rapidly.

Hardware issues – mesh networking

… Also, mesh networking depends upon most of the links being operational whenever connectivity is needed. Are we to assume that all of the OLPC laptops will be left running, especially when the effort of battery charging is considerable? …

Infrastructure and alternatives

… It is sufficiently discomfiting to consider that the outcome of a massive project like OLPC may be a different form of commercial television for the developing countries. Worse yet would be the preemption of funding for many other projects designed under a community model. Future talk of computer systems for the developing world would meet the dismissive response that “it’s been tried and it failed”.

Yet More Issues (Update)

Eduardo Villanueva Mansilla outlines his own concerns in: A sub-hundred dollar folly Here are some short excerpts:

The OLPC project starts the other way round: we have the tool, now change everything else to fit the tool. The few resources left will be used to adapt everything in the educational system to work with the tool, being software, adequate security measures or teacher training. And the original goals will be changed to fit the tool.

… Just one example: replacing books with the sub-hundred dollar computer could mean the end for local publishing houses, and that is certainly a very unfortunate unintended consequence. …

Jeremy Jones

AddThis Social Bookmark Button

Related link: http://www.djangoproject.com/

From the release announcement:

Django is a high-level Python Web framework that encourages rapid
development and clean, pragmatic design. It lets you write high-quality
Web apps very quickly, with very little code.

Andy Oram

AddThis Social Bookmark Button

It may seem uncivil to say this in light of the upcoming U.S. holiday
Thanksgiving, but I wonder why the governments of the world have not
announced a total ban on raising poultry. The dense concentrations of
birds provide incubators for new strains of avian flu, one of which
will eventually break out and cause perhaps the worst disaster in the
history of mankind.

It would be unfeasible to ban all domestic foul, such as the handful
of chickens in the yard of a middle-class household, but governments
could certainly shut down the enormous prison-like facilities where
thousands of birds are kept in cruel and unhealthy conditions; the
conditions most conducive to outbreaks of disease. Consumers can
substitute vegetable sources of food for poultry and eggs–not an easy
way to bake a cake, but certainly enough for a healthy diet.

And if no one can stomach the fight necessary to deny a living to the
Purdues of the world, there are intermediate steps that could be
taken, such as cutting down on the number of poultry and ensuring they
have more space and air.

Recent strains of avian flu have killed half the people they infect.
How many hundreds of millions of deaths is it worth to have your
Thanksgiving turkey?

Chris Shiflett

AddThis Social Bookmark Button

Related link: http://shiflett.org/archive/169

With any luck, Geoff Young and I will be giving a PHP testing tutorial at this year’s ApacheCon. Here’s a snippet of the abstract:

Admit it - deep down inside, you know you should be testing your PHP applications. With all of the different PHP test environments and the daunting documentation, sometimes it is difficult to know where to start. This tutorial will help. The first step in testing is deciding what to test, so we will begin by offering a very simple (but not contrived) PHP application with identifying elements that lend themselves to testing - both unit tests and functional tests. Next, we will write some real tests using several of the existing PHP testing frameworks, including PHPUnit, Simple Test, phpt, and Apache-Test.

Unfortunately, testing hasn’t really caught on in the PHP community for some reason, despite the existence of several useful tools and resources:

We need a few more people to register in order to have the opportunity to give this tutorial, so please sign up soon. If you do so before November 20, you get a $100 discount.

Do you test?

brian d foy

AddThis Social Bookmark Button

Crime in my neighborhood (ChicagoCrime.org) and Housing prices (Housing Maps.com).

brian d foy

AddThis Social Bookmark Button

Related link: http://www.wired.com/news/technology/bugs/0,2924,69355,00.html?tw=wn_story_page_…

Simson Garfinkel compiles Wired News’s list of the 10 worst software bugs of all time, including three that aren’t software bugs.

I don’t think you get to count deliberate CIA sabotage for the explosion of a Soviet pipeline. The software did what the CIA told it to do. It just didn’t do what the Soviet’s wanted it to do.

The Intel Pentium floating point error is a “silicon error”, as Simson says. That’s hardware in my book.

The foul-up of the doctors at the National Cancer Institute in Panama City is a case of garbage in, garbage out. They gave the computer bogus information on purpose, then didn’t check the result (as they were required to do).

It’s still interesting reading, especially when you put them in the context of people giving their supervisory power to the computers then trusting their answers.

chromatic

AddThis Social Bookmark Button

Related link: http://lambda-the-ultimate.org/node/view/1112#comment

Programming language debates often devolve into debates over the value of type systems — and, unfortunately, over meaningless terms. A recent Lambda the Ultimate discussion produced a gem of a post by Scott Johnson that explained several different levels of type safety.

C’s types are superficial… looks right to me!

Sid Steward

AddThis Social Bookmark Button

Related link: http://news.com.com/2061-10812_3-5950115.html

The 11/14 Wall Street Journal says: “Search company Google Inc. has approached at least one book publisher to measure interest in a program for consumers to “rent” an online copy of new books for a week. According to this publisher, the books wouldn’t be downloadable or printable. …”

Sid Steward

AddThis Social Bookmark Button

Related link: http://wordcast.audible.com/

Audible Wordcast tracks whether podcasts are played and for how long. It also offers controls to prevent unauthorized distribution. For tracking and DRM they will charge $0.05 per download. They can also insert ads dynamically. Due early next year. How long before they offer an AdSense-like program for podcasting?

From: the press release:

“The AudibleWordcast podcasting platform will play on the Apple iPod and 160 other devices in Audible’s .aa file format, the most widely playable file format on portable devices, second only to mp3.”

From ClickZ:

“The detailed ad measurement features are still on the horizon. For the time being, the platform offers audience audits, ad management and secured transactions.”

Christopher Diggins

AddThis Social Bookmark Button

Related link: http://www.cpp-cookbook.com

The C++ Cookbook is hot off the presses and is now for sale at Amazon.com.

Andy Oram

AddThis Social Bookmark Button

Related link: http://www.codecon.org/2006/cfp.html

My author David Molnar, whose own career has been a tour of the most interesting and pressing software issues of the decade and who is now at UC Berkeley, has just told me about CodeCon, a small but very broad conferencing exploring a wide range of “cutting edge software development.” Last year’s program showed a particular interest in identity and reputation systems, but covered projects as varied as education curricular support and web site templating. Check out the site, and if you’re working on something pretty cool, submit a project.

brian d foy

AddThis Social Bookmark Button

Josh McAdams and Pete Krawczyk are organizing the next North American Yet Another Perl Conference (YAPC), and I went to the first planning meeting last night.

I’m just an interested person and I resisted the impulse to volunteer to do anything (other than sponsorship from Stonehenge Consulting and The Perl Review), but some of the things they’re thinking about are pretty exciting:

  • Cross pollenization: There are a lot of Ruby folks in the area, and the local Perl people are interested what they have to say. There might be a couple of Ruby talks, or at least a get-together.
  • I’m going to try to put some reduced-price (YAPC is about low cost) open enrollment Perl training next to the conference so people can get both on the same plane ticket.
  • If we’re going to turn on the lights for open enrollment training, we might as well maximally use the facility we’re already paying for. I’m going to encourage other Perl presenters to do extra pre-conference stuff too.
  • Since Josh runs Perlcast, there might be some interesting live or minimally delayed podcasts.

There are also a lot of things that probably won’t happen, but YAPC will survive without them:

  • Senators Obama and Durbin taking part in a panel discussion about technology in governmen