I just stumbled across this RFC draft by Mark Nottingham:

This document specifies relation types for Web links, and defines a registry for them. It also defines how to send such links in HTTP headers with the Link header-field.

Interestingly, it suggests a nice balance between the need for registration of well-known types and the decentralization needs: In a rel=’xyz’ attribute, ‘xyz’ is interpreted as a URI that’s relative to http://www.iana.org/assignments/relation/; alternatively it can be an absolute URI, such as http://innoq.com/st/loves-it. I love it! Now can I please get the same thing for media types?

locale_selector

| | Comments (0)

My co-worker Vladimir Dobriakov has just released locale_selector, an internationalization library for Rails that provides a wrapper around the ruby-gettext gem.

CoAdvisor

| | Comments (0)

Just so that I don’t forget about these guys:

Co-Advisor is a tool for testing the quality of protocol implementations. Hundreds of tough test cases keep your developers and QA busy fixing implementation bugs, protocol violations, and security vulnerabilities.

Ioke 0 Released

| | Comments (0)

Ola Bini:

I am very happy to announce the first release of Ioke!

Ioke is a dynamic language targeted at the Java Virtual Machine. It’s been designed from scratch to be a highly flexible general purpose language. It is a prototype-based programming language that is inspired by Io, Smalltalk, Lisp and Ruby.

Very cool. It's even got macros! Too sad I don't have time to play with it.

Nice list. Choice quote:

A comment thread on a blog post I can no longer find a link to saw a rosy future for Microsoft because they spend nine times as much on research and development as Apple. There's the problem. Microsoft pour R&D money into multi-touch interfaces and come up with a table that is relegated to tech demos and gimmicky election coverage. Apple put R&D money into multi-touch and produce the frickin’ iPhone.

Now in the Apache Incubator:

Enterprise Social Messaging Experiment (ESME) is a secure and highly scalable microsharing and micromessaging platform that allows people to discover and meet one another and get controlled access to other sources of information, all in a business process context.
The ESME server is written in Scala and uses the Lift web framework to produce a browser-based user interface and also to expose a REST API.

Update: As Bill de hÓra points out, the usage of "REST" in conjunction with this API is a sad joke.

Performance of Rails Metal

| | Comments (0)

Pratik Naik:

Now, if you compare these results, 3000 r/s against 800 r/s, you may think you’re seeing a 3x performance increase. However, that’d a wrong perception and throughput isn’t the best metric here.

Difference in Time per request is what you should looking at. In my benchmarks, speed increase I get when using Metal is about 1 millisecond. And that’s a constant speed increase I’ll get over a regular Rails action. It’s very important to understand that it’s a constant speed increase. It’ll always be 1 ms for me.

For example, if my Rails action takes 12ms, when I reimplement it all in Metal, it will take about 11 ms and not 4 ms.

Subbu Allamaraju has written an excellent article on hypermedia in REST for InfoQ.

HTTP Error Code 418

| | Comments (0)

I have to admit I wasn't aware of HTTP status code 418, "I'm a teapot".

try

| | Comments (2)

I continue to like Ruby because of nice little gems like this:

class Object
  ##
  #   @person ? @person.name : nil
  # vs
  #   @person.try(:name)
  def try(method)
    send method if respond_to? method
  end
end



These are the most current entries; check out the archives for more.