{"id":25046,"date":"2019-04-18T16:00:24","date_gmt":"2019-04-18T20:00:24","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=25046"},"modified":"2019-04-18T16:00:24","modified_gmt":"2019-04-18T20:00:24","slug":"the-hard-part-in-becoming-a-command-line-wizard","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2019\/04\/18\/the-hard-part-in-becoming-a-command-line-wizard\/","title":{"rendered":"The Hard Part in Becoming a Command Line Wizard"},"content":{"rendered":"<p><a href=\"https:\/\/www.johndcook.com\/blog\/2019\/02\/18\/command-line-wizard\/\">John D. Cook<\/a>:<\/p>\n<blockquote cite=\"https:\/\/www.johndcook.com\/blog\/2019\/02\/18\/command-line-wizard\/\">\n<p>McIlroy&rsquo;s script was a real example of the kind of wizardry attributed to Unix adepts. Why can&rsquo;t more people quickly improvise scripts like that?<\/p>\n<p>The exercise that Bentley posed was the kind of problem that programmers like McIlroy solved routinely at the time. The tools he piped together were developed precisely for such problems. McIlroy didn&rsquo;t see his solution as extraordinary but said &ldquo;Old UNIX hands know instinctively how to solve this one in a jiffy.&rdquo;<\/p>\n<p>The traditional Unix toolbox is full of utilities for text manipulation. Not only are they useful, but they compose well. This composability depends not only on the tools themselves, but also the shell environment they were designed to operate in.<\/p>\n<p>[&#8230;]<\/p>\n<p>You could memorize McIlroy&rsquo;s script and be prepared next time you need to report word frequencies, but applying the <em>spirit<\/em> of his script to your particular problems takes work.<\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>John D. Cook: McIlroy&rsquo;s script was a real example of the kind of wizardry attributed to Unix adepts. Why can&rsquo;t more people quickly improvise scripts like that? The exercise that Bentley posed was the kind of problem that programmers like McIlroy solved routinely at the time. The tools he piped together were developed precisely for [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2019-04-18T20:00:27Z","apple_news_api_id":"fc80a8aa-822b-46c2-a66f-daa16e65ac48","apple_news_api_modified_at":"2019-04-18T20:00:29Z","apple_news_api_revision":"AAAAAAAAAAD\/\/\/\/\/\/\/\/\/\/w==","apple_news_api_share_url":"https:\/\/apple.news\/A_ICoqoIrRsKmb9qhbmWsSA","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[767,71,318,163],"class_list":["post-25046","post","type-post","status-publish","format-standard","hentry","category-technology","tag-bash","tag-programming","tag-terminal","tag-unix"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/25046","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=25046"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/25046\/revisions"}],"predecessor-version":[{"id":25047,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/25046\/revisions\/25047"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=25046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=25046"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=25046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}