<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1555700071422975163</id><updated>2012-01-17T21:06:55.985+09:00</updated><category term='Introduction'/><category term='Other Products'/><category term='Programming Language'/><category term='mscgen'/><category term='Xcode'/><category term='Game'/><category term='Release'/><category term='Library'/><category term='XML'/><category term='Tips'/><category term='Apple'/><category term='Programming Tips'/><category term='Hobby'/><category term='Test'/><category term='Format'/><category term='Doxygen'/><category term='Graphics'/><category term='Database'/><category term='Planning'/><category term='Product'/><category term='Objective-C'/><category term='Reference'/><category term='Mac OS X'/><category term='Cocoa'/><category term='Tools'/><category term='JavaScript'/><category term='Application'/><title type='text'>Steel Wheels Project Blog</title><subtitle type='html'>Free Software Development for Mac OS X</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>60</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-5005708130477507640</id><published>2012-01-17T21:06:00.002+09:00</published><updated>2012-01-17T21:06:56.036+09:00</updated><title type='text'>This blog is moved</title><content type='html'>The Steel Wheels Project Blog is moved to &lt;a href="http://steel-wheels.hatenablog.com/"&gt;http://steel-wheels.hatenablog.com/&lt;/a&gt;. Because I could not customize the layout of this blog well. Goodbye blogger.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-5005708130477507640?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/5005708130477507640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=5005708130477507640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/5005708130477507640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/5005708130477507640'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2012/01/this-blog-is-moved.html' title='This blog is moved'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-7662801757785341642</id><published>2011-10-16T22:18:00.005+09:00</published><updated>2011-10-16T22:18:50.629+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mscgen'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Doxygen'/><title type='text'>Tools: MSCGEN</title><content type='html'>&lt;a href="http://www.mcternan.me.uk/mscgen/"&gt;mscgen&lt;/a&gt; is a small program that parses Message Sequence Chart descriptions and produces PNG, SVG, EPS image.&lt;br /&gt;
It can be used with &lt;a href="http://www.stack.nl/~dimitri/doxygen/index.html"&gt;doxygen&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-7662801757785341642?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/7662801757785341642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=7662801757785341642' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/7662801757785341642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/7662801757785341642'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2011/10/tools-mscgen.html' title='Tools: MSCGEN'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-5495277999048006818</id><published>2011-09-04T16:46:00.001+09:00</published><updated>2011-09-04T16:46:34.703+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><category scheme='http://www.blogger.com/atom/ns#' term='Graphics'/><title type='text'>Reference: Graphics</title><content type='html'>&lt;p&gt;References for graphics&lt;/p&gt;&lt;ul&gt;  &lt;li&gt;&lt;a href="http://www.hilano.org/hilano-lab/svg/00svg-full11.pdf"&gt;Web graphics with SVG 2011&lt;/a&gt; (Japanese), Released by Kanagawa.it&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-5495277999048006818?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/5495277999048006818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=5495277999048006818' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/5495277999048006818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/5495277999048006818'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2011/09/reference-graphics.html' title='Reference: Graphics'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-3902428160740896237</id><published>2011-09-02T23:44:00.003+09:00</published><updated>2011-09-02T23:44:45.626+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><title type='text'>Reference: Debugging</title><content type='html'>&lt;ul&gt;  &lt;li&gt;&lt;a href="http://www.ibm.com/developerworks/jp/opensource/library/os-debugging/?cmp=dw&amp;cpb=dwope&amp;ct=dwrss&amp;cr=dwrss&amp;ccy=jp&amp;csr=090211"&gt;Format for debugging: STAB and DWARF&lt;/a&gt;(Japanese)&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-3902428160740896237?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/3902428160740896237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=3902428160740896237' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/3902428160740896237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/3902428160740896237'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2011/09/reference-debugging.html' title='Reference: Debugging'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-729738154299406839</id><published>2011-08-22T19:11:00.002+09:00</published><updated>2011-08-22T19:19:21.353+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>Reference: Database</title><content type='html'>Object database
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://ja.wikipedia.org/wiki/オブジェクトデータベース"&gt;Object database on wikipedia&lt;/a&gt;(Japanese)
  &lt;/li&gt;
&lt;/ul&gt;
Core Data for Mac
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://developer.apple.com/jp/Documentation/Cocoa/Conceptual/CoreData/"&gt;Core Data Programming Guide&lt;/a&gt; (Japanese)
  &lt;/li&gt;
&lt;/ul&gt;

&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-729738154299406839?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/729738154299406839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=729738154299406839' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/729738154299406839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/729738154299406839'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2011/08/reference-database.html' title='Reference: Database'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-6997773644857882717</id><published>2011-08-22T09:57:00.001+09:00</published><updated>2011-08-23T01:25:02.499+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Application'/><category scheme='http://www.blogger.com/atom/ns#' term='Planning'/><title type='text'>Application: The concept/design of Kiwi Card</title><content type='html'>&lt;h3&gt;Introduction&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;Kiwi Card&lt;/code&gt; manages the ideas.&lt;/p&gt;
&lt;h3&gt;Data structure&lt;/h3&gt;
&lt;p&gt;The data structure of KiwiCard data is called "KCCard".
   The primitive data structure to implement KCCard is called "KCPrimitive".&lt;/p&gt;
&lt;center&gt;&lt;code&gt;
  struct KCPrimitive {NSUInteger key, struct KCValue * value} ;
&lt;/code&gt;&lt;/center&gt;
&lt;p&gt;The set of KCPrimitive is used to present "item". It is called KCItem.&lt;/p&gt;
&lt;center&gt;&lt;code&gt;
  struct KCItem {CNInstanceList primitiveList} ;
&lt;/code&gt;&lt;/center&gt;
&lt;p&gt;KCCard has a list of KCPrimitive or KCItem.&lt;/p&gt;
&lt;center&gt;&lt;code&gt;
  struct KCCard { CNInstanceList itemList ; }
&lt;/code&gt;&lt;/center&gt;
&lt;p&gt;The document for the Kiwi Card application is called "KCDocument". 
   It has the list of KCCard.&lt;/p&gt;
&lt;center&gt;&lt;code&gt;
  struct KCDocument { CNInstanceList cardList : }
&lt;/code&gt;&lt;/center&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-6997773644857882717?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/6997773644857882717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=6997773644857882717' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/6997773644857882717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/6997773644857882717'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2011/08/application-kiwi-card.html' title='Application: The concept/design of Kiwi Card'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-18310305880900929</id><published>2011-07-30T21:00:00.000+09:00</published><updated>2011-07-30T21:00:04.724+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X'/><title type='text'>OS X Tips</title><content type='html'>&lt;p&gt;To make visible the folder (such as ~/Library folder on OS X Lion), execute next command&lt;/p&gt;
&lt;code&gt;
chflags nohidden ~/Library
&lt;/code&gt;
&lt;p&gt;To hide the folder, execute the command&lt;/p&gt;
&lt;code&gt;
chflags hidden ~/Library
&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-18310305880900929?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/18310305880900929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=18310305880900929' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/18310305880900929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/18310305880900929'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2011/07/os-x-tips.html' title='OS X Tips'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-83460655180959229</id><published>2011-06-05T10:54:00.000+09:00</published><updated>2011-06-05T10:54:45.849+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game'/><category scheme='http://www.blogger.com/atom/ns#' term='Planning'/><title type='text'>Game: The balance of the nature</title><content type='html'>&lt;p&gt;This is a simulation of the earth. You are the responsible person of the protection of the environment.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-83460655180959229?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/83460655180959229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=83460655180959229' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/83460655180959229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/83460655180959229'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2011/06/game-balance-of-nature.html' title='Game: The balance of the nature'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-811289749171740400</id><published>2011-05-05T07:30:00.002+09:00</published><updated>2011-08-23T23:20:42.215+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Xcode'/><title type='text'>Xcode: Build settings</title><content type='html'>&lt;p&gt;This is common setting (but it is not equals to Xcode's default) for my projects.
&lt;/p&gt;
&lt;table align="center"&gt;
  &lt;caption&gt;Common build settings&lt;/caption&gt;
  &lt;tr&gt;
    &lt;th&gt;Kind&lt;/th&gt; &lt;th&gt;Target&lt;/th&gt; &lt;th&gt;Value&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Build options&lt;/td&gt; &lt;td&gt;Debug InformationFormat&lt;/td&gt; &lt;td&gt;DRARF with DSYM file&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Deployment&lt;/td&gt; &lt;td&gt;Strip debug symbols during copy&lt;/td&gt; &lt;td&gt;No&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Search paths&lt;/td&gt; &lt;td&gt;Framework search paths&lt;/td&gt; &lt;td&gt;$(HOME)/Library/Frameworks&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Code Generation&lt;/td&gt; &lt;td&gt;Optimization level&lt;/td&gt; &lt;td&gt;-O2&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Warnings&lt;/td&gt; &lt;td&gt;Other warning flags&lt;/td&gt; &lt;td&gt;-W -Wall&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Warnings&lt;/td&gt; &lt;td&gt;Treat warning as errors&lt;/td&gt; &lt;td&gt;Yes&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-811289749171740400?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/811289749171740400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=811289749171740400' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/811289749171740400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/811289749171740400'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2011/05/xcode-build-settings.html' title='Xcode: Build settings'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-5741140926893706506</id><published>2011-05-02T22:45:00.002+09:00</published><updated>2011-05-02T22:49:31.348+09:00</updated><title type='text'>Xcode: .gitignore</title><content type='html'>&lt;p&gt;Source code is managed by &lt;a href="http://git-scm.com/"&gt;git&lt;/a&gt;.
This is an example of &lt;code&gt;.gitignore&lt;/code&gt; file.
&lt;/p&gt;

&lt;code&gt;
.DS_Store &lt;br/&gt;
Document/html &lt;br/&gt;
*.xcuserdatad &lt;br/&gt;
&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-5741140926893706506?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/5741140926893706506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=5741140926893706506' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/5741140926893706506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/5741140926893706506'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2011/05/xcode-gitignore.html' title='Xcode: .gitignore'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-240154431254990486</id><published>2011-04-30T22:20:00.000+09:00</published><updated>2011-05-01T22:26:55.713+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Xcode'/><title type='text'>Xcode: Flex with Xcode</title><content type='html'>&lt;p&gt;The C compiler outputs warnings when it compile the source code which is generated by flex.
To suppress them, &lt;code&gt;%top&lt;/code&gt; section can be used for it.
&lt;/p&gt;
&lt;code&gt;
%top { &lt;br/&gt;
  /* Adjust the size type */ &lt;br/&gt;
#define YY_TYPEDEF_YY_SIZE_T &lt;br/&gt;
typedef NSUInteger yy_size_t  ; &lt;br/&gt;
} &lt;br/&gt;
&lt;/code&gt;
&lt;p&gt;And sometimes, the flex generate the function which has unused parameter.
To suppress the warning about it. Use&lt;/p&gt;
&lt;code&gt;
#pragma GCC diagnostic ignored "-Wunused-parameter"
&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-240154431254990486?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/240154431254990486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=240154431254990486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/240154431254990486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/240154431254990486'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2011/01/tools-flex.html' title='Xcode: Flex with Xcode'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-2999366640460303885</id><published>2011-04-17T15:56:00.008+09:00</published><updated>2011-04-19T00:41:04.489+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test'/><category scheme='http://www.blogger.com/atom/ns#' term='Xcode'/><category scheme='http://www.blogger.com/atom/ns#' term='Product'/><title type='text'>Product: Unit test</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;p&gt;
All frameworks contains unit tests. The unit test is a console application and it prints execution logs of tests. The expected value is prepared in source repository, so we can compare the output of the unit test and expected value for regression.
&lt;/p&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;&lt;p&gt;
To execute the unit test, following information about the file location is required:
&lt;ul&gt;
  &lt;li&gt;Unit test application&lt;/li&gt;
  &lt;li&gt;The log file to keep the output of the unit test application&lt;/li&gt;
  &lt;li&gt;The log file which records the expected outputs&lt;/li&gt;
&lt;/ul&gt;
But the "Test" scheme of Xcode 4.0.2 does not have the way to pass the above location information to the shell script for unit test.
So the unit text execution is done in "&lt;b&gt;build&lt;/b&gt;" phase instead of "&lt;b&gt;run&lt;/b&gt;" phase.
&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-2999366640460303885?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/2999366640460303885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=2999366640460303885' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/2999366640460303885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/2999366640460303885'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2011/04/product-unit-test.html' title='Product: Unit test'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-2847150562684501025</id><published>2011-04-17T08:06:00.003+09:00</published><updated>2011-04-17T08:17:38.738+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Xcode'/><title type='text'>Xcode: Location of build product</title><content type='html'>&lt;p&gt;You can define the location to build the application on Xcode.
See setting of target "Build setting" &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Deployment Location&lt;/code&gt; : set "&lt;b&gt;YES&lt;/b&gt;"&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Deployment Postprocessing&lt;/code&gt; : set "&lt;b&gt;YES&lt;/b&gt;"&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Installation directory&lt;/code&gt; : set path to install the tool&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-2847150562684501025?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/2847150562684501025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=2847150562684501025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/2847150562684501025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/2847150562684501025'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2011/04/xcode-location-of-build-product.html' title='Xcode: Location of build product'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-8908948743030146976</id><published>2011-03-27T18:24:00.002+09:00</published><updated>2011-03-27T18:27:04.224+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X'/><title type='text'>Reference: Multi Thread Programming on Mac OS X</title><content type='html'>&lt;ul&gt;
  &lt;li&gt;Graphics
    &lt;ul&gt; 
      &lt;li&gt;&lt;a href="http://developer.apple.com/library/mac/#technotes/tn2085/_index.html"&gt;Enabling multi-threaded execution of the OpenGL framework&lt;/a&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-8908948743030146976?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/8908948743030146976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=8908948743030146976' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/8908948743030146976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/8908948743030146976'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2011/03/reference-multi-thread-programming-on.html' title='Reference: Multi Thread Programming on Mac OS X'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-7779171703601107627</id><published>2011-02-12T17:51:00.002+09:00</published><updated>2011-02-12T17:54:03.995+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>Reference: XML Technology</title><content type='html'>Reference about XML technology
&lt;ul&gt;
  &lt;li&gt;XSLT
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://www.ibm.com/developerworks/jp/xml/library/x-tipxsltzen/?cmp=dw&amp;cpb=dwxml&amp;ct=dwrss&amp;cr=dwrss&amp;ccy=jp&amp;csr=021011"&gt;XSLTの極意&lt;/a&gt; (Japanese)
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Library
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://xmlsoft.org/"&gt;libxml2&lt;/a&gt; : Library for XML data representation. It is installed in Mac OS X. To study programming, see &lt;a href="http://xmlsoft.org/tutorial/index.html"&gt;Libxml Tutorial&lt;/a&gt;.
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-7779171703601107627?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/7779171703601107627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=7779171703601107627' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/7779171703601107627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/7779171703601107627'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2011/02/reference-xml-technology.html' title='Reference: XML Technology'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-633472933060216378</id><published>2011-01-23T23:30:00.001+09:00</published><updated>2011-01-23T22:37:58.821+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>Tools: Tool Manual</title><content type='html'>&lt;ul&gt;
  &lt;li&gt;Bison
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://www.gnu.org/software/bison/manual/bison.html"&gt;Bison 2.4.3 manual&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;VIM editor
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://nanasi.jp/"&gt;Introduction of VIM script&lt;/a&gt; (Japanese)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Tera Term
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://sourceforge.jp/magazine/10/01/08/0825239"&gt;Introduction of TeraTerm macro&lt;/a&gt; (Japanese)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-633472933060216378?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/633472933060216378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=633472933060216378' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/633472933060216378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/633472933060216378'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2010/12/tools-vim-editor.html' title='Tools: Tool Manual'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-6281943267637165551</id><published>2011-01-23T21:28:00.004+09:00</published><updated>2011-01-23T22:34:04.322+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Product'/><title type='text'>Product: XML Parser on Coconut Framework</title><content type='html'>&lt;p&gt;The &lt;a href="http://coconut-frmwk.sourceforge.net/"&gt;Coconut Framework&lt;/a&gt; supports XML parser based on yacc/&lt;a href="http://www.gnu.org/software/bison/manual/html_node/index.html"&gt;bison&lt;/a&gt;. You can define the XML schema by the BNF on yacc. &lt;/p&gt;
&lt;p&gt; &lt;a href="http://coconut-frmwk.sourceforge.net/_c_n_x_m_l_lex_8h.html"&gt;CNXMLLex()&lt;/a&gt; function is combined with &lt;a href="http://www.gnu.org/software/bison/manual/html_node/Parser-Function.html#Parser-Function"&gt;yyparse()&lt;/a&gt; function to parse XML document by BNF.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-6281943267637165551?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/6281943267637165551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=6281943267637165551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/6281943267637165551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/6281943267637165551'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2011/01/xml-parser-on-coconut-framework.html' title='Product: XML Parser on Coconut Framework'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-3645092904786042282</id><published>2011-01-09T18:47:00.002+09:00</published><updated>2011-08-22T19:12:30.241+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Format'/><title type='text'>Format: EPUB</title><content type='html'>References:
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://naoki.sato.name/lab/archives/45"&gt;電子書籍ファイルePubについて -ePubを自分で作成する-&lt;/a&gt; (Japanese)
  &lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-3645092904786042282?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/3645092904786042282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=3645092904786042282' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/3645092904786042282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/3645092904786042282'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2011/01/format-epub.html' title='Format: EPUB'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-8966385129816931644</id><published>2011-01-08T17:20:00.001+09:00</published><updated>2011-01-08T17:22:04.583+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hobby'/><title type='text'>Hobby: Old Computers</title><content type='html'>&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://www.old-computers.com/news/default.asp"&gt;OLD-COMPUTERS.COM&lt;/a&gt;
  &lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-8966385129816931644?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/8966385129816931644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=8966385129816931644' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/8966385129816931644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/8966385129816931644'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2011/01/hobby-old-computers.html' title='Hobby: Old Computers'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-7001170016505716655</id><published>2011-01-06T00:48:00.002+09:00</published><updated>2011-05-02T22:44:59.548+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Xcode'/><title type='text'>Xcode: Bison with Xcode</title><content type='html'>&lt;p&gt;See &lt;a href="http://www.gnu.org/software/bison/manual/html_mono/bison.html"&gt;Bison 2.3&lt;/a&gt; manual at the GNU site. Japanese edition is &lt;a href="http://www.bookshelf.jp//texi/bison/bison-ja.html"&gt;Bison 1.28&lt;/a&gt;.
&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Setting of Xcode to use bison (yacc)
    &lt;ul&gt;
      &lt;li&gt;Use file extension &lt;code&gt;.ym&lt;/code&gt; to generate &lt;code&gt;.m&lt;/code&gt; file from yacc source&lt;/li&gt;
      &lt;li&gt;Change build option for yacc. Define &lt;code&gt;YACC_GENERATED_FILE_STEM&lt;/code&gt; macro&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;How to reentrant programming
     &lt;ul&gt;
       &lt;li&gt;&lt;a href="http://www.gnu.org/software/bison/manual/html_mono/bison.html#Pure-Decl"&gt; A Pure (Reentrant) Parser&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="http://d.hatena.ne.jp/m-mikiya/20091005/1254729260"&gt;Reentrant parser programming (in Blog)&lt;/a&gt; (Japanese)&lt;/li&gt;
     &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-7001170016505716655?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/7001170016505716655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=7001170016505716655' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/7001170016505716655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/7001170016505716655'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2009/01/use-yacc-on-xcode-environment.html' title='Xcode: Bison with Xcode'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-8969986562348106090</id><published>2010-12-30T16:50:00.000+09:00</published><updated>2010-12-29T21:02:34.016+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cocoa'/><title type='text'>Cocoa Programming: Reference &amp; Sample code</title><content type='html'>&lt;ul&gt;
  &lt;li&gt;Image
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://www.geocities.jp/osx_makuri/cocoatips_old.html"&gt;Makuri's Cocoa Tips&lt;/a&gt; : Using NSImage&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Localization
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://developer.apple.com/documentation/MacOSX/Conceptual/BPInternational/Articles/ChoosingLocalizations.html"&gt;Getting the Current Language and Locale&lt;/a&gt;: There are an example o get the list of preferred languages from the defaults database using Cocoa.
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;CPU
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://developer.apple.com/samplecode/SIMDPrimer/index.html"&gt;SIMD Primer&lt;/a&gt; : A complete routine showing how to use SIMD, particularly Intel's SSE and SSE2, to increase performance.&lt;/li&gt;
    &lt;/ul&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-8969986562348106090?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/8969986562348106090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=8969986562348106090' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/8969986562348106090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/8969986562348106090'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2008/06/sample-code.html' title='Cocoa Programming: Reference &amp; Sample code'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-1283433499832159801</id><published>2010-12-26T21:58:00.000+09:00</published><updated>2010-12-26T20:34:33.885+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><title type='text'>Product updated: Kiwi User Interface</title><content type='html'>&lt;p&gt;The &lt;a href="http://kiwi-ui-frmk.sourceforge.net/"&gt;Kiwi User Interface Framework&lt;/a&gt; is released.
The Kiwi-User-Interface-Framework supports the implementation of graphical user interface for Mac OS X based on Cocoa framework. You can implement GUI based on multi threading software architecture.
&lt;/p&gt;
&lt;p&gt;The framework is released at 2010/11/27 and updated at 2010/12/26.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-1283433499832159801?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/1283433499832159801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=1283433499832159801' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/1283433499832159801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/1283433499832159801'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2010/11/new-product-kiwi-user-interface.html' title='Product updated: Kiwi User Interface'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-5677961195210268808</id><published>2010-12-15T22:02:00.005+09:00</published><updated>2010-12-29T17:30:10.809+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cocoa'/><title type='text'>Cocoa Programming - GUI</title><content type='html'>&lt;ul&gt;
  &lt;li&gt;Guide
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CocoaDrawingGuide/Introduction/Introduction.html"&gt;Cocoa Drawing Guide&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Image
    &lt;ul&gt;
        &lt;li&gt;&lt;a href="http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSBitmapImageRep_Class/Reference/Reference.html"&gt;NSBitmapImageRep Class Reference&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSImage_Class/Reference/Reference.html"&gt;NSImage Class Reference&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Icon
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://developer.apple.com/jp/Documentation/Cocoa/Conceptual/ObjCTutorial/08Configuring/chapter_8_section_5.html"&gt;How to generalte ICON file for application&lt;/a&gt; (Japanese)
     &lt;/li&gt;
   &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-5677961195210268808?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/5677961195210268808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=5677961195210268808' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/5677961195210268808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/5677961195210268808'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2010/12/cocoa-programming-gui.html' title='Cocoa Programming - GUI'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-2669609193035893364</id><published>2010-11-27T21:55:00.001+09:00</published><updated>2010-11-27T21:56:58.670+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming Tips'/><title type='text'>Useful Unix Commands</title><content type='html'>&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://www.vanheusden.com/multitail/"&gt;MultiTail&lt;/a&gt; : MultiTail follows files in style, it is tail on steroids.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-2669609193035893364?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/2669609193035893364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=2669609193035893364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/2669609193035893364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/2669609193035893364'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2010/11/useful-unix-commands.html' title='Useful Unix Commands'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-1973581233777889037</id><published>2010-11-06T21:57:00.004+09:00</published><updated>2010-11-07T07:14:13.928+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game'/><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><title type='text'>Reference: Game</title><content type='html'>&lt;p&gt;Framework for interactive fictions.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://undum.com/"&gt;Undum&lt;/a&gt; : A client side framework for hypertext interactive fiction games&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-1973581233777889037?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/1973581233777889037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=1973581233777889037' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/1973581233777889037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/1973581233777889037'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2010/11/reference-game.html' title='Reference: Game'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-3584782002676292976</id><published>2010-07-22T00:14:00.003+09:00</published><updated>2010-11-27T22:02:37.019+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><title type='text'>New product released: Kiwi Thread</title><content type='html'>&lt;p&gt;The product name is &lt;b&gt;Kiwi Thread&lt;/b&gt; framework. It supports the implementation of Hierarchical Control/Data Flow Graph. The graph is used to execute the parallel multi threads. For more details, see the &lt;a href="http://kiwi-thread-fmk.sourceforge.net/"&gt;Kiwi Thread Framework web page&lt;/a&gt;.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-3584782002676292976?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/3584782002676292976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=3584782002676292976' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/3584782002676292976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/3584782002676292976'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2010/07/new-product-released.html' title='New product released: Kiwi Thread'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-5950219462766846415</id><published>2010-03-06T21:39:00.004+09:00</published><updated>2010-03-06T21:46:47.995+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><title type='text'>New Products Released</title><content type='html'>&lt;p&gt;Following products are released from my project.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://kiwi-engine.sourceforge.net/index.html"&gt;Kiwi Engine Framework&lt;/a&gt; : The framework for interpreter of procedural languate.&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://kiwi-basic.sourceforge.net/index.html"&gt;Kiwi Basic&lt;/a&gt;: Tiny basic interpreter based on the Kiwi Engine Framework.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-5950219462766846415?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/5950219462766846415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=5950219462766846415' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/5950219462766846415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/5950219462766846415'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2010/03/new-products-released.html' title='New Products Released'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-3824152860394596174</id><published>2009-12-30T23:31:00.002+09:00</published><updated>2011-04-17T08:18:44.881+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Xcode'/><title type='text'>Xcode: Install build</title><content type='html'>&lt;p&gt;To install framework on Xcode project, execute follwing command:&lt;/p&gt;
&lt;code&gt;xcodebuild install -configuration Release DSTROOT=/  ARCHS="i386 x86_64" &lt;/code&gt;

See &lt;a href="http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeUserGuide/Contents/Resources/en.lproj/05_07_bs_building_product/chapter_35_section_7.html"&gt; Build for release&lt;/a&gt; and &lt;a href="http://developer.apple.com/mac/library/documentation/Darwin/Conceptual/64bitPorting/intro/intro.html"&gt;64bit transition guide&lt;/a&gt; in Apple Developer Connection.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-3824152860394596174?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/3824152860394596174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=3824152860394596174' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/3824152860394596174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/3824152860394596174'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2007/12/install-build.html' title='Xcode: Install build'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-3806505794452591085</id><published>2009-09-11T22:52:00.004+09:00</published><updated>2011-02-18T21:43:21.782+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><title type='text'>Reference: Programming Language</title><content type='html'>&lt;p&gt;BASIC&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Apple II BASIC: &lt;a href="http://www.calormen.com/applesoft/reference.htm"&gt;Applesoft BASIC Quick Reference&lt;/a&gt;
  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;LISP&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://www.gnu.org/software/guile/"&gt;Guile&lt;/a&gt; : The GNU extension language
  &lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-3806505794452591085?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/3806505794452591085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=3806505794452591085' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/3806505794452591085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/3806505794452591085'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2009/09/programming-language-basic.html' title='Reference: Programming Language'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-8941038767185446966</id><published>2009-08-23T23:54:00.003+09:00</published><updated>2009-08-23T23:58:09.542+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><title type='text'>Update release</title><content type='html'>&lt;a href="http://coconut-frmwk.sourceforge.net/"&gt;Coconut v0.5.0&lt;/a&gt; and &lt;a href="http://xsugartools.sourceforge.net/"&gt;XSugar v0.5.0&lt;/a&gt; are released. XSugar supports new command, &lt;a href="http://xsugartools.sourceforge.net/manual/xsg-index.html"&gt;xsg-indent&lt;/a&gt; command. It is used to adjust indent of XML document to improve readability.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-8941038767185446966?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/8941038767185446966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=8941038767185446966' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/8941038767185446966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/8941038767185446966'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2009/08/update-release.html' title='Update release'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-8990284901845561000</id><published>2009-06-21T22:42:00.003+09:00</published><updated>2011-02-27T07:44:11.972+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><title type='text'>References: Programming</title><content type='html'>&lt;p&gt;This is URL list to refer information for software development.&lt;/p&gt;
&lt;ul&gt;
 
  &lt;li&gt;Objective-C
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://developer.apple.com/jp/Documentation/Cocoa/Conceptual/ObjectiveC/index.html"&gt;Objective-C 2.0 Programming Language&lt;/a&gt; (&lt;i&gt;Japanese&lt;/i&gt;) : Feature of Objective-C 2.0&lt;/li&gt;
      &lt;li&gt;&lt;a href="http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/index.html"&gt;
        Introduction to The Objective-C Programming Language&lt;/a&gt;: Overview of Objective-C.
      &lt;li&gt;&lt;a href="http://www.metaobject.com/Technology.html"&gt;MPWXmlKit&lt;/a&gt;: Objective-C framework to operate XML data
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Programming Language
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://users.telenet.be/kim1-6502/tinybasic/tbum.html"&gt;Tiny Basic&lt;/a&gt;: TINY BASIC User Manual produced by Itty Bitty Computers.
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;li&gt; WebKit
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://developer.apple.com/documentation/Cocoa/Conceptual/DisplayWebContent/DisplayWebContent.html"&gt;Introduction to Web Kit Objective-C Programming Guide&lt;/a&gt;: Tutorial to use WebKit by Objective-C.&lt;/li&gt;
      &lt;li&gt;&lt;a href="http://webkit.org/blog/214/introducing-squirrelfish-extreme/"&gt;Introducing SquirrelFish Extreme&lt;/a&gt;: 
         Today they would like to announce the next generation of our JavaScript engine -  SquirrelFish Extreme (or SFX for short). SquirrelFish Extreme uses more advanced techniques, including fast native code generation, to deliver even more JavaScript performance.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Xcode
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://developer.apple.com/releasenotes/DeveloperTools/Xcode/XcodeBuildSettings.html"&gt;Xcode 2.4 Build Settings Notes&lt;/a&gt;: Pre-defined environment variables by Xcode. It is used to build software under Xcode environment.&lt;/li&gt;
      &lt;li&gt;&lt;a href="http://developer.apple.com/tools/subversionxcode.html"&gt;Getting Control with Subversion and Xcode&lt;/a&gt;: Installing Subversion fully on Mac OS X Server v10.4 requires installation of Apache 2.0 and other steps specific to Mac OS X. The installation process detailed here will help ensure that you as a Mac developer have easy access to this valuable tool.&lt;/li&gt;
      &lt;li&gt;&lt;a href="http://developer.apple.com/tools/creatingdocsetswithdoxygen.html"&gt;Using Doxygen to Create Xcode Documentation Sets&lt;/a&gt; :   n Xcode 3.0, you can integrate doc sets for your own products into the Xcode Documentation window. By providing your documentation as a doc set, users can take advantage of all the Xcode documentation-viewing features to browse and search for information in your documents. &lt;/li&gt;
  &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Mac OS X
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://developer.apple.com/documentation/Darwin/Reference/ManPages/index.html"&gt;Mac OS X manual pages&lt;/a&gt;: HTML version of man pages&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Compiler
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://www.ibm.com/developerworks/jp/linux/library/l-gcc4/"&gt;Learn about GCC4 (Japanese)&lt;/a&gt;.&lt;/li&gt;
      &lt;li&gt;&lt;a href="http://gcc.fyxm.net/summit/2003/Tree%20SSA%20-%20A%20New%20optimization%20infrastructure.pdf"&gt;SSA: A New Optimization Interface for GCC&lt;/a&gt;. PDF File&lt;/li&gt;
      &lt;li&gt;&lt;a href="http://llvm.org/"&gt;The LLVM Compiler Infrastructure Project&lt;/a&gt;: LLVM is also a collection of source code that implements the language and compilation strategy&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Web programming
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://www-128.ibm.com/developerworks/xml/standards/"&gt;Index of XML standards&lt;/a&gt;: The index provides a detailed cross-reference of many XML standards, including links to additional coverage for each.&lt;/li&gt;
      &lt;li&gt;&lt;a href="http://www-128.ibm.com/developerworks/xml/library/x-ajaxxml4/"&gt;
        Ajax and XML: Learning from Ajax's best&lt;/a&gt;: It focuses on programming for current major web servives such as &lt;i&gt;Google Maps&lt;/i&gt;, &lt;i&gt;TaDaList&lt;/i&gt;, &lt;i&gt;Campfire&lt;/i&gt;, etc...&lt;/li&gt;
      &lt;li&gt;&lt;a href="http://will.thimbleby.net/script/"&gt;Scripting JavaScript in Cocoa&lt;/a&gt;: How to execute JavaScript from Cocoa program. &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Release
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://developer.apple.com/documentation/DeveloperTools/Conceptual/SoftwareDistribution/index.html"&gt;Software Delivery Guide&lt;/a&gt;: How to package software products to distribute.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Parallel programing
    &lt;ul&gt; 
      &lt;li&gt;&lt;a href="http://www.khronos.org/opencl/"&gt;OpenCL&lt;/a&gt; from &lt;a href="http://www.khronos.org/"&gt;Khronos group&lt;/a&gt;.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Coding Style
    &lt;ul&gt;
       &lt;li&gt;&lt;a href="http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml"&gt;Google C++ Style Guide&lt;/a&gt; : Coding guideline for C++&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-8990284901845561000?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/8990284901845561000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=8990284901845561000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/8990284901845561000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/8990284901845561000'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2007/04/references.html' title='References: Programming'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-3814877433674116812</id><published>2009-05-22T22:54:00.003+09:00</published><updated>2009-05-22T23:39:27.884+09:00</updated><title type='text'>Cocoa Programming - Memory Zone</title><content type='html'>&lt;a href="http://developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmZones.html"&gt;NSCreateZone&lt;/a&gt; is used to keep memory spaces. To release every contents in the zone, use &lt;code&gt;malloc_destroy_zone&lt;/code&gt; in malloc.h. For more precise, see &lt;a href="http://www.ddj.com/linux-open-source/184406391"&gt;Cocoa Memory Management&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-3814877433674116812?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/3814877433674116812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=3814877433674116812' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/3814877433674116812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/3814877433674116812'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2009/05/cocoa-programming-memory-zone.html' title='Cocoa Programming - Memory Zone'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-1545616767502882980</id><published>2009-04-29T14:14:00.017+09:00</published><updated>2009-07-02T21:11:05.294+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>JavaScript programming environment for Mac OS X</title><content type='html'>Implementations
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://developer.apple.com/documentation/Cocoa/Conceptual/DisplayWebContent/Tasks/JavaScriptFromObjC.html"&gt;Using JavaScript From Objective-C&lt;/a&gt;: Execute JavaScript program from Cocoa.&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://cappuccino.org/"&gt;Cappuccino&lt;/a&gt; is an open source framework that makes it easy to build desktop-caliber applications that run in a web browser. It is written by &lt;a href="http://cappuccino.org/learn/tutorials/objective-j-tutorial.php"&gt;Objective-J&lt;/a&gt;.
  &lt;li&gt;&lt;a href="http://www.sproutcore.com/"&gt;SproutCore&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://github.com/parmanoir/jscocoa/tree/master"&gt;JSCore&lt;/a&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href="https://wiki.mozilla.org/JavaScript:TraceMonkey"&gt;TraceMonkey&lt;/a&gt;: JavaScript engine for FireFox 3.1 or later. It's VM is called &lt;a href="http://www.mozilla.org/projects/tamarin/"&gt;Tamarin&lt;/a&gt;. &lt;a href-"https://developer.mozilla.org/En/Nanojit"&gt;Nanojit&lt;/a&gt; is is a small, cross-platform C++ library that emits machine code. Both the Tamarin JIT and the SpiderMonkey JIT (a.k.a. TraceMonkey) use Nanojit as their back end. &lt;a href="http://www.bluishcoder.co.nz/2009/05/simple-nanojit-example.html"&gt;Simple Nanogit Example&lt;/a&gt; describes how to use it.
        (&lt;a href="http://www.mozilla.org/js/spidermonkey/"&gt;SpiderMonkey&lt;/a&gt; is used before FireFox 3.0.).&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://code.google.com/p/v8/"&gt;V8 JavaScript Engine&lt;/a&gt; is written in C++ and is used in Google Chrome, the open source browser from Google.&lt;/li&gt;
   &lt;li&gt;&lt;a href="http://webkit.org/blog/214/introducing-squirrelfish-extreme/"&gt;SquirrelFish Extreme&lt;/a&gt;.&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://my.opera.com/core/blog/2009/02/04/carakan"&gt;Carakan&lt;/a&gt;, Futhark: JavaScript Engine for Opera.&lt;/li&gt;
&lt;/ul&gt;
Test
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://code.google.com/p/sputniktests/"&gt;sputniktests&lt;/a&gt; : ECMA Script 3 conformance test suite.&lt;/li&gt;
&lt;/ul&gt;
Papers/Presentations
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://citeseer.ist.psu.edu/cache/papers/cs/32018/http:zSzzSzwww.jilp.orgzSzvol5zSzv5paper12.pdf/ertl03structure.pdf"&gt;The Structure and Performance of Eﬃcient Interpreters&lt;/a&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href="http://www.slideshare.net/dynamis/trace-monkey"&gt;Trace Monkey&lt;/a&gt; (Japanese) Presentation about JavaScript.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-1545616767502882980?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/1545616767502882980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=1545616767502882980' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/1545616767502882980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/1545616767502882980'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2009/04/javascript-programming-environment-for.html' title='JavaScript programming environment for Mac OS X'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-8019459463807487819</id><published>2009-03-24T00:28:00.002+09:00</published><updated>2009-03-24T00:44:57.571+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming Language'/><title type='text'>Infrastructure for language interpreter</title><content type='html'>&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://www.parrot.org/"&gt;Parrot&lt;/a&gt;: Parrot is a virtual machine designed to efficiently compile and execute bytecode for dynamic languages.&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://www.mozilla.org/js/spidermonkey/"&gt;SpiderMonkey&lt;/a&gt;: SpiderMonkey is the code-name for the Mozilla's C implementation of JavaScript.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-8019459463807487819?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/8019459463807487819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=8019459463807487819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/8019459463807487819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/8019459463807487819'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2009/03/infrastructure-for-language-interpreter.html' title='Infrastructure for language interpreter'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-6447332928904628163</id><published>2009-03-23T00:13:00.002+09:00</published><updated>2009-03-23T00:17:06.968+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><title type='text'>Update release</title><content type='html'>&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://coconut-frmwk.sourceforge.net/"&gt;Coconut Framework v0.4.2&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://xsugartools.sourceforge.net/"&gt;XSugar Tools v0.4.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-6447332928904628163?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/6447332928904628163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=6447332928904628163' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/6447332928904628163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/6447332928904628163'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2009/03/update-release.html' title='Update release'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-1030725450527764273</id><published>2009-01-04T17:50:00.004+09:00</published><updated>2009-01-04T20:10:34.583+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cocoa'/><title type='text'>Cocoa Programming - Localization</title><content type='html'>&lt;p&gt;You can get array of supported language by following instructions.&lt;/p&gt;
&lt;code&gt;
 NSUserDefaults* defs = [NSUserDefaults standardUserDefaults];&lt;br/&gt;
 NSArray* languages = [defs objectForKey:@"AppleLanguages"];
&lt;/code&gt;
&lt;p&gt;On my mac os x system, the contents of array &lt;code&gt;languages&lt;/code&gt; are:&lt;/p&gt;
&lt;code&gt;
ja, en, fr, de, es, it, pt, pt-PT, nl, sv, nb, da, fi, ru, pl, zh-Hans, zh-Hant, ko
&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-1030725450527764273?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/1030725450527764273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=1030725450527764273' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/1030725450527764273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/1030725450527764273'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2009/01/cocoa-programming-localization.html' title='Cocoa Programming - Localization'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-1635958856248049489</id><published>2009-01-03T20:56:00.001+09:00</published><updated>2009-01-03T20:58:02.398+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming Language'/><title type='text'>Python</title><content type='html'>&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://journal.mycom.co.jp/articles/2009/01/01/python3/index.html"&gt;The difference Python 2.X and 3.Y&lt;/a&gt; (Japanese)&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-1635958856248049489?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/1635958856248049489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=1635958856248049489' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/1635958856248049489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/1635958856248049489'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2009/01/python.html' title='Python'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-5606208081729069205</id><published>2008-12-23T23:14:00.002+09:00</published><updated>2008-12-23T23:19:04.664+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><title type='text'>Update release</title><content type='html'>Following updates are released.
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://coconut-frmwk.sourceforge.net/"&gt;Coconut Framework&lt;/a&gt;: Version 0.2.0&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://xsugartools.sourceforge.net/"&gt;XSugar Tools&lt;/a&gt;: Version 0.1.0&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-5606208081729069205?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/5606208081729069205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=5606208081729069205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/5606208081729069205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/5606208081729069205'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2008/12/update-release.html' title='Update release'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-6973703092265988816</id><published>2008-10-26T12:20:00.001+09:00</published><updated>2008-10-26T12:23:20.469+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Objective-C'/><title type='text'>Variable number of arguments</title><content type='html'>Links to the apple technical Q and A: "&lt;a href="http://developer.apple.com/qa/qa2005/qa1405.html"&gt;How can I write a method that takes a variable number of arguments, like NSString's +stringWithFormat ?&lt;/a&gt;".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-6973703092265988816?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/6973703092265988816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=6973703092265988816' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/6973703092265988816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/6973703092265988816'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2008/10/variable-number-of-arguments.html' title='Variable number of arguments'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-6813093129314291190</id><published>2008-07-25T21:43:00.002+09:00</published><updated>2011-08-22T19:12:48.694+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Format'/><title type='text'>Format: XML Data Representations</title><content type='html'>&lt;p&gt;This list contains major XML formats for their purposes.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://developer.apple.com/documentation/CoreFoundation/Conceptual/CFPropertyLists/index.html"&gt;Property list&lt;/a&gt;: This format can contain (nested) primitive data. So Coconut Framework support this as CNValue class.&lt;/li&gt;
   &lt;li&gt;&lt;a href="http://www.mozilla.org/projects/xul/"&gt;XUL (XML User interface Language)&lt;/a&gt;: Language to describe user interface. You can start from &lt;a href="http://www.xulplanet.com/tutorials/xultu/"&gt;XUL Tutorial&lt;/a&gt;.&lt;/li&gt;
   &lt;li&gt;&lt;a href="http://pyxml.sourceforge.net/topics/xbel/"&gt;XBEL (The XML Bookmark Exchange Language)&lt;/a&gt;: This data structure is used to present a bookmark information.&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://developer.apple.com/documentation/AppleApplications/Conceptual/motion_XML_guide/About/chapter_1_section_1.html"&gt;Motion XML Format&lt;/a&gt;: It defines information about XML elements of the Motion scene graph&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://www.ibm.com/developerworks/xml/library/x-xproc/?S_TACT=105AGX90&amp;S_CMP=EDU"&gt;Discovering XProc&lt;/a&gt; : An XML Pipeline Language&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-6813093129314291190?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/6813093129314291190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=6813093129314291190' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/6813093129314291190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/6813093129314291190'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2007/04/xml-data-representations.html' title='Format: XML Data Representations'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-7316899861569372352</id><published>2008-05-16T00:55:00.000+09:00</published><updated>2008-05-16T00:58:41.424+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Other Products'/><title type='text'>Other Products and Frameworks</title><content type='html'>&lt;p&gt;Here is a list of products and frameworks:
&lt;ul&gt;
  &lt;li&gt;Framework
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=""&gt;SQLite&lt;/a&gt; : Application can operate DBMS by linking this library instead of communicating with SQL server. It is default installed on Mac OS X.&lt;/li&gt;
      &lt;li&gt;&lt;a href="http://code.google.com/p/gdata-objectivec-client/"&gt;Google Data APIs Objective-C Client Library&lt;/a&gt; can be used to access services provided by google. It is distributed under &lt;a href="http://www.apache.org/licenses/"&gt;Apache License, Version 2.0&lt;/a&gt;.&lt;/li&gt;
      &lt;li&gt;&lt;a href="http://regexkit.sourceforge.net/"&gt;RegexKit Framework&lt;/a&gt;: RegexKit is an Objective-C framework for regular expressions&lt;/li&gt;
      &lt;li&gt;&lt;a href="http://apptree.net/drawkitmain.htm"&gt;DrawKit&lt;/a&gt; : Cocoa Vector Graphics Framework&lt;/li&gt;
    &lt;/ul&gt;
   &lt;/li&gt;
   &lt;li&gt;Application
     &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://software.decisionsoft.com/pathanIntro.html"&gt;Pathan&lt;/a&gt; : Pathan is a open source library which allows developers using Xerces-C to parse and evaluate XPath expressions for XML node selection. It also contains some command line utilities: &lt;a href="http://software.decisionsoft.com/pathanXgrepDocumentation.html"&gt;XGrep&lt;/a&gt;. Pathan is developed by &lt;a href="http://software.decisionsoft.com/index.html"&gt;DecisionSoft Open Source&lt;/a&gt;.&lt;/li&gt;
     &lt;/ul&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-7316899861569372352?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/7316899861569372352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=7316899861569372352' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/7316899861569372352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/7316899861569372352'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2007/04/other-frameworks.html' title='Other Products and Frameworks'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-1881767764716451155</id><published>2008-04-12T15:12:00.004+09:00</published><updated>2010-12-29T11:53:10.645+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Library'/><title type='text'>Library: Build readline library to Mac OS X 10.5.2</title><content type='html'>&lt;p&gt;The &lt;a href="http://tiswww.case.edu/php/chet/readline/rltop.html"&gt;readline library&lt;/a&gt; supports typing operation at the command line for console application. This page describes how to install it to Mac OS X 10.5.2. The version of the library is &lt;code&gt;5.2&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;When I try to install the library by &lt;code&gt;configure&lt;/code&gt; and &lt;code&gt;make&lt;/code&gt;, following compile error occured:
&lt;code&gt;gcc version 4.0.1 (Apple Inc. build 5465)
i686-apple-darwin9-gcc-4.0.1: -compatibility_version only allowed with -dynamiclib
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The error is occured because &lt;code&gt;-dynamic&lt;/code&gt; is used insted of &lt;code&gt;-dynamiclib&lt;/code&gt; in &lt;code&gt;shlib/Makefile&lt;/code&gt;. The original &lt;code&gt;shlib/Makefile&lt;/code&gt; defines &lt;code&gt;SHOBJ_LDFLAGS=-dynamic&lt;/code&gt; but it must be replaced by &lt;code&gt;SHOBJ_LDFLAGS=-dynamiclib&lt;/code&gt;. After this modification, making the library is succeeded.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-1881767764716451155?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/1881767764716451155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=1881767764716451155' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/1881767764716451155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/1881767764716451155'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2008/04/build-readline-library-to-mac-os-x-1052.html' title='Library: Build readline library to Mac OS X 10.5.2'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-4395109856386148790</id><published>2008-04-09T22:57:00.009+09:00</published><updated>2010-12-29T11:53:38.817+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>Tools: GPG</title><content type='html'>&lt;p&gt;&lt;a href="http://www.gnupg.org/"&gt;The GNU Privacy Guard&lt;/a&gt; allows to encrypt and sign your data and communication. This document describes briefly usage of this command because this public/private key are used to commit &lt;a href="https://sourceforge.net/"&gt;sourceforge&lt;/a&gt;. &lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Download source code from &lt;a href="http://www.gnupg.org/download/index.en.html"&gt;GPG download page&lt;/a&gt;. &lt;code&gt;configure&lt;/code&gt; and &lt;code&gt;make install&lt;/code&gt; can be done without any modification on Leopard.&lt;/li&gt;
  &lt;li&gt;Generate private &amp; public key by &lt;code&gt;gpg --gen-key&lt;/code&gt; command. &lt;code&gt;gpg --list-keys&lt;/code&gt; command prints the list of key on your home.&lt;/li&gt;
  &lt;li&gt;Generate ASCII code for public key, execute &lt;code&gt;gpg -o public.asc -a --export USER-ID&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;References&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://www.gnupg.org/gph/en/manual.html"&gt;The GNU Privacy Handbook&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://hp.vector.co.jp/authors/VA019487/howtouse.html"&gt;How to use GnuPG&lt;/a&gt; (Japanese)&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-4395109856386148790?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/4395109856386148790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=4395109856386148790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/4395109856386148790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/4395109856386148790'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2008/04/gpg.html' title='Tools: GPG'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-1351865005481855699</id><published>2008-03-12T13:43:00.002+09:00</published><updated>2011-02-27T07:47:03.722+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><title type='text'>Reference: Cocoa programming guide</title><content type='html'>&lt;ul&gt;
  &lt;li&gt;CoreData
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://developer.apple.com/documentation/Cocoa/Conceptual/CoreDataUtilityTutorial/00_Introduction/chapter_1_section_1.html"&gt;Low-Level Core Data Tutorial&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Thread
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://developer.apple.com/documentation/Cocoa/Conceptual/Multithreading/Introduction/chapter_1_section_1.html"&gt;Thread Programming&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="http://developer.apple.com/documentation/Cocoa/Conceptual/DistrObjects/DistrObjects.html"&gt; Introduction to Distributed Objects&lt;/a&gt;: This programming topic describes the Cocoa classes that form the distributed objects system for interprocess/thread communications.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;AppleScript
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://developer.apple.com/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html"&gt;Introduction to AppleScript Language Guide&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;li&gt;JavaScript
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://developer.apple.com/documentation/QuickTime/Conceptual/QTScripting_JavaScript/aQTScripting_Javascro_AIntro/chapter_1_section_1.html"&gt;JavaScript Scripting Guide for QuickTime&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-1351865005481855699?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/1351865005481855699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=1351865005481855699' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/1351865005481855699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/1351865005481855699'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2008/02/cocoa-programming-guide.html' title='Reference: Cocoa programming guide'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-7606490035074865441</id><published>2008-02-21T23:18:00.005+09:00</published><updated>2008-02-23T00:48:31.150+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming Tips'/><title type='text'>Operate variable number of arguments in macro definition</title><content type='html'>&lt;p&gt;To operate variable number of arguments in macro, GCC support following declarations:&lt;/p&gt;
&lt;code&gt;
#define debug(format, ...) fprintf (stderr, format, ## __VA_ARGS__)&lt;/br&gt;
&lt;/code&gt;
&lt;p&gt;For more details, see &lt;a href="http://gcc.gnu.org/onlinedocs/gcc/Variadic-Macros.html"&gt;Macros with a Variable Number of Arguments&lt;/a&gt; section in &lt;a href="http://gcc.gnu.org/onlinedocs/gcc/index.html"&gt;Using the GNU compiler collection&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-7606490035074865441?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/7606490035074865441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=7606490035074865441' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/7606490035074865441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/7606490035074865441'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2008/02/operation-variable-number-arguments-in.html' title='Operate variable number of arguments in macro definition'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-7489355954905305424</id><published>2008-02-11T23:54:00.001+09:00</published><updated>2010-12-29T11:54:24.961+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>Tools: doxygen, How to build doxygen on Mac OS X 10.5.1 (Leopard)</title><content type='html'>&lt;p&gt;Compilation of &lt;a href="http://www.stack.nl/~dimitri/doxygen/"&gt;doxygen&lt;/a&gt; for Mac OS X 10.5.1 (Leopard) is failed with following message&lt;/p&gt;
&lt;code&gt;
c++ -Wl,-search_paths_first -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc -o ../bin/doxygen ../objects/main.o  -L../lib -ldoxygen -ldoxycfg -lqtools -lpng -lmd5 -liconv
ld: library not found for -ld: library not found for -lcrt1.10.5.o
collect2: ld returned 1 exit status
lcrt1.10.5.o
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/BW/BWP+Ws1mG5GSpkgGxTlXx++++TI/-Tmp-//cc2wov6G.out (No such file or directory)
make[2]: *** [../bin/doxygen] Error 1
make[1]: *** [all] Error 2
make: *** [all] Error 2 M
&lt;/code&gt;
&lt;p&gt;It is occured because path setting in Makefile is not collect. Replace &lt;code&gt;syslibroot,/Developer/SDKs/MacOSX10.4u.sdk&lt;/code&gt; by
&lt;code&gt;syslibroot,/Developer/SDKs/MacOSX10.4u.sdk/usr/lib&lt;/code&gt; in
&lt;file&gt;Makefile.doxygen&lt;/file&gt; and &lt;file&gt;Makefile.doxytag&lt;/file&gt; in package of doxygen.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-7489355954905305424?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/7489355954905305424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=7489355954905305424' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/7489355954905305424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/7489355954905305424'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2008/02/build-doxygen-on-mac-os-x-1051-leopard.html' title='Tools: doxygen, How to build doxygen on Mac OS X 10.5.1 (Leopard)'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-1330664920771944097</id><published>2008-02-10T23:04:00.001+09:00</published><updated>2008-03-03T23:20:19.894+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming Tips'/><title type='text'>libxml2</title><content type='html'>&lt;p&gt;Here is memo for programming with &lt;a href="http://xmlsoft.org/"&gt;libxml2&lt;/a&gt;.
&lt;ul&gt;
  &lt;li&gt;Parser
    &lt;ul&gt;
      &lt;li&gt;After parsing XML document, call &lt;a href="http://xmlsoft.org/html/libxml-xmlerror.html#xmlGetLastError"&gt;xmlGetLastError&lt;/a&gt; to get some errors.
      &lt;/li&gt;
      &lt;li&gt;Strings to determine encoding are defined in &lt;code&gt;xmlParseCharEncoding&lt;/code&gt; function in &lt;a href="http://www.opensource.apple.com/darwinsource/Current/libxml2-16/libxml2/encoding.c"&gt;encoding.c&lt;/a&gt;.  
         They are &lt;code&gt;"UTF-8"&lt;/code&gt;, &lt;code&gt;"UTF-16"&lt;/code&gt;, &lt;code&gt;"UCS-2"&lt;/code&gt;, &lt;code&gt;"UCS-4"&lt;/code&gt;, &lt;code&gt;"ISO-LATIN-1"&lt;/code&gt;, &lt;code&gt;"ISO-LATIN-2"&lt;/code&gt; etc...
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Node operation
    &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://xmlsoft.org/html/libxml-tree.html#xmlDocCopyNode"&gt;xmlDocCopyNode&lt;/a&gt;: This function is used to copy nodes from an xml document to other xml document. You have to call this function to copy XML nodes into other XML document.
       &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-1330664920771944097?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/1330664920771944097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=1330664920771944097' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/1330664920771944097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/1330664920771944097'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2007/05/libxml2.html' title='libxml2'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-3753587751092421435</id><published>2008-02-09T16:59:00.001+09:00</published><updated>2011-01-09T18:45:16.879+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming Tips'/><title type='text'>Libxml2 Tips</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-3753587751092421435?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/3753587751092421435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/3753587751092421435'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2008/02/libxml2-tips.html' title='Libxml2 Tips'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-4221613483544624713</id><published>2008-01-12T23:58:00.000+09:00</published><updated>2008-01-13T00:01:07.082+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Apple</title><content type='html'>This page contains stories about Apple Inc, Macintosh or other technology.
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://news-service.stanford.edu/news/2005/june15/jobs-061505.html"&gt;'You've got to find what you love,' Jobs says&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-4221613483544624713?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/4221613483544624713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=4221613483544624713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/4221613483544624713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/4221613483544624713'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2008/01/apple.html' title='Apple'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-6022950603421218915</id><published>2007-10-22T23:45:00.002+09:00</published><updated>2011-08-22T19:13:08.555+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Format'/><title type='text'>Format: XML Regular Expression</title><content type='html'>&lt;h3&gt;Introduction&lt;/h3&gt;
&lt;p&gt;XML Regular Expression is used to point some XML nodes in XML document. It is used by &lt;a href="http://steelwheels.sourceforge.jp/Products/XSugarTools/"&gt;XSugarTools&lt;/a&gt; and implemented on &lt;a href="http://steelwheels.sourceforge.jp/Products/Coconut/"&gt;Coconut Framework&lt;/a&gt;.
&lt;/p&gt;
&lt;h3&gt;Node expression&lt;/h3&gt;
&lt;p&gt;Usual regular expression (See &lt;a href="http://en.wikipedia.org/wiki/Regular_expression/"&gt;regex on wiki&lt;/a&gt;) is used to present XML element node, attribute node and text node. 
&lt;/p&gt;
&lt;dl&gt;
  &lt;dt&gt;Prefix&lt;/dt&gt;&lt;dd&gt;Kind of node&lt;/dd&gt;
  &lt;dt&gt;&lt;code&gt;e:&lt;/code&gt;&lt;/dt&gt;&lt;dd&gt;Element node&lt;/dd&gt;
  &lt;dt&gt;&lt;code&gt;a:&lt;/code&gt;&lt;/dt&gt;&lt;dd&gt;Attribute name node&lt;/dd&gt;
  &lt;dt&gt;&lt;code&gt;v:&lt;/code&gt;&lt;/dt&gt;&lt;dd&gt;Attribute value node&lt;/dd&gt;
  &lt;dt&gt;&lt;code&gt;t:&lt;/code&gt;&lt;/dt&gt;&lt;dd&gt;Text node&lt;/dd&gt;
&lt;/dl&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-6022950603421218915?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/6022950603421218915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=6022950603421218915' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/6022950603421218915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/6022950603421218915'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2007/10/xml-regular-expression.html' title='Format: XML Regular Expression'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-2709898983664056171</id><published>2007-08-19T22:36:00.003+09:00</published><updated>2011-08-22T19:13:27.819+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Format'/><title type='text'>Format: XPath and Regular expression for XSugarTools</title><content type='html'>&lt;p&gt;I'm learning about XPath for matching. The matching method will be used by &lt;a href="http://steelwheels.sourceforge.jp/Products/XSugarTools/index.html"&gt;XSugar Tools&lt;/a&gt;. XPath is used as regular expression for SoftwareTools. I want to know I can use original xpath with libxml or I have to design original regular expression and implement it.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://www.w3schools.com/xpath/"&gt;XPath Tutorial&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://www.technospot.net/blogs/xpath-tutorial-with-examples/"&gt;XPath Tutorial with Examples&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-2709898983664056171?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/2709898983664056171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=2709898983664056171' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/2709898983664056171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/2709898983664056171'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2007/08/xpath-and-regular-expression-for.html' title='Format: XPath and Regular expression for XSugarTools'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-8040862157350261791</id><published>2007-07-08T22:19:00.000+09:00</published><updated>2007-07-08T22:22:16.841+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><title type='text'>Update release</title><content type='html'>&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://steelwheels.sourceforge.jp/Products/Coconut/index.html"&gt;Coconut Framework&lt;/a&gt; : &lt;a href="http://steelwheels.sourceforge.jp/Products/Coconut/struct_c_n_lib_x_m_l_enumerator.html"&gt;CNLibXMLEnumerator&lt;/a&gt; class is added. API documentations are added.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-8040862157350261791?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/8040862157350261791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=8040862157350261791' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/8040862157350261791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/8040862157350261791'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2007/07/update-release.html' title='Update release'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-7934649249287401954</id><published>2007-06-28T00:19:00.000+09:00</published><updated>2007-06-28T00:19:02.797+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Product'/><title type='text'>XSugarTools</title><content type='html'>&lt;p&gt;&lt;a href="http://steelwheels.sourceforge.jp/Products/XSugarTools/index.html"&gt;XSugarTools&lt;/a&gt; contains software tools for XML data processing.  It is command line application for Mac OS X.  Design concent of these tools is inspired from &lt;a href="http://www.amazon.com/Software-Tools-Brian-W-Kernighan/dp/020103669X"&gt;Software Tools&lt;/a&gt; (link to amazon) by Brian W. Kernighan and P. J. Plauger, So they have follwing features.
&lt;ul&gt;
  &lt;li&gt;Each command has only one function. Everything is kept as simple as possible.&lt;/li&gt;
  &lt;li&gt;Each commands can be combined to solve more complex problem. The output of the command can be used as input for the other command.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p&gt;Following commands are/will be contained in this package:
  &lt;ul&gt;
     &lt;li&gt;&lt;a href="http://steelwheels.sourceforge.jp/Products/XSugarTools/Commands/xsg-cat.html"&gt;&lt;code&gt;xsg-cat&lt;/code&gt;&lt;/a&gt; : Concatenate or merge XML files. It similar to &lt;a href="http://developer.apple.com/documentation/Darwin/Reference/ManPages/man1/cat.1.html"&gt;cat&lt;/a&gt; command.
     &lt;/li&gt;
     &lt;li&gt;&lt;code&gt;xsg-link&lt;/code&gt; : Check or modify the link information in XHTML file.
      &lt;/li&gt;
  &lt;/ul&gt;
&lt;/p&gt;
&lt;p&gt;This software uses &lt;a href="http://steelwheels.sourceforge.jp/Products/Coconut/index.html"&gt;Coconut Framework&lt;/a&gt; by this project and Cocoa from Apple Inc.&lt;/p&gt;
&lt;address&gt;
  Modified: 2007/04/27, 2007/05/12, 2007/05/17, 2007/06/28
&lt;/address&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-7934649249287401954?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/7934649249287401954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=7934649249287401954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/7934649249287401954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/7934649249287401954'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2007/04/xsugartools.html' title='XSugarTools'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-6387731284331577028</id><published>2007-06-25T23:39:00.000+09:00</published><updated>2007-06-25T23:43:40.138+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><title type='text'>Update release</title><content type='html'>&lt;p&gt;Following software are updated on &lt;a href="http://steelwheels.sourceforge.jp/"&gt;Steel Wheels Project&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://steelwheels.sourceforge.jp/Products/XSugarTools/index.html"&gt;XSugarTools&lt;/a&gt;
     Command line tools for XML data operation.&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://steelwheels.sourceforge.jp/Products/Coconut/index.html"&gt;Coconut Framework&lt;/a&gt;
    General purpose framework for Mac OS X.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-6387731284331577028?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/6387731284331577028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=6387731284331577028' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/6387731284331577028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/6387731284331577028'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2007/06/update-release.html' title='Update release'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-1685576282747825063</id><published>2007-05-19T21:59:00.000+09:00</published><updated>2007-05-19T22:40:49.736+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Objective-C'/><title type='text'>Objective-C Programming Tips</title><content type='html'>&lt;p&gt;Objective-C supports special directives:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;@synchronize&lt;/code&gt;, &lt;code&gt;@throw&lt;/code&gt;, &lt;code&gt;@try&lt;/code&gt;, &lt;code&gt;@catch&lt;/code&gt;: There directives are used for mutal execlusion or exception. For more details, see &lt;a href="http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/index.html"&gt;Introduction to The Objective-C Programming Language&lt;/a&gt;, "&lt;i&gt;The language&lt;/i&gt;", "&lt;i&gt;Exception Handling and Thread Synchronization&lt;/i&gt;" &lt;/li&gt;
  &lt;li&gt;Sometimes, error will be occured in the initialize of object. In this case, use following template code:
     &lt;pre&gt;
 -(id)initWithError: (NSError **) error
 {
     if (self = [super init]) {
         err = /* try and error */
         if (err != nil) {
             *error = err ;
             [self release] ;
             return nil ;
         }
     }
     return self;
 }
     &lt;/pre&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;address&gt;
Initial post: 2007/04/21, 2007/04/24, 2007/04/27, 2007/05/19
&lt;/address&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-1685576282747825063?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/1685576282747825063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=1685576282747825063' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/1685576282747825063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/1685576282747825063'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2007/04/objective-c-language-specification-memo.html' title='Objective-C Programming Tips'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-851587469428648272</id><published>2007-05-08T21:36:00.000+09:00</published><updated>2007-05-08T22:00:58.935+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cocoa'/><title type='text'>Command line parser for Cocoa Application</title><content type='html'>&lt;p&gt;There are some ways to parse command line options for console application built-on Cocoa Framework.&lt;/p&gt;
&lt;p&gt;First,  we can use &lt;code&gt;NSUserDefaults&lt;/code&gt;. It is described in &lt;a href="http://unixjunkie.blogspot.com/2006/07/command-line-processing-in-cocoa.html"&gt;Command line processing in Cocoa&lt;/a&gt;. 
A Reader of the blog said &lt;code&gt;NSArgumentDomain&lt;/code&gt; can be used for this. For &lt;code&gt;NSArgumentDomain&lt;/code&gt;, See &lt;a href="http://developer.apple.com/documentation/Cocoa/Conceptual/UserDefaults/index.html"&gt;Introduction to User Defaults&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Second, We can use &lt;a href="http://developer.apple.com/DOCUMENTATION/Darwin/Reference/ManPages/man3/getopt_long.3.html"&gt;GetOpt&lt;/a&gt; (in Apple's page). It is installed on cocoa. Almost of UNIX applications uses this. We can use &lt;code&gt;getopt&lt;/code&gt; or &lt;code&gt;getopt_long&lt;/code&gt;. The library comes from NetBSD, not GNU.
For more precise information for &lt;code&gt;getopt&lt;/code&gt;, see &lt;a href="http://docs.sun.com/app/docs/doc/816-5168/6mbb3hrcd?l=ja&amp;a=view"&gt;Solaris's manual&lt;/a&gt;. Apple's manual page is too short and lacks information.
&lt;/p&gt;
&lt;address&gt;
  Modified: '07/04/22, '07/05/05, '07/05/08
&lt;/address&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-851587469428648272?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/851587469428648272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=851587469428648272' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/851587469428648272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/851587469428648272'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2007/04/command-line-parser-for-cocoa.html' title='Command line parser for Cocoa Application'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-8248944575376227259</id><published>2007-05-06T17:25:00.000+09:00</published><updated>2007-06-03T12:15:23.794+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Planning'/><title type='text'>Adventure Game</title><content type='html'>&lt;p&gt;The one last goal of &lt;a href="http://steelwheels.sourceforge.jp/"&gt;Steel Wheels Project&lt;/a&gt; is develop the adventure game on the product. There are many systems to create interactive-finction game. &lt;a href="http://brasslantern.org/"&gt;Brass Lantern&lt;/a&gt; is major site to review adventure game for player and creator.&lt;/p&gt;
&lt;p&gt;The site recommend &lt;a href="http://www.inform-fiction.org/I7/Welcome.html"&gt;Inform 7&lt;/a&gt; as development environment.  The colmun &lt;a href="http://brasslantern.org/writers/howto/i7intro.html"&gt;Introducing Inform 7&lt;/a&gt; explain about it.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-8248944575376227259?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/8248944575376227259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=8248944575376227259' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/8248944575376227259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/8248944575376227259'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2007/05/adventure-game.html' title='Adventure Game'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-8679408382142125820</id><published>2007-05-05T23:50:00.000+09:00</published><updated>2007-05-05T23:37:59.844+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Product'/><title type='text'>Coconut Framework</title><content type='html'>&lt;p&gt;&lt;a href="http://steelwheels.sourceforge.jp/Products/Coconut/"&gt;Coconut Framework&lt;/a&gt; defines basic data structure and it's operation. Other products of &lt;a href="http://steelwheels.sourceforge.jp/"&gt;Steel Wheels Project&lt;/a&gt; require this framework. This framework is written by Objective-C and developed under Xcode environment.&lt;/p&gt;
&lt;p&gt;
Coconut Framework has following functions:
&lt;ul&gt;
  &lt;li&gt;XML data operation&lt;/li&gt;
  &lt;li&gt;Command line tool support
    &lt;ul&gt;
       &lt;li&gt;Command line option parser based on &lt;a href="http://developer.apple.com/DOCUMENTATION/Darwin/Reference/ManPages/man3/getopt_long.3.html"&gt;getopt&lt;/a&gt;.&lt;/li&gt;
    &lt;/ul&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;address&gt;
  Modified: 07/04/23, 07/04/27, 07/05/05
&lt;/address&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-8679408382142125820?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/8679408382142125820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=8679408382142125820' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/8679408382142125820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/8679408382142125820'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2007/04/coconut-framework.html' title='Coconut Framework'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-5200808223940973189</id><published>2007-04-21T10:10:00.000+09:00</published><updated>2007-06-03T12:14:45.936+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>Tools to generate API documentation</title><content type='html'>&lt;p&gt;I choosen &lt;a href="http://www.stack.nl/~dimitri/doxygen/"&gt;doxygen&lt;/a&gt;to generate API reference manual from source code (and embedded comments). It supports Objective-C language, so I can use it for my source code.&lt;/p&gt;
&lt;p&gt;Here is documentation tools to generate API manual from source code.
  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://developer.apple.com/opensource/tools/headerdoc.html"&gt;HeaderDoc&lt;/a&gt;: a tool for generating HTML reference documentation from comments in headers, and source code written in C, C++, Objective-C , Java, JavaScript, Pascal, PHP, Perl, MIG, and shell scripts.&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://java.sun.com/j2se/javadoc/"&gt;JavaDoc&lt;/a&gt; : a tool for generating API documentation in HTML format from doc comments in Java source code.&lt;/li&gt;
  &lt;/ul&gt;
&lt;/p&gt;
&lt;p&gt;HeaderDoc is most suitable tool because it is installed on Mac OS X. But I feel it has some bugs and it has fewer functions against doxygen.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-5200808223940973189?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/5200808223940973189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=5200808223940973189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/5200808223940973189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/5200808223940973189'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2007/04/tools-to-generate-api-documentation.html' title='Tools to generate API documentation'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1555700071422975163.post-2891745738555861637</id><published>2007-04-18T16:50:00.000+09:00</published><updated>2007-04-18T21:53:48.256+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Introduction'/><title type='text'>Hello, world !!</title><content type='html'>&lt;p&gt;This blog reports the progress of software development on  &lt;a href="http://steelwheels.sourceforge.jp/"&gt;Steel Wheels Project&lt;/a&gt;. The project focuses on free (= freedom) software for Mac OS X. All software and documentations are distributed under GNU public license or Lessor GNU public lisence.&lt;/p&gt;
&lt;p&gt;And some tips and links for software development will be recorded on this site.&lt;/p&gt;
&lt;p&gt;There are some frameworks and applications are under development:
  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://steelwheels.sourceforge.jp/Products/Coconut/index.html"&gt;Coconut Framework&lt;/a&gt;: 
      Defines basic data model and it's operation. All classes in this framework is XML friendly.
     &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://steelwheels.sourceforge.jp/Products/Melon/index.html"&gt;Melon Framework&lt;/a&gt;:
      This framework contains some data model classes and XML coder for them.&lt;/li&gt;
  &lt;/ul&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1555700071422975163-2891745738555861637?l=steel-wheels-project.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steel-wheels-project.blogspot.com/feeds/2891745738555861637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1555700071422975163&amp;postID=2891745738555861637' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/2891745738555861637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1555700071422975163/posts/default/2891745738555861637'/><link rel='alternate' type='text/html' href='http://steel-wheels-project.blogspot.com/2007/04/hello-world.html' title='Hello, world !!'/><author><name>Hamada Tm</name><uri>https://profiles.google.com/102835279270296228715</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-0zLI67Fw9x8/AAAAAAAAAAI/AAAAAAAAAEQ/GkChjcScAn8/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
