tag:blogger.com,1999:blog-18457215811613079232024-03-06T05:38:10.253+09:00MUDAIMUDAI ... no title, aucun titre, kein Titel ...rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.comBlogger20125tag:blogger.com,1999:blog-1845721581161307923.post-27764345043437953302012-12-23T20:26:00.001+09:002012-12-23T20:26:23.425+09:00Apple System Status Notifier releasedI have released a chrome extension <a href="https://chrome.google.com/webstore/detail/apple-system-status-notif/oohakinbhdlbanjobhkioophpkiphmfg">Apple System Status Notifier</a>. This extension is quite simple. It periodically checks <a href="http://www.apple.com/support/systemstatus/">Apple System Status</a> and displays number of issues recently happened.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGCtyMslZjVdxt1EeSfJsh5piO7yxzVObgMXkbrmJm8qNzZ8naZhrLVCC3jTZnW8iyIoXH_hsLcQxlvrsD4go79nQkFhzWyaOTcoistZflZheuCqhmz4xQKuIVo1UpAcdv5AAE0RjHEC4/s1600/screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGCtyMslZjVdxt1EeSfJsh5piO7yxzVObgMXkbrmJm8qNzZ8naZhrLVCC3jTZnW8iyIoXH_hsLcQxlvrsD4go79nQkFhzWyaOTcoistZflZheuCqhmz4xQKuIVo1UpAcdv5AAE0RjHEC4/s1600/screenshot.png" /></a></div>
This extension uses <a href="https://developer.chrome.com/extensions/event_pages.html">event pages</a> feature. It consumes less resources than background pages. I hope many other extensions adopt this feature.rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com0tag:blogger.com,1999:blog-1845721581161307923.post-18759882143473589832012-12-18T02:08:00.005+09:002012-12-18T02:08:57.435+09:00monogusa ReleasedLast Sunday, I have released <a href="https://rubygems.org/gems/monogusa">monogusa</a> gem.<br />
<br />
Its purpose is to list your usage of AWS resources. When you use Management Console, you have to click and click the icons of AWS services you would like to check. If you are running instances across the regions, you have to click more.<br />
<br />
Monogusa is trying to make it easier. At the moment is does not list statuses across regions, next version will do it. This is screen shot of next version.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6POMcyWiWSI8fxVKykCzt6uM3steXQ_f0Az8ob_7LvL0I-kTqTLEQl-ctG_9TPx2NkJqU2AYsHCvtpIvGvzZc0iJ6QN5gnQSggN9NckrNQMPLxsWPsDEe6S8_3a9GBy4dmM-MIyN4r_4/s1600/Screen+Shot+2012-12-18+at+2.05.03+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="331" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6POMcyWiWSI8fxVKykCzt6uM3steXQ_f0Az8ob_7LvL0I-kTqTLEQl-ctG_9TPx2NkJqU2AYsHCvtpIvGvzZc0iJ6QN5gnQSggN9NckrNQMPLxsWPsDEe6S8_3a9GBy4dmM-MIyN4r_4/s640/Screen+Shot+2012-12-18+at+2.05.03+AM.png" width="640" /></a></div>
<br />rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com0tag:blogger.com,1999:blog-1845721581161307923.post-68969148879356678052012-12-01T23:41:00.001+09:002012-12-01T23:41:30.908+09:00Create a URL Signature for Amazon CloudFront Using PythonThere is no official document to <a href="http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html">create a url signature for Amazon CloudFront</a> in Python. I found an easy way to do it.<br />
<br />
<pre class="blush:python">from tlslite.utils import keyfactory
from base64 import b64encode
import time
url = "http://d3iwlid5dsmdb3.cloudfront.net/_default_san.png"
expires = int(time.time() + 60)
privkey_file = "pk-APKAJ4YNPASFVCNBXK3A-cloudfront.pem"
key_pair_id = "APKAJ4YNPASFVCNBXK3A"
policy = '{"Statement":[{"Resource":"%s","Condition":{"DateLessThan":{"AWS:EpochTime":%d}}}]}' % (url, expires)
privkey = keyfactory.parsePrivateKey(open(privkey_file).read())
print '%s?Expires=%d&Signature=%s&Key-Pair-Id=%s' % (url, expires, b64encode(privkey.hashAndSign(policy)), key_pair_id)
</pre>
<br />
The library <a href="http://pypi.python.org/pypi/tlslite">tlslite</a> is very easy to use. <a href="http://docs.pythonboto.org/en/latest/">boto</a> also has a method to create signed url but it uses <a href="http://pypi.python.org/pypi/M2Crypto">M2Crypto</a>. To install M2Crypto, swig command is required but my OSX does not have it. If you do not like to install swig, tlslite is a good option.<br />
<br />rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com0tag:blogger.com,1999:blog-1845721581161307923.post-60574228251351278932008-11-19T01:48:00.006+09:002008-11-19T02:13:05.272+09:00Alchemy has arrived eventually !<p>Today the timeline of twitter was filled by the tweets about <a href="http://labs.adobe.com/technologies/alchemy/">Adobe Alchemy</a>. This project is quite impressive for me because I am used to C/C++, and relatively new to Flash. Then I began to install it to my Ubuntu 8.04 in the VirtualBox.</p>
<p>There is a zip file of Alchemy Toolkit for Linux which contains README.ubuntu. At first I thought this file is valuable for me, but it was not. README.ubuntu did not help me. I read the <a href="http://labs.adobe.com/wiki/index.php/Alchemy:Documentation:Getting_Started">install steps for Mac</a> that is not so different from Linux's one.</p>
<p>After that the second problem has come. llvm-gcc is not found. when I tried following command;
<pre>gcc stringecho.c -O3 -Wall -swc -o stringecho.swc</pre>
there was no output in the console. I checked gcc.
<pre>vim `which gcc`</pre>
gcc is not a binary executable but a perl script for Alchemy from the time alc-on command is executed until the time alc-off is executed. I put some checkpoints in gcc and found that this script exits when trying to run llvm-gcc command. The reason of that is quite simple. There is no command named llvm-gcc.</p>
<p>$ALCHEMY_HOME/bin/llvm-gcc is a symbolic link to $ALCHEMY_HOME/bin/llvm-gcc4-ubuntu-install/bin/llvm-gcc that does not exist. I need this file or link llvm-gcc to somewhere appropriate.</p>rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com1tag:blogger.com,1999:blog-1845721581161307923.post-67483771178763213352008-04-03T23:10:00.005+09:002008-04-03T23:36:33.721+09:00VaporVision3DI have published <a href="http://flan495.net/misc/VaporVision3D/">VaporVision3D</a> for this year's April fool. I am writing <a href="http://codezine.jp/a/article/aid/1872.aspx">articles</a> about 3D representation on Flash from scratch, so this VaporVision3D does not depend on Papervision3D or such 3D graphics framework.
<br/><br/>
I do not think that Reinvention of the Wheel has no meaning, but reinvention of 3-D graphcis framework is a heavy task. Who want to use 3D graphics on Flash should use Papervision3D or such however implementing 3D engine gives you lots of experiences. But I am seriously interested in performance problems on 3D engines. It is a well-known fact that drawing of FlashPlayer is very slow. What we can do is to reduce drawing. For now, my articles intentionally cut performance problems for simplicity. The time to argue the problems will come soon.rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com0tag:blogger.com,1999:blog-1845721581161307923.post-10798409182688955422008-03-05T06:13:00.002+09:002008-03-05T06:27:15.931+09:00Long path handling of JSFL File API<a href="http://www.adobe.com/devnet/flash/articles/jsapi_06.html#copy">Copy function</a> of JSFL File API can not handle long URI, for example a URI consists 300 characters. I've wrote <a href="http://snippets.libspark.org/trac/browser/c/TrueFLfile/trunk/win">extended copy function</a> that can handle such long URI. This is first time to write a extension for Flash in C language, but I found that it is not difficult to implement it. The sample extension really helped me to understand how the extension works.rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com1tag:blogger.com,1999:blog-1845721581161307923.post-7212931286042793402007-11-21T09:17:00.000+09:002007-11-23T15:20:45.029+09:00AS3 3D and physics engines2D physics engines:
<dl>
<dt><a href="http://www.cove.org/ape/index.htm">APE</a></dt>
<dd>This engine may be the most well-known one. It has been ported to C++ and Java. MIT license.
</dd>
<dt><s>Box2DAS3</s><a href="http://box2dflash.sourceforge.net/">Box2DFlashAS3</a></dt>
<dd><a href="http://www.kloonigames.com/crayon/">Crayon Physics Deluxe</a> made the people attracted to this engine. <a href="http://www.box2d.org/">Box2D</a> was written in C++, now ported to AS3 as Box2DFlashAS3. zlib/ligpng licence.</dd>
<dt><a href="http://code.google.com/p/foam-as3/">FOAM</a></dt>
<dd>It was lately released, but <a href="http://drawlogic.com/2007/11/11/as3-2d-physics-engine-foam-demos-and-sources-for-semi-realistic-physics-euler-rk4-comparison/">seems worth trying</a>. MIT license.</dd>
<dt><a href="http://fisixengine.com/">Fisix</a></dt>
<dd>Perhaps you do not know this engine because of its own license. Let's check <a href="http://www.fisixengine.com/demos/mona1.html">the demo.</a></dd>
<dt><a href="http://lab.polygonal.de/motor_physics/">Motor Physics</a></dt>
<dd>This one is expected to join the AS3 physics engine list. Some demos are already available. zlib/libpng license.</dd>
</dl>
This seems a little complicated compared with C++. In C++, there are practically two choices of 3D physics engine, PhyX and Havok. Which engine will survive?
3D graphics engine:
<dl>
<dt><a href="http://blog.papervision3d.org/">Papervision3D</a></dt>
<dd>I think that I do not need to explain about this most known 3D engine. MIT License.</dd>
<dt><a href="http://www.away3d.com/">Away3D</a></dt>
<dd>This engine is Papervision3D based one, but has has better visual quality.</dd>
<dt><a href="http://osflash.org/sandy">Sandy</a></dt>
<dd>I immediately understood this name because I am a Japanese (see <a href="http://osflash.org/sandy#why_this_name">why</a>). The API resembles Java3D, e.g. TransfomGroup class.</dd>
</dl>
-------<br>
Corrected the name of Box2DFlashAS3. (Nov. 23)<br>rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com0tag:blogger.com,1999:blog-1845721581161307923.post-70344075653106096982007-10-29T07:17:00.000+09:002007-10-29T07:35:40.419+09:00a nasty one.A really really nasty one. I can not understand a compile error of C#, CS1583 that says 'file' is not a valid Win32 resource file. For details, see <a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=289616&SiteID=1">MSDN Forum</a>.
I saw this error when I compiled <a href="http://www.misuzilla.org/dist/net/applewirelesskeyboardhelper/index.en">Apple Wireless Keyboard Helper for Windows</a> at 3:00 am. I was sleepy and did not have energy to read articles on the forum. Then I read only the latest post that says:
<br><br>
<blockquote>
Just double click on properties at solution explorer then you will see an option button with a textbox contaning file name delete it ,or copy same file in your home comp at same location.
</blockquote>
<br><br>
I tried this way then succeeded to compile the project. I started to test the application against my JIS keyboard, and found that '英数' and 'かな' key have scan code 113 and 114.rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com0tag:blogger.com,1999:blog-1845721581161307923.post-60898643512950109072007-10-02T16:21:00.000+09:002007-10-02T17:05:03.003+09:00Color detection by AS3<a href="http://850mb.net/pukiwiki/index.php?NegiScope">Here</a> is a demo of skin color detection by ActionScript 3.
<ul>
<li>Inspired by <a href="http://www.nicovideo.jp/watch/sm1136630">this video</a>.</li>
<li>Hatsune Miku swings her arm when skin color moves vertically.</li>
<li>Push V key to show/hide camera input.</li>
<li>Push M key to show/hide detection result.</li>
</ul>
Detection algorithm is of <a href="http://graphics.cs.msu.ru/en/publications/text/gc2003vsa.pdf">this paper</a>, section 3.1. Because this algorithm is very simple, it can be implemented by bitmap filter. Performance should be compared between both implementations.rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com1tag:blogger.com,1999:blog-1845721581161307923.post-68777846957271762932007-08-29T16:44:00.000+09:002007-08-29T17:13:23.927+09:00tracd does not accept folded http headerI found that <a href="http://trac.edgewall.org/wiki/TracStandalone">tracd</a> does not work in some cases, specifically when the http header is folded because of its longness. To solve this problem, I modified <code>/usr/lib/python2.4/site-packages/trac/web/wsgi.py</code> as following.
<ol>
<li>Make <code>unfold_header</code> function.
<pre>
def unfold_header(self):
lineno = 1
while lineno < len(self.headers.headers):
header = self.headers.headers[lineno]
if header.startswith(' ') or header.startswith('\t'):
self.headers.headers[lineno - 1] += header
del(self.headers.headers[lineno])
else:
lineno = lineno + 1
</pre></li>
<li>Call this function from <code>setup_environ</code> function in <code>WSGIRequestHandler</code> class.
<pre>
length = self.headers.getheader('content-length')
if length:
environ['CONTENT_LENGTH'] = length
# insert this line here.
self.unfold_header()
for name, value in [header.split(':', 1) for header
in self.headers.headers]:
</pre></li>
</ol>
This was my first time to program in Python, so there might be some problems. But this modified tracd is working for now.rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com0tag:blogger.com,1999:blog-1845721581161307923.post-21830552532836490012007-08-22T01:39:00.000+09:002007-08-22T01:59:02.011+09:00mqo loader beta ?I have eventually submitted my <a href="http://snippets.libspark.org/trac/wiki/rch850/Metasequoia">metasequoia loader</a> to <a href="http://snippets.libspark.org/">Snippets</a> of <a href="http://www.libspark.org/">Spark project</a>. Only few tests about my library have done, so any bug reports are welcomed.
<br/><br/>
My next task is perhaps to load <a href="http://sasakingdom.com/">MIKOTO</a> file that describes motion of metasequoia model. Watching motion of 3D model will fascinate us rather than watching rendered image that never moves.rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com0tag:blogger.com,1999:blog-1845721581161307923.post-30234389608397101352007-08-05T03:45:00.000+09:002007-08-05T03:52:14.061+09:00mqo loader private alpha<a href="http://850mb.net/pukiwiki/index.php?MqoLoader">Here</a> is my private alpha version of .mqo file loader for <a href="http://blog.papervision3d.org/">Papervision3D</a>. Mqo files are used by <a href="http://www.metaseq.net/english/index.html">Metasequoia</a> typically in Japan.rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com0tag:blogger.com,1999:blog-1845721581161307923.post-85532713592004540982007-07-23T14:15:00.000+09:002007-07-23T14:45:46.446+09:00Location of flashlogSince I changed my computer from XP to Vista, today is first time to use trace function of AS3. First, I created file named mm.cfg and wrote these lines.
<br/><br/>
<pre>
TraceOutputFileName=D:\Users\<MyName>\Documents\AS3\trace.txt
ErrorReportingEnable=1
TraceOutputFileEnable=1
</pre>
<br/><br/>
But this did not work. I changed all the backslashes into slashes, but nothing has changed. I removed the first line to put the output file in default location, then it worked. Even <code>TraceOutputFileName</code> is not an necessary option, this behavior is strange.
<br/><br/>
I found the answer of this problem in the <a href="http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=logging_125_04.html">LiveDocs</a>.
<br/><br/>
<blockquote>
<strong>Note</strong>: Beginning with the Flash Player 9 Update, Flash Player ignores the TraceOutputFileName property.
</blockquote>
<br/><br/>
<code>TraceOutputFileName</code> no longer works.rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com0tag:blogger.com,1999:blog-1845721581161307923.post-56173826249467325682007-07-18T18:01:00.000+09:002007-07-18T18:27:19.904+09:00Poor Japanese VS2005 ExpressPlaying with <a href="http://msdn.microsoft.com/vstudio/express/future/">Orcus</a> is something exciting, but VS2005 Express Edition is still good choice for indie programmers. You can get it by pushing 'Go' button at <a href="http://msdn.microsoft.com/vstudio/express/downloads/">here</a>.
<br/><br/>
<a href="http://www.microsoft.com/japan/msdn/vstudio/express/visualc/">Japanese version</a> is somehow complicated. When you click 'Web からインストール', you will be requested to log into msn. Moreover, an annoying form will appear that must be filled out. Your name, email address, address of work location, and some questionnaires will be needed. But you can download Japanese version from English site. Of course, a key to activate Visual Studio is needed.rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com0tag:blogger.com,1999:blog-1845721581161307923.post-80887697055607695482007-07-15T00:05:00.000+09:002007-07-19T11:35:27.201+09:00Use macro for dynamic linking of DLLDynamic linking of DLL needs more code than static linking. We have to use <code>GetProcAddress()</code> API for each functions. It may cause bug if we make typo.
<pre>
m_fnSetCommInfo =
reinterpret_cast< FnSetCommInfo >(
::GetProcAddress( m_hLibrary, "SetCommInfo" ) );
m_fnGetCommInfo =
reinterpret_cast< FnGetCommInfo >(
::GetProcAddress( m_hLibrary, "GetComInfo" ) ); // <-- Ahh !!
</pre>
Define statement prevents such bug.
<pre>
#define LOAD_FUNCTION(name) \
m_fn##name = reinterpret_cast< Fn##name >( \
::GetProcAddress( m_hLibrary, #name ) );
LOAD_FUNCTION( SetCommInfo );
LOAD_FUNCTION( GetCommInfo );
</pre>
This is easier to read. Macro sometimes prevents bug.rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com0tag:blogger.com,1999:blog-1845721581161307923.post-21384196922612755092007-07-09T13:57:00.000+09:002007-07-09T14:15:57.688+09:00Adding feed subscriber to Firefox<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQjoRoVUpZxmfqER4w1ryLcTqE3p4XX2yvP4yTSPLI7x6sw8NTwhZvtcT7b_l2fR-HeBYC_1qfGy5dvc0wF8Y2GrvDw7-Xj66CPXYbzSrBqwQkDYbWGkc4d8tISb0xcYIvKrr8Cq2lrcw/s1600-h/ff.PNG"><img style="margin: 0pt 10px 10px 0pt; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQjoRoVUpZxmfqER4w1ryLcTqE3p4XX2yvP4yTSPLI7x6sw8NTwhZvtcT7b_l2fR-HeBYC_1qfGy5dvc0wF8Y2GrvDw7-Xj66CPXYbzSrBqwQkDYbWGkc4d8tISb0xcYIvKrr8Cq2lrcw/s320/ff.PNG" alt="" id="BLOGGER_PHOTO_ID_5085058194428567762" border="0" /></a>
<br/><br/>
There is RSS button on the address bar of Firefox when a web site is providing feed. You can add any feed subscriber by doing follows:
<ol>
<li>Input <code>about:config</code> into address bar.</li>
<li>See there are some <code>browser.contentHandlers.types.N.(title|type|uri)</code> entries.</li>
<li>Add subscribers after them.</li>
</ol>
For example, I add <a href="http://fastladder.com/">Fastladder</a> by adding these entries.
<ul>
<li><code>browser.contentHandlers.types.6.title = Fastladder</code></li>
<li><code>browser.contentHandlers.types.6.type = application/vnd.mozilla.maybe.feed</code></li>
<li><code>browser.contentHandlers.types.6.uri = http://fastladder.com/subscribe/%s</code></li>
</ul>rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com0tag:blogger.com,1999:blog-1845721581161307923.post-20900808193048533262007-07-09T00:23:00.000+09:002007-07-09T01:03:01.571+09:00running svkRunning svk is not hard, however some terms are different from svn's ones. <code>commit</code> is <code>push</code> and <code>update</code> is <code>pull</code>. These may be more intuitive terms than svn's. As I said, svk can reduce revision number of repository. To do this, use <code>-l</code> option for <code>push</code> that means <em>merge everythins into a single commit log</em>.
<pre>
svk push -l //local/YourProject
</pre>
Then you can commit your source files after changing few lines without worrying about revision number. I think this is most important thing for refactoring.
<br/><br/>
<a href="http://subtech.g.hatena.ne.jp/mayuki/20061108/1163049012">Another first step guide of svk</a>. Simple and easy to understand. I do not need boring text but really need sample code or command. When there is something unclear, I will search official document that is more accurate, reliable one than somebody's blog.rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com0tag:blogger.com,1999:blog-1845721581161307923.post-41209244450159549022007-07-08T09:47:00.000+09:002007-07-09T01:00:44.098+09:00install svkI know <a href="http://www.selenic.com/mercurial/wiki/">Mercurial</a> is a great SCM system which is called distributed one. I am using svn and commiting my code many times when I made changes. It may disturb others because revision number changes frequently. Distributed SCM systems are different, however they do not have integrated GUI like TortoiseSVN. Even if Mercurial got such interface, repositories I am working on are still svn's one. svk is a solution to use svn as distributed one. I refered these sites to install svk.
<ul>
<li><a href="http://wiki.livedoor.jp/syo1976/d/svk">svk - 気の向くままに・・・ - livedoor Wiki(ウィキ)</a></li>
<li><a href="http://mono.kmc.gr.jp/~yhara/w/?SvkTutorial">Greenbear Laboratory - SVKを使ってみよう</a></li>
</ul>
At the moment, I made a copy of remote repository and checked out files from there. Revision number had been smaller. It seems that revisions are skipped which are not related to files I got from remote repository. This may be a problem when I use svn:keyword like $Id$ or $Rev$. Later, I will write about it.rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com0tag:blogger.com,1999:blog-1845721581161307923.post-6394440964048777922007-07-08T04:59:00.000+09:002007-07-08T05:36:18.016+09:00template typedef<a href="http://d.hatena.ne.jp/rich850/20070702#p1">Last week</a> I knew this code is possible to compile.
<pre>
typedef CWindowImpl<Hoge> CWindowImpl;
</pre>
I felt it is a little strange. I could not understand how the compiler interpret these two symbols are different ones.
Today, I replaced <code>strtok</code> by <code>boost::tokenizer</code> for better security and readability. <a href="http://www.google.com/codesearch?hl=en&lr=&q=boost%3A%3Atokenizer">Some code fragments</a> I've found via Google used typedef like above. Perhaps it is possible because their namespaces are different, boost and other. I will continue to use this idiom for readability especially code using boost and WTL.rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com0tag:blogger.com,1999:blog-1845721581161307923.post-58299850701254482282007-07-05T17:37:00.000+09:002007-07-05T17:43:53.856+09:00First postMUDAI, no title, aucun titre, kein Titel, ...rch850http://www.blogger.com/profile/10250912124034859915noreply@blogger.com0