<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Ed's Big Plans</title>
	
	<link>http://eddiema.ca</link>
	<description>Computing for Science and Awesome</description>
	<lastBuildDate>Sat, 06 Apr 2013 11:21:31 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/eddiema" /><feedburner:info uri="eddiema" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>A Tessellation (1-, 2-, 3- unit length edges)</title>
		<link>http://feedproxy.google.com/~r/eddiema/~3/lmryffGSdLI/</link>
		<comments>http://eddiema.ca/2013/02/18/a-tessellation-1-2-3-unit-length-edges/#comments</comments>
		<pubDate>Mon, 18 Feb 2013 23:56:23 +0000</pubDate>
		<dc:creator>Eddie Ma</dc:creator>
				<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Graph]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[Lucky]]></category>
		<category><![CDATA[Tessellation]]></category>

		<guid isPermaLink="false">http://eddiema.ca/?p=4712</guid>
		<description><![CDATA[Here&#8217;s a neat tiling I saw on the ground recently. This tiling happens to be a solution that ensures that graph nodes are regularly spaced 1-, 2-, or 3- unit lengths apart. If we re-orient all of the tiles in the same direction, the nodes then become two unit lengths apart &#8212; and the graph [...]]]></description>
				<content:encoded><![CDATA[<p style="text-align: left;">Here&#8217;s a neat tiling I saw on the ground recently.</p>
<div style="text-align: center;"><img class="size-full wp-image-4747" alt="A plantless pot." src="http://eddiema.ca/wp-content/uploads/2013/02/p_pot.png" width="200" height="160" /><img class="size-full wp-image-4748" alt="It's Lucky! :D" src="http://eddiema.ca/wp-content/uploads/2013/02/p_lucky.png" width="200" height="150" /><img class="size-full wp-image-4749" alt="The ground." src="http://eddiema.ca/wp-content/uploads/2013/02/p_blank.png" width="200" height="160" /></div>
<p style="text-align: left;">This tiling happens to be a solution that ensures that graph nodes are regularly spaced 1-, 2-, or 3- unit lengths apart.</p>
<div style="text-align: center;"><img class="aligncenter size-full wp-image-4751" alt="1-, 2-, 3- units." src="http://eddiema.ca/wp-content/uploads/2013/02/p_123.png" width="200" height="206" /></div>
<p style="text-align: left;">If we re-orient all of the tiles in the same direction, the nodes then become two unit lengths apart &#8212; and the graph becomes homomorphic with a hexagonal tiling.</p>
<div style="text-align: center;"><img class="size-full wp-image-4750" style="color: #333333; font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;" alt="2-, 2-, 2- units." src="http://eddiema.ca/wp-content/uploads/2013/02/p_222.png" width="200" height="206" /><img class="size-full wp-image-4752" alt="1-, 1-, 1- unit." src="http://eddiema.ca/wp-content/uploads/2013/02/p_111.png" width="200" height="206" /></div>
<p style="text-align: left;">I&#8217;ll let you know if I find an application to the 1-, 2-, 3- hop pattern.</p>
<img src="http://feeds.feedburner.com/~r/eddiema/~4/lmryffGSdLI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://eddiema.ca/2013/02/18/a-tessellation-1-2-3-unit-length-edges/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://eddiema.ca/2013/02/18/a-tessellation-1-2-3-unit-length-edges/</feedburner:origLink></item>
		<item>
		<title>Java CDK LoggingToolFactory and Reflection (Solution)</title>
		<link>http://feedproxy.google.com/~r/eddiema/~3/HzjVB8NfG0w/</link>
		<comments>http://eddiema.ca/2012/07/09/java-cdk-loggingtoolfactory-woes-solution/#comments</comments>
		<pubDate>Mon, 09 Jul 2012 21:52:22 +0000</pubDate>
		<dc:creator>Eddie Ma</dc:creator>
				<category><![CDATA[Biochemistry]]></category>
		<category><![CDATA[Apache log4j]]></category>
		<category><![CDATA[Chemistry Development Kit]]></category>
		<category><![CDATA[Chris Cameron]]></category>
		<category><![CDATA[Classpath]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[Reflexive Programming]]></category>
		<category><![CDATA[Why won't this just compile?]]></category>

		<guid isPermaLink="false">http://eddiema.ca/?p=4596</guid>
		<description><![CDATA[Update Egon&#8217;s suggestion in the comments works best. Loading the JARs distributed for a project almost always requires far less work. If you&#8217;re like me and haven&#8217;t used Java in a while, it should be noted that the Java SE6 compiler and runtime both allow you to specify wildcards when referring to directories containing JARs. [...]]]></description>
				<content:encoded><![CDATA[<h3><span style="text-decoration: underline;">Update</span></h3>
<p>Egon&#8217;s suggestion in the comments works best. Loading the JARs distributed for a project almost always requires far less work. If you&#8217;re like me and haven&#8217;t used Java in a while, it should be noted that the Java SE6 compiler and runtime both allow you to specify wildcards when referring to directories containing JARs. For Java SE6 and up, something like the below commands would work.</p>
<pre class="brush: plain; title: ; notranslate">
javac -classpath .:jar/*:dist/jar/* MGNQSAR.java
java  -classpath .:jar/*:dist/jar/* MGNQSAR
</pre>
<p>The directory &#8220;<span style="font-family: 'courier new', courier;">dist/jar</span>&#8221; contains CDK JARs, while the directory &#8220;<span style="font-family: 'courier new', courier;">jar</span>&#8221; contains dependencies. Embarrassingly enough, I didn&#8217;t notice this directory hiding in plain sight, meaning that I didn&#8217;t have to go out and find the same <em>log4j</em> package distributed directly from <em>Apache</em>.</p>
<p>Oh well! Live and learn <img src='http://eddiema.ca/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<h3><span style="text-decoration: underline;">Original Post</span></h3>
<p>So today, I had to get some QSAR descriptors calculated from <a href="http://sourceforge.net/projects/cdk/">The Chemistry Development Kit (CDK)</a> (Java) as a means to benchmark Chris&#8217; MGN custom neural network architecture. While trying to compile CDK into my very simple <span style="font-family: 'courier new', courier;">main</span>, I encountered a number of problems with <span style="font-family: 'courier new', courier;">LoggingToolFactory</span>. Below is a simplified <span style="font-family: 'courier new', courier;">main</span> that illustrates the problem&#8230;</p>
<pre class="brush: java; title: ; notranslate">
import org.openscience.cdk.exception.CDKException;
import org.openscience.cdk.Molecule;
import org.openscience.cdk.qsar.*;
import org.openscience.cdk.io.MDLV2000Reader;
import java.io.FileReader;
import java.io.FileNotFoundException;

public class MGNQSAR {

    public static void main(String[] args) {

        String path = &quot;Molecules/Kidney/Mouse/1,3-Butadiene.sdf&quot;;

        FileReader fr = null;

        try {
            fr = new FileReader(path);
        } catch (FileNotFoundException fnfe) {
            System.err.println(&quot;FATAL: Couldn't find file ...&quot;);
            System.err.println(path);
            return;
        }

        MDLV2000Reader m2r = new MDLV2000Reader(fr); //Null pointer exception here.
        Molecule mol = null;

        try {
            mol = m2r.read(new Molecule());
        } catch (CDKException cdke) {
            System.err.println(&quot;FATAL: CDK became enraged ...&quot;);
            System.err.println(cdke.toString());
            return;
        }
        return;
    }
}
</pre>
<p>Logging is generally a good idea. In fact, it&#8217;s such a good idea &#8212; you should probably deploy some logging in every piece of medium- to large- scale software that you produce. The problem I encountered today was the absence of documentation of how to compile and run a <span style="font-family: 'courier new', courier;">main</span> that calls code from CDK that calls <span style="font-family: 'courier new', courier;">LoggingToolFactory.createLoggingTool(.)</span>.</p>
<p>Here&#8217;s some context. All of the classes that I&#8217;ve encountered in CDK call this method statically to create a class-wide logger. This method provides the caller with a logging tool object that does some recording of debug information, or jots down a few notes about the path of execution in CDK, or saves some other informative alert for the end user. The logging tool is offered up to any class that implements the interface <span style="font-family: 'courier new', courier;">ILoggingTool</span> (CDK allows you to implement your own). By default CDK offers two such tools &#8212; one that wraps <a href="http://logging.apache.org/log4j/1.2/index.html"><em>Apache log4j</em></a> (<span style="font-family: 'courier new', courier;">org.openscience.cdk.tools.LoggingTool</span>), and <span style="font-family: 'courier new', courier;">stdout</span> as a fallback (when <em>log4j</em> isn&#8217;t available) wrapped within (<span style="font-family: 'courier new', courier;">org.openscience.cdk.tools.SystemOutLoggingToolTest</span>).</p>
<p>By design, the factory <span style="font-family: 'courier new', courier;">createLoggingTool(.)</span> attempts to provide the user with an already instantiated copy of a logging tool &#8212; it&#8217;s the factory design pattern we all know. The problem is as follows. CDK has <em>to be able to try</em> and instantiate the wrapper for <em>log4j</em> first before <em>trying to</em> instantiate the <span style="font-family: 'courier new', courier;">stdout</span> fallback. The notion of <em>trying to instantiate</em> is not something that one often does in Java. To perform this task, one has to use reflection &#8212; in this case, it looks like CDK&#8217;s <span style="font-family: 'courier new', courier;">LoggingToolFactory</span> uses a few methods found in (<span style="font-family: 'courier new', courier;">java.lang.reflect.InvocationTargetException</span>) and (<span style="font-family: 'courier new', courier;">java.lang.reflect.Method</span>).</p>
<p>So how does reflection cause woe?</p>
<p>Well, when I compile my <span style="font-family: 'courier new', courier;">main</span>, Javac visits the classes I&#8217;ve imported and the classes that they&#8217;ve imported (etc.) and compiles the Java sources into class bytecode files. That is, Javac does this for everything that&#8217;s been declared for import at compile time. That means that everything that requires reflection isn&#8217;t compiled since that code is only analyzed at runtime. Next, Java runs <span style="font-family: 'courier new', courier;">main</span> and executes some code called by CDK &#8212; that code tries to <span style="font-family: 'courier new', courier;">createLoggingTool(.)</span> but fails gracefully since Javac never compiled the corresponding classes (neither the <em>log4j</em> wrapper nor the <span style="font-family: 'courier new', courier;">stdout</span> fallback wrapper). All is well until the uninstantiated logging tool is called to actually log anything &#8212; resulting in a null pointer exception.</p>
<p>It took me a while to track the problem down, but the solution is simple.</p>
<p>Manually compile (Javac) <span style="font-family: 'courier new', courier;">SystemOutLoggingTool</span> &#8212; or better yet, get <em>Apache log4j</em>, then also manually compile <span style="font-family: 'courier new', courier;">LoggingTool</span>.</p>
<p>The corresponding compile and run commands would look like this &#8230;</p>
<pre class="brush: plain; title: ; notranslate">
	javac MGNQSAR.java
	javac -classpath .:log4j-1.2.17.jar org/openscience/cdk/tools/LoggingTool.java
	javac org/openscience/cdk/tools/SystemOutLoggingTool.java
	java  -classpath .:log4j-1.2.17.jar MGNQSAR
</pre>
<p>Where I&#8217;ve symbolically linked CDK&#8217;s org directory as a subdirectory of my working directory; and I&#8217;ve also symbolically linked (<em>Apache log4j</em>)&#8217;s jar file as an entry in this working directory too.</p>
<p>I hope this helps you too!</p>
<img src="http://feeds.feedburner.com/~r/eddiema/~4/HzjVB8NfG0w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://eddiema.ca/2012/07/09/java-cdk-loggingtoolfactory-woes-solution/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://eddiema.ca/2012/07/09/java-cdk-loggingtoolfactory-woes-solution/</feedburner:origLink></item>
		<item>
		<title>On SSL/TLS and HTTPS — Briefings for my Computer Security class</title>
		<link>http://feedproxy.google.com/~r/eddiema/~3/77RT_uYTJiE/</link>
		<comments>http://eddiema.ca/2012/02/16/on-ssltls-and-https-briefings-for-my-computer-security-class/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 18:29:43 +0000</pubDate>
		<dc:creator>Eddie Ma</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Charlie Obimbo]]></category>
		<category><![CDATA[CIS 6650]]></category>
		<category><![CDATA[Explanation]]></category>
		<category><![CDATA[IETF]]></category>
		<category><![CDATA[Introduction]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[Network Administration]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[TLS]]></category>

		<guid isPermaLink="false">http://eddiema.ca/?p=4433</guid>
		<description><![CDATA[Brief: This is a technical briefing I made for fellow students in a Computer Security class (Winter 2011) about Secure Socket Layer [SSL] (now Transport Layer Security [TLS]). These briefings fit in nicely since it came after Dr. Obimbo explained the number theory behind RSA (modulus prime exponentiation). I went to the primary source on this [...]]]></description>
				<content:encoded><![CDATA[<p><strong><em>Brief:</em></strong> This is a technical briefing I made for fellow students in a Computer Security class (Winter 2011) about Secure Socket Layer [SSL] (now Transport Layer Security [TLS]). These briefings fit in nicely since it came after Dr. Obimbo explained the number theory behind RSA (modulus prime exponentiation). I went to the primary source on this topic to write this document: thanks to the <a href="http://www.ietf.org">Internet Engineering Task Force</a>. I&#8217;ve posted this document as a consumable reference for anyone who needs it.</p>
<p>&gt;&gt;&gt; <strong>Download:</strong> <a href="http://eddiema.ca/wp-content/uploads/2012/02/CIS6650-Eddie-Ma-TLS_SSL_HTTPS.pdf">A Network Security Spotlight on SSL/TLS and HTTPS</a> (pdf) &lt;&lt;&lt;</p>
<p><img class="aligncenter size-full wp-image-4522" title="handshaking" src="http://eddiema.ca/wp-content/uploads/2012/02/handshaking.png" alt="" width="466" height="430" /></p>
<p style="text-align: center;"><em>Figure $_: A Schematic of the SSL/TLS Handshaking Procedure.</em></p>
<p><em>This document is licensed under <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported</a>. The enclosed figures are further released into the public domain.</em></p>
<img src="http://feeds.feedburner.com/~r/eddiema/~4/77RT_uYTJiE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://eddiema.ca/2012/02/16/on-ssltls-and-https-briefings-for-my-computer-security-class/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://eddiema.ca/2012/02/16/on-ssltls-and-https-briefings-for-my-computer-security-class/</feedburner:origLink></item>
		<item>
		<title>SoCS Grads’ very first Wine &amp; Cheese! (W2012)</title>
		<link>http://feedproxy.google.com/~r/eddiema/~3/MxfhwdNZvKc/</link>
		<comments>http://eddiema.ca/2012/02/11/socs-grads-very-first-wine-cheese-w2012/#comments</comments>
		<pubDate>Sat, 11 Feb 2012 05:09:33 +0000</pubDate>
		<dc:creator>Eddie Ma</dc:creator>
				<category><![CDATA[Academic Life]]></category>
		<category><![CDATA[SoCS Grads]]></category>
		<category><![CDATA[University of Guelph]]></category>
		<category><![CDATA[Wine and Cheese]]></category>

		<guid isPermaLink="false">http://eddiema.ca/?p=4459</guid>
		<description><![CDATA[Brief: Well, I&#8217;ve organized the first Wine &#38; Cheese for the School of Computer Science graduate students slated for next week (University of Guelph). I had significant moral support from Richard Schwarting and Jason Ernst. We&#8217;re hoping for a turnout of about thirty including faculty and staff. I&#8217;m particularly proud of the logo I made. I [...]]]></description>
				<content:encoded><![CDATA[<p><em><strong>Brief:</strong></em> Well, I&#8217;ve organized the first Wine &amp; Cheese for the School of Computer Science graduate students slated for next week (University of Guelph). I had significant moral support from <a href="http://kosmokaryote.org/">Richard Schwarting</a> and <a href="http://www.jasonernst.com/">Jason Ernst</a>. We&#8217;re hoping for a turnout of about thirty including faculty and staff. I&#8217;m particularly proud of the logo I made.</p>
<div style="margin-top: 12pt;"></div>
<p><img class="aligncenter size-medium wp-image-4494" title="WnC" src="http://eddiema.ca/wp-content/uploads/2012/02/WnC-300x300.png" alt="" width="300" height="300" /><br />
I think we&#8217;ll have an excellent turn out &#8212; Richard and I did advertise as much as humanly possible after all <img src='http://eddiema.ca/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/eddiema/~4/MxfhwdNZvKc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://eddiema.ca/2012/02/11/socs-grads-very-first-wine-cheese-w2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://eddiema.ca/2012/02/11/socs-grads-very-first-wine-cheese-w2012/</feedburner:origLink></item>
		<item>
		<title>Fighting spam account registration (phpBB3)</title>
		<link>http://feedproxy.google.com/~r/eddiema/~3/FPlLTILtGjs/</link>
		<comments>http://eddiema.ca/2011/12/29/fighting-spam-account-registration-phpbb3/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 21:49:21 +0000</pubDate>
		<dc:creator>Eddie Ma</dc:creator>
				<category><![CDATA[Website Management]]></category>
		<category><![CDATA[bot]]></category>
		<category><![CDATA[fake account]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[phpBB]]></category>
		<category><![CDATA[phpBB3]]></category>
		<category><![CDATA[registration]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://eddiema.ca/?p=3980</guid>
		<description><![CDATA[I was asked to deploy a means to fight spam account registration on a phpBB3 installation. I tried the advice posted by Nadav Samet, but the version of phpBB3 we use doesn&#8217;t seem to respond to changes made to profile_add_body.tpl. I settled on an approach that&#8217;s similar to the one posted by Steve Maury, but is slightly [...]]]></description>
				<content:encoded><![CDATA[<p>I was asked to deploy a means to fight spam account registration on a phpBB3 installation. I tried the advice posted by <a href="http://www.thesamet.com/blog/2006/12/21/fighting-spam-on-phpbb-forums/">Nadav Samet</a>, but the version of phpBB3 we use doesn&#8217;t seem to respond to changes made to <em>profile_add_body.tpl</em>. I settled on an approach that&#8217;s similar to the one posted by <a href="http://www.phpbb.com/kb/article/custom-profile-fields-as-an-anti-spammer-tool/">Steve Maury</a>, but is slightly improved as you can request any exact string for an answer from the registrant.</p>
<p>This method should work with phpBB3 version 3.0.x.</p>
<p>This method results in a mandatory field to be completed by the registrant during registration time. You can assign it any question you like where the answer is a string of text that you decide. I&#8217;ve given a <span style="text-decoration: underline;"><strong>really simple question in this example</strong></span>. Use a more difficult question that a bot would have trouble with but that your typical registrants can answer.</p>
<p>We do this with a custom profile field in the registration screen as in the below screen capture.</p>
<p style="text-align: center;"><img class="size-full wp-image-4322 aligncenter" title="GryphQuestion" src="http://eddiema.ca/wp-content/uploads/2011/12/GryphQuestion1.png" alt="" width="443" height="400" />The above is a screen capture of an example mandatory question (choose a more secure question).</p>
<p><strong>There are two steps to setting this up.</strong></p>
<p><span style="text-decoration: underline;"><strong>First,</strong> set up a custom question that must be answered</span> &#8212; you can find such a setting in the administrative control panel (ACP) as in the following screen capture.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-4340" title="CustomProfileFields" src="http://eddiema.ca/wp-content/uploads/2011/12/CustomProfileFields1.png" alt="" width="694" height="330" /><br />
Add a mandatory question in <em>user and groups</em> → <em>custom profile fields</em> → <em>create new field</em>.<br />
Here, I&#8217;ve named mine <em>guelph_question</em>.</p>
<p style="text-align: left;">After you click <em>Create new field</em>, you will be presented with a screen where you can create the question of your choosing &#8212; be sure to make the field mandatory by using the radio button labelled <em>Required field</em> listed under <em>Visibility options</em>.</p>
<p style="text-align: left;"><span style="text-decoration: underline;"><strong>Second,</strong> add the following code indicated below</span> in <span style="font-family: 'andale mono', times;">includes/ucp/ucp_register.php</span> &#8211; Notice that I&#8217;ve placed my custom code after existing code to check for a valid password and e-mail. This is commented under <em>validate custom profile fields </em>( &#8212; just checked &#8212; starts at line 247 in the 3.0.9 source code). Replace the simple question and answer I&#8217;ve placed there with your own question and answer. Notice that you also have full control over the error message that the registrant sees if they answer the question incorrectly.</p>
<pre class="brush: php; title: ; notranslate">
// validate custom profile fields
$cp-&gt;submit_cp_field('register', $user-&gt;get_iso_lang_id(), $cp_data, $error);

if (!sizeof($error))
{
	if ($data['new_password'] != $data['password_confirm'])
	{
		$error[] = $user-&gt;lang['NEW_PASSWORD_ERROR'];
	}

	if ($data['email'] != $data['email_confirm'])
	{
		$error[] = $user-&gt;lang['NEW_EMAIL_ERROR'];
	}
}

// Anti-spam code below ...
if (!sizeof($error)) {
	if (!isset($_POST['pf_guelph_question']) ||
	$_POST['pf_guelph_question'] != 'Gryphon') {
		$error[] = 'Incorrect answer to Guelph question.';
	}
}
// ... EOAnti-spam code
</pre>
<p>And you&#8217;re done.</p>
<p>I hope this works for you! Enjoy <img src='http://eddiema.ca/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/eddiema/~4/FPlLTILtGjs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://eddiema.ca/2011/12/29/fighting-spam-account-registration-phpbb3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://eddiema.ca/2011/12/29/fighting-spam-account-registration-phpbb3/</feedburner:origLink></item>
		<item>
		<title>Fuzzy c-means for greylevel image segmentation</title>
		<link>http://feedproxy.google.com/~r/eddiema/~3/5Sf_wF-bfOw/</link>
		<comments>http://eddiema.ca/2011/12/20/fuzzy-c-means-for-greylevel-image-segmentation/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 04:21:54 +0000</pubDate>
		<dc:creator>Eddie Ma</dc:creator>
				<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Auryo]]></category>
		<category><![CDATA[FCM]]></category>
		<category><![CDATA[Fuzzy C-Means]]></category>
		<category><![CDATA[Greylevel Segmentation]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[Oreo]]></category>
		<category><![CDATA[Sunny]]></category>

		<guid isPermaLink="false">http://eddiema.ca/?p=3482</guid>
		<description><![CDATA[Here&#8217;s a script I threw together to do grey-level segmentation using fuzzy c-means. This appeared as a small part of a project in the image processing course I took. The algorithm deployed was really a proof of concept meant to replicate and verify the results of another author &#8212; as such, I don&#8217;t recommend ever [...]]]></description>
				<content:encoded><![CDATA[<p>Here&#8217;s a script I threw together to do grey-level segmentation using fuzzy c-means. This appeared as a small part of a project in the image processing course I took. The algorithm deployed was really a proof of concept meant to replicate and verify the results of another author &#8212; as such, I don&#8217;t recommend ever using fuzzy c-means for this task as it&#8217;s pretty inefficient. This software will handle any number of grey-level-segments you desire, but I recommend eight as a maximum.</p>
<p><em>The code and course project paper are originally dated April 20th, 2011.</em></p>
<p><span style="font-family: helvetica;">&gt;&gt;&gt; <strong>Download:</strong> <a href="http://eddiema.ca/wp-content/uploads/2011/12/FCMProjectPaper.pdf">FCMProjectPaper.pdf</a> | <a href="http://eddiema.ca/wp-content/uploads/2011/12/FCMProject.tgz">FCMProject.tgz</a> &lt;&lt;&lt;</span></p>
<p>( <em>Requires</em> <a href="http://code.google.com/p/pypng/">pypng</a> &#8211; <em>Python PNG encoder/decoder</em> )</p>
<p>Here are the examples included in the above archive. I like pictures.</p>
<div style="text-align: center;"><img class="alignnone  wp-image-4278" style="border-width: 0px; margin: 0px;" title="sunny2" src="http://eddiema.ca/wp-content/uploads/2011/12/sunny2-300x239.png" alt="" width="216" height="172" /><img class="alignnone  wp-image-4277" style="border-width: 0px; margin: 0px;" title="sunny2_segmented8" src="http://eddiema.ca/wp-content/uploads/2011/12/sunny2_segmented8-300x239.png" alt="" width="216" height="172" /><img class="alignnone  wp-image-4276" style="border-width: 0px; margin: 0px;" title="sunny2_segmented4" src="http://eddiema.ca/wp-content/uploads/2011/12/sunny2_segmented4-300x239.png" alt="" width="216" height="172" /></div>
<p>Sunny in 8-bit greyscale, 3-bit greyscale, 2-bit greyscale.</p>
<div style="text-align: center;"><img class="alignnone  wp-image-4275" style="border-width: 0px; margin: 0px;" title="oreo1" src="http://eddiema.ca/wp-content/uploads/2011/12/oreo1-300x239.png" alt="" width="216" height="172" /><img class="alignnone  wp-image-4274" style="border-width: 0px; margin: 0px;" title="oreo1_segmented8" src="http://eddiema.ca/wp-content/uploads/2011/12/oreo1_segmented8-300x239.png" alt="" width="216" height="172" /><img class="alignnone  wp-image-4273" style="border-width: 0px; margin: 0px;" title="oreo1_segmented4" src="http://eddiema.ca/wp-content/uploads/2011/12/oreo1_segmented4-300x239.png" alt="" width="216" height="172" /></div>
<p>Auryo in 8-bit greyscale, 3-bit greyscale, 2-bit greyscale.</p>
<p>Enjoy <img src='http://eddiema.ca/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/eddiema/~4/5Sf_wF-bfOw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://eddiema.ca/2011/12/20/fuzzy-c-means-for-greylevel-image-segmentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://eddiema.ca/2011/12/20/fuzzy-c-means-for-greylevel-image-segmentation/</feedburner:origLink></item>
		<item>
		<title>My talk at Barcode of Life, Adelaide (2011)</title>
		<link>http://feedproxy.google.com/~r/eddiema/~3/iASqdxMcILs/</link>
		<comments>http://eddiema.ca/2011/12/03/my-talk-at-barcode-of-life-adelaide-2011/#comments</comments>
		<pubDate>Sat, 03 Dec 2011 22:12:05 +0000</pubDate>
		<dc:creator>Eddie Ma</dc:creator>
				<category><![CDATA[Computational Biology]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Adelaide]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[Barcode of Life]]></category>
		<category><![CDATA[BOLD]]></category>
		<category><![CDATA[Contig Assembly]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[Sujeevan Ratnasingham]]></category>

		<guid isPermaLink="false">http://eddiema.ca/?p=4212</guid>
		<description><![CDATA[I&#8217;ve just finished my presentation in Adelaide. This is the first real biology-heavy conference I&#8217;ve been to. Sujeevan has brought me along with the BOLD team from BIO in order to present my work &#8212; and more importantly &#8212; to acquire some resolution about the barcoding culture and its biological significance. The Consortium for The [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve just finished my presentation in Adelaide. This is the first real biology-heavy conference I&#8217;ve been to. Sujeevan has brought me along with the <a href="http://boldsystems.org/">BOLD</a> team from <a href="http://www.biodiversity.uoguelph.ca/">BIO</a> in order to present my work &#8212; and more importantly &#8212; to acquire some resolution about the barcoding culture and its biological significance. The <a href="http://www.barcodeoflife.org/">Consortium for The Barcode of Life</a> (CBOL) co-hosted this event with many biodiversity parties in Australia. Another huge group present was the <a href="http://ibol.org/">International Barcode of Life</a> (iBOL) project. The Barcode of Life Conference is held every other year and is attended by researchers interested in the concerted international barcoding effort. I presented my preliminary findings with a data analysis session and had excellent feedback &#8212; it&#8217;s pretty clear where to go next with my thesis! My talk describes the first steps to automating barcode (contig-like) assembly from ab1 sequencer trace files. This talk describes the present need for automation, trends that we can readily detect in currently assembled data and most importantly &#8212; detectable patterns in how human experts perform manual barcode assembly.</p>
<p>The full name of the conference is <em><a href="http://www.dnabarcodes2011.org/">Fourth International Barcode of Life Conference</a></em>.</p>
<p><span style="font-family: tahoma, arial, helvetica, sans-serif;">&gt;&gt;&gt; <strong>Download:</strong> ( pdf: <a href="http://eddiema.ca/wp-content/uploads/2011/12/EddieMaBOL2011Adelaide.pdf">EddieMaBOL2011Adelaide.pdf</a> | zip: <a href="http://eddiema.ca/wp-content/uploads/2011/12/EddieMaBOL2011Adelaide.pdf.zip">EddieMaBOL2011Adelaide.pdf.zip</a> ) &lt;&lt;&lt;</span></p>
<div style="text-align: center;"><img class="size-full wp-image-4215" title="adelaide_06" src="http://eddiema.ca/wp-content/uploads/2011/12/adelaide_06.png" alt="" width="230" /><img class="size-full wp-image-4216" title="adelaide_16" src="http://eddiema.ca/wp-content/uploads/2011/12/adelaide_16.png" alt="" width="230" /><img class="size-full wp-image-4217" title="adelaide_24" src="http://eddiema.ca/wp-content/uploads/2011/12/adelaide_24.png" alt="" width="230" /></div>
<p style="text-align: center;">Slides 6, 16, 24 from my presentation &#8212; The need for automation; Compositional bias and human edits [null hypothesis]; Where are human edits occurring [in Lepidoptera]?</p>
<p style="text-align: left;">This has been a very enjoyable conference <img src='http://eddiema.ca/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/eddiema/~4/iASqdxMcILs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://eddiema.ca/2011/12/03/my-talk-at-barcode-of-life-adelaide-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://eddiema.ca/2011/12/03/my-talk-at-barcode-of-life-adelaide-2011/</feedburner:origLink></item>
		<item>
		<title>Display page headings without page numbers (LaTeX)</title>
		<link>http://feedproxy.google.com/~r/eddiema/~3/vj_yZlhAHEM/</link>
		<comments>http://eddiema.ca/2011/11/11/display-page-headings-without-page-numbers-latex/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 14:03:41 +0000</pubDate>
		<dc:creator>Eddie Ma</dc:creator>
				<category><![CDATA[Pure Markup]]></category>
		<category><![CDATA[Elsevier]]></category>
		<category><![CDATA[Headers]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[Omit Page Numbers]]></category>
		<category><![CDATA[Page Numbers]]></category>
		<category><![CDATA[Template]]></category>

		<guid isPermaLink="false">http://eddiema.ca/?p=3938</guid>
		<description><![CDATA[Brief: While I was preparing for the Complex Adaptive Systems 2011 in Chicago, I bumped into a little problem. The Elsevier LaTeX template for journal papers renders page numbers, but page numbers were not to be included in the final revision for the conference proceedings. We needed to (1) remove page numbers, but (2) continue [...]]]></description>
				<content:encoded><![CDATA[<p><em><strong>Brief:</strong></em> While I was preparing for the Complex Adaptive Systems 2011 in Chicago, I bumped into a little problem. The Elsevier LaTeX template for journal papers renders page numbers, but page numbers were not to be included in the final revision for the conference proceedings.</p>
<p>We needed to (1) remove page numbers, but (2) continue to include page headers that have the paper title and author names.</p>
<p>To do this, I mashed together the horrible block of markup below <img src='http://eddiema.ca/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<pre class="brush: latex; title: ; notranslate">
% declarations for front matter

%%%%% hack -- remove page numbers
\pagestyle{empty}
\usepackage{fancyhdr}
\lhead{}
\chead{\emph{\footnotesize
Primary Author and Secondary Author / Procedia Computer Science 00 (2011)
}}
\cfoot{}
\renewcommand{\headrulewidth}{0pt}
\pagestyle{fancy}
%%%%%

\begin{document}
</pre>
<p>The above example requires the fancy header package (\usepackage{fancyhdr}), we get an italicized, small text header (\emph{\footnotesize{&#8230;}}) with arbitrary text. Since I don&#8217;t explicitly define page numbers, they won&#8217;t appear. We also don&#8217;t need footers (\cfoot{}).</p>
<p>Note that you can create your own arbitrary headers with this package, or &#8212; if you&#8217;re in a rush like I was &#8212; just use the above as is, and replace the arbitrary text <img src='http://eddiema.ca/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Hope this helps!</p>
<img src="http://feeds.feedburner.com/~r/eddiema/~4/vj_yZlhAHEM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://eddiema.ca/2011/11/11/display-page-headings-without-page-numbers-latex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://eddiema.ca/2011/11/11/display-page-headings-without-page-numbers-latex/</feedburner:origLink></item>
		<item>
		<title>My talk at Complex Adaptive Systems, Chicago (2011)</title>
		<link>http://feedproxy.google.com/~r/eddiema/~3/6_mqwhKUhic/</link>
		<comments>http://eddiema.ca/2011/11/04/my-slideshow-at-complex-adaptive-systems-chicago/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 04:13:47 +0000</pubDate>
		<dc:creator>Eddie Ma</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[CAS]]></category>
		<category><![CDATA[Charlie Obimbo]]></category>
		<category><![CDATA[Complex Adaptive Systems]]></category>
		<category><![CDATA[Evolutionary Computation]]></category>
		<category><![CDATA[Genetic Algorithm]]></category>
		<category><![CDATA[Haochen Zhen]]></category>
		<category><![CDATA[Harmony Search]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[Tiny Encryption Algorithm]]></category>

		<guid isPermaLink="false">http://eddiema.ca/?p=4158</guid>
		<description><![CDATA[I&#8217;ve just returned from the Complex Adaptive Systems conference on Wednesday after an eight hour drive &#8212; well, most of the driving was done by Dr. Obimbo and Haochen. I presented my paper An evolutionary computation attack on one-round TEA. This paper is built on top of my course project in Computer Security (University of [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve just returned from the Complex Adaptive Systems conference on Wednesday after an eight hour drive &#8212; well, most of the driving was done by Dr. Obimbo and Haochen. I presented my paper <em>An evolutionary computation attack on one-round TEA</em>. This paper is built on top of my course project in Computer Security (University of Guelph, Winter 2011). This is my first cryptanalysis paper, and is an aside to the bioinformatics focus of my thesis.</p>
<p>My slides introduce Tiny Encryption Algorithm (TEA) pretty well, along with Genetic Algorithm (GA) and Harmony Search (HS). The slides detailing the results aren&#8217;t quite as self-explanatory, but are bearable since the theme is fairly easy to establish: <em>simpler keys are easier to break than more complicated ones</em>.</p>
<p><span style="font-family: helvetica;">&gt;&gt;&gt; <strong>Download: </strong><a href="http://eddiema.ca/wp-content/uploads/2011/11/CAS2011Chicago.pdf">CAS2011Chicago.pdf</a> &#8211; my presentation from Chicago. &lt;&lt;&lt;</span></p>
<div style="text-align:center"><img class="size-full wp-image-4164" title="CAS2011Chicago.005" src="http://eddiema.ca/wp-content/uploads/2011/11/CAS2011Chicago.005.jpg" alt="" width="230" height="172" /><img class="size-full wp-image-4163" title="CAS2011Chicago.009" src="http://eddiema.ca/wp-content/uploads/2011/11/CAS2011Chicago.009.jpg" alt="" width="230" height="172" /><img class="size-full wp-image-4162" title="CAS2011Chicago.021" src="http://eddiema.ca/wp-content/uploads/2011/11/CAS2011Chicago.021.jpg" alt="" width="230" height="172" /></div>
<p>I <em>might</em> look at cryptanalysis again in future &#8212; but I&#8217;ll certainly use Evolutionary Computation (EC) again. It&#8217;s just too readily available in my toolkit, and is far too easy to deploy. One of the major lessons of this project that became very clear through during discussion with the audience is that the operators that are part of an EC algorithm should reflect the kind of problem we&#8217;re trying to solve. This might seem obvious at first, but I think it&#8217;s more subtle than that. For this project, HS enabled the EC to probe a keyspace with many repetitions &#8212; something that GA operators alone didn&#8217;t provide us.</p>
<p>In general however, the solution space is lumpy enough that using ECs against stronger encryption schemes is just not viable &#8212; unless the EC had some magic to overcome the linearly inseparable lumps. I haven&#8217;t yet met such an operator and am not convinced one way or another about its existence. I&#8217;ll certainly introduce you if I ever do bump into it <img src='http://eddiema.ca/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/eddiema/~4/6_mqwhKUhic" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://eddiema.ca/2011/11/04/my-slideshow-at-complex-adaptive-systems-chicago/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://eddiema.ca/2011/11/04/my-slideshow-at-complex-adaptive-systems-chicago/</feedburner:origLink></item>
		<item>
		<title>Partial Derivatives for Residuals of the Gaussian Function</title>
		<link>http://feedproxy.google.com/~r/eddiema/~3/NNLasrJUMlg/</link>
		<comments>http://eddiema.ca/2011/10/10/partial-derivatives-for-residuals-of-the-gaussian-function/#comments</comments>
		<pubDate>Mon, 10 Oct 2011 15:40:16 +0000</pubDate>
		<dc:creator>Eddie Ma</dc:creator>
				<category><![CDATA[Brain]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Curve Fitting]]></category>
		<category><![CDATA[Gaussian Function]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[Partial Derivatives]]></category>
		<category><![CDATA[Residuals]]></category>

		<guid isPermaLink="false">http://eddiema.ca/?p=4058</guid>
		<description><![CDATA[I needed to get the partial derivatives for the residuals of the Gaussian Function this week. This is needed for a curve fit I&#8217;ll use later. I completely forgot about Maxima, which can do this automatically &#8212; so I did it by hand (Maxima is like Maple, but it&#8217;s free). I&#8217;ve included my work in this [...]]]></description>
				<content:encoded><![CDATA[
<p>I needed to get the partial derivatives for the residuals of the <a href="http://en.wikipedia.org/wiki/Gaussian_function">Gaussian Function</a> this week. This is needed for a curve fit I&#8217;ll use later. I completely forgot about <a href="http://maxima.sourceforge.net/">Maxima</a>, which can do this automatically &#8212; so I did it by hand (Maxima is like Maple, but it&#8217;s free). I&#8217;ve included my work in this post for future reference. If you want a quick refresh on calculus or a step-by-step for this particular function, enjoy <img src='http://eddiema.ca/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> . The math below is rendered with <a href="http://www.mathjax.org/">MathJax</a>.</p>
<p>The Gaussian Function is given by &#8230;</p>
<p>$$ f(x) = ae^{-\frac{(x-b)^2}{2c^2}} $$</p>
<ul>
<li><em>a</em>, <em>b</em>, <em>c</em> are the curve parameters with respect to which we differentiate the residual function</li>
<li><em>e</em> is Euler&#8217;s number</li>
</ul>
<p>Given a set of coordinates I&#8217;d like to fit (x<sub>i</sub>, y<sub>i</sub>), i ∈ [1, m], the residuals are given by &#8230;</p>
<p>$$ r_i = y_i &#8211; ae^{-\frac{(x_i-b)^2}{2c^2}} $$</p>
<p>We want to get &#8230;</p>
<p>$$ \frac{\partial{r}}{\partial{a}}, \frac{\partial{r}}{\partial{b}}, \frac{\partial{r}}{\partial{c}} $$</p>
<p><span id="more-4058"></span></p>
<p>In each of these partials, we can omit the first term y<sub>i</sub> because it drops to zero immediately when held constant.</p>
<p>Let&#8217;s start with <em>r&#8217;(a)</em> &#8230; (<em>b</em>, <em>c</em>, <em>x, y</em> ∈ <em>k</em>)</p>
<p>\begin{align}<br />
r &amp;= -ae^{-\frac{(x-b)^2}{2c^2}} \\<br />
r &amp;= -ae^{u}, (u \in k) \\<br />
r&#8217; &amp;= -e^{u}u&#8217; \\<br />
\therefore \frac{\partial{r}}{\partial{a}} &amp;= -e^{-\frac{(x-b)^2}{2c^2}}<br />
\end{align}</p>
<p>Now let&#8217;s get <em>r&#8217;(b)</em> &#8230; (<em>a</em>, <em>c</em>, <em>x, y</em> ∈ <em>k</em>)</p>
<p>\begin{align}<br />
r &amp;= -ae^{-\frac{(x-b)^2}{2c^2}} \\<br />
r &amp;= -ae^{u} \\<br />
u &amp;= -\frac{(x-b)^2}{2c^2} \\<br />
u &amp;= -\frac{x^2-2bx+b^2}{2c^2} \\<br />
u &amp;= -\frac{x^2}{2c^2}-\frac{2bx+b^2}{2c^2}, (-\frac{x^2}{2c^2} \in k) \\<br />
u&#8217; &amp;= -\frac{-2x + 2b}{2c^2} \\<br />
u&#8217; &amp;= -\frac{b &#8211; x}{c^2} \\<br />
r&#8217; &amp;= -ae^{u}(u&#8217;) \\<br />
r&#8217; &amp;= -ae^{-\frac{(x-b)^2}{2c^2}}(-\frac{b &#8211; x}{c^2}) \\<br />
\therefore \frac{\partial{r}}{\partial{b}} &amp;= \frac{a(b &#8211; x)e^{-\frac{(x-b)^2}{2c^2}}}{c^2}<br />
\end{align}</p>
<p>Finally, let&#8217;s get <em>r&#8217;(c)</em> &#8230; (<em>a</em>, <em>b</em>, <em>x, y</em> ∈ <em>k</em>)</p>
<p>\begin{align}<br />
r &amp;= -ae^{-\frac{(x-b)^2}{2c^2}} \\<br />
r &amp;= -ae^{u} \\<br />
u &amp;= -\frac{(x-b)^2}{2c^2} \\<br />
u &amp;= -{(x-b)^2}\frac{1}{2c^2}, (-{(x-b)^2} \in k) \\<br />
(\frac{1}{v})&#8217; &amp;= \frac{-v&#8217;}{v^2} \\<br />
(\frac{1}{2c^2})&#8217; &amp;= \frac{-(2c^2)&#8217;}{(2c^2)^2} \\<br />
&amp;= \frac{-4c}{4c^4} \\<br />
&amp;= \frac{-1}{c^3}, (c \neq 0) \\<br />
u&#8217; &amp;= -(x-b)^2\frac{-1}{c^3} \\<br />
u&#8217; &amp;= \frac{(x-b)^2}{c^3} \\<br />
r&#8217; &amp;= -ae^{u}(u&#8217;) \\<br />
r&#8217; &amp;= -ae^{-\frac{(x-b)^2}{2c^2}}(\frac{(x-b)^2}{c^3}) \\<br />
\therefore \frac{\partial{r}}{\partial{c}} &amp;= \frac{-a(x-b)^2e^{-\frac{(x-b)^2}{2c^2}}}{c^3}<br />
\end{align}</p>
<p>That&#8217;s all three partials!</p>
<p>Here are Maxima&#8217;s answers for <em>r&#8217;(b)</em> and <em>r&#8217;(c)</em> &#8230;<br />
<code><br />
dr/db = -a*(x-b)*%e^-((x-b)^2/(2*c^2))/c^2<br />
dr/dc = -a*(x-b)^2*%e^-((x-b)^2/(2*c^2))/c^3<br />
</code></p>
<p> <img src='http://eddiema.ca/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/eddiema/~4/NNLasrJUMlg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://eddiema.ca/2011/10/10/partial-derivatives-for-residuals-of-the-gaussian-function/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://eddiema.ca/2011/10/10/partial-derivatives-for-residuals-of-the-gaussian-function/</feedburner:origLink></item>
	</channel>
</rss>
