<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>skrud.net &#187; acm</title>
	<atom:link href="http://skrud.com/articles/tag/acm/feed/" rel="self" type="application/rss+xml" />
	<link>http://skrud.com</link>
	<description>Trust Your Geekflex</description>
	<lastBuildDate>Mon, 24 Nov 2008 20:13:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ACM and the Canadian Province of Alabama</title>
		<link>http://skrud.com/articles/2008/03/05/acm-and-the-canadian-province-of-alabama/</link>
		<comments>http://skrud.com/articles/2008/03/05/acm-and-the-canadian-province-of-alabama/#comments</comments>
		<pubDate>Wed, 05 Mar 2008 17:42:17 +0000</pubDate>
		<dc:creator>Skrud</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[acm]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[embarrassment]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[wtf]]></category>

		<guid isPermaLink="false">http://www.skrud.net/articles/2008/03/05/acm-and-the-canadian-province-of-alabama/</guid>
		<description><![CDATA[I got an e-mail this morning informing me that since I participated in the ACM ICPC, I was eligible to receive a free ACM Student Membership for one year. ACM is, of course, the Association of Computing Machinery: the &#8220;first society in computing&#8221;. It is a prestigious organization that puts on many conferences (such as [...]]]></description>
			<content:encoded><![CDATA[<p>I got an e-mail this morning informing me that since I participated in the <a href="http://en.wikipedia.org/wiki/ACM_International_Collegiate_Programming_Contest" title="ACM International Collegiate Programming Competition">ACM ICPC</a>, I was eligible to receive a free ACM Student Membership for one year. ACM is, of course, the Association of Computing Machinery: the &#8220;first society in computing&#8221;. It is a prestigious organization that puts on many conferences (such as SIGGRAPH and OOPSLA), present guidelines for teaching Computer Science and Software Engineering curricula, and <em>ACM Fellows</em> are considered to be widely respected and influential individuals in Computer Science. Being a student member of ACM would give me access to a near-infinite set of papers and articles, for one thing, and it would be a valuable resource to have.</p>

<p>I went to the ACM&#8217;s web site to fill out their form for ICPC participants. When I clicked submit, however, I was faced with this upsetting error message:</p>

<p><img src='http://www.skrud.net/files/acm_province.png' alt='ACM Please Provide Canadian Province' /></p>

<p>No matter how many times I clicked &#8220;Submit&#8221; or filled out the form, this dialog would pop up. Following my geek instincts, I was determined to figure out why. I looked at the source code for the web page. Immediately, I noticed the all the code for the Javascript client-side form validation was right there in the page. A couple of quick searches and I found the reason I was looking for.</p>

<p>In validating the form, the Javascript checks to see that you did in fact enter a Canadian province if you selected that your country was Canada. (That is, if you entered something like &#8220;Kentucky&#8221; it would tell you pop up the error dialog, since &#8220;Kentucky&#8221; is not a Canadian province). Fair enough. However the line of code they had for validating Québec was something like this:</p>

<p><code></p>

<pre>if ( form.s_state == "PQ" ) { success = 1; } else { success = 0; }</pre>

<p></code></p>

<p>However in the form itself, as part of a giant list box, was the following option:</p>

<p><code></p>

<pre>&lt;option value="QC"&gt;Quebec&lt;/option&gt;</pre>

<p></code></p>

<p>Obviously, &#8220;QC&#8221; and &#8220;PQ&#8221; are not the same thing. So the form validation fails. What&#8217;s a geek to do? So I opened up Firefox, installed <a href="http://www.getfirebug.com">Firebug</a> and went back to the form. I used Firebug to modify the &lt;option&gt; tag so that it&#8217;s value was &#8220;PQ&#8221;, thus allowing the form to be submitted. I was met with a nasty error debugging page, since apparently &#8220;PQ&#8221; is not a valid key in their database. <strong>This means that the form <em>isn&#8217;t ever being validated on the server side</em>. The values that I fill out, passing the Javascript client-side validation, go straight to their database.</strong></p>

<p>Sufficiently disgruntled, and realizing that there&#8217;s no server-side validation whatsoever (other than some foreign key constraints in the database), I opted to simply disable Javascript in my browser. This worked like a charm. My form was submitted successfully, I received a registration number and confirmation e-mail and everything. <strong>This is analogous to being locked out of a car, and managing to open the door by pressing the &#8220;bypass locking mechanism&#8221;-button that is located on the handle.</strong></p>

<p>But I made a mistake. After disabling Javascript I forgot to select &#8220;Quebec&#8221; from the dropdown box. So according to the ACM, I live in Montreal, in the state of Alabama, in Canada.</p>

<p><img src='http://www.skrud.net/files/acm_address.png' alt='ACM Address Alabama' /></p>

<p>Ridiculous. This is <em>the</em> society of programmers, computer scientists and software engineers &#8212; <strong>and they can&#8217;t even get a simple web form right</strong>. Forms should always, <em>always</em>, <strong><em><u>ALWAYS</u></em></strong> be validated on the server-side. This is elementary. This is basic. This is <em>common-sense</em>.</p>

<p>Don&#8217;t worry, though. I fully plan to notify the <a href="http://www.thedailywtf.com">appropriate individuals</a> to resolve the problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://skrud.com/articles/2008/03/05/acm-and-the-canadian-province-of-alabama/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Brief Impressions From OOPSLA (Part 2)</title>
		<link>http://skrud.com/articles/2007/10/26/brief-impressions-from-oopsla-part-2/</link>
		<comments>http://skrud.com/articles/2007/10/26/brief-impressions-from-oopsla-part-2/#comments</comments>
		<pubDate>Fri, 26 Oct 2007 22:51:33 +0000</pubDate>
		<dc:creator>Skrud</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2007]]></category>
		<category><![CDATA[acm]]></category>
		<category><![CDATA[computerscience]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[oopsla]]></category>
		<category><![CDATA[soen]]></category>

		<guid isPermaLink="false">http://www.skrud.net/articles/2007/10/26/brief-impressions-from-oopsla-part-2/</guid>
		<description><![CDATA[Following the Fred Brooks keynote speech, I went to the coffee break room to caffeinate before going to the Kathy Sierra presentation. I was minding my own business, sipping some coffee, reading my RSS feeds, chatting with some friends from UVic; until they walked off to go their presentations. I noticed out of the corner [...]]]></description>
			<content:encoded><![CDATA[<p>Following the <a href="http://en.wikipedia.org/wiki/Fred_Brooks">Fred Brooks</a> keynote speech, I went to the coffee break room to caffeinate before going to the Kathy Sierra presentation. I was minding my own business, sipping some coffee, reading my RSS feeds, chatting with some friends from UVic; until they walked off to go their presentations. I noticed out of the corner of my eye two old guys putting their jackers on the chairs around my table and sitting down. Looking up, I was faced with <a href="http://en.wikipedia.org/wiki/Fred_Brooks">Fred Brooks</a> and <a href="http://en.wikipedia.org/wiki/David_Parnas">David Parnas</a>. <em>Wow!</em>. These two guys practically <em>created</em> software engineering as we know it. What do you say to them?</p>

<p>I told Dr. Parnas about the time I saw him speak at <a href="http://www.skrud.net/articles/2004/01/17/cusec-2004/">CUSEC 2004</a>: That one presentation was an extremely influential moment of my life. I remember he was talking about the importance of software quality, and how it needs to be <em>engineered</em> as oppose to hacked together by a rogue band of coders. Most importantly, I remember looking up at Dr. Parnas giving that speech and thinking &#8220;<em>that&#8217;s</em> what I want to do&#8221;. As soon as I got back to school following that conference, I applied to transfer my major from Computer Science to Software Engineering. I think that was one of the <em>best decisions I&#8217;ve made in my life</em>, and I thanked Dr. Parnas for that.</p>

<p>David Parnas replied to me: &#8220;Thanks for that! That actually just made my day.&#8221;
And Fred Brooks added: &#8220;As well it should!&#8221;</p>

<p>And I got a picture with both of them.</p>

<p><a href='http://www.skrud.net/articles/2007/10/26/brief-impressions-from-oopsla-part-2/me-with-the-grandfathers-of-software-engineering/' rel='attachment wp-att-2459' title='Me with the grandfathers of Software Engineering'><img src='http://www.skrud.net/files/skrud_brooks_parnas.jpg' alt='Me with the grandfathers of Software Engineering' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://skrud.com/articles/2007/10/26/brief-impressions-from-oopsla-part-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
