1. Sandeep Shetty: @BarnabyWalters Very cool. What's the use-case though? Also is this coming of the doctrine based indexer that you had?

    @sandeepshetty thanks! I’ve wanted to plot tag usage over time for a while now to see if there are any interesting patterns. I’m not using doctrine any more, in fact I’m not even using a SQL database for indexing until I really need one — data stored in yaml files, indexed by a csv file in ~210 lines of code — see also waterpigs.co.uk/notes/4TQNY2

    When I post a note, adds one to the week counter for each tag, then I have an endpoint which makes that data into an SVG.

  2. @chloeweil great article and great work implementing ! Interested in your choice to use a database for performance reasons, was that prompted by actual experience or just the cited help thread? fwiw I’m having no performance problems storing >2000 notes in flat files with a CSV file index

  3. New in this version of :

    • Improved styling (still WIP, as always)
    • stream on homepage, currently just notes but will add other things too
    • content creation/editing UIs publicly viewable (take a peek!)
    • profile photo as the icon
    • complete code restructure, now using silex for HTTP routing
    • removed tonnes of nonsense framework code, replaced with small number of ≈200 line functional libraries. Clearer, easier to navigate and much more fun to work with
    • no more SQL databases — content is indexed using a custom built 209 LOC CSV index which is surprisingly speedy, and suits my needs perfectly
    • no more support for rendering content in many forms using content negotiation (HTML, JSON, ATOM etc.) — now only HTML+microformats2 representations of content are given
    • ATOM feed shimmed with microformats2 to ATOM converter
    • Pingbacks no longer natively accepted (though they are sent), using webmention.io to shim them into webmentions for easier handling

    The local maximum has been overcome, for now. There is still much to do.

  4. When people drop into your IRC channel to ask whether it’s possible to reply to something on your mailing list, that’s probably a good sign you should ditch your mailing list and use IRC + Wiki.

  5. Aaron Parecki: @benwerd Awesome, I've been using an 11" Air for a couple years, I'm a huge fan! I'm switching to the 13" Pro now... http://t.co/RXQM7VZRyG

    Aaron Parecki @benwerd oh cool — I’m upgrading to the 13" retina pro this christmas, good to know it’s a good machine! Certainly a significant upgrade from my trusty old non-unibody MB

  6. Feedback Loops

    The larger the gap between one major feedback loop and the next largest of any given stage of an activity, the more assumptions must be made about that stage.

    Example: planing a hurdy gurdy top to thickness.

    Tasks, feedback loops in order of duration (timings are approximate from memory):

    • Every millimetre of planed wood, ≈150ms audible and physical feedback
    • Every ≈1cm of planed wood, ≈500ms visual feedback loop seeing the shavings protrude from the plane (or not, which is equally valuable)
    • Every ≈10cm of planed wood, ≈3s visual+physical+audible feedback loop of one complete shaving detaching
    • Every ≈20cm of planed wood, ≈5s visual feedback loop seeing freshly planed surface, erosion of pencil marks
    • Pause every ≈10 plane strokes, ≈20s physical feedback loop picking up the top and flexing
    • Pause every ≈20 plane strokes, ≈1 minute precision visual feedback from re-measuring the thickness of the top with a caliper

    The gaps between feedback loops become larger as the durations become larger, as do the assumptions which are made about the task at each level until the next feedback loop arrives. I suspect that experience level also affects both the value gained from each feedback loop, increasing the actor’s knowledge of the system and increasing the amount of time which can safely be left (i.e. the amount of assumption which is safe) before more feedback is required.

    Two observations: the existence of vastly longer feedback loops of experience accumulating which affect the shape of existing loops, and that the smallest feedback loops are broadcast by the environment (audible feedback, physical resistance) but longer ones require active participation (testing the system).

  7. Brian J Brennan: @BarnabyWalters nahh nothing like that, it's actually pretty tame. But the GET request would potentially create a resource.

    Brian Brennan ah, okay. I was thinking of using SSE-style responses to a POST request as a way of offering real-time feedback about new content creation without having to set up redis and a websockets server.