<?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>Flexknowlogy - Jared Stein&#039;s ARCHIVED blog - update to jaredstein.org &#187; web dev</title>
	<atom:link href="http://flexknowlogy.learningfield.org/category/web-dev/feed/" rel="self" type="application/rss+xml" />
	<link>http://flexknowlogy.learningfield.org</link>
	<description>Jared Stein&#039;s archived blog on education, technology, culture, and the web</description>
	<lastBuildDate>Fri, 30 Oct 2009 19:35:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>First Hour of Wiley and Downes Dialogue on Open Ed</title>
		<link>http://flexknowlogy.learningfield.org/2009/08/11/first-hour-of-wiley-and-downes-dialogue-on-open-ed/</link>
		<comments>http://flexknowlogy.learningfield.org/2009/08/11/first-hour-of-wiley-and-downes-dialogue-on-open-ed/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 17:28:36 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[conferences]]></category>
		<category><![CDATA[web dev]]></category>
		<category><![CDATA[discussions]]></category>
		<category><![CDATA[downes]]></category>
		<category><![CDATA[opened]]></category>
		<category><![CDATA[opened09]]></category>
		<category><![CDATA[wiley]]></category>

		<guid isPermaLink="false">http://flexknowlogy.learningfield.org/?p=776</guid>
		<description><![CDATA[The following is my comments and analysis on the first hour of dialogue between David Wiley and Stephen Downes re. openness and licensing. I want to precede this by recognizing that my point of view is both critical and challenging, though I do so with no desire to be divisive. Details on the conversation and [...]]]></description>
			<content:encoded><![CDATA[<p>The following is my comments and analysis on the first hour of dialogue between <a href="http://davidwiley.org/">David Wiley</a> and <a href="http://downes.ca/">Stephen Downes</a> re. openness and licensing. I want to precede this by recognizing that my point of view is both critical and challenging, though I do so with no desire to be divisive. <a href="http://sites.wiki.ubc.ca/opened09/index.php/Wiley_Downes_Dialogue">Details on the conversation and a link(s) to recordings and live stream are available on the Open Ed 2009 wiki</a><span id="more-776"></span>.</p>
<p>After some lengthy idling of engines, the real conversation starts when Downes asks, what does the university offer? Content, delivery, and credentials. Content and delivery is also possible outside the university, yes? Implication: therefore, there is no significant difference in effectiveness, no reason to choose one over the other (!?). Leaving the credential piece out of it, I object to Downes&#8217;s initial equivocation between learning that occurs within an institutional framework and that which can occur without. Just because learning can occur outside the university doesn&#8217;t mean it will occur as efficiently or effectively as our historical institutions. This is not to say that learning that occurs outside the university is <em>de facto</em> inferior, but one must compare outcomes. It&#8217;s an ugly equivocation that begs to be elaborated on, i.e. how can (or will) non-institutional learning be maximized?</p>
<p>Wiley recognizes that, for instance, States require teacher certification to work in a classroom. I half expected Downes to object to the teacher certification requirement in general, which might contradict his previous stance that <a href="http://halfanhour.blogspot.com/2008/03/on-home-schooling.html"></a>home-schooling is a kind of abuse due to lack of teacher qualifications</a>. I&#8217;m relieved that he didn&#8217;t.</p>
<p>&#8220;If you tore the covers off books (on Ruby) you couldn&#8217;t tell the difference.&#8221; Wiley says, &#8220;The books at Borders parade as choice without their being any significant difference between them.&#8221; Having reviewed tech books myself, especially XHTML and CSS books, I must say this is not really true. Yes, there are <em>some</em> books in any subject matter that are too similar. But there are just as many that are significantly different. Also, as the number of players in the market expands, and the number of publications&#8211;let alone editions&#8211;increases, tech book publishers are increasingly wary of being redundant. They are looking for the selling point, the distinction. Perhaps the desire for distinction comes only after the market is flooded with the generic version. Regardless, while this is incorrect, but I get the point: openness (and the Internet) brings more choice by liberating access to the market and means of distribution.</p>
<p>Downes goes all socialist and argues that financial incentives discourage variety because the bland textbook sells more. Again, I go back to the idea that once the market is saturated with the bland solutions, this opens a new opportunity for the unique solutions. Best example that springs to mind: <a href="http://www.amazon.ca/Head-First-HTML-CSS-XHTML/dp/059610197X/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1250016538&amp;sr=8-1">&#8220;Head First&#8221;</a> series, a quirky, sometimes silly, approach that integrates learning theories into the content as no other web language book does.</p>
<p>Downes suggests that because there are a large quantities of a single kind of learning object (pictures of ducks) that may be classified an OER, there is no lack of OER online. I can&#8217;t actually believe he doesn&#8217;t recognize that because one has plenty of a single thing that fits into a category, one has plenty of things in that category.</p>
<p>Wiley counters that there is relative value to learning resources, but leaves the argument unsubstantiated and shifts to talk about nonrivalrous nature of online resources. I think the argument here is strong, and hope he comes back to this.</p>
<p>Downes challenges Dave: you say a full course can be an OER, and you say an OER is digital. So can a full course be digital? He caught Dave off-guard because, again I think Downes equivocated OER with LO, and Dave didn&#8217;t realize he had actually asserted that a full course can be a learning object. There is a difference between a learning object and an OER.</p>
<p>Downes is challenging assertion that an organized course is more efficient (than what? at least more efficient than &#8220;floundering around&#8221;), but coming up pretty empty. Best counter argument he set aside, and that is that a course costs thousands of dollars to produce. Now he is questioning the goals or outcomes of education, and asking if a course is the most efficient path to &#8220;a good life&#8221;. So if you disagree with the outcomes of organized university coursework, for whatever reason, you might agree that, yes, a course of study is not efficient. But even if you believ the goal of university learning is self-betterment through access to knowledge, I still say that the regimented classroom and semester is pretty efficient.</p>
<p>This made me wonder if the most critical piece for learning is accountability: teachers and grades and administration hold students&#8217; feet to the fire, making them read and study and produce things that make them learn&#8211;activities they may not have the discipline to do on their own. If I were to aim to lose weight (or, rather, bulk up), I would achieve my goals much more efficiently with a personal trainer driving me to work out every day under a particular, crafted, and organized regiment, rather than leaving it to me to find ways to exercise on my own. But if my goal is just to have fun exercising, yes, I&#8217;m better served just going off to skate.</p>
<p>Speakng of which, I&#8217;m going out to skate.</p>
]]></content:encoded>
			<wfw:commentRss>http://flexknowlogy.learningfield.org/2009/08/11/first-hour-of-wiley-and-downes-dialogue-on-open-ed/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Blackboard Vista Triggers Quirks Mode</title>
		<link>http://flexknowlogy.learningfield.org/2009/04/02/blackboard-vista-triggers-quirks-mode/</link>
		<comments>http://flexknowlogy.learningfield.org/2009/04/02/blackboard-vista-triggers-quirks-mode/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 16:25:20 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[blackboard]]></category>
		<category><![CDATA[web dev]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[quirks mode]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://flexknowlogy.learningfield.org/?p=626</guid>
		<description><![CDATA[Ever been annoyed by Blackboard Vista&#8217;s (or Campus Edition 6+&#8217;s) rendering of your XHTML + CSS web pages? Yeah, me too&#8211;especially on Internet Explorer. This happens because Bb Vista triggers a browser&#8217;s quirks mode in spite of DOCTYPEs and validated markup. More than just troublesome for pretty CSS-based pages, quirks mode, triggered on standards-compliant pages, [...]]]></description>
			<content:encoded><![CDATA[<p>Ever been annoyed by Blackboard Vista&#8217;s (or Campus Edition 6+&#8217;s) rendering of your XHTML + CSS web pages? Yeah, me too&#8211;especially on Internet Explorer. This happens because Bb Vista triggers a browser&#8217;s <a href="http://www.quirksmode.org/css/quirksmode.html">quirks mode</a> in spite of <a href="http://www.w3.org/QA/2002/04/valid-dtd-list.html">DOCTYPE</a>s and <a href="http://www.w3.org/QA/2002/04/valid-dtd-list.html">validated markup</a><span id="more-626"></span>.
</p>
<p>More than just troublesome for pretty CSS-based pages, quirks mode, triggered on standards-compliant pages, can negatively affect the usability and functionality of the learning experience. For example, we use an <a href="http://uvsc.edu/disted/gamegarden/">inline quizzing</a> Javascript that renders questions and answer choices and feedback based on standards mode CSS. In quirks mode this self-assessment tool is useless.</p>
<h3>Blackboard Was Made For Quirks</h3>
<p>
Basically quirks mode means the browser thinks your web skills are not up to snuff, and the browser therefore renders your CSS in a non-standard fashion. Quirks mode is triggered when a DOCTYPE, e.g.:</p>
<pre style="font-size: 90%">
<code>
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
</code>
</pre>
<p>&#8230;is missing, or invalid, or unknown, or not where it should be (i.e. the first line of the document).</p>
<div><img style="border: 1px solid" src="http://flexknowlogy.learningfield.org/files/2009/04/wikis51.jpg" alt="" /></p>
<div style="font-size: 80%">
<em>javascript:alert(document.compatMode)</em> pasted into the Internet Explorer address bar kindly informs us that this browser is rendering <a href="http://resources.qooxdoo.org/download/advanced_boxtest/box_test_standard.html">this page</a> in quirks mode. Firefox will tell you if you go to <em>Tools &gt; Page Info</em>. <a href="http://resources.qooxdoo.org/download/advanced_boxtest/box_test_standard.html">Advanced Box Model Test</a></div>
</div>
<p>But even if you&#8217;ve been careful to put a valid DOCTYPE into your web pages, once it&#8217;s loaded up into Bb Vista and linked to, either from a Folder or a Learning Module, the browser will go into quirks mode. Why does this happen? Simple: <strong>Bb Vista inserts XHTML and JavaScript at the beginning of all web pages onload.</strong> <a href="http://field.5tein.com/files/2009/04/quirkstest1.png">140+ lines</a> of it, to be exact. It&#8217;s an odious thing to do, but, what do you expect? It&#8217;s Blackboard.
</p>
<p>It may (or may not) be important to note that <strong>this does not happen when viewing a page in the File Manager</strong>&#8211;only when a page is loaded from a link within the course.</p>
<h3>What You Can Do</h3>
<p>Not much. And yet this could be <strong>a big issue for Internet Explorer users</strong> (FireFox renders page in quirks mode [not <a href="https://developer.mozilla.org/en/Mozilla%27s_DOCTYPE_sniffing#Almost_Standards_Mode">"Almost Standards Mode"</a> as I'd hoped], yet most standards-compliant XHTML and CSS still render well).
</p>
<p>And though <a href="http://marketshare.hitslink.com/browser-market-share.aspx?qprid=2">most users are still on IE 6 or 7</a> I had some hope for a way out with Internet Explorer 8. You see,  <a href="http://msdn.microsoft.com/en-us/library/dd565650(VS.85).aspx">Microsoft promised that &#8220;a page explicitly opts into standards mode&#8221; when it includes &#8220;a metatag in the page that specifies IE=8 or IE=EmulateIE8&#8243;</a>. For example:</p>
<pre style="font-size: 90%">
<code>&lt;meta http-equiv="X-UA-Compatible" content="IE=IE8" /&gt;
</code>
</pre>
<p>In practice, however, this META tag alone does not force IE8 into standards mode in Bb Vista&#8211;the misplaced XHTML is apparently too much for IE8 to ignore.</p>
<p>So the most practical solutions I can think of are:</p>
<ol>
<li>
<p>
<strong>Write custom CSS for Blackboard</strong> that renders (or re-renders) the page according to <a href="http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug">the quirks mode box model</a>. This could be done using <a href="">Internet Explorer conditional comments</a>, for example:</p>
<pre style="font-size: 90%">
<code>
&lt;!--[if IE ]&gt;
  &lt;link href="ie-quirks.css" rel="stylesheet" type="text/css" /&gt;
&lt;![endif]--&gt;
</code>
</pre>
<p>I haven&#8217;t yet considered what CSS rules would need to be written to accommodate this, but <em>if it was possible</em> this seem like the most robust and efficient solution.</p>
</li>
<li><strong>Rewrite the page with Javascript.</strong> After Bb has loaded (or begun to load) the page, Javascript triggers a full rewrite of the page, either wiping out or rewriting the Bb XHTML and Javascript in a more appropriate location (e.g. in a targeted, ID&#8217;ed element). I&#8217;ve asked one of my developers to try this out today, but already fear the additional load time it might put on the Bb-hosted page.</li>
</ol>
<p>Any other ideas?</p>
<p>If this were only about appearance I wouldn&#8217;t be raising a fuss, but this can and does affect the usability of certain e-learning tools, and forces developers to ask, &#8220;How will this work in Blackboard?&#8221; yet again.</p>
]]></content:encoded>
			<wfw:commentRss>http://flexknowlogy.learningfield.org/2009/04/02/blackboard-vista-triggers-quirks-mode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plug: Ignite Salt Lake 2</title>
		<link>http://flexknowlogy.learningfield.org/2009/03/16/plug-ignite-salt-lake-2/</link>
		<comments>http://flexknowlogy.learningfield.org/2009/03/16/plug-ignite-salt-lake-2/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 22:45:23 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[conferences]]></category>
		<category><![CDATA[web dev]]></category>
		<category><![CDATA[ignite]]></category>
		<category><![CDATA[ignitesaltlake]]></category>
		<category><![CDATA[presentations]]></category>
		<category><![CDATA[utah]]></category>

		<guid isPermaLink="false">http://flexknowlogy.learningfield.org/?p=570</guid>
		<description><![CDATA[Ignite Salt Lake 2, &#8220;a community event celebrating the passion and creativity of geek culture&#8221; that sounds quite a bit like pecha kucha, is happening March 26th, 2009 at Brewvies Cinema Pub in Salt Lake City, Utah (677 South 200 West). I didn&#8217;t go to Ignite 1, but a 2-hour series of 5-minute presentations (20 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ignitesaltlake.com/">Ignite Salt Lake 2</a>, &#8220;a community event celebrating the passion and creativity of geek culture&#8221; that sounds quite a bit like <a href="http://www.pecha-kucha.org/">pecha kucha</a>, is happening March 26th, 2009 at <a href="http://www.brewvies.com">Brewvies Cinema Pub in Salt Lake City, Utah (<a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=677+South+200+West+Salt+Lake+City,+Utah&amp;sll=37.0625,-95.677068&amp;sspn=44.60973,79.101563&amp;ie=UTF8&amp;z=16&amp;iwloc=addr">677 South 200 West</a>).</p>
<p>I didn&#8217;t go to Ignite 1, but a 2-hour series of 5-minute presentations (20 slides or less) sounds like the best-ever format for a geek get-together.</p>
<p>Question: will Brewvies&#8217; grill be open for business?</p>
]]></content:encoded>
			<wfw:commentRss>http://flexknowlogy.learningfield.org/2009/03/16/plug-ignite-salt-lake-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Using WP Custom Fields to Add CC Licensing to Blog Posts</title>
		<link>http://flexknowlogy.learningfield.org/2009/01/07/using-wp-custom-fields-to-add-cc-licensing-to-blog-posts/</link>
		<comments>http://flexknowlogy.learningfield.org/2009/01/07/using-wp-custom-fields-to-add-cc-licensing-to-blog-posts/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 15:00:40 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[web dev]]></category>
		<category><![CDATA[creative commons]]></category>
		<category><![CDATA[licenses]]></category>
		<category><![CDATA[modifications]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://flexknowlogy.learningfield.org/?p=162</guid>
		<description><![CDATA[Those of you with PHP experience may already know by reputation how easy WordPress is to modify, and I&#8217;ve been having a lot of fun customizing themes for the past year. This is a quick and dirty post illustrating how to customize a WP theme to select a Creative Commons license for each post. After [...]]]></description>
			<content:encoded><![CDATA[<p>Those of you with PHP experience may already know by reputation how easy <a href="http://wordpress.org">WordPress</a> is to modify, and I&#8217;ve been having a lot of fun customizing themes for the past year. This is a quick and dirty post illustrating how to customize a WP theme to select a Creative Commons license for each post. <span id="more-162"></span> After I tested this method I played around with a few WP plug-ins, including <a href="http://techblog.touchbasic.com/html/wp-23-plugin-per-post-creative-commons-license/">Per-Post Creative Commons License</a>, which I liked a lot. But I still wanted to post this method for folks who don&#8217;t want to install plug-ins, or prefer using WordPress&#8217;s built-in Custom Fields functionality.</p>
<h4>Set Up Blog Post Licenses</h4>
<ol class="steps">
<li>
<p>From within any blog post, add a new Custom Field called, for instance, &#8220;license&#8221;.</p>
</li>
<li>
<p>Use an easy, consistent tactic for marking your license. I&#8217;m using lowercase letters separated by dashes to describe Creative Commons licenses, e.g. <strong>cc-by-sa</strong> or <strong>cc-by-nc-nd</strong>. Use these marks in each post&#8217;s &#8220;license&#8221; field from now on.</p>
</li>
</ol>
<p>Now you&#8217;re storing the license metadata on your blog&#8217;s server. It&#8217;s time to make it look cool in your theme.</p>
<h4>Customize Your WP Theme</h4>
<ol>
<li>
<p>Isolate your theme&#8217;s folder in wp-content/themes</p>
</li>
<li>
<p>Upload whatever CC license images that you want to use to your theme&#8217;s images folder. <a href="http://5tein.com/wp-content/themes/flexquare/images/licenses/licenses.zip">Here&#8217;s a ZIP file of the CC images I use</a>. Note how I named the images the same way I entered my licenses above, e.g. <strong>cc-by-sa.png</strong> or <strong>cc-by-nc-nd.png</strong>. This allows me to shortcut in the PHP.</p>
</li>
<li>
<p>Now the &#8220;hard&#8221; part: edit the files single.php and (optional) index.php. Find the spot you want to have your license display. This needs to be soon after the WP function <a href="http://wordpress.org/tags/the_content"><code>the_content()</code></a> is called. In index.php this needs to happen before the <code>endwhile</code> of the <a href="http://wordpress.org/tags/have_posts"><code>have_posts()</code></a> function.</p>
</li>
<li>
<p>Write (or paste in) a little PHP. In short we need to use the <a href="http://wordpress.org/tags/get_post_meta"><code>get_post_meta()</code></a> function to get the custom field value for this post. Here&#8217;s a quick snippet that I used to test theis approach:</p>
<p><code></p>
<p>&lt;?php<br />
&nbsp;&nbsp;&nbsp;if($license = get_post_meta($post-&gt;ID, "license", "true")) {<br />
?&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;a href="http://creativecommons.org/licenses/"&gt;&lt;img src="&lt;?php bloginfo('template_directory'); ?&gt;/images/licenses/&lt;?=$license?&gt;.png" alt="&lt;?=$license?&gt; license" style="border: 0" /&gt;&lt;/a&gt;<br />
&lt;?php<br />
&nbsp;&nbsp;&nbsp;} else {<br />
&nbsp;&nbsp;&nbsp;?&gt;<br />
&nbsp;&nbsp;&nbsp;&amp;copy; &lt;?php the_time('Y');<br />
&nbsp;&nbsp;&nbsp;}<br />
?&gt;<br />
</code></p>
<p>If there is nothing in the &#8220;license&#8221; custom field, it defaults to &copy; and the post&#8217;s year.</p>
<p>You can do this on both single.php and index.php or anywhere else you have post information showing.</li>
<li>Finally, upload and test!</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://flexknowlogy.learningfield.org/2009/01/07/using-wp-custom-fields-to-add-cc-licensing-to-blog-posts/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Dropping Lowest 2 (or More) Scores in Blackboard or Moodle</title>
		<link>http://flexknowlogy.learningfield.org/2008/12/16/dropping-lowest-2-scores-in-blackboard-or-moodle/</link>
		<comments>http://flexknowlogy.learningfield.org/2008/12/16/dropping-lowest-2-scores-in-blackboard-or-moodle/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 01:06:34 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[blackboard]]></category>
		<category><![CDATA[e-learning]]></category>
		<category><![CDATA[lms]]></category>
		<category><![CDATA[moodle]]></category>
		<category><![CDATA[web dev]]></category>
		<category><![CDATA[webct]]></category>
		<category><![CDATA[formula]]></category>
		<category><![CDATA[gradebook]]></category>
		<category><![CDATA[grades]]></category>
		<category><![CDATA[howto]]></category>

		<guid isPermaLink="false">http://flexknowlogy.learningfield.org/?p=140</guid>
		<description><![CDATA[WebCT was infamous for it&#8217;s calculated column formula textarea that you couldn&#8217;t type in. When John Krutsch developed a clever Javascript hack for it (just one of several cool IE-only hacks packaged as WebCT PowerTools), crafting unusual formulas was suddenly more viable, and we began dropping not just the lowest score, but several low scores. [...]]]></description>
			<content:encoded><![CDATA[<p>WebCT was infamous for it&#8217;s calculated column formula textarea that you couldn&#8217;t type in. When <a href="http://technagogy.learningfield.org">John Krutsch</a> developed <a href="http://www.uvsc.edu/disted/tetc/powertools/insert_formula/insert_formula.html">a clever Javascript hack for it</a> (just one of several cool IE-only hacks packaged as <a href="http://www.uvsc.edu/disted/tetc/powertools/">WebCT PowerTools</a>), crafting unusual formulas was suddenly more viable, and we began dropping not just the lowest score, but several low scores<span id="more-140"></span>.</p>
<p>An hour after trying to work around <a href="http://tracker.moodle.org/secure/IssueNavigator.jspa?reset=true&amp;&amp;type=1&amp;pid=10011&amp;query=grades&amp;summary=true&amp;description=true&amp;body=true&amp;status=1">various bugs</a> in <a href="http://moodle.org/mod/forum/discuss.php?d=105169">the awful 1.9 Moodle gradebook</a> I found myself in need of this formula again, and the only place I could find it was in my own post on the old WebCT forums. I&#8217;m posting it here for my future reference only, but maybe it will be useful to other Bb Vista or Moodle users:</p>
<h4>Drop the Lowest Score of a Series</h4>
<p>For this example we need to know the labels (Bb/WebCT) or ids (Moodle) of the columns to be included. Here I use A1, A2, A3.</p>
<p>In this example we want to drop the lowest assignment score for our total, first in Blackboard Visa and then in Moodle:</p>
<div>Blackboard/WebCT Vista/CE: <code>
<div>SUM{[A1],[A2],[A3]}-MIN{[A1],[A2],[A3]}</div>
<p></code></div>
<div>Moodle: <code>
<div>=(sum([[A1]],[[A2]],[[A3]]))-(min([[A1]],[[A2]],[[A3]]))</div>
<p></code></div>
<p>This calculates the sum total of of the 3 assignments then subtracts the minimum score of the same series.</p>
<h4>Drop the Lowest Two Scores of a Series</h4>
<p>In this example we want to drop the lowest 2 assignment scores from our total. I&#8217;m using 5 assignments to illustrate this in practice.This can get pretty hairy, but once you&#8217;ve studied this example it should make sense:</p>
<div>Blackboard/WebCT Vista/CE: <code>
<div>SUM{[A1],[A2],[A3],[A4],[A5]}-MIN{([A1]+[A2]),([A1]+[A3]),([A1]+[A4]),([A1]+[A5]),([A2]+[A3]),([A2]+[A4]),([A2],A5]),([A3]+[A4]),([A3]+[A5]),([A4]+[A5])}</div>
<p></code></div>
<div>Moodle: <code>
<div>=(sum([[A1]],[[A2]],[[A3]],[[A4]],[[A5]]))-(MIN(([[A1]]+[[A2]]),([[A1]]+[[A3]]),([[A1]]+[[A4]]),([[A1]]+[[A5]]),([[A2]]+[[A3]]),([[A2]]+[[A4]]),([[A2]],[[A5]]),([[A3]]+[[A4]]),([[A3]]+[[A5]]),([[A4]]+[[A5]])))</div>
<p></code></div>
<p>This calculates the sum total of of the 5 assignments then subtracts the <strong>lowest possible combination of two scores</strong> found in the same series.</p>
<p>The aforementioned example will work for dropping lowest 3 and more using the same principles, but obviously it gets exponentially longer.</p>
]]></content:encoded>
			<wfw:commentRss>http://flexknowlogy.learningfield.org/2008/12/16/dropping-lowest-2-scores-in-blackboard-or-moodle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Re. &quot;CSS Angles&quot; and the Future of Em-Based Scaling</title>
		<link>http://flexknowlogy.learningfield.org/2008/12/03/re-css-angles-and-the-future-of-em-based-scaling/</link>
		<comments>http://flexknowlogy.learningfield.org/2008/12/03/re-css-angles-and-the-future-of-em-based-scaling/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 18:43:37 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[web dev]]></category>
		<category><![CDATA[angles]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[em]]></category>
		<category><![CDATA[scaling]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://flexknowlogy.learningfield.org/?p=117</guid>
		<description><![CDATA[Sitepoint offered up an article by Tim Wright (CSSKarma), CSS Angles: Just the Edge Your Web Page Needs!, which shows that increasing the size of a single border property results in an angular object that can be placed behind things. After some experimentation I found a new solution and a new conundrum. Tim&#8217;s applied this [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sitepoint.com/">Sitepoint</a> offered up an article by <a href="http://www.csskarma.com/">Tim Wright (CSSKarma)</a>, <cite><a href="http://www.sitepoint.com/article/css-angles-the-edge-you-need/">CSS Angles:  Just the Edge Your Web Page Needs!</a></cite>, which shows that increasing the size of a single <strong>border</strong> property results in an angular object that can be placed behind things. After some experimentation I found a new solution and a new conundrum<span id="more-117"></span>.</p>
<p>Tim&#8217;s applied this to <a href="http://i2.sitepoint.com/graphics/1692_shelf.jpg">&#8220;shelf shadows&#8221;</a>, where a nav item appears to be propped up on a shelf with a shadow below:</p>
<div><a href="http://i2.sitepoint.com/graphics/1692_shelf.jpg"><img src="http://i2.sitepoint.com/graphics/1692_shelf.jpg" alt="shelf" /></a></div>
<p>I looked at the CSS and thought, &#8220;This is cute, but could be more elegant with just two 1kb images.&#8221; <a href="/resources/stein/web/shelf/shelf1.html">So I wrote it,</a> and it turned out fine. In fact, it turned out better, in my opinion, because the shadow edges were <a href="http://en.wikipedia.org/wiki/Anti-aliasing">anti-aliased</a>.  I showed my developer <a href="http://www.facebook.com/people/Tyrel-Kelsey/1166354283">Tyrel Kelsey</a> the results, then bragged, &#8220;I can even make both the shadows and the shelf size scale with the text.&#8221; Then <a href="/resources/stein/web/shelf/shelf2.html">whipped up that solution</a> as well.</p>
<p>In short, <a href="/resources/stein/web/shelf/shelf1.html">my first solution</a> used two images: a x-repeating <a href="/resources/stein/web/shelf/images/shelf1.png">1&#215;20 &#8220;shelf&#8221;</a> hooked to the UL, and <a href="/resources/stein/web/shelf/images/shadow1.png">a 10&#215;20 &#8220;shadow&#8221;</a> hooked to each LI in place of Tim&#8217;s border corner.</p>
<p><a href="/resources/stein/web/shelf/shelf2.html">My second solution</a> used <a href="/resources/stein/web/shelf/images/shelf2.png">a 1px square for the top &#8220;shelf&#8221;</a>, and a 1px border&#8211;both hooked to the UL. The top shelf was set 1em from the top to allow for scaling.</p>
<p><a href="/resources/stein/web/shelf/images/shadow2.png">The &#8220;shadow&#8221; was a much larger image, 100&#215;200</a>, and set .1em to the left and 1em from the top of each LI, thus masking it&#8217;s gargantuaness (similar to <a href="http://www.alistapart.com/articles/slidingdoors/">sliding doors</a>).</p>
<p>It was a slick application for the same effect, but then Tyrel popped my balooon.</p>
<p>&#8220;Are you on FireFox 3?&#8221; Tyrel asked. &#8220;Because mine already scales on FF3, and it doesn&#8217;t look all jagged like yours.&#8221;</p>
<p><strong>Page zoom.</strong> I still am on FF2, and I remembered earlier in the week how I embarrassed myself in the web design course I teach when the page zoom disturbed an effect I was demonstrating. In fact, a lot of the <a href="http://www.w3.org/WAI/GL/css2em.htm">em-based</a> scaling approaches so popular just a year ago are sliding towards obsolescence thanks to <a href="http://blogs.msdn.com/ie/archive/2006/02/07/526805.aspx">page zoom on IE 7+</a> and <a href="http://arstechnica.com/journals/linux.ars/2007/07/27/firefox-3-gets-full-page-zoom">now on FF3 as well.</a>.</p>
<p>Not only are they made obsolete, current CSS-based designs that are <a href="http://www.456bereastreet.com/archive/200504/fixed_or_fluid_width_elastic/">enhanced by the elasticity (e.g. layouts with reading-width columns</a> or <a href="http://www.alistapart.com/articles/slidingdoors/">other applications of em-based scaling (e.g. sliding doors)</a> may look worse with page zoom.  My second example sure did when scaled in IE7. And if you open my design 2 on FF3 and compare the page zoomed rendering to the rendering with Zoom Text Only turned on, you&#8217;ll agree that the clarity is compromised in the former.</p>
<p>So while I&#8217;m proud of <a href="/resources/stein/web/shelf/shelf2.html">my two CSS variations</a> on <a href="http://www.sitepoint.com/article/css-angles-the-edge-you-need/">Tim Wright&#8217;s shelf-and-shadow concept</a>, and they are great solutions for older browsers (I can&#8217;t believe I&#8217;m referring to FF2 as &#8220;older&#8221;!), it&#8217;s also clear to me that em-based scaling and elasticity is on it&#8217;s way out, and browser-based page zoom will solve a lot of designer&#8217;s accessibility-influenced design challenges&#8211;but not, perhaps, without affecting our &#8220;tricks&#8221; of the past.</p>
]]></content:encoded>
			<wfw:commentRss>http://flexknowlogy.learningfield.org/2008/12/03/re-css-angles-and-the-future-of-em-based-scaling/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>XSL to Output Elements, PCDATA, Attributes</title>
		<link>http://flexknowlogy.learningfield.org/2008/10/31/xsl-to-output-elements-pcdata-attributes/</link>
		<comments>http://flexknowlogy.learningfield.org/2008/10/31/xsl-to-output-elements-pcdata-attributes/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 00:58:36 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[web dev]]></category>
		<category><![CDATA[attributes]]></category>
		<category><![CDATA[elements]]></category>
		<category><![CDATA[nodes]]></category>
		<category><![CDATA[tree]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xsl]]></category>
		<category><![CDATA[xslt]]></category>

		<guid isPermaLink="false">http://flexknowlogy.learningfield.org/2008/11/06/xsl-to-output-elements-pcdata-attributes/</guid>
		<description><![CDATA[Tony Hirst was looking for a way to output all XML element names and PCDATA in a document and show hierarchical relationships. I guessed this was easy, so I tried but initially failed. I searched for an answer and was surprised when I couldn&#8217;t find a good one. An hour later I worked out a [...]]]></description>
			<content:encoded><![CDATA[<p>
Tony Hirst was looking for a way to output all XML element names and PCDATA in a document <em>and</em> show hierarchical relationships.  I guessed this was easy, so I tried but initially failed. I searched for an answer and was surprised when I couldn&#8217;t find a good one. An hour later I worked out a solution based on parent::node() that seems stable on all XML files.<span id="more-110"></span> I post it here for future reference:
</p>
<pre>
<code style="width: 100%;font-size: 95%">
&lt;?xml version="1.0"?&gt;
&lt;xsl:stylesheet version="1.0" xmlns:xsl=
  "http://www.w3.org/1999/XSL/Transform"&gt;
&lt;xsl:output type="xml" /&gt;

&lt;xsl:template match="/"&gt;

&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Untitled&lt;/title&gt;
&lt;/head&gt;

&lt;body&gt;

&lt;xsl:for-each select="//*"&gt;&lt;!--loop all levels of nodes--&gt;
   &lt;xsl:if test="position() &gt; 2"&gt;&lt;br/&gt;&lt;/xsl:if&gt;&lt;!--line break after last--&gt;

   &lt;xsl:choose&gt;
      &lt;xsl:when test="*"&gt;&lt;!--does this node have children--&gt;
         &lt;xsl:if test="position() &gt; 1"&gt;
            &lt;!--print node + ancestor relationship--&gt;
            &lt;xsl:value-of select="concat(name(parent::node()),'-&gt;',name())"/&gt;
         &lt;/xsl:if&gt;
      &lt;/xsl:when&gt;

      &lt;xsl:when test=".=text()"&gt;&lt;!--does this node have PCDATA--&gt;
         &lt;!--print node + ancestor relationship--&gt;
         &lt;xsl:value-of select="concat(name(parent::node()),'-&gt;',name())"/&gt;
         &lt;br/&gt;
         &lt;!--print node PCDATA--&gt;
         &lt;xsl:value-of select="concat(name(),'-&gt;','&quot;',text(),'&quot;')"/&gt;
      &lt;/xsl:when&gt;
   &lt;/xsl:choose&gt;

   &lt;xsl:if test="@* &gt; 0"&gt;&lt;!--does this node have attributes--&gt;
      (
      &lt;xsl:for-each select="@*"&gt;&lt;!--for each name/value--&gt;
         &lt;xsl:value-of select="name()"/&gt;
         =
         &lt;xsl:value-of select="."/&gt;

      &lt;/xsl:for-each&gt;
      )
   &lt;/xsl:if&gt;
&lt;/xsl:for-each&gt;

&lt;/body&gt;
&lt;/html&gt;

&lt;/xsl:template&gt;

&lt;/xsl:stylesheet&gt;
</code>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://flexknowlogy.learningfield.org/2008/10/31/xsl-to-output-elements-pcdata-attributes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2008 Survey for People Who Make WebSites</title>
		<link>http://flexknowlogy.learningfield.org/2008/07/29/2008-survey-for-people-who-make-websites/</link>
		<comments>http://flexknowlogy.learningfield.org/2008/07/29/2008-survey-for-people-who-make-websites/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 15:28:32 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[web dev]]></category>
		<category><![CDATA[a list apart]]></category>
		<category><![CDATA[surveys]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://flexknowlogy.learningfield.org/2008/07/29/2008-survey-for-people-who-make-websites/</guid>
		<description><![CDATA[This morning A List Apart, my favorite Web dev periodical, put out it&#8217;s 2008 Survey for People Who Make WebSites. I made it through all 18pp. If you make Web sites, join in:]]></description>
			<content:encoded><![CDATA[<p>This morning <a href="http://alistapart.com">A List Apart</a>, my favorite Web dev periodical, put out it&#8217;s 2008 Survey for People Who Make WebSites.  I made it through all 18pp. If you make Web sites, join in: <a href="http://alistapart.com/articles/survey2008"><img src="http://aneventapart.com/webdesignsurvey/templates/ala/images/i-took-the-2008-survey.gif" alt="sruvey"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://flexknowlogy.learningfield.org/2008/07/29/2008-survey-for-people-who-make-websites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting Web Page Font Size Proportional to Window Size</title>
		<link>http://flexknowlogy.learningfield.org/2008/06/26/setting-font-size-proportional-to-window-size/</link>
		<comments>http://flexknowlogy.learningfield.org/2008/06/26/setting-font-size-proportional-to-window-size/#comments</comments>
		<pubDate>Fri, 27 Jun 2008 00:02:55 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[usability]]></category>
		<category><![CDATA[web dev]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[readability]]></category>
		<category><![CDATA[typography]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://flexknowlogy.learningfield.org/2008/06/26/setting-font-size-proportional-to-window-size/</guid>
		<description><![CDATA[This article explains an experimental approach to ensuring consistent line-length and font-size for the readability of text on Web pages. This is the first time I&#8217;ve posted an article related to Web development, but I hope it to be the first of many. Though there have been a number of articles proving the usefulness of [...]]]></description>
			<content:encoded><![CDATA[<p>This article explains <a target="_blank" href="http://learningfield.org/resources/stein/js/fonter.html">an <strong>experimental</strong> approach</a> to ensuring consistent line-length and font-size for the readability of text on Web pages. This is the first time I&#8217;ve posted an article related to Web development, but I hope it to be the first of many.  </p>
<p>Though there have been a number of articles proving the usefulness of <a href="http://www.smashingmagazine.com/2008/06/26/flexible-layouts-challenge-for-the-future/">flexible</a> and <a href="http://www.456bereastreet.com/archive/200504/fixed_or_fluid_width_elastic/">elastic layouts</a> in Web design, too many sites still use fixed or fluid layout.  I say &#8220;too many&#8221; because the key problem both fixed and fluid hold for users lies with readability.  Usability studies have shown that most users find a line length of 40 &#8211; 60 characters to be easiest to consume (though at least one report ranges from <a href="http://psychology.wichita.edu/surl/usabilitynews/72/LineLength.asp">35 &#8211; 95</a> and another a more modest <a href="http://people.dsv.su.se/~jpalme/internet-course/font-report.html">40 &#8211; 80</a>, depending on the font used).  This falls in line with print typography guidelines that recommend anywhere from 11-15 words per line.  As you can see, there&#8217;s no final word on line-length readability, except that it falls somewhere on either side of 50 characters per line (cpl), or 13 words per line (wpl).</p>
<p>Presuming, then, that a Web designer wants to present reading text at around 50cpl, flexible or elastic layouts come in handy, as they measure the width of text column(s) in em space. One can set the width of the column to, say, 45em, depending on the font, and end up with a rough average of 13 words per line. The added benefit is as the user increases or decreases her font size for readability, the width of the text column increases proportionally.</p>
<p>Fixed width designs are often measured in pixels, and a user increasing the font size does not increase the width of the line, resulting in too few cpl.  Neither do fluid designs, which are measured in %&#8211;these often result in too many cpl. And for most users with ultra-high resolution screens, fonts are often too small and require resizing.</p>
<p>A few years back I tackled this problem from a different angle.  I thought, wouldn&#8217;t it be great if, rather than changing the size of my window and/or the size of my font for optimal readability, the font size changed automatically proportional to the size of my window? So if I had a high-res screen with my browser maximized, the font would be larger. If I had a low-res screen, the font would be smaller.  In either case, the proportion would equal Your Favorite Line Length.</p>
<p>There is no % unit of measurement for font-size in CSS, so I had to turn to JavaScript to calculate my font&#8217;s size based on the DOM window size.  A few years back, our <a href="http://www.linkedin.com/pub/3/958/25a">Web developer Brandon Groff</a> worked with me to write the JavaScript that would do this, and the effect was most elegant: <a target="_blank" href="http://learningfield.org/resources/stein/js/fonter.html">here&#8217;s a quite plain example</a>.</p>
<p>A few notes:</p>
<ol>
<li>JavaScript recalculates the desired font-size based on the window size and reloads the page on resize</li>
<li>The font&#8217;s proportional size is based on a JavaScript variable that can be static or adjustable</li>
<li>Changing the value in the text input before resizing alters the font-size&#8217;s proportion. A &#8220;1&#8243; roughly equates to 100% of the body&#8217;s width.</li>
<li>At least one known bug: if the user increases or decreases the font size through their browser, the script it breaks.</li>
<li>This JavaScript is a bit old, and I hope to evaluate it line by line for currency and efficiency.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://flexknowlogy.learningfield.org/2008/06/26/setting-font-size-proportional-to-window-size/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Roger Johansson Reviews &quot;Designing Web Navigation&quot;</title>
		<link>http://flexknowlogy.learningfield.org/2008/03/19/roger-johansson-reviews-designing-web-navigation/</link>
		<comments>http://flexknowlogy.learningfield.org/2008/03/19/roger-johansson-reviews-designing-web-navigation/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 17:47:30 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[web dev]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[dgm2740]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://flexknowlogy.learningfield.org/2008/03/19/roger-johansson-reviews-designing-web-navigation/</guid>
		<description><![CDATA[Roger Johansson posted up a good, general review of the new O&#8217;Reilly book, &#8220;Designing Web Navigation&#8221;. The first question Johansson asks is a good one, i.e. &#8220;We need a whole book on designing Web navigation?&#8221; If you&#8217;ve ever struggled with navigation of a Web site, or know anything about the idea of the &#8220;scent of [...]]]></description>
			<content:encoded><![CDATA[<p>Roger Johansson posted up a good, general review of <a href="http://www.amazon.com/gp/product/0596528108?ie=UTF8&amp;tag=456bereastree-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0596528108?">the new O&#8217;Reilly book, &#8220;Designing Web Navigation&#8221;</a>.  The first question Johansson asks is a good one, i.e. &#8220;We need a whole book on designing Web navigation?&#8221;  If you&#8217;ve ever struggled with navigation of a Web site, or know anything about the idea of the &#8220;scent of information&#8221; I think you&#8217;ll agree that the answer is, &#8220;Yes.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://flexknowlogy.learningfield.org/2008/03/19/roger-johansson-reviews-designing-web-navigation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

