<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;CUIGSHs6eCp7ImA9WhdQEkw.&quot;"><id>tag:blogger.com,1999:blog-5954201834303082081</id><updated>2011-08-13T14:32:09.510+09:00</updated><category term="Julia" /><category term="Wii" /><category term="Python" /><category term="Wiimote" /><category term="Python NodeBox" /><category term="PIL" /><category term="Algorithm" /><category term="math" /><category term="fractal" /><category term="IronPython" /><category term="imaging" /><title>NISHIO Hirokazu's blog</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://nishiohirokazu.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://nishiohirokazu.blogspot.com/" /><author><name>NISHIO Hirokazu</name><uri>http://www.blogger.com/profile/12818351128711176434</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>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/nishiohirokazu" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="nishiohirokazu" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DUINQnk4eip7ImA9WxVUEUk.&quot;"><id>tag:blogger.com,1999:blog-5954201834303082081.post-4244287288627212656</id><published>2009-03-16T05:03:00.002+09:00</published><updated>2009-03-16T05:06:33.732+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-16T05:06:33.732+09:00</app:edited><title>Hacker's Cafe Blog</title><content type="html">In these days I wrote my entry on Hacker's Cafe Blog, it is a blog written by a number of Japanese engineers. Please visit &lt;a href="http://blog.hackers-cafe.net/"&gt;http://blog.hackers-cafe.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Or if you want to see *MY* entry on the blog please visit &lt;a href="http://blog.hackers-cafe.net/search/label/NISHIO"&gt;http://blog.hackers-cafe.net/search/label/NISHIO&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5954201834303082081-4244287288627212656?l=nishiohirokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=mbkY4KmQIYM:7JG3ZnkZxOY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=mbkY4KmQIYM:7JG3ZnkZxOY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?i=mbkY4KmQIYM:7JG3ZnkZxOY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=mbkY4KmQIYM:7JG3ZnkZxOY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=mbkY4KmQIYM:7JG3ZnkZxOY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?i=mbkY4KmQIYM:7JG3ZnkZxOY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://nishiohirokazu.blogspot.com/feeds/4244287288627212656/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5954201834303082081&amp;postID=4244287288627212656" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5954201834303082081/posts/default/4244287288627212656?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5954201834303082081/posts/default/4244287288627212656?v=2" /><link rel="alternate" type="text/html" href="http://nishiohirokazu.blogspot.com/2009/03/hackers-cafe-blog.html" title="Hacker's Cafe Blog" /><author><name>NISHIO Hirokazu</name><uri>http://www.blogger.com/profile/12818351128711176434</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 gd:etag="W/&quot;D0UDRn4_fCp7ImA9WxZWEk0.&quot;"><id>tag:blogger.com,1999:blog-5954201834303082081.post-6245664150547611778</id><published>2008-03-11T11:36:00.007+09:00</published><updated>2008-03-11T12:14:37.044+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-03-11T12:14:37.044+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Python NodeBox" /><title>NodeBox</title><content type="html">I had attended to "Python Developer Camp 2008 Winter" held in Matsumoto(Japan) on the last weekend. I learned about NodeBox. NodeBox is a software on MacOSX. You can obtain it from &lt;a href="http://nodebox.net/code/index.php/Home"&gt;NodeBox | Home&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Using NodeBox you can make images and movies from a small amount of python code. It is very fun. You can change the number literal by dragging it with command key. It is nice idea.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://f.hatena.ne.jp/images/fotolife/n/nishiohirokazu/20080308/20080308145530.png"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px;" src="http://f.hatena.ne.jp/images/fotolife/n/nishiohirokazu/20080308/20080308145530.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;from math import sin, cos&lt;br /&gt;&lt;br /&gt;SIZE = 431&lt;br /&gt;size(SIZE, SIZE)&lt;br /&gt;x = 19&lt;br /&gt;y = 324&lt;br /&gt;th = 1&lt;br /&gt;dth = 0.5&lt;br /&gt;ddth = 0.1&lt;br /&gt;s = 30&lt;br /&gt;&lt;br /&gt;colormode(RGB, 1)&lt;br /&gt;stroke(color(0.5, 1, 0.5, 0.3))&lt;br /&gt;strokewidth(2)&lt;br /&gt;fill(color(0.5, 1, 0.5, 0.7))&lt;br /&gt;beginpath()&lt;br /&gt;moveto(x, y)&lt;br /&gt;&lt;br /&gt;for i in range(313):&lt;br /&gt;    x += sin(th) * s &lt;br /&gt;    y += cos(th) * s&lt;br /&gt;    th += dth&lt;br /&gt;    dth += ddth&lt;br /&gt;    lineto(x, y)&lt;br /&gt;    print x, y&lt;br /&gt;&lt;br /&gt;endpath()&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5954201834303082081-6245664150547611778?l=nishiohirokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=dIonYoiNqPk:8GcgkoZO3l8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=dIonYoiNqPk:8GcgkoZO3l8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?i=dIonYoiNqPk:8GcgkoZO3l8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=dIonYoiNqPk:8GcgkoZO3l8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=dIonYoiNqPk:8GcgkoZO3l8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?i=dIonYoiNqPk:8GcgkoZO3l8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://nishiohirokazu.blogspot.com/feeds/6245664150547611778/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5954201834303082081&amp;postID=6245664150547611778" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5954201834303082081/posts/default/6245664150547611778?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5954201834303082081/posts/default/6245664150547611778?v=2" /><link rel="alternate" type="text/html" href="http://nishiohirokazu.blogspot.com/2008/03/nodebox.html" title="NodeBox" /><author><name>NISHIO Hirokazu</name><uri>http://www.blogger.com/profile/12818351128711176434</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>1</thr:total></entry><entry gd:etag="W/&quot;AkQFRH0ycSp7ImA9WxZXEEw.&quot;"><id>tag:blogger.com,1999:blog-5954201834303082081.post-1157313641158062579</id><published>2008-02-26T18:19:00.002+09:00</published><updated>2008-02-26T18:31:55.399+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-26T18:31:55.399+09:00</app:edited><title>Why I cancelled today's meeting</title><content type="html">Why did I cancel today's meeting (&lt;a href="http://nishiohirokazu.blogspot.com/2008/02/ill-speak-on-asiajin-meeting-tokyo-1.html"&gt;Asiajin Meeting Tokyo #1&lt;/a&gt;) ?&lt;br /&gt;&lt;br /&gt;I'm sorry. I found it was double-booked with another paid event. The event is from 26 to 28 I thought.&lt;br /&gt;&lt;br /&gt;And this morning I found it was wrong. The event is from 27 to 29. I should go to my company to change my application of leisure. My coworker, amachang, had suffering large stress from making ready a presentaiton in English. I feel very sorry.&lt;br /&gt;&lt;br /&gt;I'll make sure I will speak on the second meeting. I promise.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5954201834303082081-1157313641158062579?l=nishiohirokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=CJzCWkfrBEQ:b9F1w7XtvJA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=CJzCWkfrBEQ:b9F1w7XtvJA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?i=CJzCWkfrBEQ:b9F1w7XtvJA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=CJzCWkfrBEQ:b9F1w7XtvJA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=CJzCWkfrBEQ:b9F1w7XtvJA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?i=CJzCWkfrBEQ:b9F1w7XtvJA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://nishiohirokazu.blogspot.com/feeds/1157313641158062579/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5954201834303082081&amp;postID=1157313641158062579" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5954201834303082081/posts/default/1157313641158062579?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5954201834303082081/posts/default/1157313641158062579?v=2" /><link rel="alternate" type="text/html" href="http://nishiohirokazu.blogspot.com/2008/02/why-i-cancelled-todays-meeting.html" title="Why I cancelled today's meeting" /><author><name>NISHIO Hirokazu</name><uri>http://www.blogger.com/profile/12818351128711176434</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 gd:etag="W/&quot;CEYASX86fip7ImA9WxZQEEg.&quot;"><id>tag:blogger.com,1999:blog-5954201834303082081.post-8027233542861274262</id><published>2008-02-15T13:27:00.006+09:00</published><updated>2008-02-15T14:09:08.116+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-15T14:09:08.116+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PIL" /><category scheme="http://www.blogger.com/atom/ns#" term="fractal" /><category scheme="http://www.blogger.com/atom/ns#" term="Julia" /><category scheme="http://www.blogger.com/atom/ns#" term="imaging" /><category scheme="http://www.blogger.com/atom/ns#" term="Python" /><category scheme="http://www.blogger.com/atom/ns#" term="math" /><title>[Python]Draw a  fractal pattern(Julia set)</title><content type="html">I wrote a program to draw a fractal pattern.&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Julia_set"&gt;Julia set - Wikipedia, the free encyclopedia&lt;/a&gt;.&lt;br /&gt;I found it is very easy to implement; it took much time to check the mathematical definition of Julia set than to implement. If you already know Python and don't know &lt;a href="http://www.pythonware.com/products/pil/"&gt;Python Imaging Library (PIL)&lt;/a&gt; yet, I strongly recommend to learn it!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.nishiohirokazu.org/archived_coreblog/images/julia.png"&gt;&lt;img src="http://www.nishiohirokazu.org/archived_coreblog/images/julia2.png"&gt;&lt;br /&gt;&lt;br /&gt;Using PIL you can generate images like above from very simple code:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import Image&lt;br /&gt;import ImageDraw&lt;br /&gt;&lt;br /&gt;SIZE = 128&lt;br /&gt;image = Image.new("L", (SIZE, SIZE))&lt;br /&gt;d = ImageDraw.Draw(image)&lt;br /&gt;&lt;br /&gt;c = 0.5 + 0.2j&lt;br /&gt;for x in range(SIZE):&lt;br /&gt;    for y in range(SIZE):&lt;br /&gt;        re = (x * 2.0 / SIZE) - 1.0&lt;br /&gt;        im = (y * 2.0 / SIZE) - 1.0&lt;br /&gt;&lt;br /&gt;        z=re+im*1j&lt;br /&gt;        for i in range(128):&lt;br /&gt;            if abs(z) &gt; 2.0: break&lt;br /&gt;            z = z * z + c&lt;br /&gt;        d.point((x, y), i * 2)&lt;br /&gt;&lt;br /&gt;image.save(r"c:\julia.png", "PNG")&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nishiohirokazu.org/archived_coreblog/images/julia.avi"&gt;Here&lt;/a&gt; is a movie(2MB, c = -0.78 + i * 0.002 + 0.23j (i &lt; 40), center = -0.5 + 0.2j, scale = 1.0). I think this type of movie isn't suitable for MPEG compression, it is raw avi.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5954201834303082081-8027233542861274262?l=nishiohirokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=1b9imN_YHOs:gdl9xvq2BWc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=1b9imN_YHOs:gdl9xvq2BWc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?i=1b9imN_YHOs:gdl9xvq2BWc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=1b9imN_YHOs:gdl9xvq2BWc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=1b9imN_YHOs:gdl9xvq2BWc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?i=1b9imN_YHOs:gdl9xvq2BWc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://nishiohirokazu.blogspot.com/feeds/8027233542861274262/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5954201834303082081&amp;postID=8027233542861274262" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5954201834303082081/posts/default/8027233542861274262?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5954201834303082081/posts/default/8027233542861274262?v=2" /><link rel="alternate" type="text/html" href="http://nishiohirokazu.blogspot.com/2008/02/pythondraw-fractal-patternjulia-set.html" title="[Python]Draw a  fractal pattern(Julia set)" /><author><name>NISHIO Hirokazu</name><uri>http://www.blogger.com/profile/12818351128711176434</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>4</thr:total></entry><entry gd:etag="W/&quot;CkMGQHo-eCp7ImA9WxZQEEo.&quot;"><id>tag:blogger.com,1999:blog-5954201834303082081.post-4540823226242698797</id><published>2008-02-14T17:41:00.005+09:00</published><updated>2008-02-15T19:13:41.450+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-15T19:13:41.450+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Python" /><title>[Python]Eliminate assignment before conditional statement</title><content type="html">Python doesn't allow to write a statement in a condition clause.&lt;br /&gt;The limitation keeps beginners away from the well-known bug;&lt;br /&gt;using an assignment while thay want to evaluate equality of two values.&lt;br /&gt;However, it is a little pain to be forced an assignment before a conditional statement for me as below.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import re&lt;br /&gt;&lt;br /&gt;data = "aaaabbbbaaaa"&lt;br /&gt;&lt;br /&gt;m = re.search("b+", data)&lt;br /&gt;if m:&lt;br /&gt;    print "'b+' is found at", m.start()&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;One possible solution is introducing a stack.&lt;br /&gt;By using my 'bigstack' library you can write as below.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import re&lt;br /&gt;import bigstack&lt;br /&gt;&lt;br /&gt;data = "aaaabbbbaaaa"&lt;br /&gt;&lt;br /&gt;if push(re.search("b+", data)):&lt;br /&gt;    print "'b+' is found at", pop().start()&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The library introduces two function 'push' and 'pop' to the built-in namespace. You may easily imagine how it works. And the temporary variable 'm' is no longer needed.&lt;br /&gt;&lt;br /&gt;The source code of the 'bigstack' library is as below. It is very simple.&lt;br /&gt;I doesn't think it is the perfect solution, but it could make your code more pretty especially in a 'while' statement.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;"""bigstack.py: singleton stack to eliminate temporary variables"""&lt;br /&gt;&lt;br /&gt;import __builtin__&lt;br /&gt;&lt;br /&gt;BIG_STACK = []&lt;br /&gt;&lt;br /&gt;def push(x):&lt;br /&gt;    BIG_STACK.append(x)&lt;br /&gt;    return x&lt;br /&gt;&lt;br /&gt;def pop():&lt;br /&gt;    return BIG_STACK.pop()&lt;br /&gt;&lt;br /&gt;__builtin__.__dict__.update(&lt;br /&gt;    push=push,&lt;br /&gt;    pop=pop&lt;br /&gt;)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;-----&lt;br /&gt;p.s.&lt;br /&gt;I'm sorry. It requires extra "else" clause to pop the value. worthless...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5954201834303082081-4540823226242698797?l=nishiohirokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=J9CZKGTIDCE:MuEKgPXWkYQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=J9CZKGTIDCE:MuEKgPXWkYQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?i=J9CZKGTIDCE:MuEKgPXWkYQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=J9CZKGTIDCE:MuEKgPXWkYQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=J9CZKGTIDCE:MuEKgPXWkYQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?i=J9CZKGTIDCE:MuEKgPXWkYQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://nishiohirokazu.blogspot.com/feeds/4540823226242698797/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5954201834303082081&amp;postID=4540823226242698797" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5954201834303082081/posts/default/4540823226242698797?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5954201834303082081/posts/default/4540823226242698797?v=2" /><link rel="alternate" type="text/html" href="http://nishiohirokazu.blogspot.com/2008/02/pythoneliminate-assignment-before.html" title="[Python]Eliminate assignment before conditional statement" /><author><name>NISHIO Hirokazu</name><uri>http://www.blogger.com/profile/12818351128711176434</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 gd:etag="W/&quot;CEYAQ3kzeSp7ImA9WxZRGUw.&quot;"><id>tag:blogger.com,1999:blog-5954201834303082081.post-8986323493175156925</id><published>2008-02-13T22:16:00.004+09:00</published><updated>2008-02-13T23:15:42.781+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-13T23:15:42.781+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Algorithm" /><category scheme="http://www.blogger.com/atom/ns#" term="Python" /><title>[Python]Simple Impl. of Bloom Filter</title><content type="html">&lt;a href="http://en.wikipedia.org/wiki/Bloom_filter"&gt;Bloom filter&lt;/a&gt; is a data structure to tell whether an object is in given list or not. Of cource, if you hold the given list you can do it. The merit of bloom filter is it doesn't need to hold the original list. As a result you can save a memory space. However, it lost an accuracy of result as the price of space-efficiency. It is possible to answer 'yes' while a query is not in the list in a probability. Because you can estimate the probability, bloom filter remains useful.&lt;br /&gt;&lt;br /&gt;The following source is a simple implementation of a bloom filter to learn algorithm.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;SIZE = 1987&lt;br /&gt;def hashes(s):&lt;br /&gt;    xs = [0, 0, 0]&lt;br /&gt;    for c in s:&lt;br /&gt;        o = ord(c)&lt;br /&gt;        xs[0] = xs[0] * 137 + o&lt;br /&gt;        xs[1] = xs[1] * 69 + o&lt;br /&gt;        xs[2] = xs[2] * 545 + o&lt;br /&gt;&lt;br /&gt;    return [x % SIZE for x in xs]&lt;br /&gt;&lt;br /&gt;class BloomFilter(object):&lt;br /&gt;    def __init__(self):&lt;br /&gt;        self.bitarray = [0] * SIZE&lt;br /&gt;&lt;br /&gt;    def add(self, s):&lt;br /&gt;        for x in hashes(s):&lt;br /&gt;            self.bitarray[x] = 1&lt;br /&gt;&lt;br /&gt;    def query(self, s):&lt;br /&gt;        return all(&lt;br /&gt;            self.bitarray[x] == 1&lt;br /&gt;            for x in hashes(s))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The function 'hashes' calculates three hash value using three different hash function. Class 'BloomFilter' has a bit-array. For simple implementation, I use a list as a substitute for a bit array. It decleases the bloom filter's merit much so you shouldn't use the code in practical use.&lt;br /&gt;&lt;br /&gt;The following list is the result of interactive execution on a python's shell.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&gt;&gt;&gt; bf = BloomFilter()&lt;br /&gt;&gt;&gt;&gt; bf.add("hoge")&lt;br /&gt;&gt;&gt;&gt; bf.query("hoge")&lt;br /&gt;True&lt;br /&gt;&gt;&gt;&gt; bf.query("hoga")&lt;br /&gt;False&lt;br /&gt;&gt;&gt;&gt; bf.add("foo")&lt;br /&gt;&gt;&gt;&gt; bf.add("bar")&lt;br /&gt;&gt;&gt;&gt; bf.add("baz")&lt;br /&gt;&gt;&gt;&gt; bf.query("hoga")&lt;br /&gt;False&lt;br /&gt;&gt;&gt;&gt; bf.query("foo")&lt;br /&gt;True&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;When a string added, the bloom filter write '1' on the position of bit array corresponds to each hash value. When a string queried, the bloom filter checks each position and if and only if all of them are '1' it says 'True'. You can imagine more strings are added, the bit array has more '1', and bloom filter more possibly says 'True'. The probability can easily estimate. Given m is the size of bit array, k is the number of hash functions and n is the number of strings you added, the probability is (1 - exp(-float(k * n) / m)) ** k. In this case, m equals 1987 and k equals 3, so when n is 100 the prob. is 0.003 and when n is 1000 the prob. is 0.47. You have to increase the size of bit array if you want to add 1000 strings to a bloom filter.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5954201834303082081-8986323493175156925?l=nishiohirokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=K2A0k76F6iE:e9pwT5Vi5vs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=K2A0k76F6iE:e9pwT5Vi5vs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?i=K2A0k76F6iE:e9pwT5Vi5vs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=K2A0k76F6iE:e9pwT5Vi5vs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=K2A0k76F6iE:e9pwT5Vi5vs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?i=K2A0k76F6iE:e9pwT5Vi5vs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://nishiohirokazu.blogspot.com/feeds/8986323493175156925/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5954201834303082081&amp;postID=8986323493175156925" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5954201834303082081/posts/default/8986323493175156925?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5954201834303082081/posts/default/8986323493175156925?v=2" /><link rel="alternate" type="text/html" href="http://nishiohirokazu.blogspot.com/2008/02/pythonsimple-impl-of-bloom-filter.html" title="[Python]Simple Impl. of Bloom Filter" /><author><name>NISHIO Hirokazu</name><uri>http://www.blogger.com/profile/12818351128711176434</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 gd:etag="W/&quot;DUABRH04eSp7ImA9WxZRGEQ.&quot;"><id>tag:blogger.com,1999:blog-5954201834303082081.post-5561721932821692107</id><published>2008-02-13T19:10:00.002+09:00</published><updated>2008-02-13T19:15:55.331+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-13T19:15:55.331+09:00</app:edited><title>I'll speak on Asiajin Meeting Tokyo #1</title><content type="html">On 2/26(Tue), an English meeting will be held in Tokyo.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://asiajin.com/blog/2008/02/12/asiasin-meeting-tokyo-1/"&gt;Asiajin Meeting Tokyo #1 on 26th(Tue), Feb. | Asiajin&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'll attend and speak on my web-service 'doukaku.org'. It is a community site for programmers. I'm nervous whether I can make myself understood, but to challenge is better than to hesitate, I think.&lt;br /&gt;&lt;br /&gt;After the meeting, I'll upload my slide and wrote an entry about it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5954201834303082081-5561721932821692107?l=nishiohirokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=DjbGyMPYBEo:9cm67nEZgWM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=DjbGyMPYBEo:9cm67nEZgWM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?i=DjbGyMPYBEo:9cm67nEZgWM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=DjbGyMPYBEo:9cm67nEZgWM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=DjbGyMPYBEo:9cm67nEZgWM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?i=DjbGyMPYBEo:9cm67nEZgWM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://nishiohirokazu.blogspot.com/feeds/5561721932821692107/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5954201834303082081&amp;postID=5561721932821692107" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5954201834303082081/posts/default/5561721932821692107?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5954201834303082081/posts/default/5561721932821692107?v=2" /><link rel="alternate" type="text/html" href="http://nishiohirokazu.blogspot.com/2008/02/ill-speak-on-asiajin-meeting-tokyo-1.html" title="I'll speak on Asiajin Meeting Tokyo #1" /><author><name>NISHIO Hirokazu</name><uri>http://www.blogger.com/profile/12818351128711176434</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 gd:etag="W/&quot;CkQMSXYzfyp7ImA9WxZRGUU.&quot;"><id>tag:blogger.com,1999:blog-5954201834303082081.post-3452623226858710373</id><published>2008-01-03T01:40:00.001+09:00</published><updated>2008-02-14T18:13:08.887+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-14T18:13:08.887+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Wiimote" /><category scheme="http://www.blogger.com/atom/ns#" term="IronPython" /><category scheme="http://www.blogger.com/atom/ns#" term="Wii" /><category scheme="http://www.blogger.com/atom/ns#" term="Python" /><title>Get values from Wii Remote (through IronPython and WiimoteLib.dll)</title><content type="html">This entry is translation of my entry in Japanese. http://d.hatena.ne.jp/nishiohirokazu/20071227/1198746597&lt;br /&gt;&lt;br /&gt;To get values from Wii Remote through IronPython is very easy.&lt;br /&gt;At first you need to get WiimoteLi.dll from&lt;br /&gt;&lt;a href="http://www.codeplex.com/WiimoteLib/Release/ProjectReleases.aspx?ReleaseId=7880"&gt;Managed Library for Nintendo's Wiimote - Release: WiimoteLib v1.2&lt;/a&gt;.&lt;br /&gt;Its document is nice.&lt;br /&gt;&lt;br /&gt;And then save a following script as name "setup_wii.py"&lt;br /&gt;&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;pre class="syntax-highlight"&gt;import clr&lt;br /&gt;clr.AddReferenceToFile("wiimotelib.dll")&lt;br /&gt;&lt;br /&gt;from WiimoteLib import *&lt;br /&gt;&lt;br /&gt;wii = Wiimote()&lt;br /&gt;def get_value(sender, args):&lt;br /&gt;   global a&lt;br /&gt;   a = args&lt;br /&gt;&lt;br /&gt;wii.WiimoteChanged += WiimoteChangedEventHandler(get_value)&lt;br /&gt;&lt;br /&gt;wii.Connect()&lt;br /&gt;wii.SetReportType(wii.InputReport.IRAccel, True) &lt;/pre&gt;&lt;br /&gt;In the script, at first I get a namespace "WiimoteLib" from wiimotelib.dll and import all objects in it.&lt;br /&gt;Secondly I make an instance of "Wiimote" class. Its "WiimoteChanged" field is "event" and "+=" means "add event listener". I set a minimal event listener.&lt;br /&gt;Finally I call connect its instance and tell it should return IR-Camera data and accelation data. You should read WiimoteLib.dll's document and choice the correct report type.&lt;br /&gt;&lt;br /&gt;Let's use the script in interactive console.&lt;br /&gt;&lt;br /&gt;&lt;pre class="syntax-highlight"&gt;&gt;&gt;&gt; &lt;span class="synPreProc"&gt;import&lt;/span&gt; setup_wii&lt;br /&gt;&gt;&gt;&gt; setup_wii.a&lt;br /&gt;&amp;lt;WiimoteChangedEventArgs object at 0x000000000000002B&gt;&lt;/pre&gt;OK, I got the argument of the event listener.&lt;br /&gt;To know what fields the object have, you should read WiimoteLib.dll's document. It is very comprehensive. Today I want to get the result of IR-Camera, so I did like below.&lt;br /&gt;&lt;br /&gt;&lt;pre class="syntax-highlight"&gt;&gt;&gt;&gt; setup_wii.a.WiimoteState&lt;br /&gt;&amp;lt;WiimoteState object at 0x000000000000002C&gt;&lt;br /&gt;&gt;&gt;&gt; setup_wii.a.WiimoteState.IRState&lt;br /&gt;&amp;lt;WiimoteLib.IRState object at 0x000000000000002D [WiimoteLib.IRState]&gt;&lt;br /&gt;&gt;&gt;&gt; setup_wii.a.WiimoteState.IRState.X1&lt;br /&gt;0.379091&lt;/pre&gt;I got it! It is very easy!&lt;br /&gt;&lt;br /&gt;Reference:&lt;br /&gt;&lt;a href="http://blogs.msdn.com/coding4fun/archive/2007/03/14/1879033.aspx"&gt;Coding4Fun : Managed Library for Nintendo's Wiimote&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Acknowledge:&lt;br /&gt;The reference to my Japanese entry in &lt;a href="http://ironpython-urls.blogspot.com/2007/12/using-wiimote-from-ironpython.html"&gt;IronPython URL's: Using the Wiimote from IronPython&lt;/a&gt; motivated me to write blog in English. Thanks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5954201834303082081-3452623226858710373?l=nishiohirokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=YoI0zIMB-so:0LL5H9MsR0c:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=YoI0zIMB-so:0LL5H9MsR0c:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?i=YoI0zIMB-so:0LL5H9MsR0c:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=YoI0zIMB-so:0LL5H9MsR0c:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=YoI0zIMB-so:0LL5H9MsR0c:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?i=YoI0zIMB-so:0LL5H9MsR0c:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://nishiohirokazu.blogspot.com/feeds/3452623226858710373/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5954201834303082081&amp;postID=3452623226858710373" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5954201834303082081/posts/default/3452623226858710373?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5954201834303082081/posts/default/3452623226858710373?v=2" /><link rel="alternate" type="text/html" href="http://nishiohirokazu.blogspot.com/2008/01/get-values-from-wii-remote-through.html" title="Get values from Wii Remote (through IronPython and WiimoteLib.dll)" /><author><name>NISHIO Hirokazu</name><uri>http://www.blogger.com/profile/12818351128711176434</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>1</thr:total></entry><entry gd:etag="W/&quot;C04FRHw8eSp7ImA9WB9aEkQ.&quot;"><id>tag:blogger.com,1999:blog-5954201834303082081.post-1971927270737536018</id><published>2008-01-03T01:32:00.000+09:00</published><updated>2008-01-03T01:38:35.271+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-03T01:38:35.271+09:00</app:edited><title>Blog in English</title><content type="html">To write blog entries in English continuously is that I want to achive this year. Because of almost of my activity depends on Japanese language, I didn't be known by those who doesn't use Japanese. I should write more entries in English.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5954201834303082081-1971927270737536018?l=nishiohirokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=LBVO4syLgmc:23j20KYANOk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=LBVO4syLgmc:23j20KYANOk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?i=LBVO4syLgmc:23j20KYANOk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=LBVO4syLgmc:23j20KYANOk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nishiohirokazu?a=LBVO4syLgmc:23j20KYANOk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nishiohirokazu?i=LBVO4syLgmc:23j20KYANOk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://nishiohirokazu.blogspot.com/feeds/1971927270737536018/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5954201834303082081&amp;postID=1971927270737536018" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5954201834303082081/posts/default/1971927270737536018?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5954201834303082081/posts/default/1971927270737536018?v=2" /><link rel="alternate" type="text/html" href="http://nishiohirokazu.blogspot.com/2008/01/blog-in-english.html" title="Blog in English" /><author><name>NISHIO Hirokazu</name><uri>http://www.blogger.com/profile/12818351128711176434</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></feed>

