<?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; projects</title>
	<atom:link href="http://dan.lecocq.us/wordpress/category/projects/feed/" rel="self" type="application/rss+xml" />
	<link>http://dan.lecocq.us/wordpress</link>
	<description>Life, love, and computer science</description>
	<lastBuildDate>Tue, 24 Aug 2010 18:05:22 +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>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>OpenGLot3D Video</title>
		<link>http://dan.lecocq.us/wordpress/2009/11/30/openglot3d-video/</link>
		<comments>http://dan.lecocq.us/wordpress/2009/11/30/openglot3d-video/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 16:32:14 +0000</pubDate>
		<dc:creator>dan.lecocq</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[openglot]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/?p=758</guid>
		<description><![CDATA[I gave ScreenFlow a shot, and it was definitely the best screencasting tool I found. Thanks to it, I can now share a more dynamic sense of the capabilities of this plotting library. OpenGLot3D from Dan Lecocq on Vimeo.]]></description>
			<content:encoded><![CDATA[<p>I gave ScreenFlow a shot, and it was definitely the best screencasting tool I found.  Thanks to it, I can now share a more dynamic sense of the capabilities of this plotting library.</p>
<p><object width="600" height="375"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7897262&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7897262&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="375"></embed></object>
<p><a href="http://vimeo.com/7897262" onclick="urchinTracker('/outgoing/vimeo.com/7897262?referer=');">OpenGLot3D</a> from <a href="http://vimeo.com/user2344862" onclick="urchinTracker('/outgoing/vimeo.com/user2344862?referer=');">Dan Lecocq</a> on <a href="http://vimeo.com" onclick="urchinTracker('/outgoing/vimeo.com?referer=');">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2009/11/30/openglot3d-video/feed/</wfw:commentRss>
		<slash:comments>2</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>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>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>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>Halloween</title>
		<link>http://dan.lecocq.us/wordpress/2007/10/19/halloween/</link>
		<comments>http://dan.lecocq.us/wordpress/2007/10/19/halloween/#comments</comments>
		<pubDate>Fri, 19 Oct 2007 16:29:06 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[toys]]></category>
		<category><![CDATA[evil mad scientists]]></category>
		<category><![CDATA[halloween]]></category>
		<category><![CDATA[lego]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/2007/10/19/halloween/</guid>
		<description><![CDATA[I don&#8217;t think I&#8217;m alone in not having &#8220;done&#8221; Halloween since the 6th grade, but I find myself wondering if I&#8217;m too old to get candy from strangers. Either way, I&#8217;ve decided to party up this October 31st nerdy-style. Gonna find / make myself some steampunk goggles and pick up a lab coat. I&#8217;ve been [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t think I&#8217;m alone in not having &#8220;done&#8221; Halloween since the 6th grade, but I find myself wondering if I&#8217;m too old to get candy from strangers.</p>
<p>Either way, I&#8217;ve decided to party up this October 31st nerdy-style.  Gonna find / make myself some steampunk goggles and pick up a lab coat.  I&#8217;ve been <a href="http://www.evilmadscientist.com/article.php/LEDMinifigs" onclick="urchinTracker('/outgoing/www.evilmadscientist.com/article.php/LEDMinifigs?referer=');">carving up LEGO mans</a> and ordered a couple of bags of LEDs for them.  If I feel particularly festive, I might try to carve <a href="http://www.evilmadscientist.com/article.php/DalekPumpkin" onclick="urchinTracker('/outgoing/www.evilmadscientist.com/article.php/DalekPumpkin?referer=');">a Dalek</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2007/10/19/halloween/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Walmart Avoidance</title>
		<link>http://dan.lecocq.us/wordpress/2007/10/08/walmart-avoidance/</link>
		<comments>http://dan.lecocq.us/wordpress/2007/10/08/walmart-avoidance/#comments</comments>
		<pubDate>Mon, 08 Oct 2007 20:23:08 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[toys]]></category>
		<category><![CDATA[speakers]]></category>
		<category><![CDATA[walmart]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/2007/10/08/walmart-avoidance/</guid>
		<description><![CDATA[I set out on Sunday to fix a speaker in my car that had been buzzing. I expected that I would find a wire that wasn&#8217;t well-attached or that I&#8217;d have to solder a weak point, but first I had to get to it. When I installed a 3.5mm jack in my stereo, I was [...]]]></description>
			<content:encoded><![CDATA[<p>I set out on Sunday to fix a speaker in my car that had been buzzing.  I expected that I would find a wire that wasn&#8217;t well-attached or that I&#8217;d have to solder a weak point, but first I had to get to it.</p>
<p>When I installed a 3.5mm jack in my stereo, I was angered to find that to get to it, I had to remove most of the dash.  While I&#8217;m sure they didn&#8217;t have end-user customization in mind when they designed the 1992 Toyota Corolla, it would be nice to have these things accessible.  When we did the same on my friend&#8217;s car, we were able to pop a piece off and access the stereo there and then.  The same with the truck we used to have.  Why does it have to be so buried?</p>
<p>The speaker was a similar, if worse, story.  Bolts that were almost impossible to access, large pieces that must be removed in unison.  Parts to unscrew that, in order to access them, you&#8217;d have to remove the piece they attach.  Who makes a car like that?</p>
<p>I appreciate the durability, though.  This particular car has just under 240,000 miles on it, and if you need further evidence, check out the <a href="http://youtube.com/watch?v=5hzRLG8dA-E" onclick="urchinTracker('/outgoing/youtube.com/watch?v=5hzRLG8dA-E&amp;referer=');">Top Gear</a> episode where they try to destroy an old Toyota truck.</p>
<p>Two hours and countless f-bombs after starting to try to get to this speaker, I find it and bring in half my dashboard into the house.  Break out the speaker to find that it&#8217;s completely eviscerated.  Four inches, and all of 15 Watts RMS.  Nice.</p>
<p>Browsed around online, but found mostly expensive and powerful speakers, so I head to Checker.  Nothing.  Target &#8211; nope, and Sears doesn&#8217;t do car audio anymore.  They suggest RadioShack.  Nada.</p>
<p>Someone at Checker said he got his (essentially the same speaker) at Walmart.  I had been avoiding this, but lacking any other alternative&#8230;  They&#8217;ve got only one pair of speakers that will work, and I&#8217;m going to have to do some time with the tin-snips.  I get back, get it installed, and I have to admit, they sound a lot better than the old ones.</p>
<p>On a last note, it turns out that parts that are hard to get out are even harder to put back in.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2007/10/08/walmart-avoidance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Like MacGyver, Survivin&#8217; For The Very First Time</title>
		<link>http://dan.lecocq.us/wordpress/2007/10/03/like-macgyver-survivin-for-the-very-first-time/</link>
		<comments>http://dan.lecocq.us/wordpress/2007/10/03/like-macgyver-survivin-for-the-very-first-time/#comments</comments>
		<pubDate>Thu, 04 Oct 2007 03:17:03 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[can]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[MacGyver]]></category>
		<category><![CDATA[stove]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[toys]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/2007/10/03/like-macgyver-survivin-for-the-very-first-time/</guid>
		<description><![CDATA[Like MacGy-ay-ay-ay-ver. Scenario: you need to boil some water to incapacitate a guard (a hot cup of tea puts him right to sleep. Also, he&#8217;s very trusting when it comes to strangers offering him tea), and you&#8217;ve got sandpaper, two soda cans, a razor, a tuft of fiberglass insulation, a tack and a bottle of [...]]]></description>
			<content:encoded><![CDATA[<p>Like MacGy-ay-ay-ay-ver.</p>
<p>Scenario: you need to boil some water to incapacitate a guard (a hot cup of tea puts him right to sleep.  Also, he&#8217;s very trusting when it comes to strangers offering him tea), and you&#8217;ve got sandpaper, two soda cans, a razor, a tuft of fiberglass insulation, a tack and a bottle of Heet at your disposal.  Also, the internet to watch <a href="http://www.metacafe.com/watch/839102/cool_little_miniature_stove/" onclick="urchinTracker('/outgoing/www.metacafe.com/watch/839102/cool_little_miniature_stove/?referer=');">this metacafe</a> video.</p>
<p><a href='http://dan.lecocq.us/wordpress/wp-content/uploads/2007/10/macgyver-stove.png' title='MacGyver Stove'><img style="float:left;margin:5px" src='http://dan.lecocq.us/wordpress/wp-content/uploads/2007/10/macgyver-stove.thumbnail.png' alt='MacGyver Stove' /></a>I had seen this before and in various design complexities, but I really like the compactness and ease of this one.  I decided to scrounge up some Heet ($2.10 at a local gas station), a couple of cans, sandpaper and a razor blade (both on hand), and pull a little piece of insulation off of some that happened to be sitting in our basement.</p>
<p>It got surprisingly hot &#8211; I tried setting an oven rack over it with a kettle (to knock out that tea-loving guard), and it started to melt one of the bars of the rack.  I expected it to be hot, but not hot enough to melt parts of an oven rack.  Who knew?</p>
<p>Success: certainly.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2007/10/03/like-macgyver-survivin-for-the-very-first-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ghetto Shunt</title>
		<link>http://dan.lecocq.us/wordpress/2007/09/27/ghetto-shunt/</link>
		<comments>http://dan.lecocq.us/wordpress/2007/09/27/ghetto-shunt/#comments</comments>
		<pubDate>Thu, 27 Sep 2007 18:18:15 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[ghetto shunt]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[XBMC]]></category>
		<category><![CDATA[xbox]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/2007/09/27/ghetto-shunt/</guid>
		<description><![CDATA[I&#8217;ve been putting together a media server for my newly-hacked XBox media center, and I had an old 120 gig hard drive laying around that wasn&#8217;t seeing much use. I thought I&#8217;d throw it in the box, giving me 240 gigs total to keep online for my viewing pleasure. The problem was, however, that I [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been putting together a media server for my newly-hacked <a href="http://dan.lecocq.us/wordpress/2007/09/24/xbmc/">XBox media center</a>, and I had an old 120 gig hard drive laying around that wasn&#8217;t seeing much use.  I thought I&#8217;d throw it in the box, giving me 240 gigs total to keep online for my viewing pleasure.  The problem was, however, that I had removed the shunt at some point, and couldn&#8217;t find one around the house (who keeps these, anyway)?  So, presenting my very ghetto make-shift shunt:</p>
<p><a href='http://dan.lecocq.us/wordpress/wp-content/uploads/2007/09/sany0050.png' title='Ghetto Shunt'><img style="float:left;margin:5px" src='http://dan.lecocq.us/wordpress/wp-content/uploads/2007/09/sany0050.thumbnail.png' alt='Ghetto Shunt' /></a>Made from one of those yellow connectors (if you know the name of what I&#8217;m talking about, please let me know), I snapped off the part where you put the wire in and then clamp it with pliers.  Before using that, I made sure I had the right setting (I wanted this one as the slave HD), by touching a screwdriver to the two pins associated with that setting and held it there as I booted the machine.  Probably a safe/smart move (but in all reality, how much current flows through those pins, anyway?).</p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2007/09/27/ghetto-shunt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Symbolic Logic Likes an iPod</title>
		<link>http://dan.lecocq.us/wordpress/2007/09/24/symbolic-logic-likes-an-ipod/</link>
		<comments>http://dan.lecocq.us/wordpress/2007/09/24/symbolic-logic-likes-an-ipod/#comments</comments>
		<pubDate>Mon, 24 Sep 2007 23:19:42 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[toys]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[hollow]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[symbolic logic]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/2007/09/24/symbolic-logic-likes-an-ipod/</guid>
		<description><![CDATA[I&#8217;ve been wanting to make myself a nice little iPod case out of a book. Until now, I had been waiting for a sufficiently nerdy book to find its way to me. I had to go to the Longmont Public Library to get a copy of Slaughterhouse Five (Kurt Vonnegut), and thought I&#8217;d check their [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been wanting to make myself a nice little iPod case out of a book.  Until now, I had been waiting for a sufficiently nerdy book to find its way to me.</p>
<p>I had to go to the Longmont Public Library to get a copy of Slaughterhouse Five (Kurt Vonnegut), and thought I&#8217;d check their used books table.  Nothing quite nerdy enough.  In the basement, however, where they keep all of their free books, I found a book from simpler times: Introduction to Logic.  Old, antiquated (this edition, not logic itself), and just nerdy enough.  I spent about $2.60 on magnets to embed in it so that it would remain closed when jostled, and a little Elmers glue, an razor blade, and a little bit of time, and I&#8217;ve got myself a nice little iPod case.</p>
<p><a href='http://dan.lecocq.us/wordpress/wp-content/uploads/2007/09/photo-205.jpg' title='Introduction to Logic'><img style="float:left;margin:5px" src='http://dan.lecocq.us/wordpress/wp-content/uploads/2007/09/photo-205.thumbnail.jpg' alt='Introduction to Logic' /></a></p>
<p>The process will invariably have to begin again when I finally decide to go for a next generation iPod, but until then.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2007/09/24/symbolic-logic-likes-an-ipod/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Super-spy</title>
		<link>http://dan.lecocq.us/wordpress/2007/09/11/super-spy/</link>
		<comments>http://dan.lecocq.us/wordpress/2007/09/11/super-spy/#comments</comments>
		<pubDate>Wed, 12 Sep 2007 05:18:39 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[toys]]></category>
		<category><![CDATA[espionage]]></category>
		<category><![CDATA[laser mic]]></category>
		<category><![CDATA[microphone]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/2007/09/11/super-spy/</guid>
		<description><![CDATA[Colin told me about laser microphones, and the idea tickled me in a way that most times I&#8217;m tickled like that, I have to cuddle afterwards. At any rate, I happened upon a metacafe video of how to make one yourself. I skipped down to Radioshack and bought the photoresistor and a cheap laser pointer. [...]]]></description>
			<content:encoded><![CDATA[<p>Colin told me about laser microphones, and the idea tickled me in a way that most times I&#8217;m tickled like that, I have to cuddle afterwards.</p>
<p>At any rate, I happened upon a <a href="http://www.metacafe.com/watch/767822/laser_espionage_microphone_how_to/" onclick="urchinTracker('/outgoing/www.metacafe.com/watch/767822/laser_espionage_microphone_how_to/?referer=');">metacafe video</a> of how to make one yourself.  I skipped down to Radioshack and bought the photoresistor and a cheap laser pointer.</p>
<p>I had some troubles getting any signal off of it at first, but I decided to try to set it up like I thought it should work and try the whole shebang without trying to get each piece to work.  I was able to pick up taps on the glass (though they had to be amplified a great deal, giving me a surprisingly clear signal), but I was unable to record any voices.  I expect this just has to do with the intensity and spread of the laser, and I imagine that a higher quality laser might be able to pick up speech.  If I ever get one of the nice <a href="http://www.thinkgeek.com/gadgets/lights/657a/" onclick="urchinTracker('/outgoing/www.thinkgeek.com/gadgets/lights/657a/?referer=');">Think Geek laser pointers</a>, I&#8217;ll certainly have to try it again.  I wonder what my neighbors have to say.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2007/09/11/super-spy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Soap</title>
		<link>http://dan.lecocq.us/wordpress/2007/09/04/soap/</link>
		<comments>http://dan.lecocq.us/wordpress/2007/09/04/soap/#comments</comments>
		<pubDate>Tue, 04 Sep 2007 15:50:39 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[movies]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[fight club]]></category>
		<category><![CDATA[soap]]></category>
		<category><![CDATA[tyler durden]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/2007/09/04/soap/</guid>
		<description><![CDATA[His name is Robert Paulson. Who doesn&#8217;t love Tyler Durden and Fight Club? In the spirit of the Paper Street Soap Company, Kevin and I decided we would try to make our own soap. Unfortunately, we didn&#8217;t render human fat, and as Kevin is vegetarian, we had to use vegetable oil. After doing a little [...]]]></description>
			<content:encoded><![CDATA[<p>His name is Robert Paulson.</p>
<p>Who doesn&#8217;t love Tyler Durden and Fight Club?  In the spirit of the Paper Street Soap Company, Kevin and I decided we would try to make our own soap.</p>
<p>Unfortunately, we didn&#8217;t render human fat, and as Kevin is vegetarian, we had to use vegetable oil.  After doing a little research, we picked some oils, ordered four pounds of lye (NaOH), and got to work.  It&#8217;s apparently a very long process, starting with combining your fats and heating them until the mixture homogenizes, mixing lye into water (never putting water into lye), mixing until &#8220;trace,&#8221; and letting it sit&#8230; for 4-6 weeks.</p>
<p>Our recipe called for 175 grams of lye into about 514 ml of water (~8.5 M).  The highest concentration of NaOH I&#8217;d worked with (in Quant lab) had been only .4 molar, but that wasn&#8217;t so dangerous, so why should 20 times more concentrated do any harm?</p>
<p>Our handywork is sitting in my basement, and over the course of the last few days it has hardened from about liquid soap to a substantially thick paste.  Hopefully when it finishes, we will have usable soap.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2007/09/04/soap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bump Key</title>
		<link>http://dan.lecocq.us/wordpress/2007/08/29/bump-key/</link>
		<comments>http://dan.lecocq.us/wordpress/2007/08/29/bump-key/#comments</comments>
		<pubDate>Wed, 29 Aug 2007 21:17:59 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[toys]]></category>
		<category><![CDATA[bump]]></category>
		<category><![CDATA[locks]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/2007/08/29/bump-key/</guid>
		<description><![CDATA[It is not unlikely that you&#8217;ve run across this technique on the internet (http://www.metacafe.com/tags/bump+key/). It involves taking a key that fits a given set of locks, and then for each pin, filing down to the lowest pin setting. Relatively simple, and the process on the whole is something that supposedly any mildly adroit beginner should [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://dan.lecocq.us/wordpress/2007/08/29/bump-key/bump-key/' rel='attachment wp-att-11' title='Bump Key'><img src='http://dan.lecocq.us/wordpress/wp-content/uploads/2007/08/photo-198.thumbnail.jpg' alt='Bump Key'  style="float:left;margin:5px;" /></a>It is not unlikely that you&#8217;ve run across this technique on the internet (http://www.metacafe.com/tags/bump+key/).  It involves taking a key that fits a given set of locks, and then for each pin, filing down to the lowest pin setting.  Relatively simple, and the process on the whole is something that supposedly any mildly adroit beginner should be able to complete successfully.</p>
<p>Interviews of lock-picking hobby groups are filled with comments about the absurd ease and dull simplicity of this method.  Admittedly, to a certain extent, I was skeptical.</p>
<p>I went to Lowe&#8217;s and bought a set of files (~$5) (the one I was after was axially triangular), and made a copy of key (~$1.50) I had laying around and to whose corresponding lock I had access.  As per a suggestion in one video, I marked with a permanent marker the placement of the pins along the key, and then filed down to the lowest setting at those points, leaving a sawtoothed edge.</p>
<p>Cautiously, I inserted it to the first pin in the lock and tried to remove it.  Down the fourth pin I was able to remove it.  Upon inserting it completely, however, I was stuck.  Opened the lock, removed the pins and slid it out.  I filed down more so that the peaks between the pins were no more than approximately 45º.  Thereafter, I was able to easily slide the key in and out.  While removing the pin, I noticed that on top of the driver pins, there were springs, making me even more incredulous.  (http://en.wikipedia.org/wiki/Pin_tumbler_lock)</p>
<p>The first dozen attempts or so on one lock proved unsuccessful, but it was kind of an awkward setup &#8211; in order to unlock, the key had to turn counter-clockwise, and holding the key in my left hand was more conducive to turning it clockwise.  I tried instead to lock the lock with the same method, and it worked!  A second time!  After those successes, it was harder to duplicate, but this lead me to believe that it was simply a matter of improving technique at this point.  I moved onto another lock that they fit, and it was able to unlock it repeatedly.</p>
<p>From what I&#8217;ve read, and now from experience, the biggest difficulty is simply applying the proper amount of torque in the key when bumping it.  On all attempts, however, when I released the torque in order to withdraw the key, I could very clearly hear pins being sprung back into position.</p>
<p>It amazes me that these kinds of locks are so vulnerable to so simple an attack.  All in all, it was a fun and revealing experiment, and I encourage people to try it out themselves.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2007/08/29/bump-key/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Heart-throb</title>
		<link>http://dan.lecocq.us/wordpress/2006/12/09/heart-throb/</link>
		<comments>http://dan.lecocq.us/wordpress/2006/12/09/heart-throb/#comments</comments>
		<pubDate>Sat, 09 Dec 2006 15:09:00 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[heart-throb]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[itunes]]></category>

		<guid isPermaLink="false">http://dan.lecocq.us/wordpress/2006/12/09/heart-throb/</guid>
		<description><![CDATA[My latest little heart-throb has been the reason behind more than a couple sleepless nights as of late. It&#8217;s called Visual C#. We met under the shade of iTunes&#8217; beautiful SDK and it was love at first sight. It&#8217;s the comfort of an old friend, C++, combined with everything I love about scripting languages, and [...]]]></description>
			<content:encoded><![CDATA[<p>My latest little heart-throb has been the reason behind more than a couple sleepless nights as of late. It&#8217;s called Visual C#.</p>
<p>We met under the shade of iTunes&#8217; beautiful SDK and it was love at first sight. It&#8217;s the comfort of an old friend, C++, combined with everything I love about scripting languages, and it&#8217;s really easy to make solid GUIs (graphical user interface) with it. Not that there aren&#8217;t problems in our relationship &#8211; it runs almost painfully slow, but what it lacks in speed it makes up in flexibility.</p>
<p>As I mentioned before, the only reason I&#8217;ve been messing around with it is because of iTunes&#8217; API (application public interface for those playing at home; an API allows you to write your own program that interacts with the functions of another program in a publicly described fashion; for instance, Amazon.com publishes an API that allows other websites to grab information from their website using tools that Amazon.com has written). iTunes has this habit of keeping tabs on how many times you play any given song, and when you last played it, but if you play it on your iPod, it doesn&#8217;t keep track of that. Your iPod grabs the play counts from iTunes, but when you synchronize your iPod with your iTunes library, the times you&#8217;ve played your songs on your iPod seem to disappear. One way to solve this problem is to write a script using the API published by Apple.</p>
<p>There are a couple of other little tricks I&#8217;d like to teach iTunes, and so I&#8217;ve been putting together this little bundle of random tools with C#. It&#8217;s a lot of fun, and I figure it&#8217;s better than me playing Mario Cart.<strong></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://dan.lecocq.us/wordpress/2006/12/09/heart-throb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
