RFC 3028

RFC 3028 – Sieve: A Mail Filtering Language

This document describes a language for filtering e-mail messages at time of final delivery. It is designed to be implementable on either a mail client or mail server. It is meant to be extensible, simple, and independent of access protocol, mail architecture, and operating system. It is suitable for running on a mail server where users may not be allowed to execute arbitrary programs, such as on black box Internet Message Access Protocol (IMAP) servers, as it has no variables, loops, or ability to shell out to external programs.

Net channels: Where is the end in end-to-end?

The key design feature of the Internet is the end-to-end principle. In short, the end-to-end principle says that as much work as possible should be done at the ends of the network. This results in a very simple network core. The simplicity of the core allows it to scale. See World of Ends for more implications of the end-to-end principle.

If you ask most network people exactly where the “end” is they will probably say it is the device at the edge of the network. Some may even go as far as to say it is the operating system on the edge device. At present this is indeed the case. For example, the processing necessary to make TCP a reliable protocol happens within the operating system.

At LCA 2006, Van Jacobson recently weighed in on the network protocol processing overhead that is becoming a big problem as link data rates increase. Current operating systems are having a hard time keeping up with 10 gigabit links, especially when using TCP. In his presentation, Van Jacobson says that the placement of the TCP stack in the operating system kernel is a historical accident. This design was chosen because it was necessary to ensure Multics did not page out the TCP stack. Further, TCP in the kernel violates the end-to-end principle because the kernel is not the end, the application is. Van Jacobson offers Net channels as a possible solution to this problem. Net channels provide a simple, cache friendly way to manage network packets within a system.

The presentation discusses several ways that Net channels can improve TCP performance. The first is to use Net channels between the NIC and the current in-kernel TCP stack. The more interesting use of Net channels is to push all TCP processing into userspace. Essentially, each application would have their own TCP stack. This removes the bottleneck that the single, system-wide TCP stack creates. Amazingly, Van Jacobson presents statistics which show that this modification results in TCP processing overhead dropping by 80%. Other benefits would include a simpler kernel and the ability to have a TCP stack tuned for each application. Applying TCP bug fixes and adding new features would also become easier with TCP moved outside of the kernel.

For more information on this really amazing idea see the following resources.

How To Do What You Love

How To Do What You Love

The most dangerous liars can be the kids’ own parents. If you take a boring job to give your family a high standard of living, as so many people do, you risk infecting your kids with the idea that work is boring.

Most people are doomed in childhood by accepting the axiom that work = pain.

All parents tend to be more conservative for their kids than they would for themselves, simply because, as parents, they share risks more than rewards. If your eight year old son decides to climb a tall tree, or your teenage daughter decides to date the local bad boy, you won’t get a share in the excitement, but if your son falls, or your daughter gets pregnant, you’ll have to deal with the consequences.

Webcaster’s right

The Problem with Webcasting provides a nice overview of the new webcaster’s (copy) right that is being pushed by the U.S. WIPO delegation.

There’s a new restriction on content waiting in the wings–a “webcaster’s right” that allows websites to control the dissemination of content they put up. With this new privilege, they’ll be able to prevent retransmission even if the copyright on that content is owned by somebody else–even, in fact, if that content was in the public domain.

Second Life

I don’t do much gaming these days so maybe Second Life is well known and I just missed it. It certainly is an interesting concept. Instead of paying a service fee, users pay what essentially amounts to a land tax on the virtual land they own.

Become a part of history by purchasing land and developing your own piece of Second Life. The Pricing and Fees are simple; you pay $9.95 a month plus a Land Use Fee proportional to the amount of land you own.

Linden Lab’s Terms of Service agreement recognizes Residents right to retain full intellectual property protection for the digital content they create in Second Life …

The Marketplace currently supports millions of US dollars in monthly transactions. This commerce is handled with the in-world currency, the Linden dollar, which can be converted to US dollars at several thriving online currency exchanges.