Archive for September, 2009

Firefox keyword search for finding C++ keywords

Wednesday, September 23rd, 2009

I often want to search the SGI C++ reference for a keyword. The best way I have found to jump straight to the page I want is to use Google’s “I’m Feeling Lucky” search limited to searching within sgi.com.

You can create a Firefox keyword search to allow you to do this quickly from the location bar. Now I just type Ctrl-L then e.g. “c vector” to jump straight to the page about std::vector.

To do this, make a bookmark (to anything) and then right-click it in the Bookmarks menu and choose Properties. Edit it to look like this:

Firefox C++ search keyword bookmark

The Location field is set to http://www.google.com/search?as_q=%s&as_sitesearch=sgi.com&btnI=1, and the Keyword field is just c.

This post was largely for my own benefit to remember this next time I need to set it up, but I thought it might be useful to others as the information about how to set these searches up is not easy to find.

If you want to go to a google search results page, instead of jumping to the “I’m Feeling Lucky” result, remove the &btnI=1 part.

Flaws in the software patents system

Thursday, September 10th, 2009

Note: I am in favour of patents on inventions.

I believe the current software patents system has a number of flaws (in decreasing order of importance to me):

  1. They attempt to close off the use of knowledge rather than open it up. If we were not filing patents for our work, we could be writing papers or books to share that knowledge. What would have happened if the Gang of Four had filed patent applications instead of writing Design Patterns?
  2. They can verge on the dishonest. Describing most software development work as “novel” and “non-obvious” is simply incorrect. There is a huge community of software developers, and the idea that none of them would find what I am doing “obvious” beggars belief.
  3. They are a tool that big companies can use to squash small companies. Small companies can’t afford to develop a large defensive patent portfolio. Patents don’t even need to be valid or high-quality: if there are enough of them, a company that can afford a lot of lawyers can destroy one that can’t.
  4. They are a tool that big companies can use to squash open source projects. Many open source projects have no money at all. If a large company doesn’t like some project, they can simply sue for patent infringement (even for patents that are blatantly irrelevant) and the project will be toast.

So I don’t want to be involved in patent applications at my work, even though my employer is keen on patents.

I am now considering how I should act on this opinion. I don’t want to screw my colleagues but I think I want to refuse to be a part of any patent applications as far as I can do that without screwing them.