<?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>The Unctuous Rants of Leif Andersen &#187; Linux/FLOSS</title>
	<atom:link href="http://leifandersen.net/category/technology/linuxfloss/feed/" rel="self" type="application/rss+xml" />
	<link>http://leifandersen.net</link>
	<description>Your Fiduciary Source for Science, Technology, Rants, and Occasional Journalism</description>
	<lastBuildDate>Mon, 06 Sep 2010 19:23:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Remaining GSoC Blender Status Reports</title>
		<link>http://leifandersen.net/2010/09/05/remaining-gsoc-blender-status-reports/</link>
		<comments>http://leifandersen.net/2010/09/05/remaining-gsoc-blender-status-reports/#comments</comments>
		<pubDate>Sun, 05 Sep 2010 23:20:55 +0000</pubDate>
		<dc:creator>Leif Andersen</dc:creator>
				<category><![CDATA[Linux/FLOSS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Blender]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[GSoC]]></category>

		<guid isPermaLink="false">http://leifandersen.net/?p=645</guid>
		<description><![CDATA[In the past few weeks I never got around to reposting my weekly status reports here, although you could still find them on the mailing list.&#160; As such, here are the remaining status reports.&#160; Also, the webpage for the project is http://wiki.blender.org/index.php/User:LeifAndersen/GSoC2010.&#160; It is possible that the weeks got out&#160; of order, or that I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>In the past few weeks I never got around to reposting my weekly status reports here, although you could still find them on the mailing list.&nbsp; As such, here are the remaining status reports.&nbsp; Also, the webpage for the project is <a href="http://wiki.blender.org/index.php/User:LeifAndersen/GSoC2010">http://wiki.blender.org/index.php/User:LeifAndersen/GSoC2010</a>.&nbsp; It is possible that the weeks got out&nbsp; of order, or that I&#8217;m even missing one, (it appears that I sent out two week 8 reports, than a week 9, and a week 10.&nbsp; I will write up an overall review of how well I think the experience went in the weeks to come.&nbsp; However, I&#8217;m not entirely done with the project, as I still need to update it (to match the latest API in the trunk), and begin to get it merged into the trunk.&nbsp; Anyway, read the reports after the break.</p>
<p><span id="more-645"></span></p>
<p><strong>Week 8</strong></p>
<p>This week was a slightly less productive week. &nbsp;I made one or  two&nbsp;tweaks&nbsp;to the image diff tests, but otherwise, they&#8217;re done. &nbsp;They  can be downloaded here:&nbsp;<a href="http://sourceforge.net/projects/blenderrender/files/" target="_blank">http://sourceforge.net/projects/blenderrender/files/</a></p>
<div>There are three files:</div>
<p><div>The  regular version ~10 megabytes, contains the code, and all of the blend  files, as well as the images to run the blend files out of the box (the  animations can be run, but they must be built first).</div>
<p><div>The version with&nbsp;animations&nbsp;~200&nbsp;megabytes,&nbsp;contains&nbsp;everything the regular version does, except it comes pre-loaded with the animations built.</div>
<p><div>Just the animations: ~200&nbsp;megabytes, the animations, in case the user doesn&#8217;t want to build them first.</div>
<p><div>By default, the animations aren&#8217;t tested, and in  truth, they seem less useful than the image diffs, but still could be  run every once in a while. &nbsp;Again, these tests are plugged into cmake,  but cmake only does the image tests (the animation ones cause cmake to  time out).</div>
<p><div>Also this week I integrated the built in gui tools.  &nbsp;They now use the operators, and give some feedback outside of the  terminal. &nbsp;They can be found in the operators panel in the 3d view.  &nbsp;Ultimately&nbsp;I would also like to give them a section in the preferences  window, but I don&#8217;t see that&nbsp;happening&nbsp;in the near future (at least not  with some help).</div>
<p><div>I also started making more improvements to the blend  file hashcode operator. &nbsp;It now takes a lot more into account, leading  to a more accurate (or at least unique), hashcode.</div>
<p><div>Finally,  I actually started using the tests module again. &nbsp;Because the only way  (that I can see) to get data in and out of operators, is through the  context (bpy.context, or bContext), the problem is that I would need to  change the context from within the blender kernel itself (or wherever  the context is stored), and while I&#8217;m okay doing that, that&#8217;s a bit more  integrated than what I want these tests to be at the moment. &nbsp;So I  started using the tests module as a pseudo-testing context in which to  store data to be displayed.</div>
<p><div>Next week I plan on finishing up some of the gui,  cleaning up some more of the older tests I wrote at the&nbsp;beginning of the  project, and writing a few tests that take advantage of the tools.  &nbsp;Finally, *IF* I get time, I will take a look again at the wm module,  and try to get it up and running. &nbsp;Than I will proceed to make as many  regression tests as I can.</div>
<p><div><strong>Week 9</strong></div>
<p><div>This week went well. &nbsp;After&nbsp;realizing that the end is in about two  weeks, I began to worry that I may not finish in time. &nbsp;I do think that  it&#8217;s possible now, although it will require quite a lot of work, and a  few of the things that I hoped would get built probably won&#8217;t get built  in time.</div>
<div>
<p><div>This week I put the finishing touches on the framework,  and started to move the tests from the existing (manual) testing  framework to the newer automated one. &nbsp;Or at least non-render based  tests, render based ones have already been moved over. &nbsp;So far it&#8217;s been  going fairly well, especially as the python api now seems to work much  better than it did back when this project first got started.</div>
<p><div>Also this week I did a bit of a rewrite on the  render tests. &nbsp;Now instead of storing the pre-built good images in the  tests, it always renders the good images as the test runs, this does  require that the dev have a copy of the &#8216;good&#8217; version of blender, but  it&#8217;s probably also much more powerful. &nbsp;There&#8217;s still a few last  remaining bugs, but they will be squashed rapidly.</div>
<p><div>Next week I will do some more expected bug-squashing  of the framework, but more importantly, I will finish up moving all of  the tests over to the new framework, and try to reserve the last week or  two for bug fixes, more community feedback, and better documentation.</div>
</div>
<p><div><strong>Week 10</strong></div>
<p><div><strong><br />
</strong></div>
<div>Wow&#8230;.this is coming to an end really fast.</div>
<div>
<p><div>Anyway,  this week was almost exclusively spent on porting the existing tests  over to the new framework. &nbsp;I think it went really smoothly. &nbsp;Of course,  I realized soon on that my framework was very&nbsp;inadequate&nbsp;at certain  portions (ie the fact that my hash operator didn&#8217;t take nearly enough  factors of the scene into account, and my &#8216;hash table&#8217; was just an array  of tuples, both of which I fixed (the hash function now takes more  things into account, however, rather than analyzing everything, it only  analyzes them when in conjunction to the scene&#8230;I&#8217;m thinking I may need  to change this, but it&#8217;ll have to wait until next week, also, I&#8217;m now  using an actual hashtable, as provided by the dict interface in python).  &nbsp;Also, certain portions of the test are simply not autometable (to my  knowledge anyway), that is, the portions of the test that make sure the  UI works properly. &nbsp;The best I could think of is taking screenshots, but  than we have to make sure that things such as resolution screen size  etc. etc. match on all of the tests. &nbsp;So I put it in a folder called  /manual, these need to be done manually. &nbsp;(Of course, there aren&#8217;t very  many of these tests, and they can be done in under 2 minutes). &nbsp;I have a  few more changes to make today and tomorrow (pertaining to known bugs  mainly), but other than that, I&#8217;m done with the majority of actual  coding for this project. &nbsp;I wish I had gotten more done this summer, but  I am okay with what i did during the last 3/4 or 2/3 of it (even if a  lot of it until the last 1/2 or even 1/3 was eventually dropped for  better methods), and I hope to continue contributing to blender at the  conclusion of this project.</div>
<p><div>Next week I had bug fixing, code scrubbing,  documentation, and packaging planned. &nbsp;Most of the known bugs have been  found, but seeing my track record, there&#8217;s probably a lot more out  there. &nbsp;Also, the code is a steaming pile of uncommented un-formatted  text, and I need to clean it up, and document everything. &nbsp;Than, I need  to package it up, and try to get it to replace /lib/tests. &nbsp;Finally,  (and this may need to get done after the completion of the  project,&nbsp;especially&nbsp;as it&#8217;s not really &#8216;coding&#8217;, I need to try to get  something like <a href="http://cdash.blender.org/" target="_blank">cdash.blender.org</a> up, to aid in the viewing of the files (I currently have the testing  dashboard up, mentioned much earlier in the project, but that was only  intended as a demo).</div>
<p><div>Once again, thank you for all of your help, it has  been a great summer, and I hope to continue to be a part of the blender  developer community.</div>
</div>
<p><div><strong>Week 11</strong></div>
<p><div>This was an interesting week. &nbsp;I didn&#8217;t get as much documenting as I  would have liked to do to some major bugs found in the hashcode  operator. &nbsp;First I realized that hash() (which is mainly used for  building dictionaries), isn&#8217;t&nbsp;guaranteed&nbsp;to be system independent (in  particular, 32 and 64 bit OSs treat them very differently). &nbsp;Next, after  updating the hash operator to use hashlib, I discovered that the hashes  still came out differently on different systems. &nbsp;I soon found out that  this was probably caused by roundoff errors in the way blender treats  various floating point numbers. &nbsp;I finally fixed most of it, however I  lost a day and a half (almost two days) in the process. &nbsp;(Also, I&#8217;ve  reached a&nbsp;conundrum&nbsp;where occasionally a&nbsp;number will  be&nbsp;fundamentally&nbsp;different. For example, 0.3xxx vs. 0.4xxx. &nbsp;I tried to  minimize this causing an error, but according to the algorithm, it  should).</div>
<div>
<p><div>Once I finished that, I finally got to start documenting  everything. &nbsp;I still have the project page to finish, as well as a few  code comments, but I think once I finish with those, I will be  practically done with the project (barring no more major bugs happen,  sadly though, if there are, the project may get shipped to Google like  that, although they will get fixed asap).</div>
<div>Then, I need to see what has to be done to get this project merged into the trunk.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://leifandersen.net/2010/09/05/remaining-gsoc-blender-status-reports/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blender GSoC Week 7 Status</title>
		<link>http://leifandersen.net/2010/07/11/blender-gsoc-week-7-status/</link>
		<comments>http://leifandersen.net/2010/07/11/blender-gsoc-week-7-status/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 04:02:39 +0000</pubDate>
		<dc:creator>Leif Andersen</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Linux/FLOSS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Blender]]></category>
		<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[GSoC]]></category>

		<guid isPermaLink="false">http://leifandersen.net/?p=579</guid>
		<description><![CDATA[Overall, I think this has been a good week.  I worked almost exclusively on the image comparison diff tester this week.  I wrote it in python, and it can actually work independent of blender (although it does assume that blender is on your system, and in your path, although that can be changed with the [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste">Overall, I think this has been a good week.  I worked almost exclusively on the image comparison diff tester this week.  I wrote it in python, and it can actually work independent of blender (although it does assume that blender is on your system, and in your path, although that can be changed with the &#8211;blender-bin flag).  This means that the tests folder can be put in a zip, and placed in the same location as where the current regression tests (for blender 2.4x) are located on the website.</div>
<div id="_mcePaste">As I said last time, the general way to run the tests is by using python run.py.  You can use the -v flag to see the output of blender as it&#8217;s rendering it.  Also, it might be possible to avoid even having to download the images at all, by using the recently built &#8211;built-tests flag, which, instead of rendering tests, will render the images and store them in the known good folder.  (It uses the version of blender in your path).</div>
<div></div>
<div id="_mcePaste">Through the use of the &#8211;image flag, you can compare any blender image on your harddrive (currently assuming it&#8217;s in the right file structure), this allowed me to make other image comparison tests, that compared blend files built by pyunit based tests.  This (along with the hashcode operator I started putting together last week), means that most of the tools for building good unit tests (and regression tests in general), are almost build (I think).  Meaning that now the only missing piece of the puzzle is the one I was working on several weeks ago (without luck), which is:</div>
<div id="_mcePaste">
<ul>
<li><span style="font-size: 13.3333px;">A.  Getting the python API to work in background mode (which blender currently isn&#8217;t designed to do).</span></li>
<li><span style="font-size: 13.3333px;">B.  Getting the python API to work properly in foreground mode (lots of stuff in bpy.wm crash.  (At least it did as of a week ago, do to low bandwidth caps here, I won&#8217;t&#8217; merge until tomorrow evening (when I get home), so they may have been fixed by now)).</span></li>
</ul>
</div>
<div id="_mcePaste">Although Andrea only looked at my code to determine good structure, etc.   I believe that most of the bugs have been removed.  (Although, this is python, and bad code doesn&#8217;t show up until someone tries to run it, and I haven&#8217;t made regression tests for my regression tests. <img src='http://leifandersen.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  (at least not yet anyway, and it&#8217;s not on my radar in the near future)).</div>
<div id="_mcePaste">The comparator is also capable of producing animation tests.  However, this code is slightly buggier.  Also, by default, I&#8217;m not running the animation tests in the current regression suite, because it takes the running time up from 2:30, to over an hour.  I have a &#8211;animation flag, but it doesn&#8217;t work at the moment.  (Although the underlying code works, so it&#8217;s basically just a matter of plugging the code into the flag).</div>
<div></div>
<div id="_mcePaste">Finally, because the animation images make the overall file size ~240 MB (as apposed to 30 MB), they are not in the default build.  But rather, the user has two choices, they can either A:  Render Good ones, or B.  Use a hash code (and download images (or generate them) if something goes wrong).  The hash code also work in images.  However, the code for this is only half built.  The test case classes support it, but the surrounding structures don&#8217;t use it yet, this shouldn&#8217;t be more than an hours worth of work to implement it fully.</div>
<div></div>
<div id="_mcePaste">Finally, I didn&#8217;t do as much work as I would have liked in the HTML output.  Now, rather than using static CSS scripts from sphynx, I now build the CSS in the script itself.  (With the exception of images, I&#8217;m not sure how to do that as a python script&#8230;well, there is PIL, but I&#8217;d sooner put bamboo up my fingernails than make the needed images that way).  Although the output is starting to look like it&#8217;s from blender&#8217;s website.  (Although the table doesn&#8217;t quite fit).  Also, it will only generate images for single images (well, that, and animations, but it only does the first frame).  Eventually, the animations will be clickable, and you can view a separate HTML page for the entire animation, but that&#8217;s not built yet.  It shouldn&#8217;t be too hard to make, but I keep having to do one or the other thing, so the current implementation is old, and would probably cause the script to crash if used.</div>
<p>Overall, I think this has been a good week.  I worked almost exclusively on the image comparison diff tester this week.  I wrote it in python, and it can actually work independent of blender (although it does assume that blender is on your system, and in your path, although that can be changed with the &#8211;blender-bin flag).  This means that the tests folder can be put in a zip, and placed in the same location as where the current regression tests (for blender 2.4x) are located on the website.<br />
As I said last time, the general way to run the tests is by using python run.py.  You can use the -v flag to see the output of blender as it&#8217;s rendering it.  Also, it might be possible to avoid even having to download the images at all, by using the recently built &#8211;built-tests flag, which, instead of rendering tests, will render the images and store them in the known good folder.  (It uses the version of blender in your path).<br />
Through the use of the &#8211;image flag, you can compare any blender image on your harddrive (currently assuming it&#8217;s in the right file structure), this allowed me to make other image comparison tests, that compared blend files built by pyunit based tests.  This (along with the hashcode operator I started putting together last week), means that most of the tools for building good unit tests (and regression tests in general), are almost build (I think).  Meaning that now the only missing piece of the puzzle is the one I was working on several weeks ago (without luck), which is:A.  Getting the python API to work in background mode (which blender currently isn&#8217;t designed to do).B.  Getting the python API to work properly in foreground mode (lots of stuff in bpy.wm crash.  (At least it did as of a week ago, do to low bandwidth caps here, I won&#8217;t&#8217; merge until tomorrow evening (when I get home), so they may have been fixed by now)).</p>
<p>Although Andrea only looked at my code to determine good structure, etc.   I believe that most of the bugs have been removed.  (Although, this is python, and bad code doesn&#8217;t show up until someone tries to run it, and I haven&#8217;t made regression tests for my regression tests. <img src='http://leifandersen.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  (at least not yet anyway, and it&#8217;s not on my radar in the near future)).<br />
The comparator is also capable of producing animation tests.  However, this code is slightly buggier.  Also, by default, I&#8217;m not running the animation tests in the current regression suite, because it takes the running time up from 2:30, to over an hour.  I have a &#8211;animation flag, but it doesn&#8217;t work at the moment.  (Although the underlying code works, so it&#8217;s basically just a matter of plugging the code into the flag).</p>
<p>Finally, because the animation images make the overall file size ~240 MB (as apposed to 30 MB), they are not in the default build.  But rather, the user has two choices, they can either A:  Render Good ones, or B.  Use a hash code (and download images (or generate them) if something goes wrong).  The hash code also work in images.  However, the code for this is only half built.  The test case classes support it, but the surrounding structures don&#8217;t use it yet, this shouldn&#8217;t be more than an hours worth of work to implement it fully.</p>
<p>Finally, I didn&#8217;t do as much work as I would have liked in the HTML output.  Now, rather than using static CSS scripts from sphynx, I now build the CSS in the script itself.  (With the exception of images, I&#8217;m not sure how to do that as a python script&#8230;well, there is PIL, but I&#8217;d sooner put bamboo up my fingernails than make the needed images that way).  Although the output is starting to look like it&#8217;s from blender&#8217;s website.  (Although the table doesn&#8217;t quite fit).  Also, it will only generate images for single images (well, that, and animations, but it only does the first frame).  Eventually, the animations will be clickable, and you can view a separate HTML page for the entire animation, but that&#8217;s not built yet.  It shouldn&#8217;t be too hard to make, but I keep having to do one or the other thing, so the current implementation is old, and would probably cause the script to crash if used.</p>
]]></content:encoded>
			<wfw:commentRss>http://leifandersen.net/2010/07/11/blender-gsoc-week-7-status/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blender GSoC Week 6 Status</title>
		<link>http://leifandersen.net/2010/07/11/blender-gsoc-week-6-status/</link>
		<comments>http://leifandersen.net/2010/07/11/blender-gsoc-week-6-status/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 03:59:58 +0000</pubDate>
		<dc:creator>Leif Andersen</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Linux/FLOSS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Blender]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://leifandersen.net/?p=576</guid>
		<description><![CDATA[I&#8217;ll try to make this short, as it&#8217;s late here. Even though I got sick this week (it turned out to be just a cold/flu), and went out of town (and still am), I believe that this week has been one of the most productive weeks so far. This week started off with me implementing [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste">I&#8217;ll try to make this short, as it&#8217;s late here.</div>
<div id="_mcePaste">Even though I got sick this week (it turned out to be just a cold/flu), and went out of town (and still am), I believe that this week has been one of the most productive weeks so far.</div>
<div id="_mcePaste">This week started off with me implementing some of the GUI features I worked with last week, which is to say I started making the image diff tests into an operator.  (Previously they had been baked into the tests directly).  They could be run from a Tests dropdown menu, although there was non feedback outside of the console, leading the user to believe blender had frozen while the tests were running.  Andrea pointed out that this was pointless, and that it should just be a script.  As such, I started implementing it in all in python 2.x.  The tests can be found in tests/render, and I put together a slight howto on how to run them: http://wiki.blender.org/index.php/User:LeifAndersen/GSoC2010/Howto</div>
<blockquote>
<div id="_mcePaste">Render Tests</div>
<div id="_mcePaste">The current set of render tests requires PIL, and python 2.x. In order to run them, inside the blender source directory, look in: tests/render. There, you should find a collection of files. While the absolute path of those files doesn&#8217;t matter (aka, you could move the tests/render folder anywhere, and it would do just fine), those files must be kept in the same relationship to each other. If blender is already in your system path, just go into the folder, and run python run.py, and the script will take it&#8217;s course. If blender is not in your current path, open up run.py, and change the BLENDER_BIN variable to you blender binary, and than run python run.py. You can view the results in the console, otherwise you can see a list of all of the results, as well as diffs, by opening index.html in your web browser.</div>
<div id="_mcePaste">(my most recent commits have temporarily broken this as an operator, but I will soon fix that).  There is a webpage that is outputted which allows you to easily see the difference between the renders.  In addition, the algorithm for analyzing the images is much improved.</div>
<div id="_mcePaste">I also moved my tests.hashcode module into an operator (bpy.ops.tests.hashcode()), or Tests-&gt;Hashcode.  Although it still only gives feedback in the terminal, and only takes some things into account when making the hashcode.</div>
</blockquote>
<div id="_mcePaste">As far as next week goes, I am going to spend a bit of time with the webpage.  It&#8217;s not quite flush with blender&#8217;s webpage, but it&#8217;s getting closer.  But more importantly, I can see a few more options that would allow the user to get more of the raw data behind the images (which I would assume would make it debug).  Most of this I believe can be written in HTML, but some javascript may be useful.  I also plan to get animations working with these tests, and possibly bringing this back in to work with the blender operator.  I also am going to try to get a lot more feedback this week, and hope to have the tool used soon after.  I will also spend a bit of time getting the hashcode operator to take more into account, as well as giving more feedback to the user.  (As in feedback that&#8217;s not only just console output).  I would also work on aggregating the data in the blend file for the user to test, but blender is already capable of that.  Finally, I plan on improving the integration of Ctest and CDash, but that seems trivial to do.</div>
<p>I&#8217;ll try to make this short, as it&#8217;s late here.<br />
Even though I got sick this week (it turned out to be just a cold/flu), and went out of town (and still am), I believe that this week has been one of the most productive weeks so far.<br />
This week started off with me implementing some of the GUI features I worked with last week, which is to say I started making the image diff tests into an operator.  (Previously they had been baked into the tests directly).  They could be run from a Tests dropdown menu, although there was non feedback outside of the console, leading the user to believe blender had frozen while the tests were running.  Andrea pointed out that this was pointless, and that it should just be a script.  As such, I started implementing it in all in python 2.x.  The tests can be found in tests/render, and I put together a slight howto on how to run them: http://wiki.blender.org/index.php/User:LeifAndersen/GSoC2010/Howto<br />
Render TestsThe current set of render tests requires PIL, and python 2.x. In order to run them, inside the blender source directory, look in: tests/render. There, you should find a collection of files. While the absolute path of those files doesn&#8217;t matter (aka, you could move the tests/render folder anywhere, and it would do just fine), those files must be kept in the same relationship to each other. If blender is already in your system path, just go into the folder, and run python run.py, and the script will take it&#8217;s course. If blender is not in your current path, open up run.py, and change the BLENDER_BIN variable to you blender binary, and than run python run.py. You can view the results in the console, otherwise you can see a list of all of the results, as well as diffs, by opening index.html in your web browser.<br />
(my most recent commits have temporarily broken this as an operator, but I will soon fix that).  There is a webpage that is outputted which allows you to easily see the difference between the renders.  In addition, the algorithm for analyzing the images is much improved.<br />
I also moved my tests.hashcode module into an operator (bpy.ops.tests.hashcode()), or Tests-&gt;Hashcode.  Although it still only gives feedback in the terminal, and only takes some things into account when making the hashcode.<br />
As far as next week goes, I am going to spend a bit of time with the webpage.  It&#8217;s not quite flush with blender&#8217;s webpage, but it&#8217;s getting closer.  But more importantly, I can see a few more options that would allow the user to get more of the raw data behind the images (which I would assume would make it debug).  Most of this I believe can be written in HTML, but some javascript may be useful.  I also plan to get animations working with these tests, and possibly bringing this back in to work with the blender operator.  I also am going to try to get a lot more feedback this week, and hope to have the tool used soon after.  I will also spend a bit of time getting the hashcode operator to take more into account, as well as giving more feedback to the user.  (As in feedback that&#8217;s not only just console output).  I would also work on aggregating the data in the blend file for the user to test, but blender is already capable of that.  Finally, I plan on improving the integration of Ctest and CDash, but that seems trivial to do.</p>
]]></content:encoded>
			<wfw:commentRss>http://leifandersen.net/2010/07/11/blender-gsoc-week-6-status/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blender GSoC Week 5 Status</title>
		<link>http://leifandersen.net/2010/07/11/blender-gsoc-week-5-status/</link>
		<comments>http://leifandersen.net/2010/07/11/blender-gsoc-week-5-status/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 03:58:50 +0000</pubDate>
		<dc:creator>Leif Andersen</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Linux/FLOSS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Blender]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://leifandersen.net/?p=574</guid>
		<description><![CDATA[This week has been one of my better weeks.  As usual, there were a few bumps this week, but not too many. This week dealt with two things: 1.  Image comparison 2.  UI, and thus wrapping unit tests in operators to insert into the UI. Per Matt Estela&#8217;s recommendation, I tried incorporating Perceptual Image Diff [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste">This week has been one of my better weeks.  As usual, there were a few bumps this week, but not too many.</div>
<div id="_mcePaste">This week dealt with two things:</div>
<div id="_mcePaste">1.  Image comparison</div>
<div id="_mcePaste">2.  UI, and thus wrapping unit tests in operators to insert into the UI.</div>
<div id="_mcePaste">Per Matt Estela&#8217;s recommendation, I tried incorporating Perceptual Image Diff http://pdiff.sourceforge.net/ into the tests to compare images.  The pre-compiled binaries work fine, however, compiling from source presents a bit of a problem, even with all of the listed dependencies installed, it complains that several printf stamens are not declared.  I emailed the developer and am waiting for a response.  This isn&#8217;t my main priority.  However, I will keep using PIL until such time as a tool like this works.</div>
<div id="_mcePaste">Getting tests in blender&#8217;s UI represents some challenges that do not exist when using CTest as a testing platform.  First of all, I thought a lot about render tests.  If we use blender&#8217;s current set of regression tests that blender has, it shouldn&#8217;t be very difficult to create a tool that allows a developer to render a blend file, and than compare it to another image file, and than write another tool to run all of the tests.  The problem is that putting this into the GUI, which requires python 3.  And on top of that, developing a good UI for this sort of thing can also be a bit tricky.  Fortunately though, it still is trivial to wrap up unit tests inside an operator, so ultimately, running the tests won&#8217;t be too big of a deal, as apposed to setting them up.  I also toyed with writing the operators required in C, although this isn&#8217;t as good of an idea as writing it in python, where we could simply give developers a template file to use for their tests, but it may still prove useful.</div>
<div id="_mcePaste">Next week should be interesting.  Starting on Wed.  and going to the end of the week after that, I&#8217;ll be out of town.  With that being said, I won&#8217;t be out of communication, but rather, I&#8217;ll probably be spending less time on IRC.  (I&#8217;ll still try to attend the usual Sunday meeting, as well as spending an hour or so online though).  I will respond to emails as usual, albeit probably a bit slower.   I&#8217;ll post an email specifically about this to this list in case this portion of the review is missed.  I still have more UI stuff planned next week, but mainly merging the UI and rendering algorithms into one fluid tool, at which point I&#8217;ll start automating it.</div>
<p>This week has been one of my better weeks.  As usual, there were a few bumps this week, but not too many.<br />
This week dealt with two things:1.  Image comparison2.  UI, and thus wrapping unit tests in operators to insert into the UI.<br />
Per Matt Estela&#8217;s recommendation, I tried incorporating Perceptual Image Diff http://pdiff.sourceforge.net/ into the tests to compare images.  The pre-compiled binaries work fine, however, compiling from source presents a bit of a problem, even with all of the listed dependencies installed, it complains that several printf stamens are not declared.  I emailed the developer and am waiting for a response.  This isn&#8217;t my main priority.  However, I will keep using PIL until such time as a tool like this works.<br />
Getting tests in blender&#8217;s UI represents some challenges that do not exist when using CTest as a testing platform.  First of all, I thought a lot about render tests.  If we use blender&#8217;s current set of regression tests that blender has, it shouldn&#8217;t be very difficult to create a tool that allows a developer to render a blend file, and than compare it to another image file, and than write another tool to run all of the tests.  The problem is that putting this into the GUI, which requires python 3.  And on top of that, developing a good UI for this sort of thing can also be a bit tricky.  Fortunately though, it still is trivial to wrap up unit tests inside an operator, so ultimately, running the tests won&#8217;t be too big of a deal, as apposed to setting them up.  I also toyed with writing the operators required in C, although this isn&#8217;t as good of an idea as writing it in python, where we could simply give developers a template file to use for their tests, but it may still prove useful.<br />
Next week should be interesting.  Starting on Wed.  and going to the end of the week after that, I&#8217;ll be out of town.  With that being said, I won&#8217;t be out of communication, but rather, I&#8217;ll probably be spending less time on IRC.  (I&#8217;ll still try to attend the usual Sunday meeting, as well as spending an hour or so online though).  I will respond to emails as usual, albeit probably a bit slower.   I&#8217;ll post an email specifically about this to this list in case this portion of the review is missed.  I still have more UI stuff planned next week, but mainly merging the UI and rendering algorithms into one fluid tool, at which point I&#8217;ll start automating it.</p>
]]></content:encoded>
			<wfw:commentRss>http://leifandersen.net/2010/07/11/blender-gsoc-week-5-status/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blender and Google Summer of Code (GSoC), Month One Review</title>
		<link>http://leifandersen.net/2010/06/21/blender-and-google-summer-of-code-gsoc-month-one-review/</link>
		<comments>http://leifandersen.net/2010/06/21/blender-and-google-summer-of-code-gsoc-month-one-review/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 16:06:21 +0000</pubDate>
		<dc:creator>Leif Andersen</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Linux/FLOSS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Blender]]></category>
		<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[GSoC]]></category>

		<guid isPermaLink="false">http://leifandersen.net/?p=564</guid>
		<description><![CDATA[It&#8217;s been almost a month since the official start date of Google Summer of Code, and, per Andrea&#8217;s recommendation, now is a good time for a month in review.  This won&#8217;t go into great detail, I will leave the weekly reviews for that. So, just a brief checklist of what has happened: Project Started Gtest set [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been almost a month since the official start date of Google Summer of Code, and, per Andrea&#8217;s recommendation, now is a good time for a month in review.  This won&#8217;t go into great detail, I will leave the weekly reviews for that.</p>
<p>So, just a brief checklist of what has happened:</p>
<ol>
<li>Project Started</li>
<li>Gtest set up</li>
<li>Pyunit setup</li>
<li>tests module created</li>
<li>Hashtests and image comparison tests built</li>
<li>Learned a lot about how the Blender codebase works</li>
<li>Made some hacks and bug reports with the Blender codebase</li>
<li>Initial work on GUI panel for tests (originally dropped, but recently brought back into the foreground)</li>
<li>CMake now using CTest and CDash to report the project</li>
</ol>
<p><span id="more-564"></span></p>
<p>There was probably some more, but those were the biggest.  When I look back on that, my initial impression is that I really could have gotten more done.  In particular, most of this stuff is samples, I have been working on the bones behind this framework, and the metaphoric meat has yet to come, although it did start to at the end of the month.  However, it than becomes important to look back at the schedule planned for this project.</p>
<p>At the time of writing this, the predicted portion of work is supposed to be:</p>
<blockquote><p><strong>June 8 – June 23</strong></p>
<p>This time should be dedicated to development of other end to end and regression tests. It is much longer than the first suite because much less time was spent on it during the community bonding period. An emphasis will be put on making various forms of render based tests. At this time, it will be important to determine a good strategy for how often the test suite should be run, and, if needed to be run in multiple increments, i.e. some tests running with every commit, while others run only nightly. This section can be further split into two sections. The first being setting up the testing platforms, and the second part being creating a sample test suite for the built platforms. Note that the task of scouting for viable platforms, based upon what Blender currently uses, and the toolset others, should be a ‘back burner’ project, while the other sections are taking place, and should be completed by the time that this section starts.</p></blockquote>
<p>So, as far as the project goes, it looks like I&#8217;m on schedule, with one exception, I have very few tests in hand, do to the amount of time I&#8217;ve spent trying out testing frameworks.  I don&#8217;t think this is a very bad thing per say, not only was that particular timeline fairly preliminary, but it also gave a lot of time for testing frameworks.  So, in order for me to stay up to date, this next month will be spending a lot more time developing tests, and a lot less mucking about with how they are presented, especially as most of the frameworks have already been set up, with two exceptions, registering it as GUI within blender, and allowing for easy automation of new tests (currently a developer has to manually plug their tests into the system, at which point they will be automated).  Also, it might be a good idea to make the pyunit tests operators in the near future, which should allow for them to be easily made into a gui.  With the addition of the current regression tests that Blender has, this could be vary useful.</p>
<p>As far as participating in the community, I believe that that is going well.  I&#8217;m idling in the channel, and have had several conversations about problems with the code.  At least, I think I&#8217;ve done a good job, this is one of the situations where unless someone is telling you that you need to do better, it&#8217;s hard to know that you can.  I&#8217;ve also participated via email and the bug tracker.  I don&#8217;t see a need to make many changes for next month.  With that being said, for about a week and a half, possibly two and a half weeks next month, I&#8217;ll be out of town.  I&#8217;ll still be working on my project, and responding to email, but do to poor internet access, I&#8217;ll likely not be doing too much idling on #blendercoders.  Although I&#8217;ll try to be on for an hour or two a day in the evening (CEST time, morning for me in MDT).</p>
<p>So, in short, I believe I&#8217;m still in the window that makes me on track.  I&#8217;m not at the front of the window per say, but it&#8217;s not anything I think I need to worry about, yet.  Also, I&#8217;ve been speeding up, so hopefully I&#8217;ll get ahead of my proposed schedule soon.  I will be spending more time developing tests, and than plugging in blender&#8217;s current regression tests (probably by using the same file structure those tests are currently in), and I&#8217;ll be keeping my current pace in the community.</p>
]]></content:encoded>
			<wfw:commentRss>http://leifandersen.net/2010/06/21/blender-and-google-summer-of-code-gsoc-month-one-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blender GSoC Week 4 Status</title>
		<link>http://leifandersen.net/2010/06/18/blender-gsoc-week-4-status/</link>
		<comments>http://leifandersen.net/2010/06/18/blender-gsoc-week-4-status/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 21:32:45 +0000</pubDate>
		<dc:creator>Leif Andersen</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Linux/FLOSS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Blender]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[soc]]></category>

		<guid isPermaLink="false">http://leifandersen.net/?p=557</guid>
		<description><![CDATA[Overall, I think this week I&#8217;ve started to pick up the pace, although not by too much, there&#8217;s still plenty of room for lot&#8217;s of improvement, but at this point everything is starting to feel like it goes into place, which makes me happy. I spent a lot of time this week trying to get [...]]]></description>
			<content:encoded><![CDATA[<p>Overall, I think this week I&#8217;ve started to pick up the pace, although not by too much, there&#8217;s still plenty of room for lot&#8217;s of improvement, but at this point everything is starting to feel like it goes into place, which makes me happy.</p>
<p>I spent a lot of time this week trying to get some of the tests to work in background mode.  Unfortunately, several of the needed api calls (saving/loading/rendering/saving images), only work when in regular mode.  I also had other problems with API calls not working properly even in the foreground mode, and I&#8217;ve done some more hacks on the codebase, and submitted some bug reports, although at this point, I&#8217;ve got most of the API calls I need working, albeit they&#8217;re still a bit buggy.  In the end, we&#8217;ve decided to run the tests in the forground (for now), and just run the exit blender api call at the end of the test.  The largest problem with this is that if the test segfaults, blender won&#8217;t quit, and the user must quit it himself.  Also, it&#8217;s quite annoying to have a window pop up and close over and over again while running the tests.  Thus, as soon as some of the bugs I&#8217;ve reported are fixed, I&#8217;ll be switching back to background mode.</p>
<p>I&#8217;ve also started doing some image comparison tests.  I don&#8217;t really have any good algorithms yet,  so I&#8217;m still very open to suggestions.  Currently though, I&#8217;ve tried several iterations of a histogram comparison.  Both comparing all the color bands at the same time, and comparing them separately, the first one is quite a bit faster, although I think that&#8217;s do to how I&#8217;m using the API calls.</p>
<p><span id="more-557"></span></p>
<p>By far, the largest problem I&#8217;ve run into image testing (besides there being no python API call to render an image and save it, even in foreground mode), is the fact that PIL currently only supports python 2.x.  So, to compensate for this, I&#8217;ve split the image tests into two parts, the rendering test (and everything else that can be done in blender), and the comparing tests, which use PIL.  If I need to, I suppose I could read in the files myself, and use the raw data the files bring in, but I believe that would waste time, and wouldn&#8217;t be as effective as using something like PIL.  The issue than becomes the lack of not being able to render anything and save it in python.  To get around this, I&#8217;m currently saving to a .blend file, using the command line to render the files, although I&#8217;ve run into the problem of getting CTest to run multiple commands in one test, which I&#8217;m looking into.  Another thing I&#8217;m thinking about doing, is getting an exec function for the image.save_as() operator to work.  Oddly enough, it only works when the image screen is up (which, in my opinion, goes against blender&#8217;s non-modal philosophy), or rather, when the image is in the buffer, (which only happens after the user hits f11 or f12 (+ ctrl, or whatever you set to render/show images/animations), and the problem comes because there is no python API call for it.  Oddly enough, in regular mode, the invoke function also works just fine as an exec function, but in background mode, it segfaults.  I&#8217;ve stopped it from segfaulting, but because the value is still null (do to being in the background), it&#8217;s still imposable to actually save the image.  (Although the &#8216;view&#8217; is the image view).  Also, the invoke function still is a bit quirky as an exec function.  So, I&#8217;m thinking it might be possible (because I&#8217;m currently running the tests in the foreground anyway), to just render the images and save them in the python file, which would not only be easier (api call wise anyway), than mucking about with CMake, but make more logical sense, and allow for easy unification of the tests when PIL is supported for python 3.x.</p>
<p>Most of this I&#8217;ve done to test what appears to be rendering problems with viewing hair as &#8216;object&#8217; or &#8216;group&#8217;.  (Which may have been solved, or proven to be a feature rather than a bug, I haven&#8217;t checked the bug tracker for that particular bug for several days).  But, as long as it&#8217;s not a feature, it still would be useful for a regression test.</p>
<p>I did get a chance to look at sphinx documentation, although not very much, and not enough to get anything done.  I doubt I&#8217;ll get to it next week, but I still am keeping this as a back burner project.   (Albeit a very back burner project, it&#8217;s currently more important to me to get the python api up to snuff in background mode).</p>
<p>Finally, today and/or tomorrow, I plan on writing a month in review.  Because I like wordpress&#8217;s editor, I&#8217;ll probably first put it up on my blog (http://leifandersen.net), and shortly post it on my project&#8217;s wiki page: (http://wiki.blender.org/index.php/User:LeifAndersen/GSoC2010)</p>
<p>Next week I do not plan on dealing to much with issue of background mode, except as a back burner project.  I have submitted bug reports, and will be participating with them though.  I may devote a few hours next week to this though.  I also plan on finishing up good image comparison algorithms, and I&#8217;ll put them in my tests module, however, I won&#8217;t be able to use that module until PIL works on python 3.1, but it should make it easier to move the tests.  Except for possible rendering problems, I still believe that hashcode based tests are more effective than render tests, so I&#8217;ll probably work on that a bit.  Finally, I plan on making the structure cleaner.  I may remove the gtest portion altogether, as it&#8217;s not needed, and just in the way, as well as possibly changing the structure of the python tests to a more logical order, rather than simply module level order.  As well as finding a good place to put the CTest commands.</p>
]]></content:encoded>
			<wfw:commentRss>http://leifandersen.net/2010/06/18/blender-gsoc-week-4-status/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blender-GSoC-Week 3 Status</title>
		<link>http://leifandersen.net/2010/06/13/blender-gsoc-week-3-status/</link>
		<comments>http://leifandersen.net/2010/06/13/blender-gsoc-week-3-status/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 01:00:24 +0000</pubDate>
		<dc:creator>Leif Andersen</dc:creator>
				<category><![CDATA[Linux/FLOSS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Blender]]></category>
		<category><![CDATA[GSoC]]></category>

		<guid isPermaLink="false">http://leifandersen.net/?p=543</guid>
		<description><![CDATA[As mentioned last week, this week consisted mainly of debugging parts of blender. As such, I believe that the amount of actual deliverables I produced this week is much less than it has been the first two weeks. With that being said though, I believe that I have learned more about the blender codebase than [...]]]></description>
			<content:encoded><![CDATA[<p>As mentioned last week, this week consisted mainly of debugging parts of blender.  As such, I believe that the amount of actual deliverables I produced this week is much less than it has been the first two weeks.  With that being said though, I believe that I have learned more about the blender codebase than the other weeks, by quite a bit.  I also found several tricks for the python API that weren&#8217;t documented in the API documentation, which should eventually make the tests much cleaner.</p>
<p>This week I started working with tests for operators as apposed to directly with data.  The first problem I ran into was the immutability of bpy.context.  I was resorting to hacks to change the context, which only was working some of the time.  Thus, I went to GTest, giving it more time than I had planned on this week (a little over a day), because the C-API calls took in a bContext, rather than having it be implicit.  However, I never managed to get the linking right, any probes I put into the kernel or operators itself would result with many errors, even for functions that seemed to only allocate space, thus I never got a bContext made.</p>
<p>Fortunately ideasman42 pointed out to me that I could pass in a dictionary, and the operators would use that instead of the value in bpy.context.  I haven&#8217;t gotten it to work in all of the situations I&#8217;ve tried (yet), but many have worked, and it does seem promising.  However, that only solves some of the tests, it still would be valuable to run tests using bpy.context, or some other type of implicit context, for better code coverage.</p>
<p>One thing that I really didn&#8217;t expect this week, was that most of the bugs I was trying to debug this week, were ones that I found.  I was planning on looking for bugs on projects.blender.org, and I did find a few, but when I started building python scripts to test them, I found many more simple problems that  I had to deal with first, which took most of my time.</p>
<p>My plans for next week:</p>
<p>My first order of business is to get several operators in bpy.ops.wm (mostly found in the windowmanager folder), working in the python console, and in a script (both when blender has a visible, and no visible window).  Currently, I&#8217;m working on bpy.ops.wm.read_homefile(), and I&#8217;ve made some progress.  However, the problem is that the bContext that is passed into it has several null elements in the console, which is expected to be non-null for windowmanager operations.  Once I&#8217;ve finished that, I will finish my setup.py test, and proceed to use that as my setup method, at which point most of my tests module will become superfluous, and I may take some time dealing with that.  In fact, I could likely get rid of it, with the one exception of me using it&#8217;s hashcode function.  I may also read in a pre-built empty file, rather than the default .b.blend file, which could possibly break the tests if the default was changed, which would be very bad.  Finally, as a side project, I&#8217;m going to start reading up on how the python API&#8217;s documentation is made (I know it&#8217;s using sphinx, but I don&#8217;t know how it works, yet), and I&#8217;ll see what I can do to start helping minddrones with that.</p>
]]></content:encoded>
			<wfw:commentRss>http://leifandersen.net/2010/06/13/blender-gsoc-week-3-status/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blender-GSoC-Week 2 Status</title>
		<link>http://leifandersen.net/2010/06/05/blender-gsoc-week-2-status/</link>
		<comments>http://leifandersen.net/2010/06/05/blender-gsoc-week-2-status/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 02:08:36 +0000</pubDate>
		<dc:creator>Leif Andersen</dc:creator>
				<category><![CDATA[Linux/FLOSS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Blender]]></category>

		<guid isPermaLink="false">http://leifandersen.net/?p=518</guid>
		<description><![CDATA[Overall, this week went okay. It didn&#8217;t speed up unfortunately, but at least it didn&#8217;t slow down either (I think). Several things happened this week: 1. The biggest thing is that I believe I now have enough of a framework set up to begin non-trivial tests, which I began to do today, at least in [...]]]></description>
			<content:encoded><![CDATA[<p>Overall, this week went okay.  It didn&#8217;t speed up unfortunately, but at least it didn&#8217;t slow down either (I think).  Several things happened this week:</p>
<p>1.  The biggest thing is that I believe I now have enough of a framework set up to begin non-trivial tests, which I began to do today, at least in the sense that I started tracing actual bugs, so far to no success.</p>
<p><span id="more-518"></span></p>
<p>2.  We decided to put GTest on hold, and perhaps drop it altogether, mainly because it&#8217;s effectiveness, given time constraints is minimal, do to how the blender kernel works).  It&#8217;s still in the codebase though, although it does cause some rather odd errors (as in cmake has to be run twice before a successful make will happen).</p>
<p>3.  The starts of a hash changer has been posted, although it&#8217;s not too integrated yet.  I was trying earlier this week to actually build a GUI for it, which could be integrated into blender itself, but this proved futile (thusfar), do to several lacking api calls in blender&#8217;s GUI api calls.  Still, I think it would prove valuable to add a control panel for that sort of thing into blender itself.</p>
<p>4.  Actual support for cdash,  with a demo cdash created, type in make report to send the results of the tests to the public cdash: http://my.cdash.org/index.php?project=Leif-Blender hopefully, we can set up Blender&#8217;s own Cdash for this sort of thing at something like cdash.blender.org.</p>
<p>5.   Removed the superfluous hashtests folder, and integrated it right into pyunit, the tests still exist in there.</p>
<p>6.   Removed the binary directory&#8217;s dependence on the source directory for running tests, it will now work just fine without the source directory.</p>
<p>7.  Created a howto page, in order to help people set up and run the code: http://wiki.blender.org/index.php/User:LeifAndersen/GSoC2010/Howto</p>
<p>8.  Got an account at graphical, and started uploading pre-build binaries, and linking to them from the howto page.  Currently though, it&#8217;s only for 64-bit linux.  I&#8217;m planning on uploading 32-bit linux shortly, and hoping Andrea will upload a windows build.  If anyone also is willing to make a mac build (partially to see if it works), that would be helpful.</p>
<p>Currently, my plans for next week consists of bug-squashing on projects.blender.org.  In particular, I intend to create pyunit based unit tests to aid in bug tracking, and while doing that, begin to make a nice little suite of regression tests, to ensure that those same bugs don&#8217;t crawl back.  Also, most of the tests are still in bpy.data, in intend to do a lot more with bpy.ops next week.  I also hope to spare a little time for gtest, but I won&#8217;t give it more than a few hours (less than a day&#8217;s worth of time), in order to see if we can salvage it, or at least leave it there as part of a framework for building larger tests in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://leifandersen.net/2010/06/05/blender-gsoc-week-2-status/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source Alternatives to GMail</title>
		<link>http://leifandersen.net/2010/05/28/open-source-alternatives-to-gmail/</link>
		<comments>http://leifandersen.net/2010/05/28/open-source-alternatives-to-gmail/#comments</comments>
		<pubDate>Fri, 28 May 2010 16:13:19 +0000</pubDate>
		<dc:creator>Leif Andersen</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Linux/FLOSS]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[email]]></category>

		<guid isPermaLink="false">http://leifandersen.net/?p=508</guid>
		<description><![CDATA[The following is a thread about my email woes I have posted to the ubuntu forums, I will update it with a solution if I find one, you can fie the thread here: http://ubuntuforums.org/showthread.php?p=9374207#post9374207 I&#8217;ve been thinking for the past few days, everyone&#8217;s been complaining about facebook, and my opinion has been: &#8220;it&#8217;s your fault [...]]]></description>
			<content:encoded><![CDATA[<p>The following is a thread about my email woes I have posted to the ubuntu forums, I will update it with a solution if I find one, you can fie the thread here: <a href="http://ubuntuforums.org/showthread.php?p=9374207#post9374207">http://ubuntuforums.org/showthread.php?p=9374207#post9374207</a></p>
<p>I&#8217;ve been thinking for the past few days, everyone&#8217;s been complaining about facebook, and my opinion has been: &#8220;it&#8217;s your fault for trusting some random company on the internet with all of your private information, don&#8217;t put information on the internet you don&#8217;t mind the rest of the world seeing&#8221;.</p>
<p>And then I got to thinking, what about Google, no one ever talks about that, and the amount of data we&#8217;re giving Google for email.  I then think that it&#8217;s not a big problem, because you&#8217;re emailing people anyway, so it shouldn&#8217;t really matter, after all, they could always go publish your mail&#8230;so it&#8217;s just better to not say anything that could be incriminating over email as well.  Also, I&#8217;m sending unencrypted messages, so it&#8217;s still technically wide open.</p>
<p>But then I start realizing that it&#8217;s still a bad thing.  True, while no one at Google is reading my email (I think), who says that they will always be the &#8216;good guys&#8217;, which is to say, just like how everyone trusted facebook, and their motivations changed, nothing is preventing google from changing it&#8217;s opinions.  And, even if Google keeps it&#8217;s slogan, and never does become &#8216;evil&#8217;, they could still get subpoenaed, etc. etc.  In short, I&#8217;m saying I shouldn&#8217;t trust this thing with the cloud.</p>
<p>So, this lead me to think, what is there out there besides GMail?  Sure, there is clients like evolution or thunderbird, but they fail short.  In particular, they don&#8217;t really have threaded conversations.  Most of the other things I need (tags, filters, multiple email addresses), either come built in, or a solution can easily be hacked, but I haven&#8217;t found any way to thread emails, and with the way I use email, I really need conversation threading.  Also, it would be nice if I could hide quotes by default&#8230;but I think there&#8217;s a solution to do that.</p>
<p>Does anyone know of a good alternative to gmail that will thread conversations.  Preferably an open source solution.  I know outlook will do it for you.</p>
<p>Thank You.</p>
<p><strong>Update</strong>:</p>
<div id="_mcePaste">Okay, I just found out that evolution does have message threading, but rather than being in the preferences panel, it&#8217;s located in the View drop down menu.  Apparently Thunderbird does the same thing.</div>
<div id="_mcePaste">I also tried out Zimbra, and other than that it appears to be based very heavily on java, it does look like it would also do the job, in addition, it&#8217;s also really easy to configure (unlike evolution which requires you to know how email works to configure it, Zimbra&#8217;s desktop client will let you simply put in you&#8217;re credentials to any webmail based service, or to your own server, and it will set the rest up for you.  Although, it automatically downloads your mail, which could get annoying.</div>
<p>Okay, I just found out that evolution does have message threading, but rather than being in the preferences panel, it&#8217;s located in the View drop down menu.  Apparently Thunderbird does the same thing.<br />
I also tried out Zimbra, and other than that it appears to be based very heavily on java, it does look like it would also do the job, in addition, it&#8217;s also really easy to configure (unlike evolution which requires you to know how email works to configure it, Zimbra&#8217;s desktop client will let you simply put in you&#8217;re credentials to any webmail based service, or to your own server, and it will set the rest up for you.  Although, it automatically downloads your mail, which could get annoying.</p>
]]></content:encoded>
			<wfw:commentRss>http://leifandersen.net/2010/05/28/open-source-alternatives-to-gmail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cry of Frustration: I want my Sound to Work!</title>
		<link>http://leifandersen.net/2010/04/23/cry-of-frustration-i-want-my-sound-to-work/</link>
		<comments>http://leifandersen.net/2010/04/23/cry-of-frustration-i-want-my-sound-to-work/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 04:04:19 +0000</pubDate>
		<dc:creator>Leif Andersen</dc:creator>
				<category><![CDATA[Linux/FLOSS]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://leifandersen.net/?p=487</guid>
		<description><![CDATA[I just wrote up a post on the ubuntuu forums complaining about my sound&#8230;here it is in full: I really love open source, but sometimes, it falls flat on it&#8217;s face&#8230;this is one of those times. I got a sony vaio vpc eb11ffm from best buy a few weeks back. I brought a livecd, and [...]]]></description>
			<content:encoded><![CDATA[<p>I just wrote up a post on the ubuntuu forums complaining about my sound&#8230;here it is in full:</p>
<p>I really love open source, but sometimes, it falls flat on it&#8217;s face&#8230;this is one of those times. I got a sony vaio vpc eb11ffm from best buy a few weeks back. I brought a livecd, and put it into any of the machines I was considering buying, to see how well it would run. It worked well in the vaio, except for one major flaw, the sound wasn&#8217;t working. (I found another one later after I bought it, the system wouldn&#8217;t be stable if I had compiz on it).</p>
<p>Anyway, the thing even comes with a version of linux on the machine, for &#8216;quick boot web surfing&#8217;, and the sound works in it just fine. Also, I even was able to find a fix for the sound. It&#8217;s not do to any lack of drivers, but one, just one configuration error that ubuntu makes when it&#8217;s installing. I go to report the bug, and I even provided the fix to go with it, and it was rapidly merged with another similar, but slightly different bug, and was pronounced to be fixed. I upgraded to the RC that was created today, and nope the problem is still there. And short of opening another bug report, with the same problem, I can&#8217;t think of anything to do&#8230;grr&#8230;</p>
<p>Yes, I know canonical says not to run 10.04 on a machine you need to be stable, but I don&#8217;t have much choice. For some reason, 8.10 won&#8217;t even boot onto the machine, and I don&#8217;t want to go back to windows.</p>
<p>I know you people try hard, and I thank you for it. But sometimes, I just have to rant in frustration, I want my sound to work out of the box.</p>
<p>Thank you for your time. And I&#8217;m sorry if this is in the wrong spot.</p>
<p>If you want to see the original web page, it is located here: <a href="http://ubuntuforums.org/showthread.php?p=9161218#post9161218">http://ubuntuforums.org/showthread.php?p=9161218#post9161218</a></p>
]]></content:encoded>
			<wfw:commentRss>http://leifandersen.net/2010/04/23/cry-of-frustration-i-want-my-sound-to-work/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
