The W3C has a Media Fragments Working Group whose mission is to specify temporal and media fragments in the Web using URI's. The draft specification goes through in detail how these fragments work. I recently became a member of the working group and I've been working on adding support for the temporal dimension portion of the specification to Firefox. In... more →
While using the libevent API from ATS I came across a scenario where it was important to call a function to release objects in a particular order. I wanted to have ATS enforce at compile time that the destruction occurs safely in the right order. The following example uses the built in libevent HTTP API for creating simple web servers.... more →
Namecoin is a domain name system based on Bitcoin. It extends Bitcoin to add transactions for registering, updating and transferring names. The idea behind this is to provide an alternative to the existing DNS system where names can be taken from their owners by groups that control the DNS servers. The project was originally announced in the bitcoin forums and... more →
The Mozart Programming System is an implementation of the Oz programming language. It's the language used in the book Concepts, Techniques, and Models of Computer Programming by Peter Van Roy and Seif Haridi. From the Mozart website: more →
My previous post on converting C programs to ATS had an example of passing a linear resource to a callback function. The code looked like: typedef evhttp_callback (t1:viewtype) = (!evhttp_request1, !t1) -<fun1> void extern fun evhttp_set_cb {a:viewtype} (http: !evhttp1, path: string, callback: evhttp_callback (a), arg: !a): int = "mac#evhttp_set_cb" ... val _ = evhttp_set_cb {event_base1} (http, "/quit", lam (req, arg)... more →