{
 "blyg": "0.4",
 "id": "4ewz92jc6p3py0kj82mcrn8p1x",
 "kind": "thread",
 "origin": "https://notionparallax.co.uk/",
 "page": "https://notionparallax.co.uk/2014/crossfit-programming-dsl",
 "author": {
  "name": "Ben Doherty",
  "url": "https://notionparallax.co.uk/"
 },
 "created": "2014-05-23T16:37:00Z",
 "updated": "2014-05-23T16:37:00Z",
 "version": 1,
 "content_md": "# Crossfit programming DSL\n\n\n<p>Trying to describe a workout using a logging tool like beyond the whiteboard is pretty hard if your coach likes to be a bit creative with his programming. I was wondering if there was much merit in trying to use ruby to describe the workouts.<br />\nIt seems to me that workouts are pretty composable things that lend themselves to being easily described this way. I haven't defined any specific <acronym title=\"domain specific language\">DSL</acronym> yet, but they'd probably be useful.<br />\nThis is the result of barely any thought into it. I've going to try to iteratively improve this as I go along. There are probably a load of syntax errors too because it's been a while since I wrote any ruby!<br />\n<script src=\"https://gist.github.com/notionparallax/06b0a47db36f58e804a4.js\"></script></p>\n",
 "content_html": "<h1>Crossfit programming DSL</h1>\n<p>Trying to describe a workout using a logging tool like beyond the whiteboard is pretty hard if your coach likes to be a bit creative with his programming. I was wondering if there was much merit in trying to use ruby to describe the workouts.<br />\nIt seems to me that workouts are pretty composable things that lend themselves to being easily described this way. I haven’t defined any specific <acronym title=\"domain specific language\">DSL</acronym> yet, but they’d probably be useful.<br />\nThis is the result of barely any thought into it. I’ve going to try to iteratively improve this as I go along. There are probably a load of syntax errors too because it’s been a while since I wrote any ruby!<br />\n<script src=\"https://gist.github.com/notionparallax/06b0a47db36f58e804a4.js\"></script></p>\n",
 "content_hash": "sha256:76e380ed9aa3127415e6e6a214fb6d04f1a2681cc704ec8ecb3c33eaadbae9e9",
 "media": [],
 "changelog": [
  {
   "version": 1,
   "at": "2014-05-23T16:37:00Z",
   "note": null
  }
 ],
 "transclusions": []
}