<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8305606313756557106</id><updated>2011-11-14T06:30:10.310-08:00</updated><title type='text'>Consider the Clam</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://considertheclam.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://considertheclam.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anders</name><uri>http://www.blogger.com/profile/11640491666791133113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8305606313756557106.post-6256547228313673345</id><published>2010-06-03T12:14:00.000-07:00</published><updated>2010-06-03T12:14:56.552-07:00</updated><title type='text'>The Meaning of SPAM</title><content type='html'>At last! I'm done with my philosophy term paper! It's an investigation of if&amp;nbsp; computers can represent semantic contents. If you are interested, here is a link to the paper: &lt;a href="http://www.4zm.org/files/2010/the_meaning_of_spam.pdf"&gt;The  Meaning of SPAM.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;From the abstract:&lt;br /&gt;&lt;blockquote&gt;I argue that the the Chinese room thought experiment, invented by John R. Searle, does not show that a computer can not represent semantic contents. By analogy with a spam filter, I use Putnam's 4-tuple normal form definition of meaning to show that a spam filter actually does represent meaning (semantic contents).&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8305606313756557106-6256547228313673345?l=considertheclam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://considertheclam.blogspot.com/feeds/6256547228313673345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://considertheclam.blogspot.com/2010/06/meaning-of-spam.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/6256547228313673345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/6256547228313673345'/><link rel='alternate' type='text/html' href='http://considertheclam.blogspot.com/2010/06/meaning-of-spam.html' title='The Meaning of SPAM'/><author><name>Anders</name><uri>http://www.blogger.com/profile/11640491666791133113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8305606313756557106.post-9141635407356688341</id><published>2010-05-19T09:59:00.000-07:00</published><updated>2010-09-01T07:56:50.673-07:00</updated><title type='text'>Iolaus Include Incinerator (i3)</title><content type='html'>&lt;a class="FlattrButton" style="display:none;" rev="flattr;button:compact;"href="http://considertheclam.blogspot.com/2010/05/iolaus-include-incinerator-i3.html"&gt;&lt;/a&gt;&lt;br /&gt;When I first heard about the new GCC plugin support I knew I had to try it out. To that effect I've been playing around with the nifty &lt;a href="https://developer.mozilla.org/en/Dehydra"&gt;Dehydra&lt;/a&gt; plugin, creating a tool called &lt;i&gt;i3&lt;/i&gt; to analyze C++ code looking for buggy and un-optimized include directives.&lt;br /&gt;&lt;br /&gt;If you want to try it, you can download the beta &lt;a href="http://www.4zm.org/files/2010/i3/i3-v01.zip"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;By the way, the i3 project is in no way connected with the development of the Dehydra software or the Dehydra project; it just uses the plugin.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Analysis &lt;/b&gt;&lt;br /&gt;There are two basic cases that the i3 analysis will search for. &lt;br /&gt;&lt;br /&gt;&lt;i&gt;1) Unnecessary includes: &lt;/i&gt;&lt;br /&gt;This is just what it sounds like. You are including a file that you don't have to. This is (in most cases) considered poor design, since it adds unnecessary coupling between different files. The practical benefits of reducing the number of unnecessary includes is that you get faster builds and that less code has to be re-built if you make a change.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;2) Indirect includes: &lt;/i&gt;&lt;br /&gt;This is often a bug. It is considered good practice to include all the header files required by a particular compilation unit (cpp-file) directly.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;It's not finished yet&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;This is an early beta release and there are a number of limitations to the analysis that i3 can perform. &lt;br /&gt;&lt;br /&gt;It can't interpret preprocessor directives properly. If you use #ifdef's etc. to conditionally include files, i3 isn't going to get it. It will interpret every #include statement found in a file as really including a file. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;About the name&lt;/b&gt;&lt;br /&gt;The name "Iolaus Include Incinerator" is an homage to the Dehydra project. From your Greek mythology class, you may recall that Heracles companion Iolaus helped the hero in slaying the Lernaean Hydra. Every time Heracles cut of one of the Hydras heads, Iolaus scorched the neck stump to stop a new one from growing out. This program, &lt;i&gt;i3&lt;/i&gt;, is also a helpful companion; and like any good side kick it lets you, the programmer hero, take all the credit.&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;/* &lt;![CDATA[ */    (function() {        var s = document.createElement('script'), t = document.getElementsByTagName('script')[0];                s.type = 'text/javascript';        s.async = true;        s.src = 'http://api.flattr.com/js/0.5.0/load.js?mode=auto';                t.parentNode.insertBefore(s, t);    })();/* ]]&gt; */&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8305606313756557106-9141635407356688341?l=considertheclam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://considertheclam.blogspot.com/feeds/9141635407356688341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://considertheclam.blogspot.com/2010/05/iolaus-include-incinerator-i3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/9141635407356688341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/9141635407356688341'/><link rel='alternate' type='text/html' href='http://considertheclam.blogspot.com/2010/05/iolaus-include-incinerator-i3.html' title='Iolaus Include Incinerator (i3)'/><author><name>Anders</name><uri>http://www.blogger.com/profile/11640491666791133113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8305606313756557106.post-1544262044462326184</id><published>2010-03-27T03:25:00.000-07:00</published><updated>2010-03-27T06:58:43.432-07:00</updated><title type='text'>Last Judgement</title><content type='html'>Here is a (Swedish) text I've written on an existentialist theme.&lt;br /&gt;&lt;br /&gt;You can access the text &lt;a href="http://www.4zm.org/files/2010/gilgamesh.pdf"&gt;here&lt;/a&gt;.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;It's about Gilgamesh, the hero of old Mesopotamian mythology, and the thought that all men will judge them selves on the threshold between life and death.&lt;br /&gt;&lt;br /&gt;Print the pdf on a double-sided A4 and fold it 8 times. This makes for a convenient, truly pocket sized, short story format.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8305606313756557106-1544262044462326184?l=considertheclam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://considertheclam.blogspot.com/feeds/1544262044462326184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://considertheclam.blogspot.com/2010/03/judgement-of-last-thought.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/1544262044462326184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/1544262044462326184'/><link rel='alternate' type='text/html' href='http://considertheclam.blogspot.com/2010/03/judgement-of-last-thought.html' title='Last Judgement'/><author><name>Anders</name><uri>http://www.blogger.com/profile/11640491666791133113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8305606313756557106.post-6030155273582106389</id><published>2010-03-24T13:13:00.000-07:00</published><updated>2010-09-01T22:37:31.957-07:00</updated><title type='text'>Don't be evil; Be Harmless!</title><content type='html'>&lt;script type="text/javascript"&gt;/* &lt;![CDATA[ */    (function() {        var s = document.createElement('script'), t = document.getElementsByTagName('script')[0];                s.type = 'text/javascript';        s.async = true;        s.src = 'http://api.flattr.com/js/0.5.0/load.js?mode=auto';                t.parentNode.insertBefore(s, t);    })();/* ]]&gt; */&lt;/script&gt;&lt;br /&gt;&lt;a class="FlattrButton" style="display:none;" rev="flattr;button:compact;"href="http://considertheclam.blogspot.com/2010/03/dont-be-evil-be-harmless.html"&gt;&lt;/a&gt;&lt;br /&gt;Ok, I admit it. I'm one of those people who think that peace, love and understanding isn't so bad after all. &lt;br /&gt;Since I occasionally share free (libre) source code on the Internets, the question of how to license it naturally arises.&lt;br /&gt;&lt;br /&gt;To that end I've developed the &lt;a href="http://www.4zm.org/files/2010/HPL/hpl.htm"&gt;Harm-Less Permissive License&lt;/a&gt; (HPL). It's a permissive, non copyleft, software license. It is based on the FreeBSD license but with one additional restriction; the "harm-less" clause. It prevents software, licensed under the HPL, to be used for harming humans or animals.&lt;br /&gt;&lt;br /&gt;Check out the link above for more information about the license. The license text is available &lt;a href="http://www.4zm.org/files/2010/HPL/HPL.txt"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;&lt;b&gt;Update 1:&lt;/b&gt;&lt;/i&gt; &lt;i&gt;I've started a  collaboration with  the organization &lt;a href="http://www.peta.org/"&gt;People for the Ethical  Threatment of Animals (PETA)&lt;/a&gt;. They are &lt;a href="http://blog.peta.org/archives/2010/05/your_license_to_kill.php"&gt;running   a story&lt;/a&gt; on the HPL and are helping me host &lt;a href="http://www.peta.org/hpl.htm"&gt;the HPL document&lt;/a&gt;.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;&lt;b&gt;Update 2: &lt;/b&gt;The land slide has started.  Slashdot.org  has the story:&amp;nbsp;&lt;a href="http://tech.slashdot.org/story/10/05/21/1246253/PETA-Creates-New-Animal-Friendly-Software-License"&gt;PETA   Creates New Animal-Friendly Software License&lt;/a&gt;. This is my first on  Slashdot...&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;&lt;b&gt;Update  3:&lt;/b&gt; The news have made it to the Ubuntu Forums: &lt;a href="http://ubuntuforums.org/showthread.php?t=1490164"&gt;&lt;b style="font-weight: normal;"&gt;Move over GPL - meet the HPL!&lt;/b&gt;&lt;/a&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;&amp;nbsp;&lt;b&gt; &lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;&lt;b&gt;Update 4:&lt;/b&gt; HPL has recently made an  appearance in &lt;/i&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt; &lt;/i&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;  Osqledaren&lt;/i&gt;&lt;/span&gt;; &lt;span style="font-size: small;"&gt;&lt;i&gt;the student magazine of the  Swedish Royal Academy of Science&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;. Read the  (Swedish) article: &lt;a href="http://osqledaren.se/2010/06/for-dig-som-inte-vill-doda/"&gt;För dig  som inte vill döda&lt;/a&gt; &lt;/i&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8305606313756557106-6030155273582106389?l=considertheclam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://considertheclam.blogspot.com/feeds/6030155273582106389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://considertheclam.blogspot.com/2010/03/dont-be-evil-be-harmless.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/6030155273582106389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/6030155273582106389'/><link rel='alternate' type='text/html' href='http://considertheclam.blogspot.com/2010/03/dont-be-evil-be-harmless.html' title='Don&apos;t be evil; Be Harmless!'/><author><name>Anders</name><uri>http://www.blogger.com/profile/11640491666791133113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8305606313756557106.post-7405221346938173882</id><published>2010-03-14T07:43:00.000-07:00</published><updated>2010-04-24T06:42:37.417-07:00</updated><title type='text'>Newton vs Kalman; Estimating Motion</title><content type='html'>Surprisingly often I'm faced with estimating the position of something that moves according to Newtonian laws of motion in one dimension and with random acceleration.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_YDXGTMC96BQ/S5z1ag_tV_I/AAAAAAAAAQ0/oUJfJrkSWCk/s1600-h/kalman.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="93" src="http://2.bp.blogspot.com/_YDXGTMC96BQ/S5z1ag_tV_I/AAAAAAAAAQ0/oUJfJrkSWCk/s200/kalman.png" width="200" /&gt;&lt;/a&gt;A fast and pretty accurate way of doing this is to use a Kalman filter. I've finally gotten around to implementing a specialized version of this general method, dedicated to my simple estimations needs. You are welcome to use it (it's &lt;a href="http://www.4zm.se/files/2010/HPL/hpl.htm"&gt;HPL licensed&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Have a look at the image if you want to see how it performs in a sample case.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;textarea cols="120" rows="20"&gt;/**&lt;br /&gt; * Copyright (c) 2010, Anders '4zM' Sundman&lt;br /&gt; * &lt;br /&gt; * Redistribution and use in source and binary forms, with or without &lt;br /&gt; * modification, are permitted provided that the following conditions &lt;br /&gt; * are met:&lt;br /&gt; * &lt;br /&gt; *     * Redistributions of source code must retain the above copyright notice, &lt;br /&gt; *       this list of conditions and the following disclaimer.&lt;br /&gt; *     * Redistributions in binary form must reproduce the above copyright notice,&lt;br /&gt; *       this list of conditions and the following disclaimer in the documentation&lt;br /&gt; *       and/or other materials provided with the distribution.&lt;br /&gt; *     * Using this software in source or binary format, with or without &lt;br /&gt; *       modification, to develop, modify or improve products with an intended &lt;br /&gt; *       purpose of causing bodily harm to humans, without their consent, &lt;br /&gt; *       or of causing grievous bodily harm to any other animal from the phylum &lt;br /&gt; *       Chordata (including, but not limited to, all mammals, fishes and birds), &lt;br /&gt; *       is not permitted without specific prior written permission.&lt;br /&gt; * &lt;br /&gt; * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS" AND &lt;br /&gt; * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED &lt;br /&gt; * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE &lt;br /&gt; * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE &lt;br /&gt; * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL &lt;br /&gt; * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR &lt;br /&gt; * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER &lt;br /&gt; * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, &lt;br /&gt; * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE &lt;br /&gt; * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt; *&lt;br /&gt; */&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * Kalman filter impl. for estimating processes that resemble Newtonian motion with random acceleration:&lt;br /&gt; * &lt;br /&gt; * x_k = F x_k-1 + w_k, where F = [1 1; 0 1] and where w_k is N(0,Q) with Q = [1/4 1/2; 1/2 1] * acc_sig&lt;br /&gt; * &lt;br /&gt; * with a measurement model that is described by (only scalar position measurement):&lt;br /&gt; *&lt;br /&gt; * z_k = x_k + u_k, where u_k is N(0,meas_sig)&lt;br /&gt; * &lt;br /&gt; * Create the filter with the standard distribution of the random acceleration and optionally &lt;br /&gt; * with an initial position and velocity. Then update the estimate for every measurement with the &lt;br /&gt; * update function and access the estimate with the [] op or the current_estimate function.&lt;br /&gt; */ &lt;br /&gt;struct newtonian_motion_kalman {&lt;br /&gt;    newtonian_motion_kalman(double acc_sigma) : &lt;br /&gt;        p11(large_val_init), pxx(0), p22(large_val_init), acc_sigma_sq(acc_sigma * acc_sigma) { &lt;br /&gt;        x[0] = 0; &lt;br /&gt;        x[1] = 0; &lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    newtonian_motion_kalman(const double init_pos[], double acc_sigma) : &lt;br /&gt;        p11(0.0), pxx(0), p22(0.0), acc_sigma_sq(acc_sigma * acc_sigma) { &lt;br /&gt;        x[0] = init_pos[0]; &lt;br /&gt;        x[1] = init_pos[1]; &lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    double operator[] (int i) { assert(i &amp;gt;= 0 &amp;amp;&amp;amp; i &amp;lt; 2); return x[i]; }&lt;br /&gt;&lt;br /&gt;    const double* current_estimate(void) {&lt;br /&gt;        return x;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    void update(double measure, double meas_sigma) {&lt;br /&gt;&lt;br /&gt;        // Predict&lt;br /&gt;        double x_pred[2] = { x[0] + x[1], x[1] };&lt;br /&gt;&lt;br /&gt;        double p11_pred = p11 + 2*pxx + p22 + 1/4 * acc_sigma_sq;&lt;br /&gt;        double pxx_pred  = pxx + p22 + 1/2 * acc_sigma_sq;&lt;br /&gt;        double p22_pred = p22 + acc_sigma_sq;&lt;br /&gt;&lt;br /&gt;        // Update&lt;br /&gt;        double meas_sigma_sq = meas_sigma * meas_sigma;&lt;br /&gt;        double s = p11_pred + 2*pxx_pred + p22_pred + meas_sigma_sq;&lt;br /&gt;        double err = measure - x[0];&lt;br /&gt;        x[0] = x_pred[0] + err/s * p11_pred; &lt;br /&gt;        x[1] = x_pred[1] + err/s * pxx_pred; &lt;br /&gt;&lt;br /&gt;        p11 = p11_pred * ( 1 - p11_pred/s );&lt;br /&gt;        pxx = pxx_pred * ( 1 - p11_pred/s );&lt;br /&gt;        p22 = p22_pred - pxx*pxx/s;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;private:&lt;br /&gt;    double x[2];&lt;br /&gt;    double p11, pxx, p22;&lt;br /&gt;    double acc_sigma_sq;&lt;br /&gt;&lt;br /&gt;    static const double large_val_init = 1000.0;&lt;br /&gt;};&lt;br /&gt;&lt;/textarea&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8305606313756557106-7405221346938173882?l=considertheclam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://considertheclam.blogspot.com/feeds/7405221346938173882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://considertheclam.blogspot.com/2010/03/newtonian-vs-kalman-motion-estimates.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/7405221346938173882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/7405221346938173882'/><link rel='alternate' type='text/html' href='http://considertheclam.blogspot.com/2010/03/newtonian-vs-kalman-motion-estimates.html' title='Newton vs Kalman; Estimating Motion'/><author><name>Anders</name><uri>http://www.blogger.com/profile/11640491666791133113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_YDXGTMC96BQ/S5z1ag_tV_I/AAAAAAAAAQ0/oUJfJrkSWCk/s72-c/kalman.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8305606313756557106.post-5952726396376082501</id><published>2010-03-13T08:49:00.000-08:00</published><updated>2010-03-14T07:58:23.380-07:00</updated><title type='text'>How I lost my SMT virginity...</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_YDXGTMC96BQ/S5u_HW98OXI/AAAAAAAAAQk/DNNeSAFRIdo/s1600-h/dscn3345.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/_YDXGTMC96BQ/S5u_HW98OXI/AAAAAAAAAQk/DNNeSAFRIdo/s200/dscn3345.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;Finally! My first PCBs from &lt;a href="http://batchpcb.com/"&gt;Batch PCB&lt;/a&gt; were delivered yesterday. This one is a double sided USB / serial converter, with solder masks and silksceen and it looks good! Very good.&lt;br /&gt;&lt;br /&gt;The design is a &lt;a href="http://www.ftdichip.com/Products/FT232R.htm"&gt;FT232&lt;/a&gt; IC breakout board. If it works good, I'm going to use it to add USB support to many of my future designs.&lt;br /&gt;&lt;br /&gt;Well, how does it look when all the components have been soldered in place? Have a look at the second image. Not bad ey?&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_YDXGTMC96BQ/S5u_OOCJzxI/AAAAAAAAAQs/udwaCZPbEqQ/s1600-h/dscn3348.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/_YDXGTMC96BQ/S5u_OOCJzxI/AAAAAAAAAQs/udwaCZPbEqQ/s400/dscn3348.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;SMT soldering was a bit harder than I had anticipated. Mostly because the components are &lt;i&gt;really&lt;/i&gt; tiny. The 100nF caps were almost impossible to place; I need to get me a new pair of really pointy tweezers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8305606313756557106-5952726396376082501?l=considertheclam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://considertheclam.blogspot.com/feeds/5952726396376082501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://considertheclam.blogspot.com/2010/03/how-i-lost-my-smd-virginity.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/5952726396376082501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/5952726396376082501'/><link rel='alternate' type='text/html' href='http://considertheclam.blogspot.com/2010/03/how-i-lost-my-smd-virginity.html' title='How I lost my SMT virginity...'/><author><name>Anders</name><uri>http://www.blogger.com/profile/11640491666791133113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_YDXGTMC96BQ/S5u_HW98OXI/AAAAAAAAAQk/DNNeSAFRIdo/s72-c/dscn3345.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8305606313756557106.post-3783209125730832172</id><published>2010-02-27T10:40:00.000-08:00</published><updated>2010-05-20T22:19:07.907-07:00</updated><title type='text'>Smoke Detector and Burglar Alarm in One</title><content type='html'>&lt;i&gt;&lt;b&gt;Update:&lt;/b&gt; I'm proud to announce that &lt;a href="http://hackaday.com/2010/02/28/thwart-robbers-with-an-old-smoke-alarm/"&gt;this project has made it to Hack-a-day&lt;/a&gt;, one of my all time favorite blogs.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Three weeks ago some burglars broke in to our ground floor flat in central Stockholm. I was coming home from work and surprised the vile wantons going through our stuff. I can ensure you it was quite an unpleasant experience. Anyway, I managed to chase the despicable degenerates out of the apartment.&lt;br /&gt;&lt;br /&gt;Since then I've been pondering various ways to improve my home security. I looked at a 127dB motor siren to hook up to a window alarm; that would surely deafen, and quite possibly kill, anyone trying to break in. For reference, hearing damage will occur around 120dB and the human pain threshold is ~130dB. The problem with this solution, aside from my neighbors discomfort while trying it out, is that I have cats; and I don't want them to get hurt in any way. This pretty much rules out my other ideas, like smearing neurotoxin on the window frame.&lt;br /&gt;&lt;br /&gt;But I still felt I had to do something. How about hacking a smoke detector and using it as a window burglar alarm? Those things are loud, but not loud enough to cause damage to the cats. Just loud enough to catch the attention of my neighbors and anyone passing by on the street outside. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_YDXGTMC96BQ/S4lgp7N7ajI/AAAAAAAAAPk/j-EZIpLzlq0/s1600-h/img_0064-0.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_YDXGTMC96BQ/S4lgp7N7ajI/AAAAAAAAAPk/j-EZIpLzlq0/s200/img_0064-0.jpg" width="150" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_YDXGTMC96BQ/S4lgM1DmQSI/AAAAAAAAAPc/DAiUWw2wL1M/s1600-h/img_0061-0.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/_YDXGTMC96BQ/S4lgM1DmQSI/AAAAAAAAAPc/DAiUWw2wL1M/s200/img_0061-0.jpg" width="150" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So, today I started hacking away. It would be great if the new burglar  alarm functionality didn't interfere with the original smoke detecting function; that way I would get another smoke detector as well and you can't have to many of those.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_YDXGTMC96BQ/S4ljBp3OQQI/AAAAAAAAAPs/CqrFeDx6S9g/s1600-h/img_0067-0.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/_YDXGTMC96BQ/S4ljBp3OQQI/AAAAAAAAAPs/CqrFeDx6S9g/s200/img_0067-0.jpg" width="150" /&gt;&lt;/a&gt;This smoke detector has a test button that, when pushed, will cause the device to emit a loud hi-pitched sound and flash a red LED. I figured that this switch could be piggypiggybacked for the alarm functionality. I couldn't use the switch directly since it &lt;i&gt;closed&lt;/i&gt; when pushed and you normally want a signal when the alarm "switch" &lt;i&gt;opens&lt;/i&gt;. Besides, I still want a test switch for the detector. I decided that I also want a bypass switch to turn the alarm part of the detector of (if you for instance want to open the window yourself). You can see the very basic old and new circuits in the image.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_YDXGTMC96BQ/S4ljkhZBNRI/AAAAAAAAAP0/V98HvaXePds/s1600-h/img_0070-0.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/_YDXGTMC96BQ/S4ljkhZBNRI/AAAAAAAAAP0/V98HvaXePds/s200/img_0070-0.jpg" width="150" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/_YDXGTMC96BQ/S4lkGObe0uI/AAAAAAAAAP8/jXJ-89jz6og/s1600-h/img_0071-0.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_YDXGTMC96BQ/S4lkGObe0uI/AAAAAAAAAP8/jXJ-89jz6og/s200/img_0071-0.jpg" width="150" /&gt;&lt;/a&gt;In the next step, a pull-up was soldered across the old, now obsolete, test switch. A ground and signal wire was also soldered in place. In the next image you can see the new test and bypass switches mounted and the white wires to the alarm "switch" sticking out. &lt;br /&gt;&lt;br /&gt;I'm using a paper clip as the alarm breaker. This is classic. I love the MacGyvery look of this solution. &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_YDXGTMC96BQ/S4lkm9So4II/AAAAAAAAAQE/5fwGHcjjafg/s1600-h/img_0075-0.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/_YDXGTMC96BQ/S4lkm9So4II/AAAAAAAAAQE/5fwGHcjjafg/s200/img_0075-0.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;In the last two images you can see how it looks when it's mounted. The paper clip is attached to the window and the wires are pinned to the window frame, causing the circuit to break if anyone attempts to open the window. &lt;br /&gt;&lt;br /&gt;I love tinkering with microprocessors and computers, but it feels good to do something really simple and quite useful for a change. There you have it, a smoke detector and burglar alarm in one!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_YDXGTMC96BQ/S4lli_C8mKI/AAAAAAAAAQU/bYJ5GHv7Hk8/s1600-h/img_0079-0.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/_YDXGTMC96BQ/S4lli_C8mKI/AAAAAAAAAQU/bYJ5GHv7Hk8/s200/img_0079-0.jpg" width="150" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_YDXGTMC96BQ/S4llfLQqTaI/AAAAAAAAAQM/02C14k-HyY8/s1600-h/img_0077-0.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_YDXGTMC96BQ/S4llfLQqTaI/AAAAAAAAAQM/02C14k-HyY8/s200/img_0077-0.jpg" width="150" /&gt;&lt;/a&gt;And yes, I know the image quality is awful, but I can't seem to find my real camera so I had to make due with my cellphone. Sorry about that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8305606313756557106-3783209125730832172?l=considertheclam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://considertheclam.blogspot.com/feeds/3783209125730832172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://considertheclam.blogspot.com/2010/02/smoke-detector-and-burglar-alarm-in-one.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/3783209125730832172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/3783209125730832172'/><link rel='alternate' type='text/html' href='http://considertheclam.blogspot.com/2010/02/smoke-detector-and-burglar-alarm-in-one.html' title='Smoke Detector and Burglar Alarm in One'/><author><name>Anders</name><uri>http://www.blogger.com/profile/11640491666791133113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_YDXGTMC96BQ/S4lgp7N7ajI/AAAAAAAAAPk/j-EZIpLzlq0/s72-c/img_0064-0.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8305606313756557106.post-6829753164847274291</id><published>2010-02-26T12:28:00.000-08:00</published><updated>2010-02-26T12:28:42.357-08:00</updated><title type='text'>Circuit Transplant</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_YDXGTMC96BQ/S4glTGdbWiI/AAAAAAAAAPE/UOVlC76aWa4/s1600-h/HD1.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_YDXGTMC96BQ/S4glTGdbWiI/AAAAAAAAAPE/UOVlC76aWa4/s200/HD1.jpg" width="150" /&gt;&lt;/a&gt;&lt;/div&gt;A couple of days ago I was destroying a Seagate USB harddrive. It was one of a set that my company uses for backups. After it stopped working I decided to take my frustration out on it and at the same time make sure that no one would be able to recreate any data stored on the disk.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_YDXGTMC96BQ/S4glUhChxTI/AAAAAAAAAPM/-QUhWTS66mo/s1600-h/HD2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/_YDXGTMC96BQ/S4glUhChxTI/AAAAAAAAAPM/-QUhWTS66mo/s200/HD2.jpg" width="200" /&gt;&lt;/a&gt;After smashing it up a bit with a hammer and crushing it in a bench vice I started to feel re-connected with my, rather naïve, sinister side. But the PCB peeking out of the metal enclosure gave me pause. My curiosity got the better of me and I decided to take the disk apart in a more controlled manner so that I could try to figure out how it was made. &lt;br /&gt;&lt;br /&gt;As you can see from the second image, the USB disk is really just a regular SATA disk in a metal enclosure with a small controller card to handle the SATA USB interface. I knew for sure that the disk was broken but perhaps the controller card would still work? I had to test it.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_YDXGTMC96BQ/S4glWXrP_TI/AAAAAAAAAPU/b5LJF-lG6-w/s1600-h/HD3.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_YDXGTMC96BQ/S4glWXrP_TI/AAAAAAAAAPU/b5LJF-lG6-w/s320/HD3.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;I plugged the controller cards surface mounted, female SATA connector into a good Hitachi disk. I connected a USB and power cable to the card and sure enough, the disk started spinning up and I could access it from my computer.&lt;br /&gt;&lt;br /&gt;This little card is a universal SATA to USB bridge. Perhaps not that surprising, but at least now I don't have to buy one if I want to check the content of a disk from my laptop.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8305606313756557106-6829753164847274291?l=considertheclam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://considertheclam.blogspot.com/feeds/6829753164847274291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://considertheclam.blogspot.com/2010/02/circuit-transplant.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/6829753164847274291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/6829753164847274291'/><link rel='alternate' type='text/html' href='http://considertheclam.blogspot.com/2010/02/circuit-transplant.html' title='Circuit Transplant'/><author><name>Anders</name><uri>http://www.blogger.com/profile/11640491666791133113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_YDXGTMC96BQ/S4glTGdbWiI/AAAAAAAAAPE/UOVlC76aWa4/s72-c/HD1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8305606313756557106.post-2475834103678709875</id><published>2010-01-24T14:13:00.000-08:00</published><updated>2010-01-24T14:21:16.782-08:00</updated><title type='text'>Paladiochanics: Translation of Rotational Motion</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_YDXGTMC96BQ/S1y33jWjleI/AAAAAAAAAKA/O2SZ4BSl26U/s1600-h/dscn3155.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/_YDXGTMC96BQ/S1y33jWjleI/AAAAAAAAAKA/O2SZ4BSl26U/s200/dscn3155.jpg" width="200" /&gt;&lt;/a&gt;I've always been fascinated by ancient cultures. I wrote my term paper in art history about the revival of Mesopotamian architecture during the 19th century. But, like most classicist buffs, I'm hooked on ancient Greece. &lt;br /&gt;&lt;br /&gt;As you may or may not know, the ancient Greek architecture of temples (and to some degree other buildings) come in three basic styles: &lt;a href="http://upload.wikimedia.org/wikipedia/commons/1/16/DoricParthenon.jpg"&gt;Doric&lt;/a&gt;, &lt;a href="http://upload.wikimedia.org/wikipedia/en/c/cb/SixIonicOrders.jpg"&gt;Ionian&lt;/a&gt;, &lt;a href="http://upload.wikimedia.org/wikipedia/en/2/25/CorinthOrdUsCap.jpg"&gt;Corinthian.&lt;/a&gt; These are the three classical Greek orders of architecture. &lt;br /&gt;&lt;br /&gt;These three basic building blocks have since then been adapted and re-used by the western culture a number of times. First by the Romans. They started copying the Greek orders and added two new ones them selves. Then, during the renaissance, the ancient orders experienced a... well, a renaissances. E.g. the&amp;nbsp; &lt;a href="http://en.wikipedia.org/wiki/Palazzo_Chiericati" title="Palazzo Chiericati"&gt;Palazzo Chiericati&lt;/a&gt; by 16th century architect Andrea Palladio has both Doric and Ionian columns. Then there was the Greek revival of the late 18th, early 19th century (think: &lt;span lang="de"&gt;Brandenburger Tor)&lt;/span&gt;. During the 1980ies there was time for a new dusting of of the old Greeks as the post modern movement started using and mixing different parts ("quoting") ancient architecture in new ways. The most well known example of this is probably &lt;a href="http://en.wikipedia.org/wiki/Piazza_d%27Italia" title="Piazza d'Italia"&gt;Piazza d'Italia&lt;/a&gt; by Charles Moore.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_YDXGTMC96BQ/S1y4Ahx7K1I/AAAAAAAAAKI/QxcAbT3sMbo/s1600-h/dscn3142.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/_YDXGTMC96BQ/S1y4Ahx7K1I/AAAAAAAAAKI/QxcAbT3sMbo/s200/dscn3142.jpg" width="200" /&gt;&lt;/a&gt;Inspired by this perpetual repetition and the configuration of the ancient orders in new ways, I made 9 drawings during the summer of 2009. The drawings show a mechanical design that can be used to translate a rotating axis, but where the axis has been replaced by a column. I did 9 different to capture all combinations of the classical orders. I think that the translation of a rotational motion has a poetic ring to it and it is a fitting metaphor for aesthetic development over the ages.&lt;br /&gt;&lt;br /&gt;I would like to frame all nine and hang them in a 3 by 3 matrix. But right now we don't have enough wall space for that, so it will have to wait.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_YDXGTMC96BQ/S1y4XOpnXbI/AAAAAAAAAKg/Buars7cR2r0/s1600-h/dscn3139.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="87" src="http://2.bp.blogspot.com/_YDXGTMC96BQ/S1y4XOpnXbI/AAAAAAAAAKg/Buars7cR2r0/s200/dscn3139.jpg" width="116" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_YDXGTMC96BQ/S1y4OY16cAI/AAAAAAAAAKY/6tNaUaXdcM0/s1600-h/dscn3135.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="85" src="http://2.bp.blogspot.com/_YDXGTMC96BQ/S1y4OY16cAI/AAAAAAAAAKY/6tNaUaXdcM0/s200/dscn3135.jpg" width="112" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_YDXGTMC96BQ/S1zEjLdNvJI/AAAAAAAAAKo/7mY0_MPVWR8/s1600-h/dscn3138.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="85" src="http://4.bp.blogspot.com/_YDXGTMC96BQ/S1zEjLdNvJI/AAAAAAAAAKo/7mY0_MPVWR8/s200/dscn3138.jpg" width="114" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8305606313756557106-2475834103678709875?l=considertheclam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://considertheclam.blogspot.com/feeds/2475834103678709875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://considertheclam.blogspot.com/2010/01/paladiochanics-translation-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/2475834103678709875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/2475834103678709875'/><link rel='alternate' type='text/html' href='http://considertheclam.blogspot.com/2010/01/paladiochanics-translation-of.html' title='Paladiochanics: Translation of Rotational Motion'/><author><name>Anders</name><uri>http://www.blogger.com/profile/11640491666791133113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_YDXGTMC96BQ/S1y33jWjleI/AAAAAAAAAKA/O2SZ4BSl26U/s72-c/dscn3155.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8305606313756557106.post-1713514377978428699</id><published>2010-01-23T11:26:00.000-08:00</published><updated>2010-01-24T14:36:59.723-08:00</updated><title type='text'>Northern light? yeah right!</title><content type='html'>Ever heard of northern light? Well, right now all we have is northern darkness. The sun barely comes up before it descends again. Even though I'm born here I'm never going to get used to it.&lt;br /&gt;&lt;br /&gt;Anyways... dreaming of summer I went through my drawings from the summer of 2009. Here are a couple of pictures that I did during some warm, lazy days. I hope you will enjoy them and that they bring back memories of sitting in a park on a sunny day with nothing to do.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_YDXGTMC96BQ/S1tMYIQbERI/AAAAAAAAAJ4/AHdYUaGTOs8/s1600-h/dscn3118.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/_YDXGTMC96BQ/S1tMYIQbERI/AAAAAAAAAJ4/AHdYUaGTOs8/s200/dscn3118.jpg" width="150" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/_YDXGTMC96BQ/S1tMTAQwqhI/AAAAAAAAAJw/QZV7AYuvbIE/s1600-h/dscn3119.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_YDXGTMC96BQ/S1tMTAQwqhI/AAAAAAAAAJw/QZV7AYuvbIE/s200/dscn3119.jpg" width="150" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_YDXGTMC96BQ/S1tL8qjCu6I/AAAAAAAAAJo/_9FHeeJlwOA/s1600-h/dscn3113.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_YDXGTMC96BQ/S1tL8qjCu6I/AAAAAAAAAJo/_9FHeeJlwOA/s200/dscn3113.jpg" width="150" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_YDXGTMC96BQ/S1tKqfkEQaI/AAAAAAAAAJQ/SiVmrx3KaJU/s1600-h/dscn3121.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/_YDXGTMC96BQ/S1tKqfkEQaI/AAAAAAAAAJQ/SiVmrx3KaJU/s200/dscn3121.jpg" width="200" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_YDXGTMC96BQ/S1tLPURHFWI/AAAAAAAAAJg/gFEozDTSCLE/s1600-h/dscn3104.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/_YDXGTMC96BQ/S1tLPURHFWI/AAAAAAAAAJg/gFEozDTSCLE/s200/dscn3104.jpg" width="200" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8305606313756557106-1713514377978428699?l=considertheclam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://considertheclam.blogspot.com/feeds/1713514377978428699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://considertheclam.blogspot.com/2010/01/northern-light-yeah-right.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/1713514377978428699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/1713514377978428699'/><link rel='alternate' type='text/html' href='http://considertheclam.blogspot.com/2010/01/northern-light-yeah-right.html' title='Northern light? yeah right!'/><author><name>Anders</name><uri>http://www.blogger.com/profile/11640491666791133113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_YDXGTMC96BQ/S1tMYIQbERI/AAAAAAAAAJ4/AHdYUaGTOs8/s72-c/dscn3118.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8305606313756557106.post-6914537990762133517</id><published>2010-01-23T09:58:00.000-08:00</published><updated>2010-01-23T10:02:18.773-08:00</updated><title type='text'>Game of Life</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_YDXGTMC96BQ/S1syKUR7tWI/AAAAAAAAAIw/N49yAnqyRoQ/s1600-h/gol4.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="226" src="http://2.bp.blogspot.com/_YDXGTMC96BQ/S1syKUR7tWI/AAAAAAAAAIw/N49yAnqyRoQ/s320/gol4.jpg" width="264" /&gt;&lt;/a&gt;This is a project I built in October 2009.&lt;br /&gt;&amp;nbsp; &lt;br /&gt;It all started when I got the beautiful black frame you can see in the photo. Since the picture in the frame wasn't equally beautiful, I got the idea to replace it with a &lt;a href="http://www.bitstorm.org/gameoflife/"&gt;game of life&lt;/a&gt; simulation on a dot-matrix. The whole thing is actually quite hypnotic to watch, and it sure is pretty.&lt;br /&gt;&lt;br /&gt;The design is based on an ATMega8 that runs the simulation and four 8x8 dot LED matrices from &lt;a href="http://www.electrokit.se/"&gt;electrokit.se&lt;/a&gt;. To drive the dot matrices, I'm using four daisy chained MAX7221 (serially interfaced led display drivers). I needed the serial interface since the atmega obviously doesn't have 256 i/o pins to turn LED's on and off. Below are two images of the controller card; drawing and actual.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_YDXGTMC96BQ/S1s2ASJ8sVI/AAAAAAAAAI4/r5E9FvwcIZc/s1600-h/gol1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_YDXGTMC96BQ/S1s2ASJ8sVI/AAAAAAAAAI4/r5E9FvwcIZc/s1600-h/gol1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="112" src="http://3.bp.blogspot.com/_YDXGTMC96BQ/S1s2ASJ8sVI/AAAAAAAAAI4/r5E9FvwcIZc/s200/gol1.jpg" width="160" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_YDXGTMC96BQ/S1s2CFNphbI/AAAAAAAAAJA/sipl1IvS_KE/s1600-h/gol2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="117" src="http://3.bp.blogspot.com/_YDXGTMC96BQ/S1s2CFNphbI/AAAAAAAAAJA/sipl1IvS_KE/s200/gol2.jpg" width="156" /&gt;&lt;/a&gt;I also added a LM2940 5V low dropout voltage regulator (top left corner), to be able to power it reliably with a battery.&lt;br /&gt;&lt;br /&gt;This is the initial configuration of the simulation. I think alpha and omega is fitting in a game of life simulation, don't you?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_YDXGTMC96BQ/S1s2DAIwBrI/AAAAAAAAAJI/XIt4__gBOl8/s1600-h/gol3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="261" src="http://2.bp.blogspot.com/_YDXGTMC96BQ/S1s2DAIwBrI/AAAAAAAAAJI/XIt4__gBOl8/s320/gol3.jpg" width="348" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8305606313756557106-6914537990762133517?l=considertheclam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://considertheclam.blogspot.com/feeds/6914537990762133517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://considertheclam.blogspot.com/2010/01/game-of-life.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/6914537990762133517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/6914537990762133517'/><link rel='alternate' type='text/html' href='http://considertheclam.blogspot.com/2010/01/game-of-life.html' title='Game of Life'/><author><name>Anders</name><uri>http://www.blogger.com/profile/11640491666791133113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_YDXGTMC96BQ/S1syKUR7tWI/AAAAAAAAAIw/N49yAnqyRoQ/s72-c/gol4.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8305606313756557106.post-4603282854408674978</id><published>2010-01-23T09:23:00.000-08:00</published><updated>2010-01-23T11:52:40.029-08:00</updated><title type='text'>Playing with Persistence</title><content type='html'>Since my croquis class was unexpectedly canceled today, I found myself with a couple of hours of spare time. I've been wanting to build a POV-gadget (Persistence of Vision) since I first saw the one by ladyada (&lt;a href="http://www.ladyada.net/make/minipov3/"&gt;http://www.ladyada.net/make/minipov3/&lt;/a&gt;) and with nothing else to do, I started going through my electronic supplies.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_YDXGTMC96BQ/S1ssLRlsIDI/AAAAAAAAAIo/0yA3VPpUUMI/s1600-h/board.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_YDXGTMC96BQ/S1ssLRlsIDI/AAAAAAAAAIo/0yA3VPpUUMI/s320/board.jpg" /&gt;&lt;/a&gt;The design is really basic. Take one &lt;a href="http://www.atmel.com/dyn/Products/product_card.asp?part_id=3829"&gt;attiny84&lt;/a&gt;, 8 LEDs and 8 resistors (to limit the current through the LEDs). The idea is to flash the diodes at 400Hz to create an image (using the persistence of human vision). The image will appear if you quickly move the LEDs (or yourself) back and forth.&lt;br /&gt;&lt;br /&gt;I created an image in &lt;a href="http://www.gimp.org/"&gt;GIMP&lt;/a&gt; and used the "save as .h-file" to get a C-style array. It needed some minor post processing, like transposing, but it was fairly straight forward.&lt;br /&gt;&lt;br /&gt;The C-code to control the LED's turning on and off is inspired by the ladyada implementation. It uses a timer interrupt every 1/400 second to set the LEDs to show the next column of the image. I'm using the internal RC-resonator on the avr chip since precision timing is not important here, so there is no need for a crystal.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_YDXGTMC96BQ/S1ssG2f5R9I/AAAAAAAAAIg/2ue27UTpUsc/s1600-h/1337.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="221" src="http://2.bp.blogspot.com/_YDXGTMC96BQ/S1ssG2f5R9I/AAAAAAAAAIg/2ue27UTpUsc/s320/1337.jpg" width="295" /&gt;&lt;/a&gt;So how did it come out? Well, it's kind of hard to get an image of it... but by rapidly moving the camera I managed to get a decent picture.&lt;br /&gt;&lt;br /&gt;I'm such a h4x00r :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8305606313756557106-4603282854408674978?l=considertheclam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://considertheclam.blogspot.com/feeds/4603282854408674978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://considertheclam.blogspot.com/2010/01/playing-with-persistance-of-vision.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/4603282854408674978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/4603282854408674978'/><link rel='alternate' type='text/html' href='http://considertheclam.blogspot.com/2010/01/playing-with-persistance-of-vision.html' title='Playing with Persistence'/><author><name>Anders</name><uri>http://www.blogger.com/profile/11640491666791133113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_YDXGTMC96BQ/S1ssLRlsIDI/AAAAAAAAAIo/0yA3VPpUUMI/s72-c/board.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8305606313756557106.post-7187956313599261461</id><published>2009-03-24T14:31:00.000-07:00</published><updated>2010-03-24T14:39:03.124-07:00</updated><title type='text'>F.W Scholander</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_YDXGTMC96BQ/S6qGQfabDBI/AAAAAAAAARE/M8v1P8lbALY/s1600/IMG_3629.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_YDXGTMC96BQ/S6qGQfabDBI/AAAAAAAAARE/M8v1P8lbALY/s320/IMG_3629.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;I wrote my art history term paper on the Swedish architect F.W. Scholander and his beautiful synagogue in Stockholm.&lt;br /&gt;&lt;br /&gt;For anyone interested, it's available &lt;a href="http://www.4zm.se/files/2009/scholanders_synagoga.pdf"&gt;here&lt;/a&gt; (28MB). It's written in Swedish.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8305606313756557106-7187956313599261461?l=considertheclam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://considertheclam.blogspot.com/feeds/7187956313599261461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://considertheclam.blogspot.com/2009/03/fw-scholander.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/7187956313599261461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/7187956313599261461'/><link rel='alternate' type='text/html' href='http://considertheclam.blogspot.com/2009/03/fw-scholander.html' title='F.W Scholander'/><author><name>Anders</name><uri>http://www.blogger.com/profile/11640491666791133113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_YDXGTMC96BQ/S6qGQfabDBI/AAAAAAAAARE/M8v1P8lbALY/s72-c/IMG_3629.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8305606313756557106.post-6343407572291661365</id><published>2009-03-24T14:26:00.000-07:00</published><updated>2010-03-24T14:30:42.616-07:00</updated><title type='text'>Bulletin de</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_YDXGTMC96BQ/S6qAH3Cx5II/AAAAAAAAAQ8/hVfWj73pNSI/s1600/bde2.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_YDXGTMC96BQ/S6qAH3Cx5II/AAAAAAAAAQ8/hVfWj73pNSI/s320/bde2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;This is some old news; but if I don't record it somewhere I'll soon forget all about it.&lt;br /&gt;&lt;br /&gt;Back in 2008 and 2009 I wrote a fanzine called "Bulletin de". It's in Swedish. Tough.&lt;br /&gt;&lt;br /&gt;I only published two numbers and the first one pretty bad... the second one was fairly decent though. You can download a pdf copy of it &lt;a href="http://www.4zm.se/files/2009/bulletin_de/Bulletin_de_2_content.pdf"&gt;here&lt;/a&gt; (~9.5MB).&lt;br /&gt;&lt;br /&gt;For the layouting, I used &lt;a href="http://www.scribus.net/"&gt;Scribus&lt;/a&gt;. It's a great tool, free as in both free beer and free speech, but there are still some frustrating bugs in it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8305606313756557106-6343407572291661365?l=considertheclam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://considertheclam.blogspot.com/feeds/6343407572291661365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://considertheclam.blogspot.com/2010/03/bulletin-de.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/6343407572291661365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8305606313756557106/posts/default/6343407572291661365'/><link rel='alternate' type='text/html' href='http://considertheclam.blogspot.com/2010/03/bulletin-de.html' title='Bulletin de'/><author><name>Anders</name><uri>http://www.blogger.com/profile/11640491666791133113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_YDXGTMC96BQ/S6qAH3Cx5II/AAAAAAAAAQ8/hVfWj73pNSI/s72-c/bde2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
