Designs
2010-09-22
Introduction
I like to design software, particularly operating systems, network protocols and user interfaces. Realizing that my designs are too ambituous to hope I can ever implement them, I decided to put them on my website, so others may do something with them.
emsg
emsg, short for electronic message, is a modification to email that reduces the damage done by spam, as well as making sending spam less attractive. The basic idea is that the messages are kept by the sender, and only a link to the message is actually transfered to the recipients. This reduces the network traffic and storage space that is wasted when messages go unread, and facilitates sender identification.
Friendly File Format
FFF or Friendly File Format is a simple data serialization language. It allows any kind of data to be expressed using a simple, human readable (hence friendly) syntax. This makes FFF an excellent choice for a configuration file format.
Graphical Usable Interfaces
In my experience of working with various operating systems, I have also seen various graphical user interfaces. Although they almost invariably build upon the same elements (windows, buttons, icons, ...), they differ quite a bit in appearance and usability. This essay collects my thoughts and ideas about GUIs.
Jungle
Jungle is a platform for rich Internet applications. It complements the World Wide Web, which is mainly focused on hypertext, by providing a platform that is primarily focused on applications. Although applications can be developed using web technologies such as HTML, HTTP, and JavaScript (see AJAX), Jungle allows applications to be simpler, lighter and faster. Additionally, Jungle provides complete freedom to designers: where HTML leaves the presentation up to the web browser, with limited control using CSS, Jungle allows arbitrary designs to be implemented, down to the individual pixel level if necessary.
mailfiles
There is a variety of formats for storing email. The most known are mbox (the traditional UNIX mailbox format), the MH format, and maildir. Besides these fairly standard formats, there are a number of proprietary formats, and some lesser used ones. All these have known strenghts and weaknesses. mailfile is yet another format, which aims to be simple, scalable, free of locking issues, and to play nice with replication and archiving.
Structured Graphics
There are many graphics libraries out there, for various languages and platforms. Some provide only low-level access to the framebuffer, allowing the display to be controlled by standard byte or file operations. Others provide a set of drawing primitives to draw not just pixels, but also lines, circles, boxes, etc. Besides being more intuitive to the programmer, these primitives can sometimes be accelarated, giving primitive-based solutions an edge in both usability and performance. This design goes a step further, by composing the image of logical units that can be manipulated independently. This provides additional expressive power and potential for performance gains.
The Voodoo Programming Language
Voodoo is a programming language designed to be a thin abstraction layer over CPUs' native instruction sets and operating systems' calling conventions. Operations provided by Voodoo closely correspond to those of common CPU instruction sets, allowing programs to be expressed with a minimum of overhead. At the same time, Voodoo is not tied to a specific instruction set, and support for new CPUs and operating systems can easily be added.