<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments for Mike Hewner&#039;s Homepage</title>
	<atom:link href="http://hewner.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://hewner.com</link>
	<description>CS Education Research and Practice</description>
	<lastBuildDate>Tue, 20 Dec 2011 23:57:57 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>Comment on My students are awesome (part 2): cs100 by Ben Bernard</title>
		<link>http://hewner.com/2011/12/20/my-students-are-awesome-part-2-cs100/comment-page-1/#comment-3172</link>
		<dc:creator>Ben Bernard</dc:creator>
		<pubDate>Tue, 20 Dec 2011 23:57:57 +0000</pubDate>
		<guid isPermaLink="false">http://hewner.com/?p=594#comment-3172</guid>
		<description>Ha, awesome!  I wouldn&#039;t be worried about the lyrics, that you got a whole computer science class to write songs for extra credit on the other hand....

seriously, though, awesome!</description>
		<content:encoded><![CDATA[<p>Ha, awesome!  I wouldn&#8217;t be worried about the lyrics, that you got a whole computer science class to write songs for extra credit on the other hand&#8230;.</p>
<p>seriously, though, awesome!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on TA Hint Documents by Srini</title>
		<link>http://hewner.com/2010/11/29/ta-hint-documents/comment-page-1/#comment-1230</link>
		<dc:creator>Srini</dc:creator>
		<pubDate>Sun, 19 Dec 2010 05:23:20 +0000</pubDate>
		<guid isPermaLink="false">http://technofetish.net/buffaloblog/?p=279#comment-1230</guid>
		<description>Hi Michael,

I saw your presentation on Ruby-USB at confreaks and it was very helpful. I am actually trying to do something with RubyUSN and running into trouble. I thought I could post a comment here and if you have any insights, it would help. (My apologies for posting the comment on a totally unrelated post)

I installed the Ruby-USB gem in Windows and then tried to use IRB to see if I can detect USB devices on my syste. I tried the following -
require &#039;USB&#039;
USB.devices

This always returned [], even though there are devices present. Any clue why it is not listing the devices?

Thanks for your help and good luck with your PhD</description>
		<content:encoded><![CDATA[<p>Hi Michael,</p>
<p>I saw your presentation on Ruby-USB at confreaks and it was very helpful. I am actually trying to do something with RubyUSN and running into trouble. I thought I could post a comment here and if you have any insights, it would help. (My apologies for posting the comment on a totally unrelated post)</p>
<p>I installed the Ruby-USB gem in Windows and then tried to use IRB to see if I can detect USB devices on my syste. I tried the following -<br />
require &#8216;USB&#8217;<br />
USB.devices</p>
<p>This always returned [], even though there are devices present. Any clue why it is not listing the devices?</p>
<p>Thanks for your help and good luck with your PhD</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on I made an AR Video Game! (and it got on CNN) by Sharon</title>
		<link>http://hewner.com/2010/10/06/i-made-an-ar-video-game/comment-page-1/#comment-1174</link>
		<dc:creator>Sharon</dc:creator>
		<pubDate>Tue, 02 Nov 2010 21:28:10 +0000</pubDate>
		<guid isPermaLink="false">http://technofetish.net/buffaloblog/?p=266#comment-1174</guid>
		<description>I think I need a more basic answer to the AR question from Ben. Loved the CNN part, but it didn&#039;t look as cool as here. Mom</description>
		<content:encoded><![CDATA[<p>I think I need a more basic answer to the AR question from Ben. Loved the CNN part, but it didn&#8217;t look as cool as here. Mom</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Unity and Some Thoughts On Homework by Ben</title>
		<link>http://hewner.com/2010/09/01/unity-and-some-thoughts-on-homework/comment-page-1/#comment-1130</link>
		<dc:creator>Ben</dc:creator>
		<pubDate>Thu, 07 Oct 2010 08:07:25 +0000</pubDate>
		<guid isPermaLink="false">http://technofetish.net/buffaloblog/?p=257#comment-1130</guid>
		<description>Even if I enjoyed the class, I would rarely go through any optional assignments... Something like this tutorial I might do, or more likely do piecemeal as I needed concepts for the program I was writing... I think for me it would come down to: is the tutorial useful in chunks, like I would use as a reference as doing a different assignment, or do I really need to understand everything before I began.

Now that I&#039;m a RealDeveloper (tm) I would be much more likely to go all the way through the tutorial... (just having documentation is a pretty awesome thing), so with experience I would definitely go through the tutorial...</description>
		<content:encoded><![CDATA[<p>Even if I enjoyed the class, I would rarely go through any optional assignments&#8230; Something like this tutorial I might do, or more likely do piecemeal as I needed concepts for the program I was writing&#8230; I think for me it would come down to: is the tutorial useful in chunks, like I would use as a reference as doing a different assignment, or do I really need to understand everything before I began.</p>
<p>Now that I&#8217;m a RealDeveloper &#8482; I would be much more likely to go all the way through the tutorial&#8230; (just having documentation is a pretty awesome thing), so with experience I would definitely go through the tutorial&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on I made an AR Video Game! (and it got on CNN) by Ben</title>
		<link>http://hewner.com/2010/10/06/i-made-an-ar-video-game/comment-page-1/#comment-1129</link>
		<dc:creator>Ben</dc:creator>
		<pubDate>Thu, 07 Oct 2010 08:03:27 +0000</pubDate>
		<guid isPermaLink="false">http://technofetish.net/buffaloblog/?p=266#comment-1129</guid>
		<description>This is really cool.  So what is the AR part of this?  it seems to be picking up the level from the paper... is that like a thing... could I draw any level with the correct images and have it work?  that would be pretty cool... sorta an art + video game thing</description>
		<content:encoded><![CDATA[<p>This is really cool.  So what is the AR part of this?  it seems to be picking up the level from the paper&#8230; is that like a thing&#8230; could I draw any level with the correct images and have it work?  that would be pretty cool&#8230; sorta an art + video game thing</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Unity and Some Thoughts On Homework by The Instructor</title>
		<link>http://hewner.com/2010/09/01/unity-and-some-thoughts-on-homework/comment-page-1/#comment-1076</link>
		<dc:creator>The Instructor</dc:creator>
		<pubDate>Mon, 06 Sep 2010 16:46:00 +0000</pubDate>
		<guid isPermaLink="false">http://technofetish.net/buffaloblog/?p=257#comment-1076</guid>
		<description>Hi Mike,

I totally sympathize with your point;  I&#039;ve debated this myself, and decided to not require it for reasons Pro2 (plus a bit of Pro1 and Pro3).  I&#039;m a bit worried about 1, but it&#039;s unclear if the students who succumb to 1 will do more than the bare minimum of any assignment we give.  In the end, I will probably add something required if it becomes apparent folks haven&#039;t done it.  But, I want students to view this as a senior seminar, not a &quot;class where I&#039;ll be spoon-fed.&quot;    

In the other class I&#039;m using Unity in, we had a simple warmup (do some modifications of Unity).  

Once we get the Android environment set up, we will assign something trivial so everyone builds something.  That will help.  But, in the end, I will largely judge people by the overall success of their project, combined with what their teammates say their contributions are (perhaps I need to make this clearer?) so that folks will need to contributed.  I anticipate giving A&#039;s, B&#039;s and some C&#039;s, but hopefully nobody in the class will earn F&#039;s (perhaps I need to make this clearer, too?).</description>
		<content:encoded><![CDATA[<p>Hi Mike,</p>
<p>I totally sympathize with your point;  I&#8217;ve debated this myself, and decided to not require it for reasons Pro2 (plus a bit of Pro1 and Pro3).  I&#8217;m a bit worried about 1, but it&#8217;s unclear if the students who succumb to 1 will do more than the bare minimum of any assignment we give.  In the end, I will probably add something required if it becomes apparent folks haven&#8217;t done it.  But, I want students to view this as a senior seminar, not a &#8220;class where I&#8217;ll be spoon-fed.&#8221;    </p>
<p>In the other class I&#8217;m using Unity in, we had a simple warmup (do some modifications of Unity).  </p>
<p>Once we get the Android environment set up, we will assign something trivial so everyone builds something.  That will help.  But, in the end, I will largely judge people by the overall success of their project, combined with what their teammates say their contributions are (perhaps I need to make this clearer?) so that folks will need to contributed.  I anticipate giving A&#8217;s, B&#8217;s and some C&#8217;s, but hopefully nobody in the class will earn F&#8217;s (perhaps I need to make this clearer, too?).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Just Some Julia Sets by John Carrino</title>
		<link>http://hewner.com/2010/07/25/just-some-julia-sets/comment-page-1/#comment-1046</link>
		<dc:creator>John Carrino</dc:creator>
		<pubDate>Tue, 17 Aug 2010 22:37:08 +0000</pubDate>
		<guid isPermaLink="false">http://technofetish.net/buffaloblog/?p=237#comment-1046</guid>
		<description>It&#039;s is so simple, just listen to this song by Johnny C.
http://www.jonathancoulton.com/songdetails/Mandelbrot%20Set</description>
		<content:encoded><![CDATA[<p>It&#8217;s is so simple, just listen to this song by Johnny C.<br />
<a href="http://www.jonathancoulton.com/songdetails/Mandelbrot%20Set" rel="nofollow">http://www.jonathancoulton.com/songdetails/Mandelbrot%20Set</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Mike&#8217;s Ultimate Unix Scavenger Hunt by Brian Maher</title>
		<link>http://hewner.com/2010/07/02/mikes-ultimate-unix-scavenger-hunt/comment-page-1/#comment-995</link>
		<dc:creator>Brian Maher</dc:creator>
		<pubDate>Tue, 13 Jul 2010 04:46:51 +0000</pubDate>
		<guid isPermaLink="false">http://technofetish.net/buffaloblog/?p=220#comment-995</guid>
		<description>I know this is a little late, but here are some concrete examples:

* Tailing the newest log file.

* Comparing traffic patterns in log files to find unusual behavior.

* Select a set of files that have a name that matches a regular expression and/or have content that matches a regular expression, potentially unzipping that file if it is compressed.

* Once you have a set of files to operate on, you can mark them as &quot;needing to be edited&quot; if you have a source code control system that requires that :-(.

* You can do a search and replace across that sub-set of files.

* Rename/move a set of files based on content of that file or the name of the file (like if you want to go to a &quot;flat&quot; directory structure).

* Automate all sorts of things.  For example:

** When I checkout my source code with `git` I also want to set-up a symlink so my repository is viable via gitweb.

** Easily switch between directories using pushd and a macro that I call `sd` for &quot;switch directory&quot;.

Ultimately, I think the most powerful paradigm is a GUI that can be controlled via a macro language, and a status bar that shows you what you commands the GUI is sending so that you can easily automate stuff. 

Another reason I like the command line is that no matter what computer I login to, I can have all my personal preferences set-up via `eval &quot;$(curl -L http://brimworks.com/h)&quot;` (WARNING: that command may overwrite your preferences!).  Also, the command line allows you to manipulate remote machines without requiring a console nor does it require a &quot;big pipe&quot; (although latency certain makes the CLI experience less than fun).

I should also mention that `screen` is one of the best things in the world :-).  I&#039;ve had screen sessions last through several laptop crashes.

Cheers,
-Brian</description>
		<content:encoded><![CDATA[<p>I know this is a little late, but here are some concrete examples:</p>
<p>* Tailing the newest log file.</p>
<p>* Comparing traffic patterns in log files to find unusual behavior.</p>
<p>* Select a set of files that have a name that matches a regular expression and/or have content that matches a regular expression, potentially unzipping that file if it is compressed.</p>
<p>* Once you have a set of files to operate on, you can mark them as &#8220;needing to be edited&#8221; if you have a source code control system that requires that <img src='http://hewner.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> .</p>
<p>* You can do a search and replace across that sub-set of files.</p>
<p>* Rename/move a set of files based on content of that file or the name of the file (like if you want to go to a &#8220;flat&#8221; directory structure).</p>
<p>* Automate all sorts of things.  For example:</p>
<p>** When I checkout my source code with `git` I also want to set-up a symlink so my repository is viable via gitweb.</p>
<p>** Easily switch between directories using pushd and a macro that I call `sd` for &#8220;switch directory&#8221;.</p>
<p>Ultimately, I think the most powerful paradigm is a GUI that can be controlled via a macro language, and a status bar that shows you what you commands the GUI is sending so that you can easily automate stuff. </p>
<p>Another reason I like the command line is that no matter what computer I login to, I can have all my personal preferences set-up via `eval &#8220;$(curl -L <a href="http://brimworks.com/h" rel="nofollow">http://brimworks.com/h</a>)&#8221;` (WARNING: that command may overwrite your preferences!).  Also, the command line allows you to manipulate remote machines without requiring a console nor does it require a &#8220;big pipe&#8221; (although latency certain makes the CLI experience less than fun).</p>
<p>I should also mention that `screen` is one of the best things in the world <img src='http://hewner.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .  I&#8217;ve had screen sessions last through several laptop crashes.</p>
<p>Cheers,<br />
-Brian</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Mike&#8217;s Ultimate Unix Scavenger Hunt by buffalo</title>
		<link>http://hewner.com/2010/07/02/mikes-ultimate-unix-scavenger-hunt/comment-page-1/#comment-990</link>
		<dc:creator>buffalo</dc:creator>
		<pubDate>Sun, 11 Jul 2010 15:24:44 +0000</pubDate>
		<guid isPermaLink="false">http://technofetish.net/buffaloblog/?p=220#comment-990</guid>
		<description>Thanks Dave and Ben!  I shamelessly used your examples in my followup talk, which I did think helped solidify what could be done in student minds!

Overall I think the reprise unix session turned out not quite as good as the original.  Problems:

a.  Much lower turnout.  Talking with the students it seemed not everyone was monitoring the seminar board so no everyone saw my &quot;2nd unix seminar&quot; on there.  I already disappointed a few students who approached me and asked about a seminar after it was already done.

What I should have done was asked in seminar &quot;Hey, how about we do this *Tuesday*.  Is everybody cool with that?&quot;  But I wasn&#039;t sure I could say that...dumb...

Anywhoo this lead to less energy in the room.

b.  With so few students I put them on the same team: mistake...that was a team of 6 which was too large given that they were placed along the wall (by the computers).  In a corner...but still communication between 6 and 1 was really not possible.  I think this made the team seem less close so there was less sharing of ideas.

c.  I also maybe didn&#039;t pay as close attention some of the quieter students who just would look stuff up but not talk and share.  These folks lost out because they didn&#039;t the benefit of what others had found and they didn&#039;t share either.  When I was working with the group this wasn&#039;t as obvious (I had many loud students clamoring for my attention) but I think the problem was still there.  Need to keep a closer eye, basically, not let people fall by the wayside.

That said the whole process was very good.  I&#039;m quite happy with how this turned out and with the enthusiasm of the students.</description>
		<content:encoded><![CDATA[<p>Thanks Dave and Ben!  I shamelessly used your examples in my followup talk, which I did think helped solidify what could be done in student minds!</p>
<p>Overall I think the reprise unix session turned out not quite as good as the original.  Problems:</p>
<p>a.  Much lower turnout.  Talking with the students it seemed not everyone was monitoring the seminar board so no everyone saw my &#8220;2nd unix seminar&#8221; on there.  I already disappointed a few students who approached me and asked about a seminar after it was already done.</p>
<p>What I should have done was asked in seminar &#8220;Hey, how about we do this *Tuesday*.  Is everybody cool with that?&#8221;  But I wasn&#8217;t sure I could say that&#8230;dumb&#8230;</p>
<p>Anywhoo this lead to less energy in the room.</p>
<p>b.  With so few students I put them on the same team: mistake&#8230;that was a team of 6 which was too large given that they were placed along the wall (by the computers).  In a corner&#8230;but still communication between 6 and 1 was really not possible.  I think this made the team seem less close so there was less sharing of ideas.</p>
<p>c.  I also maybe didn&#8217;t pay as close attention some of the quieter students who just would look stuff up but not talk and share.  These folks lost out because they didn&#8217;t the benefit of what others had found and they didn&#8217;t share either.  When I was working with the group this wasn&#8217;t as obvious (I had many loud students clamoring for my attention) but I think the problem was still there.  Need to keep a closer eye, basically, not let people fall by the wayside.</p>
<p>That said the whole process was very good.  I&#8217;m quite happy with how this turned out and with the enthusiasm of the students.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Mike&#8217;s Ultimate Unix Scavenger Hunt by Dave</title>
		<link>http://hewner.com/2010/07/02/mikes-ultimate-unix-scavenger-hunt/comment-page-1/#comment-986</link>
		<dc:creator>Dave</dc:creator>
		<pubDate>Tue, 06 Jul 2010 14:45:27 +0000</pubDate>
		<guid isPermaLink="false">http://technofetish.net/buffaloblog/?p=220#comment-986</guid>
		<description>Very cool indeed.  Command-line competence is sorely lacking among many people who use unix/linux every day.

Regarding your bash/zsh requirement: this is sensible, since these are the two main feature-packed shells.  However your note calls out ksh, which for programming looks fairly bash-ish, when csh/tcsh are the real problem.  They act so totally different from normal Bourne-ish shells that you can&#039;t even write portable code for a common minimal set of features.  Since assuming a plain Bourne shell (&quot;/bin/sh&quot;) is the safest route to shell script portability, there is no good reason to learn or use csh.

Something that teaches them about &quot;sort -n&quot; would be good; this seems to stump people with numeric data.  You could also couple it to Ben&#039;s suggestion of &quot;sort &#124; uniq -c&quot; in order to put the histogram in order of prevalence.

Pulling a column out of a text file or pipe also is a useful skill.  Depending on whether you want to push &quot;cut&quot;, &quot;awk&quot;, or something else, you can (weakly) build on the previous example: &quot;... &#124; sort &#124; uniq -c &#124; sort -n &#124; awk &#039;{print $2}&#039;.

Teaching the basics of &quot;find&quot; also would be valuable.  It&#039;s not the most intuitive command, IMO, especially if you are coming from a non-unix background.  A good concrete example could be that you want to delete all &quot;.o&quot; files in a recursive build: &quot;find . -name &#039;*.o&#039; &#124; xargs -n 1 rm&quot;.</description>
		<content:encoded><![CDATA[<p>Very cool indeed.  Command-line competence is sorely lacking among many people who use unix/linux every day.</p>
<p>Regarding your bash/zsh requirement: this is sensible, since these are the two main feature-packed shells.  However your note calls out ksh, which for programming looks fairly bash-ish, when csh/tcsh are the real problem.  They act so totally different from normal Bourne-ish shells that you can&#8217;t even write portable code for a common minimal set of features.  Since assuming a plain Bourne shell (&#8220;/bin/sh&#8221;) is the safest route to shell script portability, there is no good reason to learn or use csh.</p>
<p>Something that teaches them about &#8220;sort -n&#8221; would be good; this seems to stump people with numeric data.  You could also couple it to Ben&#8217;s suggestion of &#8220;sort | uniq -c&#8221; in order to put the histogram in order of prevalence.</p>
<p>Pulling a column out of a text file or pipe also is a useful skill.  Depending on whether you want to push &#8220;cut&#8221;, &#8220;awk&#8221;, or something else, you can (weakly) build on the previous example: &#8220;&#8230; | sort | uniq -c | sort -n | awk &#8216;{print $2}&#8217;.</p>
<p>Teaching the basics of &#8220;find&#8221; also would be valuable.  It&#8217;s not the most intuitive command, IMO, especially if you are coming from a non-unix background.  A good concrete example could be that you want to delete all &#8220;.o&#8221; files in a recursive build: &#8220;find . -name &#8216;*.o&#8217; | xargs -n 1 rm&#8221;.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

