{"version":"https://jsonfeed.org/version/1","title":"The Code Quality Challenge (CQC)","home_page_url":"https://cqc.fireside.fm","feed_url":"https://cqc.fireside.fm/json","description":"These are the audio versions of the daily exercises.","_fireside":{"subtitle":"A language-agnostic exercise of will.","pubdate":"2017-12-06T15:00:00.000-05:00","explicit":false,"image":"https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/b/b4e84fa0-23af-4c04-b8f8-866e37d9f217/cover.jpg?v=1"},"items":[{"id":"c4aa723a-e9dd-4b5e-8be9-c0243c85fef5","title":"Episode 17: Day 17 - RTFM","url":"https://cqc.fireside.fm/17","content_text":"","content_html":"","summary":"","date_published":"2017-12-06T15:00:00.000-05:00","attachments":[{"url":"https://aphid.fireside.fm/d/1437767933/b4e84fa0-23af-4c04-b8f8-866e37d9f217/c4aa723a-e9dd-4b5e-8be9-c0243c85fef5.mp3","mime_type":"audio/mp3","size_in_bytes":1914022,"duration_in_seconds":88}]},{"id":"bda40c75-fd8d-4237-802e-96f335a42f79","title":"Episode 15: Day 15 - Improve a repetitive action","url":"https://cqc.fireside.fm/15","content_text":"","content_html":"","summary":"","date_published":"2017-12-04T20:00:00.000-05:00","attachments":[{"url":"https://aphid.fireside.fm/d/1437767933/b4e84fa0-23af-4c04-b8f8-866e37d9f217/bda40c75-fd8d-4237-802e-96f335a42f79.mp3","mime_type":"audio/mp3","size_in_bytes":2309769,"duration_in_seconds":115}]},{"id":"2e0ae77d-3e42-440f-93b8-163f34793eb6","title":"Episode 14: Day 14 - Investigate long parameter lists","url":"https://cqc.fireside.fm/14","content_text":"","content_html":"","summary":"","date_published":"2017-12-03T20:00:00.000-05:00","attachments":[{"url":"https://aphid.fireside.fm/d/1437767933/b4e84fa0-23af-4c04-b8f8-866e37d9f217/2e0ae77d-3e42-440f-93b8-163f34793eb6.mp3","mime_type":"audio/mp3","size_in_bytes":1384001,"duration_in_seconds":78}]},{"id":"492d0ea3-48ba-4e75-a89b-7a40c7739309","title":"Episode 13: Day 13 - Tidy your open PRs/Issues","url":"https://cqc.fireside.fm/13","content_text":"","content_html":"","summary":"","date_published":"2017-12-01T00:00:00.000-05:00","attachments":[{"url":"https://aphid.fireside.fm/d/1437767933/b4e84fa0-23af-4c04-b8f8-866e37d9f217/492d0ea3-48ba-4e75-a89b-7a40c7739309.mp3","mime_type":"audio/mp3","size_in_bytes":1191194,"duration_in_seconds":53}]},{"id":"f11a18eb-62e6-43a2-b96e-9494531b58e0","title":"Episode 12: Day 12 - Audit your dependencies","url":"https://cqc.fireside.fm/12","content_text":"","content_html":"","summary":"","date_published":"2017-11-29T19:00:00.000-05:00","attachments":[{"url":"https://aphid.fireside.fm/d/1437767933/b4e84fa0-23af-4c04-b8f8-866e37d9f217/f11a18eb-62e6-43a2-b96e-9494531b58e0.mp3","mime_type":"audio/mp3","size_in_bytes":1067803,"duration_in_seconds":48}]},{"id":"949acbe6-960b-4a53-8cc5-d13b8fd84ca2","title":"Episode 11: Day 11 - Improve one name","url":"https://cqc.fireside.fm/11","content_text":"","content_html":"","summary":"","date_published":"2017-11-28T23:30:00.000-05:00","attachments":[{"url":"https://aphid.fireside.fm/d/1437767933/b4e84fa0-23af-4c04-b8f8-866e37d9f217/949acbe6-960b-4a53-8cc5-d13b8fd84ca2.mp3","mime_type":"audio/mp3","size_in_bytes":1077391,"duration_in_seconds":50}]},{"id":"5b412df7-ce57-4b66-bcc8-d2e57521f495","title":"Episode 10: Day 10 - Investigate your slowest tests","url":"https://cqc.fireside.fm/10","content_text":"https://forum.codequalitychallenge.com/t/day-10-investigate-your-slowest-tests/507/1","content_html":"\u003cp\u003e\u003ca href=\"https://forum.codequalitychallenge.com/t/day-10-investigate-your-slowest-tests/507/1\" rel=\"nofollow\"\u003ehttps://forum.codequalitychallenge.com/t/day-10-investigate-your-slowest-tests/507/1\u003c/a\u003e\u003c/p\u003e","summary":"","date_published":"2017-11-27T20:00:00.000-05:00","attachments":[{"url":"https://aphid.fireside.fm/d/1437767933/b4e84fa0-23af-4c04-b8f8-866e37d9f217/5b412df7-ce57-4b66-bcc8-d2e57521f495.mp3","mime_type":"audio/mp3","size_in_bytes":2485766,"duration_in_seconds":118}]},{"id":"7aeb34f8-63e4-4d96-9b24-74a9dcbe56d0","title":"Day 9 - Run your tests with your wifi off","url":"https://cqc.fireside.fm/9","content_text":"Forum: https://forum.codequalitychallenge.com/t/day-9-run-your-tests-with-your-internet-connection-disabled/505/1","content_html":"\u003cp\u003eForum: \u003ca href=\"https://forum.codequalitychallenge.com/t/day-9-run-your-tests-with-your-internet-connection-disabled/505/1\" rel=\"nofollow\"\u003ehttps://forum.codequalitychallenge.com/t/day-9-run-your-tests-with-your-internet-connection-disabled/505/1\u003c/a\u003e\u003c/p\u003e","summary":"","date_published":"2017-11-26T23:00:00.000-05:00","attachments":[{"url":"https://aphid.fireside.fm/d/1437767933/b4e84fa0-23af-4c04-b8f8-866e37d9f217/7aeb34f8-63e4-4d96-9b24-74a9dcbe56d0.mp3","mime_type":"audio/mp3","size_in_bytes":1604405,"duration_in_seconds":74}]},{"id":"a6bd482a-8566-4f86-93cb-581e2d95db59","title":"Day 8 - Create a bin/setup script","url":"https://cqc.fireside.fm/8","content_text":"Thread: https://forum.codequalitychallenge.com/t/day-8-create-a-bin-setup-script/503/1\n\nExample gist: https://gist.github.com/r00k/ab4dce37603cd94466c9955eee88ffe1","content_html":"\u003cp\u003eThread: \u003ca href=\"https://forum.codequalitychallenge.com/t/day-8-create-a-bin-setup-script/503/1\" rel=\"nofollow\"\u003ehttps://forum.codequalitychallenge.com/t/day-8-create-a-bin-setup-script/503/1\u003c/a\u003e\u003c/p\u003e\n\n\u003cp\u003eExample gist: \u003ca href=\"https://gist.github.com/r00k/ab4dce37603cd94466c9955eee88ffe1\" rel=\"nofollow\"\u003ehttps://gist.github.com/r00k/ab4dce37603cd94466c9955eee88ffe1\u003c/a\u003e\u003c/p\u003e","summary":"","date_published":"2017-11-21T23:00:00.000-05:00","attachments":[{"url":"https://aphid.fireside.fm/d/1437767933/b4e84fa0-23af-4c04-b8f8-866e37d9f217/a6bd482a-8566-4f86-93cb-581e2d95db59.mp3","mime_type":"audio/mp3","size_in_bytes":2835896,"duration_in_seconds":139}]},{"id":"d1bebca7-79e9-404e-82f5-1d437b1583fd","title":"Day 6 - Extract a compound conditional","url":"https://cqc.fireside.fm/6","content_text":"https://forum.codequalitychallenge.com/t/day-6-extract-a-compound-conditional/494/3","content_html":"\u003cp\u003e\u003ca href=\"https://forum.codequalitychallenge.com/t/day-6-extract-a-compound-conditional/494/3\" rel=\"nofollow\"\u003ehttps://forum.codequalitychallenge.com/t/day-6-extract-a-compound-conditional/494/3\u003c/a\u003e\u003c/p\u003e","summary":"","date_published":"2017-11-20T18:00:00.000-05:00","attachments":[{"url":"https://aphid.fireside.fm/d/1437767933/b4e84fa0-23af-4c04-b8f8-866e37d9f217/d1bebca7-79e9-404e-82f5-1d437b1583fd.mp3","mime_type":"audio/mp3","size_in_bytes":1833931,"duration_in_seconds":84}]},{"id":"4d5e11af-86f3-4b79-9e38-eda4f0afcd7c","title":"Day 7 - Slim down an overgrown class","url":"https://cqc.fireside.fm/7","content_text":"Forum topic: https://forum.codequalitychallenge.com/t/day-7-slim-down-an-overgrown-class/499","content_html":"\u003cp\u003eForum topic: \u003ca href=\"https://forum.codequalitychallenge.com/t/day-7-slim-down-an-overgrown-class/499\" rel=\"nofollow\"\u003ehttps://forum.codequalitychallenge.com/t/day-7-slim-down-an-overgrown-class/499\u003c/a\u003e\u003c/p\u003e","summary":"","date_published":"2017-11-20T18:00:00.000-05:00","attachments":[{"url":"https://aphid.fireside.fm/d/1437767933/b4e84fa0-23af-4c04-b8f8-866e37d9f217/4d5e11af-86f3-4b79-9e38-eda4f0afcd7c.mp3","mime_type":"audio/mp3","size_in_bytes":4253611,"duration_in_seconds":206}]},{"id":"b270f8eb-f7bd-4ca3-9ef8-2ce389ae1198","title":"Day 5 - Trim those branches","url":"https://cqc.fireside.fm/5","content_text":"This one is better read on the forum thread.\n\nCongrats on reaching the end of week one!\n\nIt's Friday, so let's end with a quick win:\n\n\nRun git branch -r. Marvel at all the old tracking branches that have been left in your local repo.\nRun git remote prune origin to delete the local tracking branches that don't exist on origin anymore. You might want to throw a --dry-run on there to confirm that git is going to do the right thing.\nRe-run git branch -r. Better, right?\nNow that your local repo is clean, take a look at the branches on origin by running git ls-remote --heads origin. \nDelete any of your branches that are no longer needed with git push origin --delete old_branch.\nMaybe bug your coworkers to do 4 and 5, too.\nEnjoy the weekend!\n","content_html":"\u003cp\u003eThis one is better read on \u003ca href=\"https://forum.codequalitychallenge.com/t/day-5-trim-those-branches/488\" rel=\"nofollow\"\u003ethe forum thread\u003c/a\u003e.\u003c/p\u003e\n\n\u003cp\u003eCongrats on reaching the end of week one!\u003c/p\u003e\n\n\u003cp\u003eIt\u0026#39;s Friday, so let\u0026#39;s end with a quick win:\u003c/p\u003e\n\n\u003col\u003e\n\u003cli\u003e\u003cp\u003eRun \u003ccode\u003egit branch -r\u003c/code\u003e. Marvel at all the old tracking branches that have been left in your local repo.\u003c/p\u003e\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eRun \u003ccode\u003egit remote prune origin\u003c/code\u003e to delete the local tracking branches that don\u0026#39;t exist on \u003ccode\u003eorigin\u003c/code\u003e anymore. You might want to throw a \u003ccode\u003e--dry-run\u003c/code\u003e on there to confirm that git is going to do the right thing.\u003c/p\u003e\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eRe-run \u003ccode\u003egit branch -r\u003c/code\u003e. Better, right?\u003c/p\u003e\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eNow that your local repo is clean, take a look at the branches on \u003ccode\u003eorigin\u003c/code\u003e by running \u003ccode\u003egit ls-remote --heads origin\u003c/code\u003e. \u003c/p\u003e\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eDelete any of your branches that are no longer needed with \u003ccode\u003egit push origin --delete old_branch\u003c/code\u003e.\u003c/p\u003e\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eMaybe bug your coworkers to do 4 and 5, too.\u003c/p\u003e\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eEnjoy the weekend!\u003c/p\u003e\u003c/li\u003e\n\u003c/ol\u003e","summary":"","date_published":"2017-11-16T23:00:00.000-05:00","attachments":[{"url":"https://aphid.fireside.fm/d/1437767933/b4e84fa0-23af-4c04-b8f8-866e37d9f217/b270f8eb-f7bd-4ca3-9ef8-2ce389ae1198.mp3","mime_type":"audio/mp3","size_in_bytes":1447225,"duration_in_seconds":82}]},{"id":"890ed5bc-db8b-4834-b485-7f8b53f6c0ae","title":"Day 4 - Find and delete some unused code","url":"https://cqc.fireside.fm/4","content_text":"Forum thread: https://forum.codequalitychallenge.com/t/day-4-find-and-delete-some-unused-code/475","content_html":"\u003cp\u003eForum thread: \u003ca href=\"https://forum.codequalitychallenge.com/t/day-4-find-and-delete-some-unused-code/475\" rel=\"nofollow\"\u003ehttps://forum.codequalitychallenge.com/t/day-4-find-and-delete-some-unused-code/475\u003c/a\u003e\u003c/p\u003e","summary":"","date_published":"2017-11-15T18:00:00.000-05:00","attachments":[{"url":"https://aphid.fireside.fm/d/1437767933/b4e84fa0-23af-4c04-b8f8-866e37d9f217/890ed5bc-db8b-4834-b485-7f8b53f6c0ae.mp3","mime_type":"audio/mp3","size_in_bytes":1606617,"duration_in_seconds":92}]},{"id":"fe6c9d6b-aa5f-4e57-bc2f-d7942e40bf67","title":"Day 3 - Get rid of a warning","url":"https://cqc.fireside.fm/3","content_text":"Today's exercise: get rid of a warning you've gotten used to ignoring.\n\nMore on \"broken windows\": https://blog.codinghorror.com/the-broken-window-theory/","content_html":"\u003cp\u003eToday\u0026#39;s exercise: get rid of a warning you\u0026#39;ve gotten used to ignoring.\u003c/p\u003e\n\n\u003cp\u003eMore on \u0026quot;broken windows\u0026quot;: \u003ca href=\"https://blog.codinghorror.com/the-broken-window-theory/\" rel=\"nofollow\"\u003ehttps://blog.codinghorror.com/the-broken-window-theory/\u003c/a\u003e\u003c/p\u003e","summary":"","date_published":"2017-11-14T23:00:00.000-05:00","attachments":[{"url":"https://aphid.fireside.fm/d/1437767933/b4e84fa0-23af-4c04-b8f8-866e37d9f217/fe6c9d6b-aa5f-4e57-bc2f-d7942e40bf67.mp3","mime_type":"audio/mp3","size_in_bytes":2272670,"duration_in_seconds":109}]},{"id":"c893245c-03f8-4b0f-967d-937a413d0f11","title":"Day 2 - Nuke TODO comments","url":"https://cqc.fireside.fm/2","content_text":"Get those TODOs out of your code, and into a better home (even if that's /dev/null).\n\nForum topic: http://forum.codequalitychallenge.com/t/day-2-nuke-todo-comments/375","content_html":"\u003cp\u003eGet those TODOs out of your code, and into a better home (even if that\u0026#39;s /dev/null).\u003c/p\u003e\n\n\u003cp\u003eForum topic: \u003ca href=\"http://forum.codequalitychallenge.com/t/day-2-nuke-todo-comments/375\" rel=\"nofollow\"\u003ehttp://forum.codequalitychallenge.com/t/day-2-nuke-todo-comments/375\u003c/a\u003e\u003c/p\u003e","summary":"Get those TODOs out of your code, and into a better home (even if that's /dev/null).","date_published":"2017-11-13T17:00:00.000-05:00","attachments":[{"url":"https://aphid.fireside.fm/d/1437767933/b4e84fa0-23af-4c04-b8f8-866e37d9f217/c893245c-03f8-4b0f-967d-937a413d0f11.mp3","mime_type":"audio/mp3","size_in_bytes":3545360,"duration_in_seconds":165}]},{"id":"2a46dd35-a026-4d78-bd52-f84956e42805","title":"Day 1- Improve your README","url":"https://cqc.fireside.fm/1","content_text":"Here's a nice README template that you should steal from liberally:\nhttps://gist.github.com/PurpleBooth/109311bb0361f32d87a2\n\nAnd here's a collection of awesome READMEs that can help provide inspiration:\nhttps://github.com/matiassingers/awesome-readme","content_html":"\u003cp\u003eHere\u0026#39;s a nice README template that you should steal from liberally:\u003cbr\u003e\n\u003ca href=\"https://gist.github.com/PurpleBooth/109311bb0361f32d87a2\" rel=\"nofollow\"\u003ehttps://gist.github.com/PurpleBooth/109311bb0361f32d87a2\u003c/a\u003e\u003c/p\u003e\n\n\u003cp\u003eAnd here\u0026#39;s a collection of awesome READMEs that can help provide inspiration:\u003cbr\u003e\n\u003ca href=\"https://github.com/matiassingers/awesome-readme\" rel=\"nofollow\"\u003ehttps://github.com/matiassingers/awesome-readme\u003c/a\u003e\u003c/p\u003e","summary":"","date_published":"2017-11-12T13:00:00.000-05:00","attachments":[{"url":"https://aphid.fireside.fm/d/1437767933/b4e84fa0-23af-4c04-b8f8-866e37d9f217/2a46dd35-a026-4d78-bd52-f84956e42805.mp3","mime_type":"audio/mp3","size_in_bytes":7161129,"duration_in_seconds":259}]}]}