{"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://assets.fireside.fm/file/fireside-images/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":"

https://forum.codequalitychallenge.com/t/day-10-investigate-your-slowest-tests/507/1

","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":"

Forum: https://forum.codequalitychallenge.com/t/day-9-run-your-tests-with-your-internet-connection-disabled/505/1

","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":"

Thread: https://forum.codequalitychallenge.com/t/day-8-create-a-bin-setup-script/503/1

\n\n

Example gist: https://gist.github.com/r00k/ab4dce37603cd94466c9955eee88ffe1

","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":"

https://forum.codequalitychallenge.com/t/day-6-extract-a-compound-conditional/494/3

","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":"

Forum topic: https://forum.codequalitychallenge.com/t/day-7-slim-down-an-overgrown-class/499

","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":"

This one is better read on the forum thread.

\n\n

Congrats on reaching the end of week one!

\n\n

It's Friday, so let's end with a quick win:

\n\n
    \n
  1. Run git branch -r. Marvel at all the old tracking branches that have been left in your local repo.

  2. \n
  3. Run 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.

  4. \n
  5. Re-run git branch -r. Better, right?

  6. \n
  7. Now that your local repo is clean, take a look at the branches on origin by running git ls-remote --heads origin.

  8. \n
  9. Delete any of your branches that are no longer needed with git push origin --delete old_branch.

  10. \n
  11. Maybe bug your coworkers to do 4 and 5, too.

  12. \n
  13. Enjoy the weekend!

  14. \n
","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":"

Forum thread: https://forum.codequalitychallenge.com/t/day-4-find-and-delete-some-unused-code/475

","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":"

Today's exercise: get rid of a warning you've gotten used to ignoring.

\n\n

More on "broken windows": https://blog.codinghorror.com/the-broken-window-theory/

","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":"

Get those TODOs out of your code, and into a better home (even if that's /dev/null).

\n\n

Forum topic: http://forum.codequalitychallenge.com/t/day-2-nuke-todo-comments/375

","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":"

Here's a nice README template that you should steal from liberally:
\nhttps://gist.github.com/PurpleBooth/109311bb0361f32d87a2

\n\n

And here's a collection of awesome READMEs that can help provide inspiration:
\nhttps://github.com/matiassingers/awesome-readme

","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}]}]}