{"id":20,"date":"2022-01-15T14:48:30","date_gmt":"2022-01-15T14:48:30","guid":{"rendered":"https:\/\/blogs.oregonstate.edu\/donoblog\/?p=20"},"modified":"2022-01-15T15:01:40","modified_gmt":"2022-01-15T15:01:40","slug":"hunger-is-the-best-spice","status":"publish","type":"post","link":"https:\/\/blogs.oregonstate.edu\/donoblog\/2022\/01\/15\/hunger-is-the-best-spice\/","title":{"rendered":"Hunger is the Best Spice"},"content":{"rendered":"\n<p>This is one of my favorite sayings. It encapsulates the human condition &#8211; pleasure, desire, pain, survival &#8211; so efficiently. It&#8217;s a simple, great proverb for chefs and competitive athletes.<\/p>\n\n\n\n<p>But is also a great proverb for anyone who is passionate about their work. <\/p>\n\n\n\n<p>Let&#8217;s talk about what this means for coders.<\/p>\n\n\n\n<p>When coders mention &#8220;bloated&#8221; code, we know immediately what they&#8217;re referring to. Code that attempts to do too many things, code that is verbose, code that has too many comments, code that is inefficient and not fun to work with.<\/p>\n\n\n\n<p>When we talk about &#8220;clean&#8221; code, we&#8217;re talking about code we enjoy working with. We like code that is self-evident, descriptive and logical. Clean code is humane code, and since (almost) none of us make a living as 1-person coding phenoms, it&#8217;s extremely important.<\/p>\n\n\n\n<p>In my mind, <strong>hungry code<\/strong> is the opposite of bloated code, with clean code falling in-between. <\/p>\n\n\n\n<p>Hungry code wants to do more than just what it was originally written for. Hungry code anticipates being modified, re-used, referenced, branched, merged. To me, C++ templates are a good example of hungry code. Templates require you to think not just about the problem you&#8217;re trying to solve today, but the problems you&#8217;re going to solve tomorrow. You can write perfectly good, clean, non-extensible solutions to many problems, but the &#8220;hungry&#8221; version of the code will always win in the end. Code that is useful twice is code you don&#8217;t have to write again!<\/p>\n\n\n\n<p>For our capstone project on web security, we must be hungry in order to succeed. Since my <a href=\"https:\/\/blogs.oregonstate.edu\/donoblog\/2022\/01\/10\/the-purpose-of-silence\/\">last post<\/a>, node.js (which will be an integral component of our project) released patches for <a href=\"https:\/\/nodejs.org\/en\/blog\/vulnerability\/jan-2022-security-releases\/\">multiple medium-severity CVEs<\/a>. The only way we will be able to be trustworthy researchers is if we are constantly reading, updating, searching, and asking the question &#8211; &#8220;what&#8217;s next?&#8221;<\/p>\n\n\n\n<p>Hungry code requires a curious author. If &#8220;perfect is the enemy of good&#8221;, complacency is the enemy of hunger. Are you aware of both cutting-edge solutions and historical best practices for the problem you are trying to solve? Do you understand both the micro- and macro- processes at work in your system? We must constantly re-examine what we know, un-entrench our old practices and continually educate ourselves and those around us.<\/p>\n\n\n\n<p>We won&#8217;t have the opportunity to be authorities on every topic, but we can ask &#8220;Why?&#8221; One example of this mindset I appreciate is the <a href=\"https:\/\/docs.python.org\/3\/library\/random.html\">Python documentation for random.py<\/a>.  This documentation not only explains how it implements its functions, but why it chose specific solutions, and makes recommendations to the end user about when to use this library. I believe we owe it to our evolution to make this mindset the status quo. <\/p>\n\n\n\n<p>So here&#8217;s a reminder to listen to your passion, to let yourself hungrily pursue truth, and embrace the journey it will lead you on.<\/p>\n\n\n\n<p class=\"has-small-font-size\">&#8220;<code>random<\/code> \u2014 Generate pseudo-random numbers&#8221;, <em>docs.python.org, accessed Jan 2022,<\/em><br><a href=\"https:\/\/docs.python.org\/3\/library\/random.html\">https:\/\/docs.python.org\/3\/library\/random.html<\/a><\/p>\n\n\n\n<p class=\"has-small-font-size\">English, Bryan, &#8220;January 10th 2022 Security Releases&#8221;, <em>node.js.org<\/em>, Jan 11, 2022,<br><a href=\"https:\/\/nodejs.org\/en\/blog\/vulnerability\/jan-2022-security-releases\/\">https:\/\/nodejs.org\/en\/blog\/vulnerability\/jan-2022-security-releases\/<\/a>  <\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is one of my favorite sayings. It encapsulates the human condition &#8211; pleasure, desire, pain, survival &#8211; so efficiently. It&#8217;s a simple, great proverb for chefs and competitive athletes. But is also a great proverb for anyone who is passionate about their work. Let&#8217;s talk about what this means for coders. When coders mention&hellip; <a href=\"https:\/\/blogs.oregonstate.edu\/donoblog\/2022\/01\/15\/hunger-is-the-best-spice\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":11899,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-20","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.oregonstate.edu\/donoblog\/wp-json\/wp\/v2\/posts\/20","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.oregonstate.edu\/donoblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.oregonstate.edu\/donoblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/donoblog\/wp-json\/wp\/v2\/users\/11899"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/donoblog\/wp-json\/wp\/v2\/comments?post=20"}],"version-history":[{"count":5,"href":"https:\/\/blogs.oregonstate.edu\/donoblog\/wp-json\/wp\/v2\/posts\/20\/revisions"}],"predecessor-version":[{"id":27,"href":"https:\/\/blogs.oregonstate.edu\/donoblog\/wp-json\/wp\/v2\/posts\/20\/revisions\/27"}],"wp:attachment":[{"href":"https:\/\/blogs.oregonstate.edu\/donoblog\/wp-json\/wp\/v2\/media?parent=20"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/donoblog\/wp-json\/wp\/v2\/categories?post=20"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/donoblog\/wp-json\/wp\/v2\/tags?post=20"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}