1. This evening’s project: catching up on a bit of dev. :

    • remove lines — whitespace FTW
    • get rid of crappy AJAX+backbone for calling new note UI into notes page, replace it with iframe+postMessage
  2. Turns out that performing a GET request on a data URI from PHP works if file_get_contents is used, not if cURL is used. I wonder what support is like for other server side languages — using data URIs in with could be the basis of some interesting .

  3. conversation summaries:

    Doing acceptance in a different language to your application is philosophically a good idea.

    When syndicating data, the quality can be used to determine the canonical version even if the separate versions don't link to each other (example: photographer takes RAWs, gives TIFF to client, RAW is proof of provenance)

    Not drinking tea and not having cream on cream teas reduces the day to day hassle, stress and confusion of living in Devon by approximately 90%.

  4. And the compliment of that : the simpler the text-publishing service, the more interesting uses it’s users will put it to, provided it paves their cow paths (e.g. Twitter with RTs, and @-replies).

    Give users constraints and simplicity, see what they do, then solidify that functionality — or, from an point of view, give yourself constraints, then pave your solitary cowpaths.

  5. New :

    It doesn’t matter what the original intention of the service was, if it allows people to publish text on the web, it will be used as a chat room, a blog and an advertising outlet.

  6. That excellent post of Tantek Çelik’s, like all well–hyperlinked documents, lead me to a whole raft of great resources I hadn’t come across before:

    (In other news: I need to make a “dump tabs into new note dialog” browser )

  7. I really can't stress just how brilliant the identengine.com API is. Solves so many problems, implements so many standards, but more importantly: it is truly, truly webby. Forming a graph of a persons profiles by following rel links, then accumulating all that info is a vital building block. Great work Glenn Jones!

  8. Twitter’s “you only see replies from people you follow if you also follow the target of the reply” model is quite fascinating because it means that, within a particular community, the number of tweets you see is not directly proportional to the number of people you follow. It’s probably square or cubic, perhaps I’ll model it and see.

  9. I love that now has shiny namespacing and a thriving code sharing community, but I think the heavily hierarchical namespacing practises used by some of the community (e.g. symfony components) are unhealthy.

    They are difficult to memorise, relying on (often slow) IDE autocomplete, and encourage a use statement for each class. That’s pretty much a scoped equivalent of from x import * in python — not a good practise! It’s still namespace pollution, it just takes longer to write.

    I am trying to use a more python–like, package-centred approach with much fewer subnamespaces. The outcome of this should be that you use the package name:

    use BarnabyWalters
osse;

    …and then using all the classes/subnamespaces from that root, e.g: $t = Posse\Helpers::convertHtmlToTwitterFormat($s);

  10. Question: What Status code should I use for “You haven’t provided enough/correct information to carry out that method”? Currently I’m thinking 422 Unprocessable Entity.

    Context: POST request to a list resource for the creation of a new sub-resource.