<?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"
	>

<channel>
	<title>Cerrisian Blog</title>
	<atom:link href="http://blog.cerris.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.cerris.com</link>
	<description>Cloudy and tree-like thoughts</description>
	<pubDate>Wed, 07 Jan 2009 05:44:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>The plan</title>
		<link>http://blog.cerris.com/2009/01/06/the-plan/</link>
		<comments>http://blog.cerris.com/2009/01/06/the-plan/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 05:32:43 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.cerris.com/?p=96</guid>
		<description><![CDATA[So, this idea has been germinating in my mind for a while. A Intelligent Tutoring System to teach programming using python that&#8217;s implemented as a Jython applet with graphical illustrations of programming concepts.
I think this would be awesome if I&#8217;m able to do it effectively, but requires a few skills in place

Jython
Java Applets implemented in [...]]]></description>
			<content:encoded><![CDATA[<p>So, this idea has been germinating in my mind for a while. A Intelligent Tutoring System to teach programming using python that&#8217;s implemented as a Jython applet with graphical illustrations of programming concepts.</p>
<p>I think this would be awesome if I&#8217;m able to do it effectively, but requires a few skills in place</p>
<ul>
<li>Jython</li>
<li>Java Applets implemented in Jython</li>
<li>Swing programming in Jython</li>
</ul>
<p>Now, Crunchy already can turn webpages of documentation into interactive tutorials using the python prompt. This would be different, introducing programming concepts (using spaced repetition and other strategies) and python would be an implementation language and introduced later on in the lessons.</p>
<p>One issue is whether I should focus on something else, like a algebra ITS first. I&#8217;m not really sure, and will have to do some more investigation into the background really necessary for algebra&#8230;Perhaps a ITS to teach linear algebra would be better?</p>
<p>I&#8217;ve already done some investigation of LaTeX equation rendering in Java and javascript, so it does have potential.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cerris.com/2009/01/06/the-plan/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wandering the wonderful world of CSS and web development</title>
		<link>http://blog.cerris.com/2008/12/30/wandering-the-wonderful-world-of-css-and-web-development/</link>
		<comments>http://blog.cerris.com/2008/12/30/wandering-the-wonderful-world-of-css-and-web-development/#comments</comments>
		<pubDate>Wed, 31 Dec 2008 06:56:20 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.cerris.com/?p=95</guid>
		<description><![CDATA[Well, I&#8217;ve spent the past three days or so redoing a website design using YUI CSS and jQuery. It&#8217;s been quite an adventure. A few things that I&#8217;ve learned:
IE 6 is pure hate. IE7.js and IE7.js are life savers, they add the required features to make full (or almost full) CSS usable with IE 6.
It&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I&#8217;ve spent the past three days or so redoing a website design using YUI CSS and jQuery. It&#8217;s been quite an adventure. A few things that I&#8217;ve learned:</p>
<p>IE 6 is pure hate. IE7.js and IE7.js are life savers, they add the required features to make full (or almost full) CSS usable with IE 6.</p>
<p>It&#8217;s easier to start with a blank slate and grab things from the current web page then shoe-horn the current page into YUI CSS.</p>
<p>Javascript based corner rounding is awesome if you&#8217;re lazy.</p>
<p>Upgrading a website in stages is the only sane way to do it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cerris.com/2008/12/30/wandering-the-wonderful-world-of-css-and-web-development/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Random Thoughts about algorithms</title>
		<link>http://blog.cerris.com/2008/12/09/random-thoughts-about-algorithms/</link>
		<comments>http://blog.cerris.com/2008/12/09/random-thoughts-about-algorithms/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 02:50:03 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.cerris.com/?p=93</guid>
		<description><![CDATA[Genetic Algorithms &#8212; selecting for diversity, would it be effective to select specifically for diversity in a genetic algorithm, along with higher fitness?
Spam &#8212; disliking non dictionary words. Would it be effective to add information a Bayesian spam filter on whether a word is in the dictionary to determine spamminess?
]]></description>
			<content:encoded><![CDATA[<p>Genetic Algorithms &#8212; selecting for diversity, would it be effective to select specifically for diversity in a genetic algorithm, along with higher fitness?</p>
<p>Spam &#8212; disliking non dictionary words. Would it be effective to add information a Bayesian spam filter on whether a word is in the dictionary to determine spamminess?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cerris.com/2008/12/09/random-thoughts-about-algorithms/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Intelligent Tutoring Systems</title>
		<link>http://blog.cerris.com/2008/12/05/intelligent-tutoring-systems/</link>
		<comments>http://blog.cerris.com/2008/12/05/intelligent-tutoring-systems/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 06:44:31 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.cerris.com/?p=92</guid>
		<description><![CDATA[One of the most difficult things with ITSes is actually getting the knowledge in the correct format so that the ITS can work. What may be a useful or interesting technique is using something akin to the Socratic method on the domain expert. So that the domain expert is asked definitions of things and elaborations [...]]]></description>
			<content:encoded><![CDATA[<p>One of the most difficult things with ITSes is actually getting the knowledge in the correct format so that the ITS can work. What may be a useful or interesting technique is using something akin to the Socratic method on <em>the domain expert</em>. So that the domain expert is asked definitions of things and elaborations so that the knowledge tree can be created.</p>
<p>One difficulty would be figuring out how to do this for more procedurally material and the relationships between topics, not just hierarchal categories or information about what aggregates are made up.</p>
<p>Perhaps creating a having the domain expert create a few scenarios before hand to highlight concepts and operations would also be useful.</p>
<p>Now, the other question is can the pedagagical structure for an ITS be automatically generated from this knowledge tree? Is that task easier to do in any way?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cerris.com/2008/12/05/intelligent-tutoring-systems/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Learning Seminar, Engineering Challenge and Highschool Programming Contest Future</title>
		<link>http://blog.cerris.com/2008/12/05/learning-seminar-engineering-challenge-and-highschool-programming-contest-future/</link>
		<comments>http://blog.cerris.com/2008/12/05/learning-seminar-engineering-challenge-and-highschool-programming-contest-future/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 06:27:00 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.cerris.com/?p=91</guid>
		<description><![CDATA[I&#8217;m involved in a lot of Computer Science activities aimed at youngsters (Middle through Highschool). So far, I&#8217;ve generally used pre-existing tools with little modification to make them usable for our purposes. But, if I were to make modifications, here are some of the changes that I would make.
Java applet + Jython + RUR-PLE/Corewar
One of [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m involved in a lot of Computer Science activities aimed at youngsters (Middle through Highschool). So far, I&#8217;ve generally used pre-existing tools with little modification to make them usable for our purposes. But, if I were to make modifications, here are some of the changes that I would make.</p>
<h3>Java applet + Jython + RUR-PLE/Corewar</h3>
<p>One of the hardest aspects of these activities is grading/judging the projects. If we can automate this part, it will make the effort involved during the activity a lot less.</p>
<p>Here&#8217;s the basic idea: The software consists of two arts an applet and a webserver to keep track of scores and allow for collaboration. This would be done through HTTP with Django or some such. The other part is a java applet run on the local system, this would run the actual activity and interact with the user.</p>
<p>The Activity: Robots</p>
<p>The users program &#8216;robots&#8217; that have to complete tasks with constraints on their behavior. The robots are then automatically scored and end up in a competition ladder. Similar for core war, (perhaps we have a bracketed competition, multiple rounds)?</p>
<p>The robot game could be anything, solve a maze, pick up cookies, paint the floor. They&#8217;d probably end up programming it in a subset language (maybe pascal like?) that could have constraints on, for example, the number of instructions, or conditionals, or loops. We may also be able to use a subset of a language (Ruby, Python, Java?) that is in broad use.</p>
<p>Corewar would just be the classic game with a probably simplified assembly instruction set&#8230;possibly MIPS?</p>
<p>After a development period (potentially timed), we could display the runs on a big screen showing each person in the bracket.</p>
<h3>Integrate an ITS</h3>
<p>A Intelligent Tutoring System could be then added to this applet to guide the user through some preliminary projects. This would be a great way to gather observational data as well.</p>
<h3>Python eToys -&gt; pytoys</h3>
<p>I&#8217;ve been thinking about my pyhton eToys clone idea a bit more. Here&#8217;s a basic scenario. A user starts off with a  a blank screen, the user then right clicks on the background and then selects the &#8216;new&#8230;&#8217; menu choice. Then brings up a dialog that has the library of premade object such as text, rectangles, circles, buttons,  etc. The user selects a circle and the cursor is turned into a circle ready to be placed the user clicks on the background and the object is placed. After the object is placed the user right clicks on it and a menu pops up, the user selects &#8216;edit action&#8217; and a special coding dialog shows up, in it is the code:</p>
<pre>def action(self):
    |</pre>
<p>where | is the cursor in the dialog. The user types self. and a code-completion pop up appears. The user types x and the code completion box does the usual thing and highlights x and contracts the user hits space and continues, writing</p>
<pre>def action(self):</pre>
<pre>    self.x = 50</pre>
<p>The user then clicks the &#8220;ok&#8221; button on the dialog and is brought back to the main screen. There is a button (probably at the top) that is a toggle, currently it is untoggled and says &#8220;Run&#8221; on it. The user clicks on it and the ball suddenly pops to position x. The user has run out of time, so they click the save button which pops up a dialog that allows them to select the name that they want to save this environment of. If they open that name later on, all the objects and all the code associated with them will be opened again and usable.</p>
<p>One feature I want to integrate is doctests for the little snippets of code that the user writes. This will be somewhat difficult for the individual methods that the user writes&#8230;I don&#8217;t know how to get around this problem at the moment. (Perhaps run the doctest in a context where the object exists and is bound to the name &#8217;self&#8217;?)</p>
<p>Another problem is that pickles don&#8217;t support functions or classes, they have to be importable modules. Two solutions to this are just repeating the steps taken patching the  objects on file load (saving the method defining text in the save file) or using something more like the &#8220;Lightning Editor&#8221; for python, having all the code in a side window and a run button.</p>
<p>It looks like this part at least is less straightforward than I would&#8217;ve hoped&#8230;A good approach I just realized is saving the text to create the function (doing syntax checks on it live) and then exec&#8217;ing it and adding it to the object manually. I think this would cover everything.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cerris.com/2008/12/05/learning-seminar-engineering-challenge-and-highschool-programming-contest-future/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rent a coder for open source software improvement</title>
		<link>http://blog.cerris.com/2008/12/01/rent-a-coder-for-open-source-software-improvement/</link>
		<comments>http://blog.cerris.com/2008/12/01/rent-a-coder-for-open-source-software-improvement/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 19:21:45 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.cerris.com/?p=89</guid>
		<description><![CDATA[Coding Horror had a post today about the various websites that are out there for freelance programmers. It seems to be hit or miss based on whether projects succeed, although smaller projects with details specifications tend to do better.
Two pieces of opensource software that I use a lot, LyX and FreeMind, both lack active spell [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.codinghorror.com/blog/archives/001190.html">Coding Horror</a> had a post today about the various websites that are out there for freelance programmers. It seems to be hit or miss based on whether projects succeed, although smaller projects with details specifications tend to do better.</p>
<p>Two pieces of opensource software that I use a lot, <a href="http://www.lyx.org/">LyX</a> and <a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">FreeMind</a>, both lack active spell checkers. Currently LyX has <a href="http://www.lyx.org/Donate">a 2000 Euro bounty for active spell checking</a>. There are preexisting spellcheckers for Java, so it would hopefully be relatively easy to add it to FreeMind. Regardless, I don&#8217;t really have the time to do this, so I wonder how effective it would be to try to out source this code to rentacoder or a service like it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cerris.com/2008/12/01/rent-a-coder-for-open-source-software-improvement/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Practice, judgement and testing</title>
		<link>http://blog.cerris.com/2008/11/22/practice-judgement-and-testing/</link>
		<comments>http://blog.cerris.com/2008/11/22/practice-judgement-and-testing/#comments</comments>
		<pubDate>Sat, 22 Nov 2008 07:25:52 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.cerris.com/?p=86</guid>
		<description><![CDATA[Montessori believed that knowledge acquisition through sensorial experience was subconscious and didn&#8217;t require active recall or correction. This specifically means that learners can engage in repetitive acivity without being tested or directly engaging in active recall, and the knowledge will be retained.
This also implies that you can engage in &#8220;preparatory activities&#8221; that aren&#8217;t directly related [...]]]></description>
			<content:encoded><![CDATA[<p>Montessori believed that knowledge acquisition through sensorial experience was subconscious and didn&#8217;t require active recall or correction. This specifically means that learners can engage in repetitive acivity without being tested or directly engaging in active recall, and the knowledge will be retained.</p>
<p>This also implies that you can engage in &#8220;preparatory activities&#8221; that aren&#8217;t directly related to the end goal, but put into place skills or habits necessary for the end goal. In the Karate Kid, the main character was taught how to paint the fence and wax the car using very specific muscular movements. These were preparatory activities to learning Karate (specifically hand blocks).</p>
<p>Similarly, the knobbed cylinders in Montessori prepare for learning by habitually going in left-to-right in Roman alphabet languages, and right-to-left in Semitic languages.</p>
<p>These is also true of pure-contour drawing for teaching draftsmanship. The copying of curves and edges is a skill that is practiced over and over in preparation for real drawing.</p>
<p>Which draws me to my little anecdote relating to my Wacom pen tablet. Tablets allow you to draw very quickly on the computer, but they take a slightly different sense of coordination compared both to a mouse and to physical pen and paper. I&#8217;m not a especially skilled artist yet, so I often still have difficulty making lines even match what I see. I&#8217;ve also be conditioned, through my experience in engineering and formalized schooling, to want to verify things after I&#8217;ve built them. So, I have a bit of a bad tendency (like many beginning artists) to be judgmental of my work. I also have a weird aversion (probably from formalized schooling) to not want to erase my work if I make a mistake.</p>
<p>Now keeping in mind that sensorial experience *doesn&#8217;t* need to be tested, just be expereinced for skills and knowledge to be learned, there is no reason at all to be critical. This is one of the great benefits of blind contour drawing, since the result generally does not match what you were drawing, you can&#8217;t critique the result, only the procedure used to get it (whether you drew to fast or too slow). I&#8217;ve discovered a somewhat similar technique when using the wacom tablet. Specifically, I take a source image that I&#8217;ll be using for a basis, and then draw lines directly onto it using the wacom tablet and inkscape. Of course, being an amatuer, the first like is usually very shaky and inaccurate, so I simply undo and retry until I get a good line. I can keep track of how I did the line with my muscle memory and spatial memory, and the line on the image gives me direct feedback on the accuracy of my drawing.</p>
<p>Another nice side effect is that in addition gaining a lot of practice without judgement, I also get a nice finished product in the end :). I bet it&#8217;s a preparatory for edge detection, accurate edge recording, scaling and understanding feedback on how a drawing looks. Plus the motor skills required for drawing effectively with a wacom tablet.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cerris.com/2008/11/22/practice-judgement-and-testing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>More random thoughts</title>
		<link>http://blog.cerris.com/2008/11/19/more-random-thoughts/</link>
		<comments>http://blog.cerris.com/2008/11/19/more-random-thoughts/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 06:10:02 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.cerris.com/?p=85</guid>
		<description><![CDATA[Intelligent Tutoring Systems
Cognitive Tutor seems pretty simplistic. The example they run throug with creating a learning card for fractional addition seems flawed. I&#8217;d constrain it based on algebraic rules and probable decisions made by children (multiply them together, or do a gcd) rather than enumerating all possible choices. Of course, I tend to be a [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Intelligent Tutoring Systems</strong></p>
<p>Cognitive Tutor seems pretty simplistic. The example they run throug with creating a learning card for fractional addition seems flawed. I&#8217;d constrain it based on algebraic rules and probable decisions made by children (multiply them together, or do a gcd) rather than enumerating all possible choices. Of course, I tend to be a deductivist, so I&#8217;d explain the rules of algebra as they relate to fractions before giving examples.</p>
<p>The other thing that may be interesting is that *making* the notes for a spaced learning system such as mnemosyne may add to understanding&#8230;It would be difficult to verify notes that students create, but it&#8217;s definitely something to explore (even if it does require grading of the notes for correctness by a competent human.)</p>
<p><strong>Procedural Web Design</strong></p>
<p>An interesting project would be procedurally create web layouts following some basic rules (Stuff in basic design books and &#8220;don&#8217;t make me think&#8221;, along with some color theory). It&#8217;d definitely be useful, as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cerris.com/2008/11/19/more-random-thoughts/feed/</wfw:commentRss>
		</item>
		<item>
		<title>AST Manipulation fun for when I have time</title>
		<link>http://blog.cerris.com/2008/11/02/ast-manipulation-fun-for-when-i-have-time/</link>
		<comments>http://blog.cerris.com/2008/11/02/ast-manipulation-fun-for-when-i-have-time/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 01:17:55 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[computer science]]></category>

		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.cerris.com/?p=83</guid>
		<description><![CDATA[Nice asserts
Currently python asserts are of the form
assert EXPRESSION, MESSAGE
It&#8217;d be really nice if an assert of the form
assert a &#60; b &#60; c
would display display a message equivalent to this (with a = 2, b = 1, c = 3)
AssertaionError: 2 &#60; 1 &#60; 3
I think I can do this for most Boolean expressions [...]]]></description>
			<content:encoded><![CDATA[<h2>Nice asserts</h2>
<p>Currently python asserts are of the form</p>
<p><code>assert EXPRESSION, MESSAGE</code></p>
<p>It&#8217;d be really nice if an assert of the form</p>
<p><code>assert a &lt; b &lt; c</code></p>
<p>would display display a message equivalent to this (with a = 2, b = 1, c = 3)</p>
<p><code>AssertaionError: 2 &lt; 1 &lt; 3</code></p>
<p>I think I can do this for most Boolean expressions by doing an AST transform. So something like</p>
<p><code>assert a.foo() &lt; g.bar() != f("fizzle")</code></p>
<p>Would be transformed into:</p>
<p><code>_1, _2, _3, = a.foo(), g.bar(), f("fizzle")<br />
assert _1 &lt; _2 != _3, "%s &lt; %s != %s" % (_1, _2, _3)</code></p>
<p>This would happen right before methods/functions were run. Hopefully, by using AST it will be more portable to other python implementations (This is the primary reason cited by Guido for why adding this type of assertion to the CPython implementation wont be supported).</p>
<h2>Mutation Testing</h2>
<p>Mutation testing plugin for nose. Mutate Boolean expressions and constants akin to Pester, only using an AST transform instead of text substitution. This could potentially increase the types of mutations possible (shuffle orders of statements executed, change parameters, etc.)</p>
<p>Difficulties:</p>
<ul>
<li>Determing what&#8217;s under test to change (perhaps use coverage/figleaf to figure out what to change?)</li>
<li>Keeping track and reporting mutation results to tester (should be relatively straightforward)</li>
<li>Doing this quickly &#8212; mutations usually take a long time. (Only mutate files specified by user?)</li>
</ul>
<h2>Genetic programming</h2>
<p>AST tree manipulation can also be used to generate syntactically correct statements automatically. Assuming I find or create an acceptable cross-over algorithm (perhaps steal the one from <a href="http://pygp.sourceforge.net/">pygp</a>) AST will make this relatively straightforward.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cerris.com/2008/11/02/ast-manipulation-fun-for-when-i-have-time/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Random stuff so I don&#8217;t forget</title>
		<link>http://blog.cerris.com/2008/10/29/random-stuff-so-i-dont-forget/</link>
		<comments>http://blog.cerris.com/2008/10/29/random-stuff-so-i-dont-forget/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 04:53:20 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[computer science]]></category>

		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.cerris.com/?p=82</guid>
		<description><![CDATA[Freemind management of mnemosyne cards is an awesome idea! Create and organize subject matter in FreeMind, then export (leaves probably) to Mnemosyne cards with containing branches as categories. The tree could also be exported to a LaTeX memoir document, so it&#8217;s three in one: Tree, narrative, and notes. OOooh, I really like this idea.

Freemind needs [...]]]></description>
			<content:encoded><![CDATA[<p>Freemind management of mnemosyne cards is an awesome idea! Create and organize subject matter in FreeMind, then export (leaves probably) to Mnemosyne cards with containing branches as categories. The tree could also be exported to a LaTeX memoir document, so it&#8217;s three in one: Tree, narrative, and notes. OOooh, I really like this idea.</p>
<ul>
<li>Freemind needs a: spellchecker, automagically updated file view and clone nodes.</li>
</ul>
<ul>
<li>Use python 2.6 ast module to make pretty asserts that use the assert keyword.</li>
<li>the ast module could also be used to implement something akin to the Eiffel &#8220;old&#8221; keyword. But I think a registry of expressions to evaluate before the method and are accessable by name e.g.
<ul>
<li>old(expr1=lambda s: s.attr, expr2=lambda s: s.method()) and accessable by old.expr1, old.expr2</li>
</ul>
</li>
<li>would be cleaner to implement.</li>
<li>Cmockery is hugs and cuddles, now all I have to do is add it to our make file for OS, mwahahahah!</li>
<li>Pythoscope equivalent for C would be interesting, and probably useful. Although really hard to implement&#8230;Whoever did it would become really good at C, though.</li>
<li>Contracts for python need to handle functions as well as classes (perhaps through wrapper class with __call__ or some such?)</li>
<li>Also looking at automake and autotools, makefiles don&#8217;t look as brain melting as they used to.</li>
<li>Automatically generating Sequence diagrams based on unit test or code execution would be AWESOME, pyumlgraph already does it for class relationship diagrams (generally, at least)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.cerris.com/2008/10/29/random-stuff-so-i-dont-forget/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
