<?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/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	>
<channel>
	<title>Comments on: Return of the Real Programmer</title>
	<atom:link href="http://enfranchisedmind.com/blog/posts/return-of-the-real-programmer/feed/" rel="self" type="application/rss+xml" />
	<link>http://enfranchisedmind.com/blog/posts/return-of-the-real-programmer/</link>
	<description>programming, politics, &#38; other religious issues</description>
	<lastBuildDate>Sat, 13 Mar 2010 19:36:10 +0000</lastBuildDate>
	
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Loup Vaillant</title>
		<link>http://enfranchisedmind.com/blog/posts/return-of-the-real-programmer/#comment-37201</link>
		<dc:creator>Loup Vaillant</dc:creator>
		<pubDate>Mon, 01 Feb 2010 16:00:48 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/?p=1118#comment-37201</guid>
		<description>Briansteway: of course the author is talking about himself as well:
&lt;blockquote cite=&quot;Brian Hurt&quot;&gt;
&quot;Now, there is a little bit of Real Programmer in all programmers- you can’t get good at programmer without getting a kick out of solving a hard problem just to solve a hard problem.&quot;&lt;/blockquote&gt;

I, too recognize myself a bit in this. My &lt;a href=&quot;http://www.loup-vaillant.fr/projects/ussm/&quot; rel=&quot;nofollow&quot;&gt;latest project&lt;/a&gt;, for instance, has some bits of Real Macho Programming. Less than 350 lines long, and already has some parts I don&#039;t fully understand! I would kill the author if I wasn&#039;t him. Needless to say, substantial rewrite is pending.

I am proud, however, to brag about the fact that my code would probably rank high in Ocaml golf contests. :-)</description>
		<content:encoded><![CDATA[<p>Briansteway: of course the author is talking about himself as well:</p>
<blockquote cite="Brian Hurt"><p>
&#8220;Now, there is a little bit of Real Programmer in all programmers- you can’t get good at programmer without getting a kick out of solving a hard problem just to solve a hard problem.&#8221;</p></blockquote>
<p>I, too recognize myself a bit in this. My <a href="http://www.loup-vaillant.fr/projects/ussm/" rel="nofollow">latest project</a>, for instance, has some bits of Real Macho Programming. Less than 350 lines long, and already has some parts I don&#8217;t fully understand! I would kill the author if I wasn&#8217;t him. Needless to say, substantial rewrite is pending.</p>
<p>I am proud, however, to brag about the fact that my code would probably rank high in Ocaml golf contests. :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: On Interview Questions and Sort Routines</title>
		<link>http://enfranchisedmind.com/blog/posts/return-of-the-real-programmer/#comment-37191</link>
		<dc:creator>On Interview Questions and Sort Routines</dc:creator>
		<pubDate>Sun, 31 Jan 2010 04:04:32 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/?p=1118#comment-37191</guid>
		<description>[...] Interview Questions and Sort Routines  By Brian  &#124;  April 4th, 2009        &#171; Return of the Real Programmer Cooperation and Morality without God [...]</description>
		<content:encoded><![CDATA[<p>[...] Interview Questions and Sort Routines  By Brian  |  April 4th, 2009        &laquo; Return of the Real Programmer Cooperation and Morality without God [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Fischer</title>
		<link>http://enfranchisedmind.com/blog/posts/return-of-the-real-programmer/#comment-34464</link>
		<dc:creator>Robert Fischer</dc:creator>
		<pubDate>Wed, 22 Apr 2009 23:34:10 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/?p=1118#comment-34464</guid>
		<description>@Michael

With #2, are you looking for an in-place answer, or can I clone the hash table, clear the original, and insert the inverted pairings?  The in-place answer is somewhat trickier...</description>
		<content:encoded><![CDATA[<p>@Michael</p>
<p>With #2, are you looking for an in-place answer, or can I clone the hash table, clear the original, and insert the inverted pairings?  The in-place answer is somewhat trickier&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Bacarella</title>
		<link>http://enfranchisedmind.com/blog/posts/return-of-the-real-programmer/#comment-34463</link>
		<dc:creator>Michael Bacarella</dc:creator>
		<pubDate>Wed, 22 Apr 2009 15:39:27 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/?p=1118#comment-34463</guid>
		<description>Firstly I&#039;d like to say, Brian, you are missed. :(

I just could not resist commenting on this part of your article:
  write a routine to sort a linked list- any algorithm is fine- bubble sort, merge sort, whatever.

I think what we&#039;re trying to do when we conduct interview is separate programmers who connect widgets to databases all day from programmers that have experience solving unique problems.   In my experience if someone can solve one kind of unique problem they can usually make a good stab at solving most of them, so we may as well make it as easy as possible to identify the second kind.

Here&#039;s what I&#039;ve come up with.  Get ready.

1. Here&#039;s a binary string of 1s and 0s, such as 11001.  What decimal number does this represent?  Accept big or little endian answers (bonus if they ask which endian I want or grumble about other kinds of bit-coding).  I&#039;ve interviewed people who claim to be Math majors giving up on this.  Most people get this one, and there has never been someone who missed this one who gets the next two.

2. Here&#039;s an instance of a hash table.  It maps unique keys to unique values.  Write code to invert the hash table so that values now map to keys.  e.g. {1: &#039;a&#039;, 2: &#039;b&#039;, 3: &#039;c&#039;} -&gt; {&#039;a&#039;:1, &#039;b&#039;:2, &#039;c&#039;:3}  Use any language. Take as much time as you want.  Programmers claiming 10 years of experience blow this.  Some people fill the whiteboard up with code and still fail.  Some people demand to know why I&#039;d ask such a useless question and get flustered.

3. I describe a situation where we&#039;re sticking a lot of data into a hash table and the program has asymptotic behavior.  That is, it takes a minute to store a million entries but an hour to store ten million entries and days go by before it gets to a hundred million.  What&#039;s going on?  I guide them through confirming we&#039;re not swapping,  what kind of data we&#039;re populating, why we&#039;re doing this at all, and so on towards some kind of hash function worst-case distribution on our data.

That last one is more about the journey than the answer (although it&#039;s great if they know the answer immediately).  I&#039;ll answer every question they ask along the way and see if they can use an analytical process to steer towards the answer, rather than voodoo programming which is how most people fail (&quot;maybe if we stuck it into an Oracle database instead?&quot;).  If they suggest a better way to solve the problem instead of worrying about the hash function that&#039;s fine too.

Everyone who answers all three successfully was someone we did not regret hiring.</description>
		<content:encoded><![CDATA[<p>Firstly I&#8217;d like to say, Brian, you are missed. :(</p>
<p>I just could not resist commenting on this part of your article:<br />
  write a routine to sort a linked list- any algorithm is fine- bubble sort, merge sort, whatever.</p>
<p>I think what we&#8217;re trying to do when we conduct interview is separate programmers who connect widgets to databases all day from programmers that have experience solving unique problems.   In my experience if someone can solve one kind of unique problem they can usually make a good stab at solving most of them, so we may as well make it as easy as possible to identify the second kind.</p>
<p>Here&#8217;s what I&#8217;ve come up with.  Get ready.</p>
<p>1. Here&#8217;s a binary string of 1s and 0s, such as 11001.  What decimal number does this represent?  Accept big or little endian answers (bonus if they ask which endian I want or grumble about other kinds of bit-coding).  I&#8217;ve interviewed people who claim to be Math majors giving up on this.  Most people get this one, and there has never been someone who missed this one who gets the next two.</p>
<p>2. Here&#8217;s an instance of a hash table.  It maps unique keys to unique values.  Write code to invert the hash table so that values now map to keys.  e.g. {1: &#8216;a&#8217;, 2: &#8216;b&#8217;, 3: &#8216;c&#8217;} -&gt; {&#8216;a&#8217;:1, &#8216;b&#8217;:2, &#8216;c&#8217;:3}  Use any language. Take as much time as you want.  Programmers claiming 10 years of experience blow this.  Some people fill the whiteboard up with code and still fail.  Some people demand to know why I&#8217;d ask such a useless question and get flustered.</p>
<p>3. I describe a situation where we&#8217;re sticking a lot of data into a hash table and the program has asymptotic behavior.  That is, it takes a minute to store a million entries but an hour to store ten million entries and days go by before it gets to a hundred million.  What&#8217;s going on?  I guide them through confirming we&#8217;re not swapping,  what kind of data we&#8217;re populating, why we&#8217;re doing this at all, and so on towards some kind of hash function worst-case distribution on our data.</p>
<p>That last one is more about the journey than the answer (although it&#8217;s great if they know the answer immediately).  I&#8217;ll answer every question they ask along the way and see if they can use an analytical process to steer towards the answer, rather than voodoo programming which is how most people fail (&#8220;maybe if we stuck it into an Oracle database instead?&#8221;).  If they suggest a better way to solve the problem instead of worrying about the hash function that&#8217;s fine too.</p>
<p>Everyone who answers all three successfully was someone we did not regret hiring.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: del.icio.us bookmarks for April 6th, 2009 through April 20th, 2009 &#60; Subject Code</title>
		<link>http://enfranchisedmind.com/blog/posts/return-of-the-real-programmer/#comment-34453</link>
		<dc:creator>del.icio.us bookmarks for April 6th, 2009 through April 20th, 2009 &#60; Subject Code</dc:creator>
		<pubDate>Tue, 21 Apr 2009 00:35:33 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/?p=1118#comment-34453</guid>
		<description>[...] Return of the Real Programmer &#124; Enfranchised Mind - [...]</description>
		<content:encoded><![CDATA[<p>[...] Return of the Real Programmer | Enfranchised Mind &#8211; [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
