A couple of months ago we hired a contractor to write a reporting
interface for our high volume monitoring system. Our system exposes
all of it’s data in RESTful web services, and his job has been to take
that data and allow users to create reports based on it.
This morning a couple of my teammates and I […]
Marty Alchin recently posted about the “evils” of returning None (or nil or null depending on your language of choice). I think
he has it basically right. Sure
there are situations where returning nil1 is
appropriate, but they are pretty rare. For example, if a method
actually does what the client asked and there is […]
Ara Howard has discovered that the ActiveRecord validation mechanism
does not ensure data
integrity.1 Validations feel
a bit like database constraints but it turns out they are really only
useful for producing human friendly error messages.
This is because the assertions they define are tested by reading from the
database before the changes are written to the database. As you […]
Authentication has been bane of my existence lately. By which I mean,
it is complicated and interesting and I am loving every minute of it
(but, as you can see, I am not going to let that stop me from complaining about it). However
tonight I have run into an authentication problem that I am not […]
Consider a situation where you have a type of resource which always
belongs to a resource of another type. How do you model the URI
space using Rails? For example, say you have an address
resource type. An address is always associated with exactly one user,
but a user may have several addresses (work, home, etc).
The simple […]
We recently settled on using JSON as the preferred format for the
REST-based distributed application on which I am working. We don’t
need the expressiveness of XML and JSON is a lot cheaper to generate
and parse, particularly in Ruby. Now we are busy defining
dialects to encode the data we have, which is happy work. […]
David Chappell declares the REST vs WS-* war over
To anybody who’s paying attention and who’s not a hopeless partisan,
the war between REST and WS-* is over. The war ended in a truce
rather than crushing victory for one side–it’s Korea, not World War
II. The now-obvious truth is that […]
Mr Whitney recently posted an article in which he described mock objects as “bug aggregators”.
I once held a similar point of view.
Back then my belief was that test doubles (mock, stub, etc)
should only be used when real
objects would not work, either because they were too hard to setup or
because they were too slow. Recently, […]
One of the least well understood core tenets of the REST architectural
style is that “hypermedia is the engine of application state”. Which
basically means that responses from the server will be documents that
include URIs to everything you can do next. For example, if GET a
blog post the response document will have URIs embedded in […]
Rake is a really excellent build tool. It is basically
Make on steroids (and minus a few of the annoying inconveniences
of make). If you build software of any sort you owe it to yourself to
check out Rake.
The source of my Rake related euphoria today is that I just used a
feature of Rake that is […]