Haml takes your gross, ugly templates and replaces them with veritable Haiku. Haml is the next step in generating views in your Rails application. Haml is a refreshing take that is meant to free us from the shitty templating languages we have gotten used to. Haml is based on one primary principal. Markup should be beautiful. Haml is a real solution to a real problem. Stop using the slow, repetitive, and annoying templates that you don’t even know how much you hate yet
I enjoy writing and in addition to my published books I offer free Open Content material on this web page. I both enjoy and appreciate feedback on ideas for material and reporting any errors. I offer free web books on Java and artificial intelligence programming, Common Lisp programming, and a new but still incomplete book The Software Design and Development Book. I am also working on a Ruby AI book and a short paper on AI design patterns. I also have a link to an old paper on AI, Go and Consciousness (updated 1/25/2004) available here. I have a short paper Jumpstarting the Semantic Web available here (new version 1/14/2005). I am also starting to include my fiction (short stories) here in addition to computer science web books.
CloudKit provides RESTful JSON storage with optional OpenID and OAuth support, including OAuth Discovery. Stored entities are versioned. Services manage their own storage and do not require schema updates when models change. CloudKit is Rack middleware and as such can be used on its own or alongside other Rack-based applications or middleware components such as Rails, Merb or Sinatra. The CloudKit stack provides an optional OAuth Filter with support for OAuth Core 1.0 and OAuth Discovery. Share your APIs with other web services, desktop apps, Open Social gadgets and more. + An OpenID Filter supplies authentication for browser-based clients. Both the OAuth and OpenID Filters collaborate to simultaneously provide login screens and auth challenges in a single HTTP response. + Discoverable, schema-free, auto-versioned JSON storage tracks each version of each JSON document to allow progressive diff/merge with decentralized or occasionally connected clients.