<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Dr. K's Software Ruminations</title>
	
	<link>http://charlesknutson.net</link>
	<description>“It is impossible for a software organization to be saved in ignorance.”</description>
	<lastBuildDate>Mon, 25 Oct 2010 23:00:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/DrKsSoftwareRuminations" /><feedburner:info uri="drkssoftwareruminations" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Puzzle-solving: Not the driving function of software construction</title>
		<link>http://feedproxy.google.com/~r/DrKsSoftwareRuminations/~3/txKQqeFHdGM/</link>
		<comments>http://charlesknutson.net/blog/2010/10/25/puzzle-solving-not-the-driving-function-of-software-construction/#comments</comments>
		<pubDate>Mon, 25 Oct 2010 23:00:46 +0000</pubDate>
		<dc:creator>knutson</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Engineering Research]]></category>

		<guid isPermaLink="false">http://www.charlesknutson.net/2010/10/25/puzzle-solving-not-the-driving-function-of-software-construction/</guid>
		<description><![CDATA[Yeah, I know I promised three follow-on posts after the last one on puzzle-solving interview questions. I&#8217;m getting to it. Really. But I wanted to take a minute first and specifically address some of the comments left on the last &#8230; <a href="http://charlesknutson.net/blog/2010/10/25/puzzle-solving-not-the-driving-function-of-software-construction/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yeah, I know I promised three follow-on posts after the last one on puzzle-solving interview questions. I&#8217;m getting to it. Really. But I wanted to take a minute first and specifically address some of the comments left on the last two posts.Here&#8217;s one:</p>
<blockquote><p>In my opinion, there’s nothing wrong with hiring engineers primarily for  their puzzle-solving skills; that’s their primary function.</p></blockquote>
<p>I&#8217;m going to respectfully disagree. A software engineer&#8217;s primary <em>job function</em> is to write software, which involves a number of things, one of which looks a bit like puzzle-solving. But the <em>driving function</em> of the complexity and cost of software construction is neither writing software, nor its puzzle-solving component. The driving function of software construction is the collective emotional state of a software engineering organization.</p>
<p>Individual engineers have to be decently smart. Spectacularly smart is even better. But uber smart with a whiny attitude is a no hire. The smartest new college graduate at some university who can&#8217;t stay focused for more than three weeks at a time is a no hire. The kid who solves the Rubik&#8217;s cube in less than a minute blindfolded but brings other team members down emotionally is a no hire. The brilliant prima dona is a no hire. The defeatist genius who minored in learned victimhood is a no hire. Every single one of these guys can pass the puzzle questions with flying colors. Every single one is a no hire.</p>
<p>Failure to interview for emotional attitude, team play, communication, and can-do attitude ABOUT THINGS OTHER THAN PUZZLES is failure to interview for a successful engineering corps.</p>
<p>But what about division of labor? Why does an engineer have to think big? Can&#8217;t the high mucky mucks think the big thoughts and leave the puzzle-solving engineering crew to hunker down?</p>
<p>To wit, this comment:</p>
<blockquote><p>When you  expect or allow those same engineers to decide the direction of the  company is when you’re headed for disaster.  Large companies like  Microsoft and Google can get away with this practice if they balance out  their spiffy puzzle-solvers with globally-thinking big-picture people.   Smaller companies can’t afford to specialize and compartmentalize their  workforce that way and should follow different hiring practices.</p></blockquote>
<p>Again I&#8217;ll respectfully disagree. The notion that there is some clear separation between the engineers in the trenches and everyone else in the company up to and including the CEO is a myth. The collective attitude of an organization, for better or worse, is manifest in everything the company produces, including the products it ships, the ad campaigns it runs, the personality of its sales force, the attitude of the secretary at the front desk, and the code that engineers produce, not to mention the rate at which they produce it.</p>
<p>Personal case study: In 1988 I was a software engineer in the Personal Computer Group at Hewlett-Packard in Sunnyvale, California. I showed up just before HP&#8217;s OEM release of OS/2 1.0 for the Vectra PC, and then stuck around to write device drivers for OS/2 1.1. I had access to all the source code for OS/2, which had been jointly developed by Microsoft and IBM. As I cruised around the code for OS/2, it was always immediately obvious which code had been written by IBM engineers and which had been written by Microsoft engineers. In all cases, the coding style was consistent with the collective corporate attitude that you could see on a billboard from a clogged expressway. You could drop code in front of me and I could tell you which company it came from.</p>
<p>Engineering work, even among the most junior engineering staff members, involves creativity and decision making that has nothing to do with puzzle solving. Individual engineers make stylistic decisions about design issues that were not fully clarified by someone outside their team. Attitudinal decisions that affect code maintainability happen every single day. A renegade codeslinger who refuses to follow the corporate style guide has a negative effect that no amount of puzzle-solving speed can repair.</p>
<p>The idea that there is a wall of separation between the puzzle-solving work of the engineers hunkered down in their cubes and the collective vision of the corporation is fantasy. Engineers who can see outside the cube (both theirs and Rubik&#8217;s) write code that blends with corporate purpose. They induce a positive ripple effect that transcends their keyboard and compiler.</p>
<p>Conversely, engineers who primarily solve puzzles are more likely to write unmaintainable code, because they don&#8217;t see the world from outside their own perspective. They struggle to figure out why all this coding style garbage is being shoved down everyone&#8217;s throat. They view sales and marketing as pure overhead, management as the dark side, and software engineers as the only ones around here who do any heavy lifting.</p>
<p>I agree that big picture thinking is absolutely essential for a small company where everyone ultimately does everything. But big picture thinking turns out to also be critically essential for a large company as well.</p>
<img src="http://feeds.feedburner.com/~r/DrKsSoftwareRuminations/~4/txKQqeFHdGM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://charlesknutson.net/blog/2010/10/25/puzzle-solving-not-the-driving-function-of-software-construction/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://charlesknutson.net/blog/2010/10/25/puzzle-solving-not-the-driving-function-of-software-construction/</feedburner:origLink></item>
		<item>
		<title>Puzzle-solving interview questions: How you do it can’t save you</title>
		<link>http://feedproxy.google.com/~r/DrKsSoftwareRuminations/~3/CFSsz9ZzFrc/</link>
		<comments>http://charlesknutson.net/blog/2010/10/14/puzzle-solving-interview-questions-how-you-do-it-cant-save-you/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 21:21:00 +0000</pubDate>
		<dc:creator>knutson</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Engineering Research]]></category>

		<guid isPermaLink="false">http://www.charlesknutson.net/2010/10/14/puzzle-solving-interview-questions-how-you-do-it-cant-save-you/</guid>
		<description><![CDATA[In my vitriolic diatribe on puzzle-solving interviews, I argue that making engineers solve puzzles as an interview strategy does nothing but confirm what their transcript already tells you, and over time yields an engineering staff incapable of strategic thinking. To &#8230; <a href="http://charlesknutson.net/blog/2010/10/14/puzzle-solving-interview-questions-how-you-do-it-cant-save-you/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://www.charlesknutson.net/2010/10/07/puzzle-solving-interview-questions-you-get-what-you-ask-for" target="_blank">vitriolic diatribe on puzzle-solving interviews</a>, I argue that making engineers solve puzzles as an interview strategy does nothing but confirm what their transcript already tells you, and over time yields an engineering staff incapable of strategic thinking. To my credit, I did not use the term &#8220;boneheaded,&#8221; which speaks to my inimitable sense of self-restraint.</p>
<p>Rebuttal from a reader: &#8220;Perhaps some real value can be found out of the puzzle question response  by looking for out-of-the-box, creative thinking (both in problem  analysis and solution exploration).  Even if they get the thing wrong  (which is not necessarily a bad thing since most puzzle questions are  designed to be devious and tricky), they may prove the ability to look  at the problem from a unique perspective and think critically as they  problem solve.&#8221;</p>
<p>Agreed. There is <em>some</em> value in watching a person solve a puzzle in order to see not just whether they can solve the puzzle, but how they approach the solution of said puzzle. But this insight does not address the profound problem with the entire notion of a puzzle-solving interview in the first place: Puzzle solving is not even remotely the most significant skill of a superb professional software engineer!</p>
<p>Software is built by humans within the context of social structures. Software construction is dramatically affected by a personal productivity variable of at least an order of magnitude. That means that my good day is at least ten times more effective than my bad day.  Equally important, one engineer may, on an average day, perform at least an order of magnitude more productively than another engineer on that same average day. Engineering productivity is massively impacted by the collective cognitive and emotional state of a given team, not to mention the dynamics of that team as it interacts with the rest of its company (and even further, with the company&#8217;s partners and customers).</p>
<p>If you want to really know whether a candidate is going to save your bacon six months from now, stop asking the puzzle questions. Now.</p>
<p>If you want smart and clever engineers, then limit your recruiting to schools you trust and require a minimum GPA of the students you interview. If that&#8217;s not good enough for you, then actually read their transcript and look at how they did in specific courses.</p>
<p>Now that you&#8217;ve determined the candidate is smart (see above), try to figure out these three things:</p>
<p>1) Can this candidate think intelligently about a world outside an engineering cubicle?</p>
<p>2) What is the ratio of bad to good days in the engineering life of this candidate?</p>
<p>3) Is this candidate an effective written and verbal communicator?</p>
<p>You then have to develop great interview questions that evoke meaningful answers to each of these three issues. I call them, &#8220;The only interview questions you&#8217;ll ever need.&#8221; All will be revealed in the next few posts.</p>
<img src="http://feeds.feedburner.com/~r/DrKsSoftwareRuminations/~4/CFSsz9ZzFrc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://charlesknutson.net/blog/2010/10/14/puzzle-solving-interview-questions-how-you-do-it-cant-save-you/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://charlesknutson.net/blog/2010/10/14/puzzle-solving-interview-questions-how-you-do-it-cant-save-you/</feedburner:origLink></item>
		<item>
		<title>Puzzle-solving interview questions: You get what you ask for!</title>
		<link>http://feedproxy.google.com/~r/DrKsSoftwareRuminations/~3/qfSOAL5G0WE/</link>
		<comments>http://charlesknutson.net/blog/2010/10/07/puzzle-solving-interview-questions-you-get-what-you-ask-for/#comments</comments>
		<pubDate>Fri, 08 Oct 2010 01:21:13 +0000</pubDate>
		<dc:creator>knutson</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Engineering Research]]></category>

		<guid isPermaLink="false">http://www.charlesknutson.net/2010/10/07/puzzle-solving-interview-questions-you-get-what-you-ask-for/</guid>
		<description><![CDATA[Interviewing: The process by which an interviewer determines via a face-to-face interaction whether an interviewee possesses the chops necessary to assist the hiring company in its quest for profitability and market domination. (My definition. Feel free to quote me.) About &#8230; <a href="http://charlesknutson.net/blog/2010/10/07/puzzle-solving-interview-questions-you-get-what-you-ask-for/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Interviewing: The process by which an interviewer determines via a face-to-face interaction whether an interviewee possesses the chops necessary to assist the hiring company in its quest for profitability and market domination. (My definition. Feel free to quote me.)</p>
<p>About a decade ago, Microsoft pioneered an approach to engineering interviews based primarily on puzzle solving. The approach became so popular that companies like Google adopted it, books were written on it, and websites dedicated to it. Candidates were even encouraged to consult up to a dozen specific tomes in order to successfully crack the puzzle-solving puzzle that the interviews evolved into. (See the Wikipedia article &#8220;<a href="http://en.wikipedia.org/wiki/Microsoft_interview">Microsoft interview</a>.&#8221;)</p>
<p>It bugged me when I first heard about it a decade ago, and it bugs me even more now that other companies have jumped on the bandwagon. I think it&#8217;s a pathologically bad practice for reasons I will now reveal.</p>
<p>When you ask a senior in Computer Science to write a function for string comparison in some arbitrary language (for example), you&#8217;re testing his or her capacity to either a) regurgitate code they successfully wrote three years earlier, or b) cram puzzle-solving code snippets into their brains in order to impress an interviewer on demand. You might as well ask a candidate to solve a Rubik&#8217;s cube blindfolded in less than two minutes for all the value you derive from a question like this.</p>
<p>Seriously, what do you learn from this question?</p>
<ol>
<li>That the candidate is smart. Congratulations. You just verified their cumulative GPA and spot checked specific courses on their transcript.</li>
<li>That the candidate is a puzzle solver. Congratulations. Next time just break out a Rubik&#8217;s cube and be done with it. For the bonus round, break out a blindfold.</li>
<li>That the candidate knows how to prep for your highly arbitrary and ultimately predictable IQ test. Congratulations. You just learned that the candidate is motivated to game your goofy interview process in order to secure a position with you.</li>
</ol>
<p>My most significant concern is this: Fill your company with a few thousand smart kids who know how to solve puzzles and you&#8217;ll populate an engineering staff who can&#8217;t think strategically or globally about where the company needs to go, or how products need to evolve. You may find a few who have broader abilities, but your odds of finding them are about the same as discovering new hires that can hit a sweet jump shot or play the cello. You get some by chance, but not because you interviewed for it.</p>
<p>My assertion/prophecy ten years ago was that companies who hired spiffy puzzle solvers via spiffy puzzle solving interviews would ultimately suffer from a vast and pervasive lack of vision and global thinking among its engineers.</p>
<p>Memo to the industry: Your company&#8217;s biggest problem isn&#8217;t the puzzle solving ability of your engineers. It&#8217;s your collective ability to figure out what the market will cough up for the products you never thought about building.</p>
<p>Interview by testing for small thinking? Don&#8217;t be shocked when you find yourself working for a fading company devoid of a critical mass of engineers capable of thinking big.</p>
<img src="http://feeds.feedburner.com/~r/DrKsSoftwareRuminations/~4/qfSOAL5G0WE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://charlesknutson.net/blog/2010/10/07/puzzle-solving-interview-questions-you-get-what-you-ask-for/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://charlesknutson.net/blog/2010/10/07/puzzle-solving-interview-questions-you-get-what-you-ask-for/</feedburner:origLink></item>
		<item>
		<title>Programming, gender, and masculine metaphors</title>
		<link>http://feedproxy.google.com/~r/DrKsSoftwareRuminations/~3/zdBjL9KEFdw/</link>
		<comments>http://charlesknutson.net/blog/2010/09/26/programming-gender-and-abrasive-masculine-metaphors/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 04:05:46 +0000</pubDate>
		<dc:creator>knutson</dc:creator>
				<category><![CDATA[Software Engineering Education]]></category>
		<category><![CDATA[Software Engineering Research]]></category>

		<guid isPermaLink="false">http://www.charlesknutson.net/2010/09/26/programming-gender-and-abrasive-masculine-metaphors/</guid>
		<description><![CDATA[Dr. Margaret Burnett, one of my professors from my grad school days at Oregon State University, gave a wonderful keynote address at the PPIG (Psychology of Programming Interest Group) workshop in Madrid, Spain on September 20, 2010, entitled &#8220;Gender HCI &#8230; <a href="http://charlesknutson.net/blog/2010/09/26/programming-gender-and-abrasive-masculine-metaphors/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://web.engr.oregonstate.edu/~burnett/" target="_blank">Dr. Margaret Burnett</a>, one of my professors from my grad school days at Oregon State University, gave a wonderful keynote address at the <a href="http://www.ppig.org/" target="_blank">PPIG</a> (Psychology of Programming Interest Group) <a href="http://ppig2010.org/index.php?title=Welcome_to_PPIG_2010" target="_blank">workshop</a> in Madrid, Spain on September 20, 2010, entitled &#8220;Gender HCI and Programming.&#8221; In her keynote, Dr. Burnett outlined seven years of research that she and her colleagues have conducted into issues of gender and computer programming. (For more detail about their research, see the <a href="http://eusesconsortium.org/gender/" target="_blank">Gender HCI Project</a> page.)</p>
<p>One of the most insightful moments for me was when Dr. Burnett pointed out that  computer programming and systems often employ violent or crude metaphors that are potentially offensive or abrasive to many women. For example, we abort processes, kill programs, spawn zombies and daemons, etc. Who invented these terms? For the most part, guys. And not just normal, run of the mill, let&#8217;s shoot some hoop and watch the game sort of guys. But nerdy, hard-core, dungeons and dragons, caffeinate and code all night sort of guys.</p>
<p>I hereby add my own small data point. Some of my kids had been pestering me for a few months to teach them the material from BYU&#8217;s CS 100 course, &#8220;Introduction to Computing.&#8221; The Saturday after Margaret&#8217;s keynote address, I relented, and my lecture in the family room was attended by two sons (ages 17 and 14) and one daughter (age 15). At some point, near the end of my lecture, I was talking about programs and how you launch them so that they run. I said something like, &#8220;So when you click on the icon, it executes the program.&#8221; My sons nodded blankly. But my daughter cried out, &#8220;Ew! <em>Execute</em> the program?!&#8221; See, that&#8217;s the gender gap. My boys didn&#8217;t even blink and my daughter is having flashbacks to the French Revolution.</p>
<p>So there, Dr. Burnett. You can add this to the list of seemingly innocuous technical terms that in fact evoke a negative reaction from a teenage girl while her brothers, raised in the same home, don&#8217;t even notice. And we wonder why we have a gender gap in Computer Science enrollment.</p>
<img src="http://feeds.feedburner.com/~r/DrKsSoftwareRuminations/~4/zdBjL9KEFdw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://charlesknutson.net/blog/2010/09/26/programming-gender-and-abrasive-masculine-metaphors/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://charlesknutson.net/blog/2010/09/26/programming-gender-and-abrasive-masculine-metaphors/</feedburner:origLink></item>
		<item>
		<title>Rudy: An iTunes love story</title>
		<link>http://feedproxy.google.com/~r/DrKsSoftwareRuminations/~3/i27bPKUtueQ/</link>
		<comments>http://charlesknutson.net/blog/2010/06/09/rudy-an-itunes-love-story/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 06:56:03 +0000</pubDate>
		<dc:creator>knutson</dc:creator>
				<category><![CDATA[Computers and Society]]></category>
		<category><![CDATA[Good: Amazingly slick designs!]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.charlesknutson.net/2010/06/09/rudy-an-itunes-love-story/</guid>
		<description><![CDATA[The following story is true. The names have not been changed. The guilty are still guilty. And named. The heroes are also named. As they should be. This story begins in D.C. on a road trip with my wife about &#8230; <a href="http://charlesknutson.net/blog/2010/06/09/rudy-an-itunes-love-story/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The following story is true. The names have not been changed. The guilty are still guilty. And named. The heroes are also named. As they should be.</p>
<p>This story begins in D.C. on a road trip with my wife about one week before arriving in South Bend Indiana for a conference I was attending on the beautiful campus of Notre Dame University. The plan was for us to spend one of our evenings in our hotel room eating popcorn and watching the classic Notre Dame football movie, Rudy. Since we were staying at the Morris Inn, just 200 yards west of the  historic Notre Dame football stadium, and since my wife had never seen the movie, this seemed a fitting part of our stay beneath the golden dome.</p>
<p>On our flight from New York to Chicago, my wife asked me if we in fact owned the movie Rudy, and if so, whether I had thought to bring it. My response was that, No, we did not own the movie, and that I had, in fact, thought to bring it, but as I said previously, we don&#8217;t own it. However, no problemo, says I, because it should be blindingly obvious to the casual observer that all one should have to do to obtain a copy of Rudy is to step foot in the Notre Dame Bookstore. This was my plan.</p>
<p>On the second day of our stay at Notre Dame, I found a gap in the schedule and beelined to the Notre Dame Bookstore where I found multiple copies of Rudy on Blu-ray, but nothing on DVD. Another search by my wife turned up nothing. A third, more thorough search by me turned up a single straggling copy of Rudy on DVD, buried beneath some other Fighting Irish propaganda. For $26! You&#8217;ve got to be kidding me. Ha, bookstore prices. Of course. Not a problem. There&#8217;s a Walmart in this town, right?</p>
<p>That night we ate at a nice restaurant conveniently located near a Walmart in South Bend, and after dinner we made our way to the DVD section of the world&#8217;s most popular store. No luck. Ask the clerk. Ah, they only carry Rudy during the football season. Are you serious? This is South Bend, Indiana, for crying out loud! You&#8217;re telling me there isn&#8217;t a perpetual demand for Rudy at an arbitrary Walmart in South Bend Indiana on any arbitrary day in the off-season?! Alas, this was, inexplicably, the case.</p>
<p>Not to fear. I noticed a video rental joint not more than a few blocks from here. Surely they will have what we need. A quick stop, one question to the clerk, and the much sought after DVD was in my hands for the sum of 54 cents. We were in business.</p>
<p>Back to the hotel, pop some popcorn (in the break room of the kitchen staff downstairs at the end of the hall &#8212; don&#8217;t ask), and settle in to watch the DVD on my MacBook. Approximately 10 minutes into the movie, as Rudy races with great emotion through his fellow high school seniors to hit the pad carried by his coach, the movie freezes. We stare at the grimacing Rudy, wondering if he&#8217;s going to knock the stuffing out of his coach after he unfreezes. The DVD player on my Mac gives up the ghost and dies. We restart everything, but we&#8217;ve lost about 10 minutes of the movie and the bulk of the plot setup. Unacceptable. We instead decide to watch Invictus (inspirational rugby movie, almost the same thing), and commit to plunking down the cash at the Bookstore the following evening.</p>
<p>One day later I scan the DVD shelf in the Notre Dame Bookstore, but find that the random copy of Rudy that I had rustled up a day before has apparently been snagged at what now seems like a bargain basement price of $26. We roll back to the hotel, somewhat dejected, unwilling to romp around town further trying to find a local establishment with enough Fighting Irish school spirit to stock a functional copy of the best Notre Dame football movie of all time.</p>
<p>This is when the voice of Steve Jobs comes into my mind, and I realize that there may yet be a way. I jump on iTunes, and quickly locate the heretofore elusive movie. For just $9.99 (which now feels like an absolute bargain) I secure a downloadable QuickTime movie, consuming only 1.29 GB of hard disk space in the process. No physical disc to secure in some random building in a random town. No plastic to scratch and corrupt. Just a file. Just bytes flowing through the tubes to my laptop and the movie playing for me in my hotel room.</p>
<p>In about the time it took my wife to secure popped popcorn (downstairs, down the hall, etc.), we were watching the elusive movie on my Mac. The beautiful thing is that it may as well have been on my iPad, sitting with the squirrels under the trees near Touchdown Jesus. But it happened to be in the hotel room, on my Mac.</p>
<p>As always, the brilliance of Apple is not, strictly speaking, the engineering (although that&#8217;s clearly necessary). It&#8217;s figuring out what I want to do, plus when, where and how I want to do it, and then just making it ridiculously easy for me to do that. Most companies ignore that little part because it doesn&#8217;t feel like academic or engineering rigor. It&#8217;s not &#8220;the hard stuff.&#8221; But at the end of the day, it&#8217;s really just about the only thing that actually matters.</p>
<p>Rudy! Rudy! Rudy!</p>
<img src="http://feeds.feedburner.com/~r/DrKsSoftwareRuminations/~4/i27bPKUtueQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://charlesknutson.net/blog/2010/06/09/rudy-an-itunes-love-story/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://charlesknutson.net/blog/2010/06/09/rudy-an-itunes-love-story/</feedburner:origLink></item>
		<item>
		<title>All your blog spam are belong to us… (part deux)</title>
		<link>http://feedproxy.google.com/~r/DrKsSoftwareRuminations/~3/VhwyQzxItQE/</link>
		<comments>http://charlesknutson.net/blog/2010/02/17/all-your-blog-spam-are-belong-to-us-part-deux/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 14:38:44 +0000</pubDate>
		<dc:creator>knutson</dc:creator>
				<category><![CDATA[Computers and Society]]></category>
		<category><![CDATA[Internet Safety]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.charlesknutson.net/2010/02/17/all-your-blog-spam-are-belong-to-us-part-deux/</guid>
		<description><![CDATA[Another round of &#8220;crazy comments from offshore spammers&#8221;: i really hav no idea.. Wanted to moment to give you acknowledgment, yes please continue with your articles, i very enjoy them. You constantly can publish something entertaining that won’t leave you &#8230; <a href="http://charlesknutson.net/blog/2010/02/17/all-your-blog-spam-are-belong-to-us-part-deux/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Another round of &#8220;crazy comments from offshore spammers&#8221;:</p>
<blockquote><p>i really hav no idea..</p></blockquote>
<blockquote><p>Wanted to moment to give you acknowledgment, yes please continue with your articles, i very enjoy them. You constantly can publish something entertaining that won’t leave you with an empty feeling like what you see on some other websites.</p></blockquote>
<blockquote><p>can’t be the real… the place is surely a big secret kept by a few important people</p></blockquote>
<blockquote><p>Let’s talk, to me is what to tell.</p></blockquote>
<blockquote><p>In my opinion you are not right. I am assured. I can defend the position. Write to me in PM, we will talk.</p></blockquote>
<blockquote><p>Wow! Thank you! I continually wanted to write in my web site something like in which. Can I get element of your post to my web log?</p></blockquote>
<p>And now a new feature, &#8220;well-written but over the top spam from half-decent writers&#8221;:</p>
<blockquote><p>Your internet site came up in my research and I’m moved by what you have published on this theme.</p></blockquote>
<blockquote></blockquote>
<blockquote><p>On the view defended here, there is no deontological case for holding racial partiality to be intrinsically morally wrong when it does not proceed from animus or prejudice against those who are singled out for inferior treatment.</p></blockquote>
<blockquote><p>You have the wisdom of the aged and the relevance of youth. What a great combination. It allows you to be sensitive and strong.</p></blockquote>
<blockquote></blockquote>
<blockquote><p>Just want to say your article is stunning. The lucidity in your post is simply spectacular and i can take for granted you are an expert on this field. Well with your permission allow me to grab your rss feed to keep up to date with succeeding post. Thanks a million and please keep up the a uthentic work</p></blockquote>
<p>No. Thank <em>you</em>!</p>
<img src="http://feeds.feedburner.com/~r/DrKsSoftwareRuminations/~4/VhwyQzxItQE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://charlesknutson.net/blog/2010/02/17/all-your-blog-spam-are-belong-to-us-part-deux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://charlesknutson.net/blog/2010/02/17/all-your-blog-spam-are-belong-to-us-part-deux/</feedburner:origLink></item>
		<item>
		<title>All your blog spam are belong to us…</title>
		<link>http://feedproxy.google.com/~r/DrKsSoftwareRuminations/~3/5Et1THeZkBY/</link>
		<comments>http://charlesknutson.net/blog/2009/09/24/all-your-spam-are-belong-to-us/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 02:22:33 +0000</pubDate>
		<dc:creator>knutson</dc:creator>
				<category><![CDATA[Computers and Society]]></category>
		<category><![CDATA[Internet Safety]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.charlesknutson.net/?p=177</guid>
		<description><![CDATA[I recently inventoried the blog spam that my filter is catching. I&#8217;m amused by some of the offshore messages left in the blog comments. Thought I&#8217;d share a few of these (sans URL and full sales pitch, of course) for &#8230; <a href="http://charlesknutson.net/blog/2009/09/24/all-your-spam-are-belong-to-us/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I recently inventoried the  blog spam that my filter is catching. I&#8217;m amused by some of the offshore messages left in the blog comments. Thought I&#8217;d share a few of these (sans URL and full sales pitch, of course) for our collective entertainment.</p>
<blockquote><p>hello it is test</p></blockquote>
<blockquote><p>Thankyou for such a facilitatory and informative post, it is appreciated!</p></blockquote>
<blockquote><p>Hello Guru, what entice you to post an article. This article was extremely interesting, especially since I was searching for thoughts on this subject last Thursday.</p></blockquote>
<blockquote><p>That&#8217;s Too nice, when it comes in india hope it can make a Rocking place for youngster.. hope that come true.</p></blockquote>
<blockquote><p>It only reserve</p></blockquote>
<blockquote><p>Quite right! I think, what is it good thought. And it has a right to a life.</p></blockquote>
<blockquote><p>Online casinos us&#8230; for free to join…</p></blockquote>
<blockquote><p>Want to spend your vacation to be remembered for long? Tourism &#8230; help you carry out your wishes !</p></blockquote>
<p>And my personal favorite&#8230;</p>
<blockquote><p>Much interesting, well why all exactly so?</p></blockquote>
<p>Indeed!</p>
<p>Much offshore spam.</p>
<p>Make this blog a Rocking place for youngster.</p>
<p>Well why all exactly so?</p>
<img src="http://feeds.feedburner.com/~r/DrKsSoftwareRuminations/~4/5Et1THeZkBY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://charlesknutson.net/blog/2009/09/24/all-your-spam-are-belong-to-us/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://charlesknutson.net/blog/2009/09/24/all-your-spam-are-belong-to-us/</feedburner:origLink></item>
		<item>
		<title>Capitalism: Fail?</title>
		<link>http://feedproxy.google.com/~r/DrKsSoftwareRuminations/~3/f3vZFTqR1aM/</link>
		<comments>http://charlesknutson.net/blog/2009/09/24/capitalism-fail/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 14:17:37 +0000</pubDate>
		<dc:creator>knutson</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.charlesknutson.net/?p=175</guid>
		<description><![CDATA[I almost never blog about political topics, but this morning I couldn&#8217;t resist. Check out the two headlines on CNN.com. &#8220;Ahmadinejad blames capitalism for crises.&#8221; &#8220;Michael Moore:  Capitalism has proven it&#8217;s failed.&#8221; I have a lot of opinions about both &#8230; <a href="http://charlesknutson.net/blog/2009/09/24/capitalism-fail/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I almost never blog about political topics, but this morning I couldn&#8217;t resist. Check out the two headlines on CNN.com.</p>
<p><a href="http://www.charlesknutson.net/?attachment_id=176" rel="attachment wp-att-176" title="capitalism.png"><img src="http://www.charlesknutson.net/wp-content/uploads/2009/09/capitalism.png" alt="capitalism.png" /></a></p>
<p>&#8220;Ahmadinejad blames capitalism for crises.&#8221;</p>
<p>&#8220;Michael Moore:  Capitalism has proven it&#8217;s failed.&#8221;</p>
<p>I have a lot of opinions about both Ahmadinejad and Michael Moore. All I can say this time is, &#8220;I rest my case.&#8221;</p>
<img src="http://feeds.feedburner.com/~r/DrKsSoftwareRuminations/~4/f3vZFTqR1aM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://charlesknutson.net/blog/2009/09/24/capitalism-fail/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://charlesknutson.net/blog/2009/09/24/capitalism-fail/</feedburner:origLink></item>
		<item>
		<title>Chick-Fil-A Labor Day Giveaway: FAIL!</title>
		<link>http://feedproxy.google.com/~r/DrKsSoftwareRuminations/~3/RJR4wfU5mOY/</link>
		<comments>http://charlesknutson.net/blog/2009/09/07/chick-fil-a-labor-day-giveaway-fail/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 04:55:02 +0000</pubDate>
		<dc:creator>knutson</dc:creator>
				<category><![CDATA[Bad: Problematic Designs]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.charlesknutson.net/?p=173</guid>
		<description><![CDATA[I learned midday today that Chick-Fil-A was hosting a fairly bold and dramatic nationwide promotion for Labor Day: Show up = Free chicken sandwich. Nothing to buy. The only catch is that you had to arrive sporting the logo of &#8230; <a href="http://charlesknutson.net/blog/2009/09/07/chick-fil-a-labor-day-giveaway-fail/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I learned midday today that Chick-Fil-A was hosting a fairly bold and dramatic nationwide promotion for Labor Day: Show up = Free chicken sandwich. Nothing to buy. The only catch is that you had to arrive sporting the logo of your favorite sports team. No problem. After Saturday&#8217;s BYU-Oklahoma game (BYU 14, Oklahoma 13), donning some Cougars paraphernalia would be no sacrifice at all. <img src='http://charlesknutson.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://www.charlesknutson.net/?attachment_id=174" rel="attachment wp-att-174" title="Chick-Fil-A Giveaway"><img src="http://www.charlesknutson.net/wp-content/uploads/2009/09/chick-fil-a-giveaway.png" alt="Chick-Fil-A Giveaway" /></a></p>
<p>My next task is to find a local Chick-Fil-A. I&#8217;ve seen billboards on the freeway so I know there&#8217;s one nearby, but I&#8217;ve never been to it. I then realize the brilliance of the promotion. Get everyone in the area to realize that there is a Chick-Fil-A nearby and build some local Chick-Fil-A love and loyalty with a fairly modest investment per customer on their part.</p>
<p>Turns out my local restaurant is in the food court of the University Mall in Orem, Utah. No problem, especially since we have five cousins from up north to return home anyway. Next I have to supply sufficient BYU logos for all 12 small people. Not a problem at our house. I raid my t-shirt shelf and we&#8217;re in business.</p>
<p>Next stop, Orem! Avoid Labor Day freeway parking lot by taking back roads. No sacrifice because we&#8217;re heading to Orem to feed 14 people for free just because we show up in BYU gear. Starting to feel some positive vibes about Chick-Fil-A.</p>
<p>Arrive at the mall outside the food court and 14 of us pile out of our 15-passenger van (yes, I do own one), all decked out like it&#8217;s game day. As we near the door, an interested bystander says to me casually, &#8220;Going to Chick-Fil-A? They&#8217;re all out.&#8221; I go, &#8220;No!&#8221; in sort of mock horror. He says, &#8220;They&#8217;ll give you a coupon. Just thought you ought to be prepared.&#8221; Hmmm. Well, understandable that they might run out with such an unrestricted giveaway, although far more classy to actually stock enough chicken to get through the day. I mean it&#8217;s still hours before closing. Well, let&#8217;s go get our coupons and see what they do to make lemonade out of this.</p>
<p>No dice on the lemonade. I roll up to the counter while the other 13 Cougar fans in my party stand back so as to not create a mob scene at the register. Girl in the uniform sees us and says, very apologetically, &#8220;I&#8217;m sorry, we&#8217;re all out of free chicken sandwiches.&#8221; I then calmly reply, &#8220;We&#8217;ll take 14 coupons then.&#8221; She raises her eyebrows, I gesture behind me toward the cheering section, she coughs up the coupons. This is the moment when the Fail emerges. Out of curiosity I ask her if they&#8217;re <em>completely</em> out, or if I can still <em>buy</em> a chicken sandwich if I really want one. Just call it a hunch on my part. She says that, yes, in fact, I can still <strong><em>buy</em></strong> a chicken sandwich. Apparently it&#8217;s just the <strong><em>free</em></strong> ones that they ran out of. The ones you <em>buy</em> they still have in stock. Yikes.</p>
<p>I take my 14 coupons and then I look at her and say with that gentle but slightly condescending grandpa tone of face that I&#8217;m trying to perfect, &#8220;You know, if I were running the show here, I&#8217;d give away the chicken sandwiches until there wasn&#8217;t a single sandwich left for sale.&#8221; To her credit, she gives me a pained and knowing nod and says, &#8220;I know. I agree.&#8221; Much smarter play on her part than whatever management was thinking.</p>
<p>Meanwhile, the good cheer is just gone. I was planning on spending no cash for dinner, and now I&#8217;m standing in a food court with 12 hungry kids in tow, and the teenage boys are getting that vacant look in their eyes like they&#8217;re about to kill something large and eat it raw if necessary. I now realize that I&#8217;m about to fork out greenbacks to feed this crew because I am a doofus with no backup plan. Of course, I&#8217;ll be danged if I&#8217;m going to now go back to the Chick-Fil-A counter and order 14 chicken sandwiches (the ones you pay for, which are, in fact, in stock). So instead we slide over and cause a near riot situation at the Taco Bell counter and drop $40 there plus another $12 for my wife and me at whatever it is in the food court that&#8217;s trying to be Panda Express. 50 bucks down and all I have to show for it is a  detour plus 14 coupons for mythical chicken sandwiches.</p>
<p>Memo to Chick-Fil-A management: If you&#8217;re going to play an incredibly bold marketing game, then play the game boldly. Stock enough chicken to feed the entire community, because in a college town people are definitely going to show up for free food. When you run out, start giving away other stuff, whatever you&#8217;ve got. It&#8217;s a make or break day. When your cupboards are completely bare, and you&#8217;ve given away the last french fry, put up a huge sign saying something like, &#8220;Thanks for your love, [your city name here]! You cleaned us out!&#8221; and then stand there cheerfully handing out the coupons to anyone that walks by with a logo on. Act like it made your day to get cleaned out by the locals on Labor Day. If that wasn&#8217;t your point, then why run such a gutsy promotion in the first place?! Instead, you come across looking chintzy when you could have been a hero and really built some customer affection. My wife is a sucker for this sort of thing, and you had her right up until, &#8220;You can still buy one if you want.&#8221; I&#8217;m not seeing her as a regular after this.</p>
<p>Memo to myself: Figure out a way to motivate my lab students using coupons for free chicken sandwiches&#8230;</p>
<img src="http://feeds.feedburner.com/~r/DrKsSoftwareRuminations/~4/RJR4wfU5mOY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://charlesknutson.net/blog/2009/09/07/chick-fil-a-labor-day-giveaway-fail/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://charlesknutson.net/blog/2009/09/07/chick-fil-a-labor-day-giveaway-fail/</feedburner:origLink></item>
		<item>
		<title>Text messaging is not the devil</title>
		<link>http://feedproxy.google.com/~r/DrKsSoftwareRuminations/~3/BYwrOmx9sG0/</link>
		<comments>http://charlesknutson.net/blog/2009/08/30/text-messaging-is-not-the-devil/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 01:47:22 +0000</pubDate>
		<dc:creator>knutson</dc:creator>
				<category><![CDATA[Computers and Society]]></category>
		<category><![CDATA[Internet Safety]]></category>

		<guid isPermaLink="false">http://www.charlesknutson.net/?p=171</guid>
		<description><![CDATA[About a week ago the Deseret News ran an article entitled, &#8220;Parents urged to text teens.&#8221; The article quoted me extensively (and accurately) and was pretty balanced. I can&#8217;t say the same for some of the comments. It&#8217;s interesting enough &#8230; <a href="http://charlesknutson.net/blog/2009/08/30/text-messaging-is-not-the-devil/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>About a week ago the Deseret News ran an article entitled, &#8220;<a href="http://www.deseretnews.com/article/1,5143,705325148,00.html" target="_blank">Parents urged to text teens</a>.&#8221; The article quoted me extensively (and accurately) and was pretty balanced. I can&#8217;t say the same for some of the comments. It&#8217;s interesting enough to read  posts on random discussion boards across the Web, but it&#8217;s another thing when the anonymous writer calls you out personally. Let me share an example:</p>
<blockquote><p>Texting is impersonal and rude and drives families apart whether this guy knows it or not. Talk to you [sic] teens and forget the texting, its [sic] meaningless and useless means of communication with your family. Ditch the phones and use your voice and vocal chords to communicate, it does more for your teens and makes it a personal conversation. Texting is not communicating, its avoiding your family and a real conversation with them.</p></blockquote>
<p>Class is now in session&#8230;</p>
<p>Texting is a technology, like cell phones, computers, automobiles, electricity, the wheel, fire, whatever. Pick anything. Technology is not evil. Technology is not the devil. We humans are tool builders and creators, and modern technology is a tool. All tools have both positive and negative usages.</p>
<p>After fire, we had cooked meat plus warmth in the winter, and then soon after we had smoke inhalation, burn wounds, and arson. I&#8217;m sure that didn&#8217;t stop the enthusiastic &#8220;Anti-Fire Coalition&#8221; from picketing the campfires.</p>
<p>After the wheel was invented, we had improved transportation, followed soon after by the first wheel accident (followed shortly by the arrival of the first insurance agent). The &#8220;Society for the Prevention of the Wheel&#8221; gained support for a time, but the technology ultimately, um, rolled over their efforts.</p>
<p>There&#8217;s no question that texting is less personal than face-to-face communication, but sometimes that&#8217;s the best you&#8217;ve got. I never advocated that parents stop communicating and hanging out in the same physical space with their children. My point is that when kids are otherwise unavailable, or are remote from your personal space, there may be significant benefits to texting them when the alternative is no communication whatsoever. Turns out even when it&#8217;s not the only option, most teens experience a text message from their parents as a positive interaction. A comparable majority feel that their relationships with their parents are better because of text messaging.</p>
<p>The worked-up commenter fails to grasp (or at least to express) that there is a broad spectrum of activities that can be classed as communication. Some communication methods are intimate, like whispering sweet nothings in someone&#8217;s ears, holding hands and kissing. Not the right approach at all times, in all places, or with all people. Some methods are face-to-face but casual and friendly, like conversation over breakfast or casual exchanges between friends. Some communication methods are not face-to-face at all, like a phone call from another state. And some communication methods (brace yourself&#8230;) are not verbal at all, but textual, like newspapers, billboards, or written letters. Some even involve computers, like email and (gasp!) text messaging. Now let&#8217;s be very clear. Like all tools ever invented, every communication method may be used *or* abused. You can kiss or you can hit. You can verbally express love or hate. You can whisper or you can scream. You can send an encouraging email or start a flame war. Same goes for text messaging&#8230;</p>
<p><strong>Newsflash</strong>: Text messaging does not drive families apart. However, improper use of text messaging, including obsessive and constant texting by teens to friends (real or imagined) outside the family is almost always  emotionally damaging. It weakens the strong family ties that are essential to the healthy development of teenagers. Bone-headed adolescent forays into inappropriate activities such as sexting is morally reprehensible as well as spiritually destructive.</p>
<p>Lecture over. Oh wait, one last comment from the back&#8230;</p>
<blockquote><p>Talk about a dysfunctional family, this guy is promoting his and seems to be proud of it. His family probably carries pictures around in their wallets to remember who they are when they bump in to each other in public.</p></blockquote>
<p>Yes. Texting <em>can</em> be impersonal and rude.</p>
<p>Same can be said for comments left on online message boards.</p>
<img src="http://feeds.feedburner.com/~r/DrKsSoftwareRuminations/~4/BYwrOmx9sG0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://charlesknutson.net/blog/2009/08/30/text-messaging-is-not-the-devil/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://charlesknutson.net/blog/2009/08/30/text-messaging-is-not-the-devil/</feedburner:origLink></item>
	</channel>
</rss>

