{"id":6,"date":"2016-09-16T02:39:01","date_gmt":"2016-09-16T02:39:01","guid":{"rendered":"http:\/\/blogs.harvard.edu\/profsmith\/?p=6"},"modified":"2016-09-16T02:41:23","modified_gmt":"2016-09-16T02:41:23","slug":"whichfinger","status":"publish","type":"post","link":"https:\/\/archive.blogs.harvard.edu\/profsmith\/2016\/09\/16\/whichfinger\/","title":{"rendered":"Whichfinger"},"content":{"rendered":"<p>There&#8217;s no typo in my title for today&#8217;s post. I watched the student sitting next to me type this space-less sequence of characters when Jim and I asked the students in our seminar to type &#8220;which finger&#8221; at the prompt on their laptop&#8217;s terminal window. I&#8217;m sure that this student wasn&#8217;t the only one to leave out the space, and I would bet that Jim, like me, fully expected the students to &#8220;hear&#8221; the space in our request.<\/p>\n<p>Let me step back. We&#8217;ve been introducing the students to a quick history of the Internet. It&#8217;s been a fascinating exercise to run a conversation about a sequence of events that Jim and I experienced directly, but were largely unknown to the students. Like most people my age, I don\u2019t think of myself as that old, but as our 9 year old often reminds me, 45 years ago might as well be an eternity. It\u2019s not just that my son and the students in class didn\u2019t live through the events, but the relentless, exponential pace of Moore\u2019s Law has so fundamentally changed the context around the uses of and constraints on technology that 45 years of technological advances feels like, at least, 450 years in comparison to the rest of the advances in human history.<\/p>\n<p>Interestingly, we had just 10 minutes earlier discussed ASCII encoding with the students, and the table of <a href=\"http:\/\/www.asciitable.com\/\">ASCII encodings<\/a>\u00a0was still up on the screen. ASCII stands for American Standard Code for Information Interchange, and it was developed in the 1960s. It set a standard for encoding characters on our computer keyboards &#8212; like the letter \u2018a\u2019 &#8212; in numerical form. Digital computers encode everything as a sequence of ones and zeros (i.e., a number). For example, 97 represents the letter \u2018a\u2019 in ASCII, and every computer that supports the ASCII standard knows that 97 represents this letter. Since we have a space bar key on our computer keyboards, when you hit the space bar, our computers record that key stroke as the number 32. The sequence \u201c86 101 114 121 32 99 111 111 108\u201d is \u201cVery cool\u201d with the space and all.<\/p>\n<p>With the ASCII table reminding us that spaces are real things in computing, why did the student type \u201cwhichfinger\u201d when I said \u201cwhich finger\u201d? I don\u2019t know for sure, but here\u2019s a theory that recognizes the different histories under which the students and I grew up. I think it also highlights how fast contexts change under Internet time.<\/p>\n<p>I started using computers in the era of mainframes and minicomputers. You interacted with them by typing at a command line, just like we were asking the students to do that day in class. <a href=\"http:\/\/linux.die.net\/man\/1\/which\"><code>which<\/code><\/a>\u00a0is a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Unix\">Unix<\/a>\u00a0command, and when you type <code>which<\/code> at a Unix command prompt, Unix knows that you are asking the utility (i.e., program, or app in today\u2019s world) that implements the <code>which<\/code> functionality to run. You tell this Unix utility what you want it to do by following <code>which<\/code> with a list of arguments that Unix passes to the utility. In our case, <code>finger<\/code> is the sole argument passed.<\/p>\n<p>What I am saying with this sequence of characters (including the space) is that I don\u2019t want to just run the utility <code>which<\/code>, but I want it to specialize what it does. This is like my wife telling me not that she just wants me to go to the store, but she wants me to go to the store and buy milk. In Unix, someone might write something like this:<\/p>\n<p><code>UnixPrompt&gt; goToTheStore buy milk<\/code><\/p>\n<p>Honey, go to the store. At the store, buy something. And that something is milk.<\/p>\n<p>Unlike me, our students didn\u2019t grow up with mainframes and command lines. They grew up with the Internet and the World Wide Web (a topic of this coming week\u2019s history lesson). If you wanted something done on the WWW, you typed a sequence of characters into the URL box of your favorite web browser. For example, if I wanted to read the Harvard Gazette online, I\u2019d type:<\/p>\n<p><code>http:\/\/news.harvard.edu\/gazette\/<\/code><\/p>\n<p>This is not much different in form than typing <code>which<\/code>. However, in the world of URLs, if I want to pass a set of parameters to the Gazette website, I would write something like:<\/p>\n<p><code>http:\/\/news.harvard.edu\/gazette\/story\/2016\/09\/deeper-creativity\/?utm_source=SilverpopMailing&amp;utm_medium=email&amp;utm_campaign=09.15.b.2016%20(1)<\/code><\/p>\n<p>This says something like: Go to the Gazette website, display the story titled \u201cDeeper Creativity\u201d and pass along some stuff to Google Analytics at that website.<\/p>\n<p>Notice that there are no spaces in this command, and I would claim it is far from easy to read. While the designers of Unix commands wanted to make these commands look like an English command, the designers of web \u201ccommands\u201d lived under a different technology domain and one that wasn\u2019t kind to spaces. In fact, the only space in this web \u201ccommand\u201d is represented by the string <code>%20<\/code>. We\u2019re trying to let Google Analytics know that the campaign we\u2019re running here is \u201c<code>09.15.b.2016 (1)<\/code>\u201d where the space in this string had to be replaced with the hexadecimal value 20. What is hexadecimal 20 in base 10? 32. Yup, the ASCII representation for the space key.<\/p>\n<p>So, the students have grown up with web addresses that run words together and never use spaces. It\u2019s \u201cwww.washingtonpost.com\u201d and not \u201cwww.washington post.com\u201d.<\/p>\n<p>What about my 9-year-old son? He\u2019s neither grown up in the era of mainframes and minicomputers or the era of the WWW. He\u2019s grown up in the era of search engines. Not that he reads the Washington Post, but if he did, he wouldn\u2019t type its Internet address in the URL line of a browser. He would go to Google, type \u201cWashington Post\u201d in the search box, and click on the first displayed result. Spaces are back! And my guess if I verbally asked him to type \u201cwhich finger\u201d on my computer, he\u2019d include the space.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There&#8217;s no typo in my title for today&#8217;s post. I watched the student sitting next to me type this space-less sequence of characters when Jim and I asked the students in our seminar to type &#8220;which finger&#8221; at the prompt on their laptop&#8217;s terminal window. I&#8217;m sure that this student wasn&#8217;t the only one to [&hellip;]<\/p>\n","protected":false},"author":8112,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-6","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/archive.blogs.harvard.edu\/profsmith\/wp-json\/wp\/v2\/posts\/6","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/archive.blogs.harvard.edu\/profsmith\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/archive.blogs.harvard.edu\/profsmith\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/profsmith\/wp-json\/wp\/v2\/users\/8112"}],"replies":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/profsmith\/wp-json\/wp\/v2\/comments?post=6"}],"version-history":[{"count":1,"href":"https:\/\/archive.blogs.harvard.edu\/profsmith\/wp-json\/wp\/v2\/posts\/6\/revisions"}],"predecessor-version":[{"id":7,"href":"https:\/\/archive.blogs.harvard.edu\/profsmith\/wp-json\/wp\/v2\/posts\/6\/revisions\/7"}],"wp:attachment":[{"href":"https:\/\/archive.blogs.harvard.edu\/profsmith\/wp-json\/wp\/v2\/media?parent=6"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/profsmith\/wp-json\/wp\/v2\/categories?post=6"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/profsmith\/wp-json\/wp\/v2\/tags?post=6"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}