## Wednesday, January 25, 2012

### Semantic web OS

In order to construct a semantic web OS we will have to forgo our dependence upon plain text files as a means of representing programs. Instead, in a semantic web OS, programs and data will be first class objects that are represented as interconnected graph structures.

In my opinion, the key to creating weak AI is to eliminate all arbitrary restrictions we place on our databases and to then transform them into sophisticated graph-theoretic knowledge representations. These representations can be unified into a singular semantic web, and that semantic web should in turn form the basis of all operating systems.

Today, the web is based upon HTML, CSS, and JavaScript which are immanently deficient, so they are not a suitable basis for an operating system. This is demonstrated by my own GoldOS project and all other "web OS" projects. Where all web OS projects have failed, perhaps a semantic web OS may someday succeed.

## Tuesday, January 3, 2012

### JVM libraries

Structured graphical user interfaces: At the moment, I have no particular interest in using an unstructured graphics library or constructing a structured graphics library of my own, so I have elected to use an existing library. After searching around, I have decided to use Piccolo2D since it has a particular emphasis on zooming and it has a solid and mature code base.

On 2D monitors a 2D graphics toolkit should generally be sufficient. However, sometimes it is interesting to play around with 3D graphics. As such, I may choose to play around with 3D graphics toolkits such as Java3D or Xiph3D.

## Monday, January 2, 2012

### S-expression syntax for associations

I have created a syntax for map structures compatible with Lisp. This notation treats the first element of a list as its key and the rest of the list as its value.
(% (np 2)
(fp (numerator 10)
(denominator 20)))

In order to evaluate a expression in the map you will need to use the unquote function.

## Sunday, January 1, 2012

### 2011 year in review

This year I officially ended my search for a programming language by settling on the use of Lisp dialects like Scheme, Clojure, and Common Lisp for all of my development needs. It wasn't to hard for me to then chose to use Emacs as my editor of choice as Emacs remains the best editor for Lisp developers. I likewise chose to completely abandon the QWERTY keyboard layout in favour of Dvorak to make typing easier. By abandoning my old programming languages, editors, and keyboard layout this year has had a transformative effect on me.