<?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>A Party to the World &#187; school</title>
	<atom:link href="http://dan.lecocq.us/wordpress/category/school/feed/" rel="self" type="application/rss+xml" />
	<link>http://dan.lecocq.us/wordpress</link>
	<description>Life, love, and computer science</description>
	<lastBuildDate>Fri, 06 Jan 2012 17:21:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Things I Wish Software Engineering Pounded Into My Head</title>
		<link>http://dan.lecocq.us/wordpress/2011/05/31/things-i-wish-software-engineering-pounded-into-my-head/</link>
		<comments>http://dan.lecocq.us/wordpress/2011/05/31/things-i-wish-software-engineering-pounded-into-my-head/#comments</comments>
		<pubDate>Tue, 31 May 2011 17:50:53 +0000</pubDate>
		<dc:creator>dan.lecocq</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[issue tracking]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[unit testing]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=938</guid>
		<description><![CDATA[Until recently, I bore the burden of a dirty little secret: I didn&#8217;t use unit testing. I don&#8217;t know if this has been other students&#8217; experience, but my software engineering course could have been a lot better. Perhaps it&#8217;s a topic that requires students to determine their own level of involvement, but particularly, I am [...]]]></description>
			<content:encoded><![CDATA[<p>Until recently, I bore the burden of a dirty little secret: I didn&#8217;t use unit testing. I don&#8217;t know if this has been other students&#8217; experience, but my software engineering course could have been a lot better. Perhaps it&#8217;s a topic that requires students to determine their own level of involvement, but particularly, I am irked that these issues were not as developed as they could have been:</p>
<ol>
<li>Version control &#8211; svn, git, something! Anything, really! Just use something!</li>
<li>Unit testing &#8211; sure we talked about it, but its utility isn&#8217;t clear until you use it in earnest</li>
<li>Documentation &#8211; always felt more like a chore than a tool</li>
<li>Issue tracking &#8211; <a href="http://www.joelonsoftware.com/articles/fog0000000029.html">Joel on Software</a> said it best: &#8220;I was born with only two bug-storing-slots in my brain.&#8221;</li>
<li>More best practices &#8211; <a href="http://www.aristeia.com/books.html">Effective C++</a> (it&#8217;s worth it &#8212; get it and read it) alone was worth more than the course was.
</ol>
<p>I concede that these are things whose utility might be hard to convey to college students who may or may not be working on projects they really believe in. Still, very important.</p>
<p>One of the things I like about documentation is that you can refer to the documentation when uncertain about side-effects, input, etc. of functions and you don&#8217;t really feel like reading through code and trying to keep it in your brain-RAM. Not only that, but I usually refer to my own documentation to get an idea of the guarantee that a function was offering, to try to make sure that it&#8217;s making those <strong>same guarantees after I make changes</strong>. Not only this, but <strong>articulating functionality crystalizes it&#8217;s implications</strong> in your mind. When describing how something works to a friend, it often reminds you of issues you hadn&#8217;t considered. Writing documentation is the same in this respect.</p>
<p>When working with other people, while it&#8217;s nice to be able to talk face-to-face, the issues we think of that need changing go in one ear and out the other for me. Not that it wasn&#8217;t a good idea, but my brain-RAM is not infinite. <strong>Bugs, features, ideas, issues all get paged out of my head. Write them down instead,</strong> which is where issue tracking comes in. Design questions and decisions come out of issues all the time, and the trail of comments and discussion make a nice reference for documentation.</p>
<p>I find that when I&#8217;m fixing a bug, the functionality of that chunk of code gets reduced to that particular feature in my mind. So, if when I try using it, if that bug is fixed, then my job is done. But we&#8217;ve all experienced unintended side effects, where in fixing one thing, we break another. Having a list of features to check is a step up from trying to remember the things that need to work, but it&#8217;s much less than the power of unit testing. I&#8217;ve recently been using <a href="http://unittest-cpp.sourceforge.net/UnitTest++.html">UnitTest++</a> for C++ applications, and <a href="http://docs.jquery.com/QUnit">QUnit</a> from the jQuery people, and have been pleased to thrilled. It allows you to <strong>check functionality exhaustively and quickly on a whim</strong>. Even the task of <strong>writing the tests forces you to define the functional requirements of your code</strong>, and I find it helps to clarify a lot.</p>
<p>Version control lets you try crazy new approaches and track changes, isn&#8217;t that great? I was helping a friend last semester with some of his code, and he was trying to make code changes with copy, paste, and the undo buffer. In the end, he ended up introducing more bugs into the code than he was fixing. <strong>It&#8217;s intractable to keep these kinds of code changes in your brain-RAM.</strong> Use something, use anything. I have a qualm with svn because it was something I used so rarely, I could never remember how to set it up. <strong>Even a barrier as small as that was enough to prevent me from using version control at all.</strong> I love git because it&#8217;s so easy to set up, I use it for almost anything: from a report (if using LaTeX), to a weekend project, to my thesis. There are tons of tools out there, but <strong>just use something.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2011/05/31/things-i-wish-software-engineering-pounded-into-my-head/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EPICS</title>
		<link>http://dan.lecocq.us/wordpress/2010/06/16/epics/</link>
		<comments>http://dan.lecocq.us/wordpress/2010/06/16/epics/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 01:04:08 +0000</pubDate>
		<dc:creator>dan.lecocq</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[EPICS]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[space]]></category>
		<category><![CDATA[weather balloon]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=850</guid>
		<description><![CDATA[Engineering Practices Introductory Course Sequence. Every student from the Colorado School of Mines has taken the two-course series, and talks about it with a slight distaste in his mouth. For some students it&#8217;s a much-needed first pass at writing reports, dressing up, speaking in front of others. (This is something I&#8217;ve actually come to appreciate [...]]]></description>
			<content:encoded><![CDATA[<p>Engineering Practices Introductory Course Sequence.  Every student from the Colorado School of Mines has taken the two-course series, and talks about it with a slight distaste in his mouth.  For some students it&#8217;s a much-needed first pass at writing reports, dressing up, speaking in front of others.  (This is something I&#8217;ve actually come to appreciate about the system &#8211; its emphasis on presenting to peers.)</p>
<p>I remember when I took it, we were supposed to design a small device within certain (relatively arbitrary) constraints to collect a soil sample.  The premise was unrelatable &#8211; that we might one day be responsible for a subsystem deployed to collect a soil sample on a distant planet, without thought about its return.</p>
<p>It&#8217;s become rather popular lately in certain communities to program and attach digital cameras to weather balloons and take pictures from as high up as 30km (about 20 miles) or so.  The results speak for themselves:</p>
<p><object width="590" height="332"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=12421661&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=12421661&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="590" height="332"></embed></object></p>
<p>What I found regrettable about my EPICS experience was that it was too far removed to really care about the project.  It had its fun moments, and I was glad that for EPICS 2 I got to work on a project I really believed in with some friends (it was a considerable improvement).  But this is an example of a project I contemplate and eye over longingly, even outside the context of a course.  Similar projects can cost on the order of a couple hundred dollars and are relatively feasible, even for freshman engineers.  To have something you built venture farther from the earth than any one of us likely ever will, bring back pictures and live to tell the tale would be extremely rewarding.</p>
<p>Had there been projects like this when I was in school, I know that my experience would have been that much more enriched.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2010/06/16/epics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenGLot Release</title>
		<link>http://dan.lecocq.us/wordpress/2009/11/30/openglot-release/</link>
		<comments>http://dan.lecocq.us/wordpress/2009/11/30/openglot-release/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 07:31:59 +0000</pubDate>
		<dc:creator>dan.lecocq</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[KAUST]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[openglot]]></category>
		<category><![CDATA[plotting]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=746</guid>
		<description><![CDATA[A short while ago I posted a new release of OpenGLot, which featured parametric curves, scalar fields, contour lines and flow fields all implemented in GLSL shaders. And they support time dependence. It can plot virtually any function in x, y and t, and on my MacBook with its NVIDIA GeForce 9400M it has been [...]]]></description>
			<content:encoded><![CDATA[<p>A short while ago I posted a new release of OpenGLot, which featured parametric curves, scalar fields, contour lines and flow fields all implemented in GLSL shaders.</p>
<p>And they support time dependence.</p>
<p>It can plot virtually any function in x, y and t, and on my MacBook with its NVIDIA GeForce 9400M it has been getting 10k+ fps.  I&#8217;m still a little surprised by this number, but it seems to be running at that speed.</p>
<div id="attachment_747" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/flow.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/flow-300x281.png" alt="Flow (vector) fields appear as advected dye. They&#039;re currently streamlines, but in the near future I hope to support streaklines and particle flow as well." title="flow" width="300" height="281" class="size-medium wp-image-747" /></a><p class="wp-caption-text">Flow (vector) fields appear as advected dye. They're currently streamlines, but in the near future I hope to support streaklines and particle flow as well.</p></div>
<div id="attachment_748" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/scalar.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/scalar-300x281.png" alt="Scalar fields appear as a mapping of height onto color.  If this function were to be plotted in 3D, it would like a sheet rippling, but sometimes it&#039;s more useful to see it in 2D." title="scalar" width="300" height="281" class="size-medium wp-image-748" /></a><p class="wp-caption-text">Scalar fields appear as a mapping of height onto color.  If this function were to be plotted in 3D, it would like a sheet rippling, but sometimes it's more useful to see it in 2D.</p></div>
<p>On of the great thing about implementing this on the graphics card is that it doesn&#8217;t require much CPU time on the machine running it.  Even at 10k frames per second, my MacBook never uses more than 30% of a single core&#8217;s time.  A place where this particularly shines is on tiled displays &#8211; a bunch of HDTVs tiled together to run as if it were one large screen.  In such setups, a computer will control 2-4 screens, and each computer&#8217;s graphics card has enough power to run the animation for its portion of the screen.  There are still some bugs to be worked out, but I ran a proof-of-concept on one of the tiled displays at KAUST.</p>
<div id="attachment_752" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/IMG_0014.JPG"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/IMG_0014-300x225.jpg" alt="Running a demo of OpenGLot on a KAUST tiled display" title="IMG_0014" width="300" height="225" class="size-medium wp-image-752" /></a><p class="wp-caption-text">Running a demo of OpenGLot on a KAUST tiled display</p></div>
<p>Lately I&#8217;ve been working on getting the 3D analogs of the various 2D primitives working, again all with time dependence (it&#8217;s the support for animation that really makes this shine in my mind).  So far it&#8217;s surfaces, parametric curves and surfaces and flow fields, but the flow fields have some work yet.  It turns out that while modern hardware is definitely capable of handling 3D flow fields, it doesn&#8217;t actually make much sense when you see the result &#8211; it&#8217;s just too busy.  To be able to easily visualize flow in 3D is very much an open problem.</p>
<div id="attachment_753" class="wp-caption aligncenter" style="width: 302px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/3d-flow.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/3d-flow-292x300.png" alt="3D streamlines end up just becoming confusing more than they are helpful." title="3d-flow" width="292" height="300" class="size-medium wp-image-753" /></a><p class="wp-caption-text">3D streamlines end up just becoming confusing more than they are helpful.</p></div>
<p>In order to get some interesting shapes working, I had to add support for cylindrical and spherical coordinates which is actually providing an interesting challenge &#8211; how best to generate the shaders.  The shader source code (that runs on the graphics card) is generated and compiled when you run OpenGLot, and I&#8217;ve not found an altogether easy and intuitive interface for adding simple coordinate transformations to it.  Still, it works, but the programatic interface will likely change.</p>
<div id="attachment_750" class="wp-caption aligncenter" style="width: 302px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/torus.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/torus-292x300.png" alt="This is a torus of sorts, which I got as an example from Grapher.app" title="torus" width="292" height="300" class="size-medium wp-image-750" /></a><p class="wp-caption-text">This is a torus of sorts, which I got as an example from Grapher.app</p></div><br />
<div id="attachment_751" class="wp-caption aligncenter" style="width: 302px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/torus_normals.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/torus_normals-292x300.png" alt="This is the same torus, just colored by using its surface normals as RGB values" title="torus_normals" width="292" height="300" class="size-medium wp-image-751" /></a><p class="wp-caption-text">This is the same torus, just colored by using its surface normals as RGB values</p></div>
<p>In order to determine surface normals (which are something usually determined when one defines the geometry of an object), the vertex shader approximates various derivatives numerically.  So far, the shading results have been pretty decent.</p>
<div id="attachment_749" class="wp-caption aligncenter" style="width: 302px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/surface_normals.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/surface_normals-292x300.png" alt="A trigonometric function, colored by mapping the surface normals to colors" title="surface_normals" width="292" height="300" class="size-medium wp-image-749" /></a><p class="wp-caption-text">A trigonometric function, colored by mapping the surface normals to colors</p></div><br />
<div id="attachment_755" class="wp-caption aligncenter" style="width: 302px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/surface2_texture.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/surface2_texture-292x300.png" alt="The superimposition of two trigonometric functions, lit based on their surface normals and a texture to give visual clues about distortion" title="surface2_texture" width="292" height="300" class="size-medium wp-image-755" /></a><p class="wp-caption-text">The superimposition of two trigonometric functions, lit based on their surface normals and a texture to give visual clues about distortion</p></div>
<p>I&#8217;m still working on making video of this in action available, but so far a number of the tools I would usually use have come up short.  I&#8217;ve been trying to integrate a video encoder into a utility library for OpenGLot so it can record video straight out of the box, but the framerate is still too low.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2009/11/30/openglot-release/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>VTK and Volume Visualization</title>
		<link>http://dan.lecocq.us/wordpress/2009/11/09/vtk-and-volume-visualization/</link>
		<comments>http://dan.lecocq.us/wordpress/2009/11/09/vtk-and-volume-visualization/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 18:40:25 +0000</pubDate>
		<dc:creator>dan.lecocq</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[chest]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[CT]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[pvm]]></category>
		<category><![CDATA[raw]]></category>
		<category><![CDATA[visualization]]></category>
		<category><![CDATA[volume]]></category>
		<category><![CDATA[vtk]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=705</guid>
		<description><![CDATA[This week for Scientific Visualization, we&#8217;re talking about volume rendering and using VTK to explore some data. I got some datasets from The Volume Library and after a little tinkering, got VTK to render them. (And now a quick aside on how to do this as I didn&#8217;t find much information on the subject). I [...]]]></description>
			<content:encoded><![CDATA[<p>This week for Scientific Visualization, we&#8217;re talking about volume rendering and using VTK to explore some data.  I got some datasets from <a href="http://www9.informatik.uni-erlangen.de/External/vollib/">The Volume Library</a> and after a little tinkering, got VTK to render them. (And now a quick aside on how to do this as I didn&#8217;t find much information on the subject).</p>
<p>I used a tool (pvm2raw) available as part of the <a href="http://www.stereofx.org/volume.html">V^3</a> library to convert the pvm files to raw, but VTK requires its own simple <a href="http://www.eichberger.de/2005/10/how-to-convert-raw-file-to-vtk.html">header</a>.  I actually found that this particular header didn&#8217;t work (perhaps a VTK versioning problem?) and so taking guidance from this, checked the header of one of the VTK-included volumes:<br />
<code><br />
bash $> head VTKData/ironProt.vk<br />
</code></p>
<p>This header more or less included a little information on the grid size, spacing and representation of the data:<br />
<code><br />
# vtk DataFile Version 1.0<br />
&lt;Name of File&gt;</p>
<p>BINARY</p>
<p>DATASET STRUCTURED_POINTS</p>
<p>DIMENSIONS &lt;x&gt; &lt;y&gt; &lt;z&gt;<br />
ASPECT_RATIO 1 &lt;y/x&gt; &lt;z/x&gt;<br />
ORIGIN 0 0 0</p>
<p>POINT_DATA &lt;x * y * z&gt;<br />
SCALARS scalars &lt;unsigned_char|unsigned_short&gt;<br />
LOOKUP_TABLE default<br />
&lt;remember to include a newline here&gt;<br />
</code></p>
<p>Concatenating the header with the raw:<br />
<code><br />
bash $> cat header CT-Head.raw > CT-Head.vtk<br />
</code></p>
<p>At that point, I was in business and was able to move on to generating pretty pictures.  Granted, these datasets are pretty sparse, but still VTK did a pretty reasonable job.  <strong>Update:</strong> a comment asked for a little bit more detail on this assignment, and so I&#8217;m including <a href='http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/report.pdf'>my report</a> for the project.</p>

<a href='http://dan.lecocq.us/wordpress/2009/11/09/vtk-and-volume-visualization/bruce/' title='Bruce'><img width="150" height="150" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/Bruce-150x150.png" class="attachment-thumbnail" alt="Bruce Gooch&#039;s Head" title="Bruce" /></a>
<a href='http://dan.lecocq.us/wordpress/2009/11/09/vtk-and-volume-visualization/chest/' title='chest'><img width="150" height="150" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/chest-150x150.png" class="attachment-thumbnail" alt="A CT-scan of a human chest" title="chest" /></a>
<a href='http://dan.lecocq.us/wordpress/2009/11/09/vtk-and-volume-visualization/chest2/' title='chest2'><img width="150" height="150" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/chest2-150x150.png" class="attachment-thumbnail" alt="The same chest, from a different direction" title="chest2" /></a>
<a href='http://dan.lecocq.us/wordpress/2009/11/09/vtk-and-volume-visualization/engine/' title='engine'><img width="150" height="150" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/engine-150x150.png" class="attachment-thumbnail" alt="An engine of some type" title="engine" /></a>
<a href='http://dan.lecocq.us/wordpress/2009/11/09/vtk-and-volume-visualization/foot/' title='foot'><img width="150" height="150" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/foot-150x150.png" class="attachment-thumbnail" alt="A foot. &#039;Nuff said." title="foot" /></a>
<a href='http://dan.lecocq.us/wordpress/2009/11/09/vtk-and-volume-visualization/orange/' title='orange'><img width="150" height="150" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/11/orange-150x150.png" class="attachment-thumbnail" alt="A delicious orange" title="orange" /></a>

<p>I was amazed today that we can see inside of things&#8230; without taking them apart.  What an age to live in.  Especially the <a href="http://www.visualiseringscenter.se/1/1.0.1.0/230/1/">virtual autopsy table</a> I read about recently.  In 20 years, we&#8217;ll have Firefly-style real-time holographic body scans (ignore music, skip to 0:45):</p>
<p><object width="480" height="385" class="aligncenter"><param name="movie" value="http://www.youtube.com/v/Kgq_Psl9N6Q&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Kgq_Psl9N6Q&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2009/11/09/vtk-and-volume-visualization/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Book Review: Tufte&#8217;s &#8220;The Visual Display of Quantitative Information&#8221;</title>
		<link>http://dan.lecocq.us/wordpress/2009/10/26/book-review-tuftes-the-visual-display-of-quantitative-information/</link>
		<comments>http://dan.lecocq.us/wordpress/2009/10/26/book-review-tuftes-the-visual-display-of-quantitative-information/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 19:52:54 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[books]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[numbers]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=649</guid>
		<description><![CDATA[A professor of mine recently criticized some graphs I submitted on a paper and handed me a book by Edward Tufte called The Visual Display of Quantitative Information. It shreds on graphs made in order to show four numbers, or obvious flaws in design giving misleading impressions of numbers. He talks about the misconception that [...]]]></description>
			<content:encoded><![CDATA[<p>A professor of mine recently criticized some graphs I submitted on a paper and handed me a book by <a href="http://www.edwardtufte.com/">Edward Tufte</a> called <a href="http://www.amazon.com/gp/product/0961392142?ie=UTF8&#038;tag=dan.lecocq-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0961392142">The Visual Display of Quantitative Information</a><img src="http://www.assoc-amazon.com/e/ir?t=dan.lecocq-20&#038;l=as2&#038;o=1&#038;a=0961392142" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />.  It shreds on graphs made in order to show four numbers, or obvious flaws in design giving misleading impressions of numbers.</p>
<p>He talks about the misconception that graphics lie.  Of course <em>some</em> do, but his attitude encapsulates well what I think is great about visualization &#8211; good representations convey understanding. Graphics <em>can</em> be the most effective way to get a handle on data, or a trend, and they should reveal what underlies the numbers.  But in a world of Excel and every insignificant and meaningless piece interrelationship being plotted in an impressive-looking format, it&#8217;s easy to forget this.</p>
<p>A quote I heard recently in my Scientific Visualization course (thanks, Thomas!) puts it well:</p>
<blockquote><p>
Visualize to inform, not to impress. If you really inform, you will impress. &#8211; Fred Brooks. SIGGRAPH 2003
</p></blockquote>
<p>Although a child can understand a time series, it wasn&#8217;t until a couple hundred years ago that they were actually used, as Tufte points out, but its power to convey is obvious.  Similarly, just from glancing at a map like this one from the <a href="http://memory.loc.gov/cgi-bin/map_item.pl?data=/home/www/data/gmd//gmd370m/g3701m/g3701gm/gct00013/ca000192.jp2&#038;itemLink=r?ammem/gmd:@field(NUMBER+@band(g3701gm+gct00013))&#038;title=The+national+atlas+of+the+United+States+of+America.++-+Family+Income&#038;style=setlmap&#038;legend=">census bureau</a>, one can almost instantly understand the distribution of income across the United States &#8211; literally tens of thousands of pieces of data.</p>
<div id="attachment_657" class="wp-caption aligncenter" style="width: 241px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/10/income.jpg"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/10/income-231x300.jpg" alt="A US Census Bureau graphic depicting the income of the 3000+ counties of the United States." title="income" width="231" height="300" class="size-medium wp-image-657" /></a><p class="wp-caption-text">A US Census Bureau graphic depicting the income of the 3000+ counties of the United States.</p></div>
<p>In this vein of conveying understanding, I remember several years ago now watching a TED Talk that immediately captivated me with visualization. Hans Rosling talks about how often when we see the rows about rows and tables upon tables of the massive amounts of census data, not only do our eyes glaze over but it becomes very difficult to keep it all in one&#8217;s head at any one time.  Visualizing the data is thus a key tool for gaining the insight we seek.</p>
<p><object width="446" height="326" class="aligncenter"><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"></param><param name="allowFullScreen" value="true" /><param name="wmode" value="transparent"></param><param name="bgColor" value="#ffffff"></param><param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/HansRosling_2007-medium.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/HansRosling-2007.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=140&#038;introDuration=16500&#038;adDuration=4000&#038;postAdDuration=2000&#038;adKeys=talk=hans_rosling_reveals_new_insights_on_poverty;year=2007;theme=spectacular_performance;theme=numbers_at_play;theme=what_s_next_in_tech;theme=rethinking_poverty;theme=presentation_innovation;event=TED2007;&#038;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /><embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" flashvars="vu=http://video.ted.com/talks/dynamic/HansRosling_2007-medium.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/HansRosling-2007.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=140&#038;introDuration=16500&#038;adDuration=4000&#038;postAdDuration=2000&#038;adKeys=talk=hans_rosling_reveals_new_insights_on_poverty;year=2007;theme=spectacular_performance;theme=numbers_at_play;theme=what_s_next_in_tech;theme=rethinking_poverty;theme=presentation_innovation;event=TED2007;"></embed></object></p>
<p>The book is full of tremendous insight about how ink should be used as efficiently as possible (within reason &#8211; Tufte is quick to emphasize this point) and that the human eye has a great capacity for handling dense data sets if presented efficiently.  It is an entirely necessary resource for anyone who intends to pursue any science, nay, anyone intends to pursue any discipline dealing with numbers.</p>
<p>He has several other books, all of which I intend to read as I was virtually unable to put down the book; I was constantly floored by the myriad examples of strong and weak graphics alike.  He also published a <a href="http://www.amazon.com/exec/obidos/ASIN/0961392185/ref=nosim/kkorg-20">book by his mother</a> that I happened to encounter recently via <a href="http://www.kk.org/cooltools/archives/003977.php">Cool Tools</a>.</p>
<p>I&#8217;ll close with a brief excerpt from his book with which I was taken:</p>
<blockquote><p>
Words and pictures belong together.  Viewers need the help that words can provide.  Words on graphics are data-ink, making effective use of the space freed up by erasing redundant and non-data-ink.  It is nearly always helpful to write little messages on the plotting field to explain the data, to label outliers and interesting data points, to write equations and sometimes table son the graphic itself, and to integrate the caption and legend into the design so that the eye is not required to dart back and fort between textual material and the graphic.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2009/10/26/book-review-tuftes-the-visual-display-of-quantitative-information/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>KAUST &#8211; A Month&#8217;s Reflection</title>
		<link>http://dan.lecocq.us/wordpress/2009/09/17/kaust-a-months-reflection/</link>
		<comments>http://dan.lecocq.us/wordpress/2009/09/17/kaust-a-months-reflection/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 21:00:38 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[KAUST]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[Arabia]]></category>
		<category><![CDATA[organized]]></category>
		<category><![CDATA[representation]]></category>
		<category><![CDATA[Saudi]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=571</guid>
		<description><![CDATA[One month ago, I stepped onto Saudi Arabian soil for what I anticipated to be a magical experience coming to KAUST. Well, yes and no. For our first three weeks here, 350+ students were stowed in a hotel. Granted, the Intercontinental is a nice hotel but they told us that they&#8217;d be bringing us here [...]]]></description>
			<content:encoded><![CDATA[<p>One month ago, I stepped onto Saudi Arabian soil for what I anticipated to be a magical experience coming to KAUST. Well, yes and no.</p>
<p>For our first three weeks here, 350+ students were stowed in a hotel. Granted, the Intercontinental is a nice hotel but they told us that they&#8217;d be bringing us here early so that we might get settled &#8211; buy the things like blenders and speakers that we needed, and work the kinks out of our newly minted apartments. We did take care of things like applying for iqamas (our residency permits), but outside of that, we were by and large sitting around.</p>
<p>One event they put on for us that I know I enjoyed was they managed to take 100 students into the desert to go four-wheeling.  That was actually pretty awesome.</p>
<p>Five days of orientation beginning the last days of August, largely filled with cultural sensitivity issues and massively behind schedule.  There seems to be some cultural disagreement about punctuality, but with no exaggeration, one of these mornings the <em>opening</em> presentations scheduled for 8 am did not get under way until 10.  And when you tack on an hour-and-a-half commute from the hotel to the campus, you get a bunch of tired students who would much rather be elsewhere. As a final `can&#8217;t believe it&#8217;s so&#8217; moment, it was all scheduled during Ramadan &#8211; so students who were fasting and who would otherwise be sleeping had to be awake and active.</p>
<p>Getting to campus was another ordeal. We were all very excited to move in, and then largely disappointed to find everything from rodents to black mold, leaky pipes to bottled `leavings&#8217; of construction workers. A few days later, ceilings began to collapse in some units.</p>
<p>At this point, school had started, of course. Like many others, for the first few days of class I was sleeping on a friend&#8217;s couch.  When I and about a dozen other students were scheduled to move in (getting up at 7:30 to come to campus in time), we were told that it would be about an hour until we could be given keys and move in, but ended up waiting 7 hours to be told that there was no way we would be able to move in, and had to go back to Jeddah.</p>
<p>Books for most classes have still not arrived. We haven&#8217;t any clusters online for high-performance computing. In some disciplines, labs won&#8217;t be online until 2010. The second fastest supercomputer in academia sits dormant in the basement of one of our buildings because the data center is not clean.</p>
<p>I would like to make it clear that I understand that anything this big getting off the ground so quickly is bound to have problems. There were going to be wrinkles (if not kinks) to work out, and I can appreciate that. I hope to not descend into a rant as frankly I&#8217;m all ranted out.</p>
<p>There have been perks &#8211; the food on campus is free to students for an indeterminate amount of time; our books will be purchased for us this semester; there have been goodies abundant to be had (from t-shirts to thumb-drives).  As much as I love a thumb drive, I would have preferred something else &#8211; a home.</p>
<p>That said, the students have mobilized. We&#8217;ve signed petitions, we&#8217;ve organized, and we&#8217;ve gotten interim student representation in place. We wanted to convey the idea that we don&#8217;t want to perpetually complain but would like to help out if that means us coming into a better situation. And despite some of our expectations, within two days, the administration had contacted us to schedule meetings and put us in contact with the contractors in charge of this and that (IT, housing, etc.).  It&#8217;s actually been very inspiring to see the actions we take have tangible results. Had to talked to me two days ago, you would have found me a very tired and disenchanted man, but today I&#8217;m very hopeful.</p>
<p>In terms of academics, I am really happy with the faculty. I&#8217;ve secured a TA position, and I spend a couple hours a day with this prof in a constant stream of geeking out. And I spoke yesterday to a prof for two hours about the research he&#8217;s doing and how I might get involved on that front. Depending on how this goes, I&#8217;d be willing to consider staying on for a PhD!</p>
<p>I&#8217;ve made instant friends with a couple of students here, and three of us have gotten a license to host a local TED event: TEDxKAUST.  We&#8217;ll replay some of our favorite talks, and those we think would be most inspiring to students here, and we hope to get a couple of professors to present as well. In our budget, we&#8217;ve been able to allocate funds to booths and demos and if all goes well (read: gets approved), we&#8217;ll have a <a href="http://www.youtube.com/watch?v=gpCquUWqaYw">Ruben&#8217;s Tube</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2009/09/17/kaust-a-months-reflection/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Stanford Dragon and Gouraud Shading</title>
		<link>http://dan.lecocq.us/wordpress/2009/05/12/stanford-dragon-and-gouraud-shading/</link>
		<comments>http://dan.lecocq.us/wordpress/2009/05/12/stanford-dragon-and-gouraud-shading/#comments</comments>
		<pubDate>Tue, 12 May 2009 18:57:38 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[gouraud shading]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[models]]></category>
		<category><![CDATA[octtrees]]></category>
		<category><![CDATA[ray tracing]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=540</guid>
		<description><![CDATA[I recently finished up school, and part of that was finishing up my ray tracing project. At the last minute, I implemented Gouraud shading which is a technique to try to smooth out a triangulated surface. What it really does is just linearly interpolate the normal vectors, where the normal of a vertex is calculated [...]]]></description>
			<content:encoded><![CDATA[<p>I recently finished up school, and part of that was finishing up my ray tracing project.  At the last minute, I implemented Gouraud shading which is a technique to try to smooth out a triangulated surface.  What it really does is just linearly interpolate the normal vectors, where the normal of a vertex is calculated as a weighted average of the normals of the triangles using that vertex.</p>
<p>Long story short:<br />
<div id="attachment_542" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/05/bunny1.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/05/bunny1-300x300.png" alt="A render of the Stanford bunny with my raytracer without Gouraud shading." title="bunny_flat" width="300" height="300" class="size-medium wp-image-542" /></a><p class="wp-caption-text">A render of the Stanford bunny with my raytracer without Gouraud shading.</p></div></p>
<div id="attachment_543" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/05/bunnysmooth.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/05/bunnysmooth-300x300.png" alt="A render of the Stanford bunny with smooth Gouraud shading." title="bunnysmooth" width="300" height="300" class="size-medium wp-image-543" /></a><p class="wp-caption-text">A render of the Stanford bunny with smooth Gouraud shading.</p></div>
<p>Also, thanks to an improvement in my parallelization of the problem and a speedup in octtree traversal, I was able to render the Stanford dragon model (~1 million triangles):</p>
<div id="attachment_544" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/05/dragon.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/05/dragon-300x168.png" alt="The Stanford dragon model." title="dragon" width="300" height="168" class="size-medium wp-image-544" /></a><p class="wp-caption-text">The Stanford dragon model.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2009/05/12/stanford-dragon-and-gouraud-shading/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tomorrow!</title>
		<link>http://dan.lecocq.us/wordpress/2009/05/07/tomorrow/</link>
		<comments>http://dan.lecocq.us/wordpress/2009/05/07/tomorrow/#comments</comments>
		<pubDate>Thu, 07 May 2009 20:25:54 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[graduation]]></category>
		<category><![CDATA[tomorrow]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=537</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<div id="attachment_538" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/05/grad.jpg"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/05/grad-300x224.jpg" alt="Tomorrow!" title="grad" width="300" height="224" class="size-medium wp-image-538" /></a><p class="wp-caption-text">Tomorrow!</p></div>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2009/05/07/tomorrow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ray Tracer &#8211; Now With Animation</title>
		<link>http://dan.lecocq.us/wordpress/2009/04/06/ray-tracer-now-with-animation/</link>
		<comments>http://dan.lecocq.us/wordpress/2009/04/06/ray-tracer-now-with-animation/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 03:16:04 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[ray tracer]]></category>
		<category><![CDATA[render]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=495</guid>
		<description><![CDATA[It occurred to me today that I could render a scene several times with slight perturbations and then mesh them together into a movie. It took about 15 minutes to render on a cluster at Mines, and then about a minute to stitch together with Mencoder. At 18 frames per second, here is the result. [...]]]></description>
			<content:encoded><![CDATA[<p>It occurred to me today that I could render a scene several times with slight perturbations and then mesh them together into a movie.  It took about 15 minutes to render on a cluster at Mines, and then about a minute to stitch together with Mencoder.  At 18 frames per second, here is the result.  Enjoy!</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/mWT0UOBTT5Y&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0x006699&#038;color2=0x54abd6"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/mWT0UOBTT5Y&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0x006699&#038;color2=0x54abd6" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2009/04/06/ray-tracer-now-with-animation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Parallel Ray Tracer</title>
		<link>http://dan.lecocq.us/wordpress/2009/04/04/parallel-ray-tracer/</link>
		<comments>http://dan.lecocq.us/wordpress/2009/04/04/parallel-ray-tracer/#comments</comments>
		<pubDate>Sat, 04 Apr 2009 21:54:05 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[parallel]]></category>
		<category><![CDATA[ray tracing]]></category>
		<category><![CDATA[raytracer]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=480</guid>
		<description><![CDATA[This afternoon I was able to successfully parallelize the ray tracer I wrote for Graphics II to run on the Alamode cluster at Mines. Using 17 machines, I was able to render a 4,096 x 4,096 pixel image with 25 passes and up to 5 reflections. It took only 1 minute and 20 seconds. For [...]]]></description>
			<content:encoded><![CDATA[<p>This afternoon I was able to successfully parallelize the ray tracer I wrote for Graphics II to run on the Alamode cluster at Mines.  Using 17 machines, I was able to render a 4,096 x 4,096 pixel image with 25 passes and up to 5 reflections.  It took only 1 minute and 20 seconds.<br />
<div id="attachment_481" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/04/output.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/04/output-300x300.png" alt="Reflective spheres rendered at high resolution on a small cluster." title="Spheres" width="300" height="300" class="size-medium wp-image-481" /></a><p class="wp-caption-text">Reflective spheres rendered at high resolution on a small cluster.</p></div><br />
<div class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/04/output1.png"><img alt="Another image rendered on the same cluster" src="http://dan.lecocq.us/wordpress/wp-content/uploads/2009/04/output8-300x300.png" title="Sphere and Triangles" width="300" height="300" /></a><p class="wp-caption-text">Another image rendered on the same cluster</p></div></p>
<p>For the benefit of those who are not computer scientists, this is what the input file looks like:<br />
<code><br />
8192 8192<br />
0 0 20<br />
-1 -1 1<br />
2 0 0<br />
0 2 0<br />
3 10 10 0.8<br />
0.2<br />
9<br />
# These next few lines will define a triangle<br />
T<br />
# With one of the points at (1, 1, 1)<br />
1 1 1<br />
# and the next point here:<br />
0.12321 0.12321 -1<br />
# and the last point here:<br />
-1 1 1<br />
# and with this color setting<br />
1 1 1 1 1 1 0 1 0.7<br />
T<br />
-1 1 1<br />
-0.12321 0.12321 -1<br />
0.12321 0.12321 -1<br />
1 1 1 1 1 1 0 1 0<br />
T<br />
1 -1 1<br />
0.12321 -0.12321 -1<br />
-1 -1 1<br />
1 1 1 1 1 1 0 1 0<br />
T<br />
-1 -1 1<br />
-0.12321 -0.12321 -1<br />
0.12321 -0.12321 -1<br />
1 1 1 1 1 1 0 1 0<br />
T<br />
1 1 1<br />
0.12321 0.12321 -1<br />
1 -1 1<br />
1 0 0 1 0 0 0 1 0<br />
T<br />
1 -1 1<br />
0.12321 -0.12321 -1<br />
0.12321 0.12321 -1<br />
1 0 0 1 0 0 0 1 0<br />
T<br />
-1 1 1<br />
-0.12321 0.12321 -1<br />
-1 -1 1<br />
1 1 0 1 1 0 0 1 0<br />
T<br />
-1 -1 1<br />
-0.12321 -0.12321 -1<br />
-0.12321 0.12321 -1<br />
1 1 0 1 1 0 0 1 0<br />
S<br />
0 0 0 0.5<br />
1 0 1 1 0 1 0 1 0.3<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2009/04/04/parallel-ray-tracer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grading</title>
		<link>http://dan.lecocq.us/wordpress/2009/01/20/grading/</link>
		<comments>http://dan.lecocq.us/wordpress/2009/01/20/grading/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 05:32:16 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[csci407]]></category>
		<category><![CDATA[grading]]></category>
		<category><![CDATA[scientific computing]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=249</guid>
		<description><![CDATA[As it&#8217;s my first semester T.A.&#8217;ing, it&#8217;s also my first semester grading. I picked up the first homework from Prof. Qiu this morning, and I just got done grading it. There are about 40-45 kids and it took about 3 hours. So, 4-5 minutes per homework &#8211; I can live with that. Tonight was also [...]]]></description>
			<content:encoded><![CDATA[<p>As it&#8217;s my first semester T.A.&#8217;ing, it&#8217;s also my first semester grading.  I picked up the first homework from Prof. Qiu this morning, and I just got done grading it.  There are about 40-45 kids and it took about 3 hours.  So, 4-5 minutes per homework &#8211; I can live with that.</p>
<p>Tonight was also the first time that a student in the class scheduled an appointment to get help with her homework.  I hadn&#8217;t looked at the upcoming homework as they just finished the first assignment, but I was very pleased when I was able to jump right in and know exactly the problem.  It&#8217;s a great feeling to know the entirety of a class without needing a refresher, and being able to take any section and just go.</p>
<p>In short, so far so good.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2009/01/20/grading/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chess</title>
		<link>http://dan.lecocq.us/wordpress/2008/12/12/chess/</link>
		<comments>http://dan.lecocq.us/wordpress/2008/12/12/chess/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 07:38:50 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[artificial intelligence]]></category>
		<category><![CDATA[chess]]></category>
		<category><![CDATA[opengl]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=212</guid>
		<description><![CDATA[For Artificial Intelligence, in order to satisfy the final project requirement, I wrote a small chess-playing agent. It&#8217;s not horrible, but it&#8217;s not going to win any awards. Still, despite its simplicity, I&#8217;ve noticed that in games against itself, it exhibits some seemingly second-order behaviors, like forks, pins, skewers and so on. I found that [...]]]></description>
			<content:encoded><![CDATA[<p>For Artificial Intelligence, in order to satisfy the final project requirement, I wrote a small chess-playing agent.  It&#8217;s not horrible, but it&#8217;s not going to win any awards.  Still, despite its simplicity, I&#8217;ve noticed that in games against itself, it exhibits some seemingly second-order behaviors, like forks, pins, skewers and so on.  I found that interesting.</p>
<p>I did write a text-based interface for playing against it, but it&#8217;s tedious to actually use, and so, having done well in graphics, I decided to write a simple GUI in OpenGL.  You can click-and-drag your pieces to where you want them, and then wait for the computer to play.  Here&#8217;s a screenshot of a game&#8217;s conclusion:<br />
<div id="attachment_213" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/12/board.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/12/board-300x300.png" alt="A game&#039;s conclusion" title="Board" width="300" height="300" class="size-medium wp-image-213" /></a><p class="wp-caption-text">A game's conclusion</p></div></p>
<p>I&#8217;d like to give the piece icons transparency on the border so that you can see the underlying square, but that will be a job for tomorrow.  Even as it is, I&#8217;m pleased with it.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2008/12/12/chess/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sex and Engineering</title>
		<link>http://dan.lecocq.us/wordpress/2008/12/04/sex-and-engineering/</link>
		<comments>http://dan.lecocq.us/wordpress/2008/12/04/sex-and-engineering/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 18:46:41 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[sex]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=204</guid>
		<description><![CDATA[There&#8217;s a guy who&#8217;s perpetually in alamode (the lab of choice for the C.S. major of discerning taste) named Feineman. It was through him that I found failblog &#8211; he was tearing through the archive and it had some pretty funny stuff. Yesterday he found yet another gem. Apparently there&#8217;s a mutex (mutual exclusion) on [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a guy who&#8217;s perpetually in alamode (the lab of choice for the C.S. major of discerning taste) named Feineman.  It was through him that I found <a href="http://failblog.org/">failblog</a> &#8211; he was tearing through the archive and it had some pretty funny stuff.</p>
<p>Yesterday he found yet another gem.  Apparently there&#8217;s a mutex (mutual exclusion) on sex and studying engineering:</p>
<div class="wp-caption aligncenter" style="width: 410px"><a href="http://secretgeek.net/image/future.jpg"><img alt="Its my future! I want to be an engineer... sex can wait!" src="http://secretgeek.net/image/future.jpg" title="Sex Can Wait!" width="400"/></a><p class="wp-caption-text">It&#39;s my future! I want to be an engineer... sex can wait!</p></div>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2008/12/04/sex-and-engineering/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>KAUST Email</title>
		<link>http://dan.lecocq.us/wordpress/2008/12/04/kaust-email/</link>
		<comments>http://dan.lecocq.us/wordpress/2008/12/04/kaust-email/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 17:11:13 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[KAUST]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[email]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=202</guid>
		<description><![CDATA[I received an email this morning with my login credentials for new KAUST email address. Those of you who would like this address, please email me at the current address you have for me. At any rate, it really solidifies the KAUSTiness, and is oddly gratifying. I&#8217;m very excited for this.]]></description>
			<content:encoded><![CDATA[<p>I received an email this morning with my login credentials for new KAUST email address.  Those of you who would like this address, please email me at the current address you have for me.</p>
<p>At any rate, it really solidifies the KAUSTiness, and is oddly gratifying.  I&#8217;m very excited for this.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2008/12/04/kaust-email/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Scientific Computing</title>
		<link>http://dan.lecocq.us/wordpress/2008/11/30/scientific-computing-2/</link>
		<comments>http://dan.lecocq.us/wordpress/2008/11/30/scientific-computing-2/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 20:24:19 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[scientific computing]]></category>
		<category><![CDATA[ta]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=181</guid>
		<description><![CDATA[A couple of weeks ago now, I spoke to a professor about the possibility of T.A.&#8217;ing next semester&#8217;s CSCI407 &#8211; Scientific Computing. It was one of my favorite classes at Mines, and I&#8217;m really looking forward to it. The professor will not be on campus from March onward, and so it will be an online [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of weeks ago now, I spoke to a professor about the possibility of T.A.&#8217;ing next semester&#8217;s CSCI407 &#8211; Scientific Computing.  It was one of my favorite classes at Mines, and I&#8217;m really looking forward to it.  The professor will not be on campus from March onward, and so it will be an online class from that point, but I&#8217;ll likely be holding regular class hours during that time.  Exciting!</p>
<p>This is all because one of my few regrets about KAUST is that I wouldn&#8217;t get a chance to T.A. or teach there as a student, so, I&#8217;m pursuing that here.</p>
<p>So, if you&#8217;ve still got Sci. Comp. left to take, take it next semester.  I hear they&#8217;re going to have a sweet T.A.!</p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2008/11/30/scientific-computing-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memory Leak</title>
		<link>http://dan.lecocq.us/wordpress/2008/11/24/memory-leak/</link>
		<comments>http://dan.lecocq.us/wordpress/2008/11/24/memory-leak/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 06:48:07 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[gdb]]></category>
		<category><![CDATA[memory leak]]></category>
		<category><![CDATA[segmentation fault]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=165</guid>
		<description><![CDATA[Memory management is a notoriously difficult aspect of coding in C++. Generally, the problems one runs into with pointers is that you get rid of the data you&#8217;re pointing to while you still need it. Gdb has become a good friend for finding segmentation faults. For those of you who aren&#8217;t computer scientists, here&#8217;s a [...]]]></description>
			<content:encoded><![CDATA[<p>Memory management is a notoriously difficult aspect of coding in C++.  Generally, the problems one runs into with pointers is that you get rid of the data you&#8217;re pointing to while you still need it.  Gdb has become a good friend for finding segmentation faults.</p>
<p>For those of you who aren&#8217;t computer scientists, here&#8217;s a quick explanation &#8211; we need space to store variables and information.  So, one way to do this is ask the system for some space, and then the system gives back an address.  Imagine mailboxes at the post office &#8211; you don&#8217;t have the stuff stored in your mailbox with you at all times, but rather the way (the key) to access it.  One problem that arises when you tell the post office you don&#8217;t need the mailbox anymore, but you don&#8217;t give back the key.  Someone else is assigned this mailbox, and his mail starts arriving in there, and when you go looking for yours, it&#8217;s not what you expect (this often causes a segmentation fault).  The other problem is when one patron keeps requesting mailboxes, and you&#8217;re only allowed to hold one key at a time, so you discard the old ones.  If you request too many, no mailboxes are left (this is a memory leak)!</p>
<p>At any rate, I don&#8217;t have much experience tracking down memory leaks, and so when I came across this problem, I asked an open question to everyone in the lab of the best way to do this.  Someone suggested I put soapy water on my program and look for bubbles.</p>
<p>I ended up looking through my code for places where this might be happening, and I happened to find it pretty quickly.  That&#8217;s pretty lucky.</p>
<div id="attachment_167" class="wp-caption aligncenter" style="width: 309px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/leak-1.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/leak-1-299x300.png" alt="A memory leak gets out of control" title="Memory Leak" width="299" height="300" class="size-medium wp-image-167" /></a><p class="wp-caption-text">A memory leak gets out of control</p></div>
<div id="attachment_168" class="wp-caption aligncenter" style="width: 309px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/leak-2.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/leak-2-299x300.png" alt="We get our memory back when the program is terminated." title="Memory Leak" width="299" height="300" class="size-medium wp-image-168" /></a><p class="wp-caption-text">We get our memory back when the program is terminated.</p></div>
<div id="attachment_171" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/picture-3.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/picture-3-300x137.png" alt="I got gdb to seg fault!" title="Broken gdb" width="300" height="137" class="size-medium wp-image-171" /></a><p class="wp-caption-text">I got gdb to seg fault!</p></div>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2008/11/24/memory-leak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Graphics Project 4</title>
		<link>http://dan.lecocq.us/wordpress/2008/11/16/graphics-project-4/</link>
		<comments>http://dan.lecocq.us/wordpress/2008/11/16/graphics-project-4/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 23:54:58 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[mosaic]]></category>
		<category><![CDATA[voronoi]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=147</guid>
		<description><![CDATA[It took me about three hours, but I got my fourth graphics project pretty much done. A little polish in terms of user interface, and one little feature, but that&#8217;s it. The project is dealing with Voronoi diagrams, and so the first part was to generate a random set of points, and then the associated [...]]]></description>
			<content:encoded><![CDATA[<p>It took me about three hours, but I got my fourth graphics project pretty much done.  A little polish in terms of user interface, and one little feature, but that&#8217;s it.</p>
<p>The project is dealing with <a href="http://en.wikipedia.org/wiki/Voronoi">Voronoi diagrams</a>, and so the first part was to generate a random set of points, and then the associated Voronoi diagram:</p>
<div id="attachment_148" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/voronoi.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/voronoi-300x282.png" alt="A Voronoi diagram" title="Voronoi" width="300" height="282" class="size-medium wp-image-148" /></a><p class="wp-caption-text">A Voronoi diagram</p></div>
<p>The next step was to actually create a mosaic.  The idea is that the whole Voronoi region should be the color of the point on the picture that corresponds to the associated Voronoi point.  At any rate, what it comes down to is pretty pictures.  I&#8217;ve included the original and mosaic version for some of the pictures we were provided.<br />
<div id="attachment_149" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/columbines-orig.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/columbines-orig-300x300.png" alt="Some Columbines" title="Original Columbines" width="300" height="300" class="size-medium wp-image-149" /></a><p class="wp-caption-text">Some Columbines</p></div><br />
<div id="attachment_150" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/columbines.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/columbines-300x282.png" alt="A mosaic version of the same columbines" title="Mosaic Columbines" width="300" height="282" class="size-medium wp-image-150" /></a><p class="wp-caption-text">A mosaic version of the same columbines</p></div><br />
<div id="attachment_151" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/guggenheim-orig.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/guggenheim-orig-300x300.png" alt="Guggenheim Hall" title="Original Guggenheim Hall" width="300" height="300" class="size-medium wp-image-151" /></a><p class="wp-caption-text">Guggenheim Hall</p></div><br />
<div id="attachment_152" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/guggenheim.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/guggenheim-300x282.png" alt="A mosaic of Guggenheim Hall" title="Mosaic Guggenheim" width="300" height="282" class="size-medium wp-image-152" /></a><p class="wp-caption-text">A mosaic of Guggenheim Hall</p></div><br />
<div id="attachment_153" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/squirrels-orig.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/squirrels-orig-300x300.png" alt="A picture of a couple of squirrels" title="Original Squirrels Pictures" width="300" height="300" class="size-medium wp-image-153" /></a><p class="wp-caption-text">A picture of a couple of squirrels</p></div><br />
<div id="attachment_154" class="wp-caption aligncenter" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/squirrels.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/squirrels-300x282.png" alt="A mosaic of two squirrels" title="Mosaic Squirrels" width="300" height="282" class="size-medium wp-image-154" /></a><p class="wp-caption-text">A mosaic of two squirrels</p></div></p>
<p>I&#8217;ve got others, but they are less than impressive.  If you&#8217;ve got a square picture that you&#8217;d like to see made into a mosaic in this way, and I like you, send it along.  Or, use any number of image editors.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2008/11/16/graphics-project-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Graphics Project 3</title>
		<link>http://dan.lecocq.us/wordpress/2008/11/01/graphics-project-3/</link>
		<comments>http://dan.lecocq.us/wordpress/2008/11/01/graphics-project-3/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 03:24:41 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[3d modeling]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[opengl]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=129</guid>
		<description><![CDATA[Not long ago we got our third graphics project assigned. In the first we wrote our own raytracer, and in the second we got familiar with OpenGL and implemented a trackball interface that would load a model and allow the user to rotate it around to see it from different angles. This third project deals [...]]]></description>
			<content:encoded><![CDATA[<p>Not long ago we got our third graphics project assigned.  In the first we wrote our own raytracer, and in the second we got familiar with OpenGL and implemented a trackball interface that would load a model and allow the user to rotate it around to see it from different angles.  This third project deals with texturing, however.</p>
<p>The first part was to generate a torus and texture it with a tile-able pattern (we were given a few wood textures and one brick).  Same trackball interface applies.</p>
<div id="attachment_130" class="wp-caption alignnone" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/brick_torus.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/brick_torus-300x282.png" alt="A torus made of bricks" title="Brick Torus" width="300" height="282" class="size-medium wp-image-130" /></a><p class="wp-caption-text">A torus made of bricks</p></div>
<p>Next up was to add a way to render a model that&#8217;s seemingly made out of mirror, reflecting a virtual environment, provided to us by a teacher.  This one seems to be the inside of a building near a window.</p>
<div id="attachment_131" class="wp-caption alignnone" style="width: 310px"><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/mirror_bunny.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/mirror_bunny-300x282.png" alt="Bunny of mirrors" title="Mirrored Bunny" width="300" height="282" class="size-medium wp-image-131" /></a><p class="wp-caption-text">Bunny of mirrors</p></div>
<p>Lastly, given a 3D texture (marble), we were to &#8220;carve&#8221; a model out of that material.  See Isis and the shark made of marble.</p>
<p><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/marble_isis.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/marble_isis-300x282.png" alt="" title="Marble Isis" width="300" height="282" class="alignnone size-medium wp-image-132" /></a></p>
<p><a href="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/marble_shark.png"><img src="http://dan.lecocq.us/wordpress/wp-content/uploads/2008/11/marble_shark-300x282.png" alt="" title="Marble Shark" width="300" height="282" class="alignnone size-medium wp-image-133" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2008/11/01/graphics-project-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KAUST</title>
		<link>http://dan.lecocq.us/wordpress/2008/08/27/kaust/</link>
		<comments>http://dan.lecocq.us/wordpress/2008/08/27/kaust/#comments</comments>
		<pubDate>Wed, 27 Aug 2008 09:37:05 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[essays]]></category>
		<category><![CDATA[KAUST]]></category>
		<category><![CDATA[scholarships]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[essay]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/2008/08/27/kaust/</guid>
		<description><![CDATA[This summer I submitted my application for the Discovery Scholarship at King Abdullah University of Science and Technology in Saudi Arabia. It would pay for my last year of school here, cost of living, travel, tuition there, and a stipend to buy a new laptop. Well, when you have the fifth largest endowment in the [...]]]></description>
			<content:encoded><![CDATA[<p>This summer I submitted my application for the Discovery Scholarship at King Abdullah University of Science and Technology in Saudi Arabia.  It would pay for my last year of school here, cost of living, travel, tuition there, and a stipend to buy a new laptop.  Well, when you have the fifth largest endowment in the world, I guess you can afford to do that sort of thing.</p>
<p>At any rate, I nit-picked an <a href='http://dan.lecocq.us/wordpress/wp-content/uploads/2008/08/kaust-essay.pdf' title='Essay'>essay</a> (they wanted an essay of 50 lines or less detailing academic achievement, international experience, statement of purpose, etc., so it&#8217;s bound to be a paced a certain way), and got letters of recommendation from three of my professors.  Specifically, Graeme Fairweather, the department head, Mike Colagrosso, a recently tenured professor who just left us for the private sector (you&#8217;ll be missed, Mike), and Yong Bakos, a first year professor.  All in all, I felt pretty good about my application.</p>
<p>Well, earlier this week I got an email saying that I had been selected as a finalist.  Of the 2300 who applied, they whittled it down to 672 students (of whom they&#8217;re saying they&#8217;ll accept 500); 99 of these are from the US or Canada.  Making it to the finals means that they&#8217;re going to fly me out to Washington D.C. for an interview this weekend, about which I&#8217;m very excited.  I&#8217;ve never been back east, and it will give me a chance to see my cousin Elizabeth and her husband Wess, who live in Arlington, VA.  The KAUST people even let me delay my departure so I could spend Labor Day weekend with them.  Hooray!</p>
<p>At a recent dinner, my mother mentioned that she was praying I didn&#8217;t get accepted.  Something about the perceived danger of living in the Middle East for two years.  At any rate, things are looking up, and at the very least, I&#8217;ll get a trip to D.C. out of it.</p>
<p>It really looks like a beautiful campus and a unique opportunity.  I would be in their first graduating class, getting my Master&#8217;s when I finish.  I have a knack for being in the early graduating classes for schools.  I was in the second class out of my middle school, and I was in the second class to graduate from the IB program at Niwot.</p>
<p>For more on KAUST, visit their <a href="http://www.kaust.edu.sa/">website</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2008/08/27/kaust/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Top Reasons It&#8217;s Awesome to Be In Engineering</title>
		<link>http://dan.lecocq.us/wordpress/2008/05/16/top-reasons-its-awesome-to-be-in-engineering/</link>
		<comments>http://dan.lecocq.us/wordpress/2008/05/16/top-reasons-its-awesome-to-be-in-engineering/#comments</comments>
		<pubDate>Fri, 16 May 2008 23:51:32 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[school]]></category>
		<category><![CDATA[awesome]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[reasons]]></category>
		<category><![CDATA[textbooks]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/2008/05/16/top-reasons-its-awesome-to-be-in-engineering/</guid>
		<description><![CDATA[A friend of mine (Andrew Ferguson) posted some reasons he thought it sucked to be an engineering student. Yes, sometimes it&#8217;s difficult, but I think we often have a head start on our counterparts in a lot of ways by engineering. Some of my favorite professors have been from computer science. Granted, that is what [...]]]></description>
			<content:encoded><![CDATA[<p>A friend of mine (Andrew Ferguson) posted some <a href="http://andrewferguson.net/2008/05/14/top-5-reasons-it-sucks-to-be-an-engineering-student/">reasons</a> he thought it sucked to be an engineering student.</p>
<p>Yes, sometimes it&#8217;s difficult, but I think we often have a head start on our counterparts in a lot of ways by engineering.</p>
<p>Some of my favorite professors have been from computer science.  Granted, that <em>is</em> what I study, but even from high school, many of my favorites were in math / science.  My high school calculus teacher motivated me very much, and would spend hours with me after school talking about various proof-projects we had going on (yes, I&#8217;m apparently <em>that</em> kid).</p>
<p>Textbooks can be rough, I&#8217;ll give him that, but I think that&#8217;s in large part symptomatic of the information engineering textbooks must contain.  They have to catalog a lot of things, and for my money, I think they generally do a pretty reasonable job.</p>
<p>While other disciplines may have inflated grades, I haven&#8217;t been denied opportunities because of my grades.  I don&#8217;t have quite the GPA I&#8217;d like, but people know how difficult sciences are and appreciate it when considering you for positions.</p>
<p>Sometime the beatings the assignments put us through do tend to blend together; I don&#8217;t know about Andrew&#8217;s coursework, but this semester I&#8217;ve had some of the most exhilarating assignments I&#8217;ve ever had.  We wrote our own shell, we downloaded and parsed RSS feeds using only shell (unfortunately not our own).  For Scientific Computing, I admit there was a lot of work, but they were assignments that kept me up at night, out of pure curiosity.</p>
<p>This doesn&#8217;t even include the job market situation.  Other engineering disciplines don&#8217;t feature the growth that computer science has seen in recent years, I admit, but Mines certainly has fantastic job placement.  Of my closest high school friends, I have two in international relations, three in linguistics, one in liberal arts, and one in chemical engineering.  The engineers enjoy the jealousy of the others with respect to the prospect of work.</p>
<p>All things considered, I&#8217;ve really my collegiate career up to this point, and I imagine I will continue to.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2008/05/16/top-reasons-its-awesome-to-be-in-engineering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

