<?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>Algorithm Blogs &#187; Bug</title>
	<atom:link href="http://www.algorithm.co.il/blogs/index.php/tag/bug/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.algorithm.co.il/blogs</link>
	<description>Algorithms, for the heck of it</description>
	<lastBuildDate>Thu, 22 Apr 2010 21:04:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>A Simple Race-Condition</title>
		<link>http://www.algorithm.co.il/blogs/index.php/programming/a-simple-race-condition/</link>
		<comments>http://www.algorithm.co.il/blogs/index.php/programming/a-simple-race-condition/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 09:38:18 +0000</pubDate>
		<dc:creator>lorg</dc:creator>
				<category><![CDATA[Databases]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Caching]]></category>
		<category><![CDATA[Multi-Threading]]></category>
		<category><![CDATA[Race-Condition]]></category>
		<category><![CDATA[web applications]]></category>

		<guid isPermaLink="false">http://www.algorithm.co.il/blogs/?p=263</guid>
		<description><![CDATA[Lately, I've mostly been working on my startup. It's a web-application, and one of the first things I've written was a cache mechanism for some lengthy operations. Yesterday, I found a classic race-condition in that module. I won't present the code itself here, instead I'll try to present the essence of the bug.
Consider a web [...]]]></description>
			<content:encoded><![CDATA[<p>Lately, I've mostly been working on my startup. It's a web-application, and one of the first things I've written was a cache mechanism for some lengthy operations. Yesterday, I found a classic race-condition in that module. I won't present the code itself here, instead I'll try to present the essence of the bug.</p>
<p>Consider a web application, required to do lengthy operations from time to time, either IO bound, or CPU bound. To save time, and maybe also bandwidth or CPU time, we are interested in caching the results of these operations.<br />
So, let's say we create some database table, that has the following fields:</p>
<ul>
<li><strong>Unique key:</strong> input</li>
<li>output</li>
<li>use_count *</li>
<li>Last use date *</li>
</ul>
<p>I've marked with an asterisk the fields that are optional, and are related to managing the size of the cache. These are not relevant at the moment.<br />
Here is how code using the cache would look like (in pseudocode form):</p>
<div class="syntax_hilite">
<div id="python-2">
<div class="python">result = cache.<span style="color: #dc143c;">select</span><span style="color: black;">&#40;</span><span style="color: #008000;">input</span><span style="color: black;">&#41;</span><br />
<span style="color: #00007f;font-weight:bold;">if</span> result:<br />
&nbsp; &nbsp; <span style="color: #00007f;font-weight:bold;">return</span> result<br />
result = compute<span style="color: black;">&#40;</span><span style="color: #008000;">input</span><span style="color: black;">&#41;</span><br />
cache.<span style="color: #000000;">insert</span><span style="color: black;">&#40;</span><span style="color: #008000;">input</span>, result<span style="color: black;">&#41;</span><br />
<span style="color: #00007f;font-weight:bold;">return</span> result</div>
</div>
</div>
<p></p>
<p>This code will work well under normal circumstances. However, in a multithreaded environment, or any environment where access to the database is shared, there is a race-condtion: What happens if there are two requests for the same input at about the same time?<br />
Here's a simple scheduling that will show the bug:</p>
<p>Thread1: result = cache.select(input). result is None<br />
Thread1: result = compute(input)<br />
Thread2: result = cache.select(input) result is None<br />
Thread2: result = compute(input)<br />
Thread2: cache.insert(input, result)<br />
Thread1: cache.insert(input, result) - exception - duplicate records for the unique key input!</p>
<p>This is a classic race condition. And here's a small challenge: What's the best way to solve it?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.algorithm.co.il/blogs/index.php/programming/a-simple-race-condition/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Debugging in IE.</title>
		<link>http://www.algorithm.co.il/blogs/index.php/programming/debugging-in-ie/</link>
		<comments>http://www.algorithm.co.il/blogs/index.php/programming/debugging-in-ie/#comments</comments>
		<pubDate>Sun, 12 Apr 2009 20:12:49 +0000</pubDate>
		<dc:creator>lorg</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[IE]]></category>

		<guid isPermaLink="false">http://www.algorithm.co.il/blogs/?p=257</guid>
		<description><![CDATA[I did something I shouldn't have done: from JavaScript, I appendChildNodes()-ed some text and an img to an existing img. I apologize. Firefox told me it was OK. To put it more accurately, Firefox didn't tell me anything, and just didn't show the text and the img, which was what I wanted it to do. [...]]]></description>
			<content:encoded><![CDATA[<p>I did something I shouldn't have done: from JavaScript, I appendChildNodes()-ed some text and an img to an existing img. I apologize. Firefox told me it was OK. To put it more accurately, Firefox didn't tell me anything, and just didn't show the text and the img, which was what I wanted it to do. IE really didn't like it.</p>
<p>Finding out what IE was so upset about wasn't fun, as I didn't have a debugger for IE. So I started looking for one. Not wanting to install visual studio just for that, I installed(*) "Microsoft Script Debugger", which is one old piece of software. It's so old that its readme states that it works with IE 4. At least it works. It lacks watches and some other features you'd expect from a debugger (which Firebug has!), but it got the job done. Mostly.</p>
<p>I wasted about 40 minutes on that issue.</p>
<p>* Installing "Microsoft Script Debugger", contrary to what some my tell you, <strong>does not require installing old office versions</strong>. I followed a download link on Microsoft's website, and got it. It does require some voodoo if you're running Vista, but nothing too hard to handle. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.algorithm.co.il/blogs/index.php/programming/debugging-in-ie/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>You know you need to install a new Python version when&#8230;</title>
		<link>http://www.algorithm.co.il/blogs/index.php/programming/python/you-know-you-need-to-install-a-new-python-version-when/</link>
		<comments>http://www.algorithm.co.il/blogs/index.php/programming/python/you-know-you-need-to-install-a-new-python-version-when/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 10:32:21 +0000</pubDate>
		<dc:creator>lorg</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Float]]></category>

		<guid isPermaLink="false">http://www.algorithm.co.il/blogs/?p=204</guid>
		<description><![CDATA[


&#62;&#62;&#62; import decimal
&#62;&#62;&#62; decimal.Decimal&#40;'0.2'&#41; &#60; 0.3
False
&#62;&#62;&#62;



This little gem took me two hours to track down.
It turns out that since my code is using sqlobject, it also uses the decimal module. I had some constants set up, and from within some larger algorithm I wanted to compare values extracted from the db to those constants. However, [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<div class="syntax_hilite">
<div id="python-5">
<div class="python">&gt;&gt;&gt; <span style="color: #00007f;font-weight:bold;">import</span> <span style="color: #dc143c;">decimal</span><br />
&gt;&gt;&gt; <span style="color: #dc143c;">decimal</span>.<span style="color: #dc143c;">Decimal</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'0.2'</span><span style="color: black;">&#41;</span> &lt; <span style="color: #ff4500;">0</span>.<span style="color: #ff4500;">3</span><br />
<span style="color: #008000;">False</span><br />
&gt;&gt;&gt;</div>
</div>
</div>
<p></p>
<p>This little gem took me two hours to track down.<br />
It turns out that since my code is using sqlobject, it also uses the decimal module. I had some constants set up, and from within some larger algorithm I wanted to compare values extracted from the db to those constants. However, my code didn't seem to work, and I was sure the problem lay somewhere else in the algorithm.<br />
Two hours later, and I found this comparison. It might be similar to <a href="http://bugs.python.org/issue4087">this issue</a>, but I'm not sure.</p>
<p>In any case, I was using Python 2.5.2, and <del datetime="2009-03-11T10:29:52+00:00">decimal works as expected in Python 2.6, so I guess it is indeed time for an upgrade.</del><br />
After some more checking with Python 2.6, it seems that: </p>
<div class="syntax_hilite">
<div id="python-6">
<div class="python">&gt;&gt;&gt; <span style="color: #dc143c;">decimal</span>.<span style="color: #dc143c;">Decimal</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'0.6'</span><span style="color: black;">&#41;</span> &lt; <span style="color: #ff4500;">0</span>.<span style="color: #ff4500;">3</span><br />
<span style="color: #008000;">True</span></div>
</div>
</div>
<p></p>
<p>Not good. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.algorithm.co.il/blogs/index.php/programming/python/you-know-you-need-to-install-a-new-python-version-when/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mochikit Drag&amp;Drop Corner Case</title>
		<link>http://www.algorithm.co.il/blogs/index.php/programming/mochikit-dragdrop-corner-case/</link>
		<comments>http://www.algorithm.co.il/blogs/index.php/programming/mochikit-dragdrop-corner-case/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 10:09:44 +0000</pubDate>
		<dc:creator>lorg</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[web-design]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Mochikit]]></category>
		<category><![CDATA[workaround]]></category>

		<guid isPermaLink="false">http://www.algorithm.co.il/blogs/?p=193</guid>
		<description><![CDATA[I found myself working again on the UI for my startup. As my Javascript library, I use Mochikit. One of the reasons for that is that it's the Turbogears builtin, and I came to like it. The other is that it's really easy to create DOM objects with it.
In any case, Mochikit has really easy [...]]]></description>
			<content:encoded><![CDATA[<p>I found myself working again on the UI for my startup. As my Javascript library, I use Mochikit. One of the reasons for that is that it's the Turbogears builtin, and I came to like it. The other is that it's really easy to create DOM objects with it.</p>
<p>In any case, Mochikit has really easy support for good looking drag&#038;drop. However, as usual, my requirements were strange enough to fall upon the following corner case:<br />
I wanted to add a "tool tip popup" for some text, where I would display pertinent information to said text. To make the tool tip popup thingy work, I used the following css "on mouse over" visibility trick:</p>
<div class="syntax_hilite">
<div id="css-8">
<div class="css"><span style="color: #6666ff;">.tooltip </span><span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">display</span>: <span style="color: #993333;">none</span>;<br />
<span style="color: #66cc66;">&#125;</span></p>
<p>.parent_object_class<span style="color: #3333ff;">:hover </span><span style="color: #6666ff;">.tooltip </span><span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">display</span>: <span style="color: #993333;">block</span>;<br />
<span style="color: #66cc66;">&#125;</span></div>
</div>
</div>
<p></p>
<p>This works beautifully, and with a little bit of positioning, and maybe an event here and there, you can make it appear where you want.</p>
<p>Cue the drag&#038;drop. I wanted to add some drag&#038;drop based slider to that tool tip. Since I wanted to limit the "draggability" of the slider's selector, I used the snap argument for Mochikit's Draggable object so that if you move the mouse too far, the dragged selector stays at the limit of a predefined area.<br />
This was all very well, and both of the tricks described worked pretty fine separately, until I tried to put them together.<br />
When dragging and leaving the allowed area for the drag, because of the snap argument, the dragged object stays back, and mouse is no longer over a child element of the original tooltip and tooltipped text. This means that the css trick no longer applies, and the tooltip loses visibility. This would have been fine if the drag ended there. However, the drag was not ended, and at each move of the mouse, the coordinates would grow more. Since I use the drag coordinates to compute the result of the drag, I got some pretty strange results.</p>
<p>To work around this behavior, I used Draggable's starteffect and endeffect optional arguments to make sure the tooltip remained visible, thus avoiding this issue.</p>
<p>Still, there were many other issues with all this drag&#038;drop going around, and I decided to go for a simpler design, and not put in more time on this.<br />
Issue sealed with a <strong>Keep It Simple Stupid</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.algorithm.co.il/blogs/index.php/programming/mochikit-dragdrop-corner-case/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fat Spider</title>
		<link>http://www.algorithm.co.il/blogs/index.php/origami/fat-spider/</link>
		<comments>http://www.algorithm.co.il/blogs/index.php/origami/fat-spider/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 05:56:40 +0000</pubDate>
		<dc:creator>lorg</dc:creator>
				<category><![CDATA[Origami]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Fat Spider]]></category>
		<category><![CDATA[Instructions]]></category>

		<guid isPermaLink="false">http://www.algorithm.co.il/blogs/index.php/origami/fat-spider/</guid>
		<description><![CDATA[Remember them two bugs? I was playing with that fold the other day, and with a little squeezing I came up with this critter:







Read on for the full instructions.

Click on the images to enlarge.




 1. We'll start with a black square piece of paper.





 2. Fold the horizontal and vertical folds. Note the direction of [...]]]></description>
			<content:encoded><![CDATA[<p>Remember them <a href="http://www.algorithm.co.il/blogs/index.php/misc/new-origami-bug-fold/">two bugs</a>? I was playing with that fold the other day, and with a little squeezing I came up with this critter:</p>
<table>
<tr>
<td>
<img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_25.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" />
</td>
</tr>
</table>
<p>Read on for the full instructions.<br />
<span id="more-105"></span></p>
<p>Click on the images to enlarge.</p>
<table>
<tr>
<td>
<p><a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_01.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_01.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 1. We'll start with a black square piece of paper.
</td>
</tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_02.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_02.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 2. Fold the horizontal and vertical folds. Note the direction of the folds, to make sure the spider comes out colored.
</td>
</tr>
<tr>
<td><a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_03.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_03.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 3. Fold the diagonal folds.
</td>
</tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_04.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_04.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 4. Create this regular base (I forgot the name) by folding inside.
</td>
</tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_05.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_05.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 5. We'll start folding the limbs <a href="http://www.algorithm.co.il/blogs/index.php/origami/origami-pig-instructions/">the usual way</a>. for each flap fold it up, unfold, and fold it down. In the picture two folded flaps are shown. The right one is up, and the other is down.
</td>
</tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_06.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_06.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 6. Precrease each flap as shown. The line goes from the corner to the intersection of the two previous folds.
</td>
</tr>
<tr>
<td><a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_07.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_07.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 7. Open up the flap as shown.
</td>
</tr>
<tr>
<td><a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_08.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_08.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 8. Fold the edges inside along the precrease created on step 6. In this picture one edge is folded and the other is not.</td>
</tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_09.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_09.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 9. Fold the other edge as well.
</td>
</tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_10.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_10.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 10. Close the flap back, and repeat the process for each of the other flaps.
</td>
</tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_11.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_11.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 11. Here it is shown after another flap was folded.
</td>
</tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_12.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_12.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 12. This is how it should look after all four flaps were folded.
</td>
</tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_13.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_13.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 13. Precrease the top of the fold. Fold it in both directions.
</td>
</tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_14.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_14.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 14. Open the fold between two side flaps, and the small extra flap up. Repeat this for the other side as well. (This should be repeat twice, and not four times)
</td>
</tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_15.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_15.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 15. Open up one of the flaps, and fold the edges inside as shown.
</td>
</tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_16.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_16.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 16. Close
</td>
</tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_17.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_17.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 17. Repeat the two previous steps for each flap.
</td>
</tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_18.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_18.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 18. Now prepare the limbs. One pair of limbs should be reverse folded to the sides. The other pair should be just folded back. In the picture the bottom pair is folded to the sides, and one limb from the upper pair is folded back.
</td>
</tr>
<tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_19.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_19.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 19. Turn the fold over, and reverse fold the front limbs. (The ones pointing to the sides.)
</td>
</tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_20.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_20.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 20. Open one of the sides, and precrease as shown. Do this for the other side as well.
</td>
</tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_21.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_21.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 21. Squish the op inside. This is a bit complicated. You can use a closed pen from the inside to straighten it a bit.
</td>
</tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_22.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_22.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 22. Squish down between the 'head' and the stomach. Reverse fold the back legs twice to give them shape.
</td>
</tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_24.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_24.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 23. Fix the stomach a bit to finish up. I'm not too good at it myself, as it takes a little practice.
</td>
</tr>
<tr>
<td>
<a href="http://www.algorithm.co.il/origami/fat_spider/fat_spider_25.jpg"><img src="http://www.algorithm.co.il/origami/fat_spider/fat_spider_25.jpg" alt="Origami fat_spider" border="2" width="133" height="100" align="left" /></a></td>
<td> 24. And it's done!
</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.algorithm.co.il/blogs/index.php/origami/fat-spider/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New origami bug fold</title>
		<link>http://www.algorithm.co.il/blogs/index.php/misc/new-origami-bug-fold/</link>
		<comments>http://www.algorithm.co.il/blogs/index.php/misc/new-origami-bug-fold/#comments</comments>
		<pubDate>Mon, 14 Jan 2008 10:44:19 +0000</pubDate>
		<dc:creator>lorg</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Origami]]></category>
		<category><![CDATA[Bug]]></category>

		<guid isPermaLink="false">http://www.algorithm.co.il/blogs/index.php/misc/new-origami-bug-fold/</guid>
		<description><![CDATA[While playing a little bit with paper, I started playing with the water bomb base. I then moved into the frog-base (I think) whice has some potential for bugs: 4 long limbs, elongated body, and four shorter flaps.
Here are the results:

These two critters look moderately bug-like. Note that the left one has these two fins [...]]]></description>
			<content:encoded><![CDATA[<p>While playing a little bit with paper, I started playing with the water bomb base. I then moved into the frog-base (I think) whice has some potential for bugs: 4 long limbs, elongated body, and four shorter flaps.</p>
<p>Here are the results:</p>
<p><img src="http://www.algorithm.co.il/origami/misc/two_bugs.jpg" border="2" height="168" width="224" /></p>
<p>These two critters look moderately bug-like. Note that the left one has these two fins at the side - those are two of the flaps. One other is the head.</p>
<p>I had another piece of paper which is now fubar (folded up beyond all recognition) of the same fold,  which resembled a human being. I'll probably be playing with this fold some more, while looking for minimum cuts (in graphs) and writing a compiler (for cpl).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.algorithm.co.il/blogs/index.php/misc/new-origami-bug-fold/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Origami section added</title>
		<link>http://www.algorithm.co.il/blogs/index.php/misc/origami-section-added/</link>
		<comments>http://www.algorithm.co.il/blogs/index.php/misc/origami-section-added/#comments</comments>
		<pubDate>Fri, 24 Aug 2007 07:35:30 +0000</pubDate>
		<dc:creator>lorg</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Origami]]></category>
		<category><![CDATA[web-design]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Mantis]]></category>

		<guid isPermaLink="false">http://www.algorithm.co.il/blogs/index.php/misc/origami-section-added/</guid>
		<description><![CDATA[I wanted to add this section for quite some time now. There are a few foldings I created, which I wanted to put online.  Now the first page is ready.
I also wanted to create the web-page myself, so I had to learn a bit of JavaScript, html, css, and other cuss-words. Indeed, JavaScript seems [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to add this section for quite some time now. There are a few foldings I created, which I wanted to put online.  Now the first page is ready.</p>
<p>I also wanted to create the web-page myself, so I had to learn a bit of JavaScript, html, css, and other cuss-words. Indeed, JavaScript seems to me a bad language. There is no printf equivalent! I tried looking for it on the web, and all I could find were partial implementations by people around the world. Did I say these implementations were partial?</p>
<p>Nevermind.  So here is the <a href="http://www.algorithm.co.il/blogs/index.php/origami/">new origami page</a>, soon to be filled with many wondrous creatures.</p>
<p>Here is a preview of the first fold waiting there:</p>
<p><img src="http://www.algorithm.co.il/origami/bug/bug_finished_3.jpg" height="100" width="104" /><img src="http://www.algorithm.co.il/origami/bug/bug_finished_1.jpg" height="100" width="119" /><img src="http://www.algorithm.co.il/origami/bug/bug_finished_2.jpg" height="100" width="129" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.algorithm.co.il/blogs/index.php/misc/origami-section-added/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
