Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
User Journal

Journal Journal: Gmail ain't all that 3

Well (unrelated to my previous journal entry - it was a joke people!) I got my hands on a Gmail account - and I was rather disappointed. Gmail has one or two mildly novel ideas, but nothing to make it rival a decent client-side email client. I also found it to be somewhat buggy, filters often didn't work, and were insufficiently flexible. Sometimes it claimed not to be able to parse email (how hard can it be to parse an email?!). Also, their spam filtering, which you might imagine would be amazing, given the opportunities for collaborative spam filtering, was rather ineffective. Ok, I know it is still a beta, people are already raving about it - and I just don't see why.

More to the point, one's email address is an important commodity, and it seems quite risky to invest so much in a Gmail address given the likely difficulty in migrating away from such an account in future. Consider a situation where you had been using Gmail for a year, and they did something really nasty (like trying to spam you). What are your options? Basically you are stuck with them unless you think you can email everyone who might ever want to contact you and inform them that you are changing your email address. No thanks!

Bottom line: After about 4 days of Gmail, I have now migrated back to Thunderbird and to an email address I have 100% control over.

User Journal

Journal Journal: Please please please invite me to Gmail! 4

If anyone out there is in the Gmail beta please please please invite me! It isn't that I lack an email account, in fact, Thunderbird combined with server-side spam filtering on my Linux server is more than sufficient for my needs. Nor do I lack a sufficiently short email address, it is hard to do better than ian[@]locut.us.

No, the point is that I want to be able to lord my gmail.com email address over those that haven't got one and thus exact karmic revenge on those who made fun of my obsession with computers at high school, lets see those jocks laugh at ian.clarke@gmail.com!

Remember, nothing says "I'm not afraid to beg" like a @gmail.com email address.

User Journal

Journal Journal: YAswpatL

Yet Another software patent Letter.

This one was for a friend of mine who asked me to give him some initial direction in writing a letter to his MP. I thought I would share it here as I think it is my best attempt yet to introduce the dangers of software patents, and others might find it a useful source of inspiration for their letters:

Dear xxx,

I am writing to you as a professional software developer to bring to your attention my growing concern over an issue which I believe could seriously hurt my profession, not to mention the wider public interest.

Current Department of Trade and Industry policy is to support a change in European Patent law which, had it been implemented 15 years ago, would almost certainly have delayed or even prevented the emergence of the Internet, and many other innovations which we now know to be hugely important technological advances.

Under the guise of a clarification to EU patent law, special interest groups have put pressure on the European Union and national governments to extend the traditionally limited range of things that can be patented to include "computer implemented inventions", in other words, patents on software. In study after study, software patents have been shown to inhibit innovation and stifle competition wherever they are permitted. It is not just software engineers like myself that are expressing concern, the US Federal Trade Commission[1] and a growing number of respected economists[2] share my views.

[1] http://www.ftc.gov/os/2003/10/innovationrpt.pdf
[2] http://www.researchineurope.org/policy/patentdirltr.htm

The purpose of patents are to encourage innovation, so you might wonder why the extension of patents into the software arena will have the opposite effect. Patents are well suited to fields where new innovations require years of research and large amounts of capital, however this is not the case with software. Every new innovation in software builds on a multitude of previous innovations, and even a single software engineer might solve hundreds of small problems in a single day of programming. Against this backdrop, the notion of the programmer seeking a 20 year patent on each of those small solutions is clearly ridiculous.

Worse still, imagine now that this programmer is forced to ensure that every small innovation they might want to build upon is not covered by someone else's patent. The programmer might need to conduct hundreds of patent searches in a single day of programming, and even then they would have no guarantee that they aren't violating a patent! Clearly this situation would be ridiculous, yet this is exactly the situation that programmers in the US and Japan now find themselves, and is exactly the situation that current UK government policy will impose on European Software developers!

Given that it is impossible to write software without risking the violation of software patents, and given that unscrupulous people will inevitably abuse the patent system to obtain patents on trivial building blocks of computer science (as has happened in other countries), software development, indeed innovation itself in the software field, becomes a very risky business. There are a multitude of examples where large corporations have used their massive patent portfolios to exclude smaller competitors, and even cases where specialist companies extort money from innovators using patents on obvious techniques.

Even large companies are not invulnerable to such parasitic practices. In the US, Microsoft is currently fighting against a small company called Eolas who have acquired a patent on an obvious technique fundamental to the operation of any web browser. This company, if successful, will be able to extort a tax on every company and individual in the United States that uses the Internet! It is worth noting that this company's only purpose is to generate revenue through extortion using this patent, they have never written a line of computer code, nor do they have any intention of doing so.

The first attempt to impose software patents on the European Software Industry was met with stiff resistance from the software development community, and as a result amendments were made to the draft directive by the European Parliament in September 2003 to address these concerns. Unfortunately the European Council of Ministers now has the opportunity to rewrite this draft, and thus it is essential that we persuade the UK's representative in this discussion, the Department of Trade and Industry, of the dangers of software patents.

But why is current UK Government policy so misguided? The DTI's current position is primarily dictated by the UK Patent Office. Unfortunately, the opinion of a patent office on software patents is analogous to the opinion of an arms dealer on war, they simply can not be treated as an impartial source of advice on this issue. For example, in 2000 the UK Patent Office had a consultation on the introduction of software patents. Despite an overwhelming negative response to this consultation, the UK Patent Office ignored the opinions of software developers and now use this consultation to support their pro-patent position!

As a software innovator, I am exactly the type of person that would applaud software patents if they achieved their stated purpose of assisting innovation. The simple reality, however, is that they achieve the opposite.

I hope that you can bring my concerns to the attention of those in a position to avert this disaster before it is too late.

Yours Sincerely,

yyy.

Java

Journal Journal: An alternative to syntax extensions 9

One of the common criticisms made by advocates of scripting languages such as Python, Perl, and Ruby, of languages like Java is that programming in Java can be quite verbose due to the lack of syntactic support for things like maps. In Python, if you want to access a variable in a map you can do so with simething like:

value=map["key"]

In Java, you must use:

value=(ObjectType) map.get("key");

Java's syntax is obviously more verbose, but Java advocates defend this verbosity on the basis that a language's syntax should be as simple as possible, and the notion of extending the syntax to support a particular (albeit popular) type of datastructure is anathema.

This conservative attitude is understandable when one looks at a language like C++, which in many ways gleefully encourage the programmer to muck around with syntax, the result being that one practically needs to learn to interpret a new programming language every time they try to decipher a new developer's C++ code.

So, what hope for reducing Java's verbosity without falling into the C++ trap? Salvation may come from an unlikely source, the IDE. The notion that a developer might wish to have a more concise way to express and view common code structures and expressions is understandable, the difficulty comes when they must impose their syntactic preferences on others.

The solution? What if an IDE allowed a developer to define syntactic shortcuts which they could use, and which would be used in the code they are viewing, but which would automatically be converted to "vanilla" Java before being saved to disk.

This would afford most, if not all of the benefits of a more consise syntax, without the disadvantage of having to endure the ill-judged syntactic conventions of others.

Thoughts?

Patents

Journal Journal: Response to swpat letter 2

I received a response to my most recent swpat letter in which my MP said that he had sent my comments back to the minister for his further consideration - and that he will pass any response back to me. He is also willing to meet on the issue and he seems genuinely interested.

It is worth mentioning that when I initially raised the issue with him, he mentioned that I wasn't the first. It would be great if every MP in the UK, indeed every politician in Europe, had at least one person working to persuade them of the dangers of software patents. I don't believe this to be an unrealistic goal.

We managed to persuade the European Parliament, and through this I think the geek community has recognised that while we can certainly be adversely affected by clueless politicians under the thrall of special interests, we are far from powerless to fight back. Our greatest enemies are apathy and cynicism about the political process (it is far from perfect, but that is no excuse to ignore it).

If you haven't already, write to your political representatives. Be sure you support your claims with research, and talk about your personal experiences rather than abstract morality or economic theory (ie. put a human face on the those that will be hurt by swpats - namely everyone but patent lawyers and large corporations). Lastly, do not demonise those supporting swpats, accusing them of stupidity, corruption, or just being plain evil will hurt your case. At worst accuse them of being misinformed.

Patents

Journal Journal: Letter to MP on Software Patents 5

A while ago I wrote to my MP, Mark Lazarowicz, on the issue of software patents. He forwarded my concerns to the Dept. of Trade and Industry, and he recently forwarded their response to me. Here is the reply I sent in response to the DTI's letter:

Dear Mr Lazarowicz,

I write in response to your letter of 13th January 2004 in which you were kind enough to pass on the response you received from the DTI on the concerns I raised on the introduction of software patents to the European Union.

As you might suspect, this response fails to alleviate my concerns.

The Minister asserts that software patents play a central part in developing and protecting new ideas. It is this belief with which I, and many others including respected economists[1], and even the US Federal Trade Commission[2], wholeheartedly disagree.

The Minister points out that patents have been granted on software-related inventions for decades. While it is true that the European Patent Office and many national patent offices have, in recent years (certainly not decades), granted software patents, they have done so against the terms of the European Patent Convention of 1972, which explicitly forbids them. This means that very few owners of software patents attempt to enforce them in the EU, as they cannot be certain that they would be upheld. Indeed, many national courts have revoked such patents, using the EPC as their basis.

It is surprising and very worrying that the Minister is unaware that the existence of software patents have significantly hindered growth in the software sector and in e-commerce[3], and if software patents are explicitly permitted in the EU, this situation will get worse.

The 2000 consultation to which the Minister refers is probably one by the UK Patent Office. A closer examination of that consultation would reveal that there was an overwhelming "no" response to software patents from industry professionals yet the UK Patent Office somehow managed to interpret this as an endorsement of their pro-software patent position.

Unfortunately, this is not surprising as national patent offices typically act in the interests of patent holders, not the overall public interest. For this reason the UK Patent Office cannot be viewed as an impartial source of information and advice on the software patents issue, and the Minister should be very wary of treating it as such.

Speaking personally, I recently moved my software development company from California to the United Kingdom, and one of my reasons for doing so is that in the US, where software patents are explicitly permitted, it is impossible to know whether you might be infringing a trivial software patent whenever you write software. Rather than encouraging innovation, software patents actually serve to inhibit it since you can never know when you might inadvertently infringe on someone's software patent whenever you do something new.

Further, as an innovator, software patents offer little protection since if you do obtain a software patents, large companies will typically use their patent portfolios to threaten you into signing a "cross-licensing" deal, which will prevent you from enforcing your patent against them. It is for this reason that in my entire career as a software innovator it has never once made business sense for me to obtain a software patent.

It may be worth adding that in August 2003 I was selected as one of the top 100 innovators in the world under the age of 35 by the Massachusetts Institute of Technology, and so I feel I can speak with some experience on what is likely to encourage or discourage innovation.

I am very grateful for your willingness to pursue this matter, I hope you agree that this issue is of fundamental importance in our increasingly information driven world.

Kind regards,

Ian Clarke.

If you are in the EU and you haven't contacted your political representative(s) about the software patent issue, please do it now - or we risk software patents being forced through right under our noses. You can find some useful information here to help you get started. If you are in the UK, here is a convenient way to contact your MP.

User Journal

Journal Journal: Oh for f*ck sake! 2

Just discovered that due to a stray carriage return in my .procmailrc file, any emails containing the word "your" in their subject line was being filtered out of my inbox and into another folder. Aren't convoluted Linux config files just wonderful!

It is quite amazing how many emails contain the word "your" in their subject line!

To those of you who think I was systematically ignoring their attempts to tell me things about stuff I do or own - sorry!

User Journal

Journal Journal: SWT and Swing 3

I have been a Java fan for quite a while now, and it continues to be my language of choice. One of the biggest reasons is Eclipse, a free IDE developed by IBM. In short, it is the best IDE I have ever used irrespective of price or programming language. The fact that it is free is just the icing on the cake.

Eclipse has some amazing features, including parsing your code as you type it, and highlighting syntax errors them moment you type them (just like a spell checker). It even suggests corrections for common errors! Quite simply, even if Java was the worst language in the world, Eclipse alone makes a compelling case for using it.

One of the contraversial aspects of Eclipse's design is that it snubs its nose at Swing, Sun's GUI library, and instead they implemented their own, calling it SWT, which people are free to use in their own applications.

Why would IBM do this? Was it simply a case of "not invented here", or was Swing really so flawed that it had to be bypassed completely? This debate it still alive and well in the Java world, but I believe that IBM made the right decision.

When Sun came up with Java their goal was that Java would effectively become the standard layer between the hardware-specific OS and the application layer. Essentially it would no-longer matter whether you were running Windows, Linux, or a Mac, all your Java applications would work, and they would all look the same. As a result, Sun made Swing handle the "look and feel" of Java applications irrespective of what platform they were running on. This was a mistake.

Look and feel is the job of the operating system. This is the way buttons, menus, and dialogs are drawn, what happens when you click them, and other such things. Basically it is the "asthetic" of the user interface. Users expect a consistent look and feel across the applications on their chosen operating system. With Swing, Sun forced l&f into the application layer, where it doesn't belong.

SWT corrects this mistake. When you write an application using SWT it looks like a Windows application on Windows because it uses the operating system to draw the user interface. Similarly, it looks like a Linux application on Linux because it uses GTK, the most widely used Linux GUI library.

Swing tries to do the same by having custom Swing code for each operating system which tries to make it fit in with other applications. By this stage things are really getting silly. Swing tries to emulate the look and feel of the operating system on which it is already running! The notion of so-called cross-platform Java now trying to emulate platform specific features should really tell people that something is very wrong indeed with Swing's design!

SWT has some other advantages too - using tools such as the commercial Excelsior Jet or the free GCJ, it is now possible to compile Java to native code. This removes the onerous requirement to deploy a 14MB Java runtime along with your Java applications. Of course, Sun hates the idea as they are still hanging on to their dream that Java will replace the operating system, but for everyone else it makes Java a viable platform in which to write applications that would otherwise have to be written in C++.

One problem with this is that Swing is so huge that compiling it as part of these applications doesn't make sense. SWT, however, is much more compact, and thus forms the perfect companion to native Java compilers, removing one of the last barriers to Java competing directly with C++ (and about time too!). Take a look at IRate for an example of this in action.

User Journal

Journal Journal: CLTD 15

Time for my Crazy Late-night Thought of the Day:

Much as the GPL turns copyright against itself, could trusted computing be turned against itself by creating a class of software that doesn't run on computers where trusted computing is turned on?

Food for thought.... perhaps....

User Journal

Journal Journal: Travesties of moderation 8

Much as the oh-so-superior K5 crowd might malign Slashdot, it is still a hell of a lot more interesting and fresh than K5's offerings of bland introspection and home-brew beer HOWTOs.

Of course, it is far from perfect, and one thing that really annoys me are the increasingly frequent misuse of moderation, whether deliberate or simply as a result of an overactive sense of political correctness.

Now, this might seem like whining, ok, it is whining, but how could anyone justify moderating this down as flamebait?! I mean, who seriously thinks that the British need to be protected from such racist insults? It is reminiscent of LA County recently asking their suppliers not to use terms such as "master" and "slave" when referring to equipment. Perhaps on /. we should moderate down anyone who refers to male and female cable connectors lest it offend Wayne Bobbett?

Anyway, I am going to keep this story around and post examples of moderator abuse in the comments afterwards, others are free to do the same.

User Journal

Journal Journal: Latest threat to P2P comes from within 1

Altnet, the company most responsible for the proliferation of spyware, recently acquired a patent which allows easy identification of files on a P2P network. In the words of Derek Broes, Altnet's executive vice president of worldwide operations, Altnet will "...focus on protecting and commercializing our patented technology and realizing the potential it offers content owners by commercializing peer-to-peer networks". Just another day in the world of little-league software companies you think. Not so.

Unfortunately, there are a few problems with this picture. The so-called "Truenames" patent, filed in 1997, is little-more than a marketspeak-friendly name slapped on a decades old and widely known technique in computer science called "hashing". A hashing algorithm takes a file, and produces a "signature" for that file, a short set of letters and numbers that, for any two identical files, will always be the same. This technique has often been used to detect identical files, or to verify the integrity of software downloaded over the Internet. Clearly, it requires very little imagination to suppose that hashing might also prove useful when verifying the integrity of files on a P2P network.

This, of course, puts Mr Broes' quote in a somewhat sinister new light. In a classic example of P.R "doublespeak", what he refers to as protection, most would see as an anti-competitive offensive, and what he refers to as commercialization, most would refer to as extortion. Yes, the implication of recent public statements from Altnet is that they plan to use their government granted monopoly on an obvious idea to force other P2P companies, through threat of litigation, into cooperating with whatever scheme they are cooking up.

It is hard to overstate the bitter irony of a company, their main innovation being the loathed spyware, threatening real innovators in the P2P space for using a technique that Altnet made no contribution toward but which they now claim as their property. Altnet's initial targets seem to be designed to place them on the moral high-ground, as most are companies trying to track down copyright infringers on P2P networks. It may only be a matter of time, however, before they attack Shareaza, BitTorrent, eDonkey or others.

Fortunately, all is not lost. Firstly, given the facts I have just outlined, this patent should be overturned if anyone fights it, it obviously fails the non-obviousness requirement for patents, and there is plenty of prior art out there.

Secondly, the Federal Trade Commission recently published a report acknowledging the problems with the US patent system and making a number of recommendations which will make it harder for Truenames-style patents to be granted in the future, and easier to challenge those that have already been granted.

In the EU, concerned citizens and subjects mounted a spirited opposition to the attempted introduction of US-style software patents, and were successful in getting the European Parliament to amend the proposal such that software patents were not permitted. The battle in the EU is far from over, but it is heartening to see rank and file computer enthusiasts and small businesses raise their voice and be heard over the paid lobbyists of big software.

So, danger on the horizon, but also hope. With luck Altnet will renounce patent-blackmail as a business model. With even more luck the FTC's recommendations will be implemented, and the EU will listen to the voice of their citizenry with respect to software patents. In the mean time, those threatened by Altnet must stand firm or risk emboldening them and those like them even further.

User Journal

Journal Journal: PHP project needs new owner

A few months ago I wrote QuickCMS. It is designed to be a simple, minimalist, and tidy PHP-based alternative to Wikis that can "eat its own dogfood". This means that you can edit the QuickCMS source code through QuickCMS itself.

Anyway, the project lay dormant for a while, but now I want to find someone to take it over - anyone interested should email me at ian@locut.us.

User Journal

Journal Journal: Welcome to the world of Puba! 5

Puba Health Concepts Inc
"Your life in our hands"

Congratulations on becoming one of the many healthy consumers that enjoy the Puba PaceMaker 3! We at Puba Health Concepts Inc would like to thank you or your employer for choosing a Puba affiliated physician to address your Cardiac care needs. Your new Puba PaceMaker 3 is equipped with state-of-the-art remote monitoring and control technology allowing us to modify your treatment as needed. We would like you to take a moment to read through the terms and conditions of use of your new Puba PaceMaker 3.

Terms and Conditions

1) By using the Puba PaceMaker 3 service you indicate your acceptance of the following terms. If this agreement is unacceptable to you, immediately discontinue use of the Puba PaceMaker 3. Violation of any of these terms will result in immediate remote termination of the Puba PaceMaker 3 service.

2) Your initial subscription payment is due immediately and must be paid within 7 days of installation of the Puba PaceMaker 3. Subsequent subscription payments are due monthly within 5 working days. Failure to pay within these time periods will result in immediate termination of service.

3) The Puba PaceMaker 3 contains proprietary intellectual property of Puba Health Concepts Inc. Any attempt to reverse engineer the Puba PaceMaker 3 or to circumvent our Technology Rights Management system will result in immediate termination of service. Additionally, under the terms of the New Century Treason and Theft Prevention Act, your body will become the automatic property of Puba Health Concepts Inc.

5) This document is the intellectual property of Puba Health Systems and any disclosure of the contents of this document to a third party will result in immediate termination of service. Additionally, under the terms of the New Century Treason and Theft Prevention Act, your body will become the automatic property of Puba Health Technology.

6) You may not make any statement, written or verbal, referring to Puba Health Technology in a derogatory, or defamatory manner, or otherwise damage the reputation of Puba Health Technology. Any attempt to pursue alternatives to the Puba PaceMaker 3 will be viewed as defamation of Puba Health Technology. Failure to comply with this term will result in immediate termination of service.

User Journal

Journal Journal: Package Management in the untimate operating system 5

I have frequently thought about how to put together the next iteration of the operating system, and a recent discovery on SweetCode reminded me of this.

Zero Install is designed to make the process of installing new software completely transparent. It achieves this by mapping a filesystem to HTTP. for example, if you wanted to install The Gimp, you would simply run it from /uri/0install/www.gimp.org/bin/gimp. This would transparently download the gimp software, and any libraries on which it depends. Once downloaded such applications are cached such that the next time you run the gimp it is just as fast as if you ran it from your local filesystem (because you would be running it from your local filesystem!).

This idea, of breaking down the barriers between the local filesystem and the Internet to effectively eliminate the notion of installation definitely seems like the way forward. This is the kind of convenience that tools such as Debian's apt-get begin to provide - however 0Install takes it to its ultimate conclusion.

The next step, then, would be to build an entire Linux distribution around the 0Install principal. This would also benefit from upcoming filesystem innovations which allow set operations on directories (for example, having two directories and creating a new virtual directory that contains everything the two real directories do). At the simplest level this would eliminate things like the $PATH variable.

Creating a new Linux distribution that isn't afraid to make bold advances such as those outlined above will be the true next step in the evolution of operating systems - it won't be brain surgery, just elegantly combine a number of technologies (such as Linux, 0Install, and the new Reiser FS) that are already out there or in development.

Slashdot Top Deals

Software production is assumed to be a line function, but it is run like a staff function. -- Paul Licker

Working...