<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>きっちん</title>
   <link rel="alternate" type="text/html" href="http://yoffy.dyndns.org/" />
   <link rel="self" type="application/atom+xml" href="http://yoffy.dyndns.org/atom.xml" />
   <id>tag:yoffy.dyndns.org,2006://1</id>
   <updated>2009-11-08T10:11:56Z</updated>
   
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.37</generator>

<entry>
   <title>マウスパッド</title>
   <link rel="alternate" type="text/html" href="http://yoffy.dyndns.org/2009/11/post_218.html" />
   <id>tag:yoffy.dyndns.org,2009://1.602</id>
   
   <published>2009-11-08T09:53:49Z</published>
   <updated>2009-11-08T10:11:56Z</updated>
   
   <summary> 　この半年、ずっと机の上で直に光学マウスを使っていたけれど、やっぱり直だとカーソルが暴れるのでマウスパッド(リンク先はAmazon)を購入。 　12〜3年ぶりに自分用のマウスパッドを買った気がする。 　今どきのはよく出来てるなあ。 　厚さは1mmくらいで薄い。 　裏は樹脂っぽくて机に張り付いて動かない。 　表はサラサラ。 　ただパッケージがプラケースで頑丈に包装されていてゴミが出るのが勿体ない。...</summary>
   <author>
      <name>よっふぃ〜</name>
      
   </author>
         <category term="にっき" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://yoffy.dyndns.org/">
      <![CDATA[<iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_top&bc1=000000&IS2=1&nou=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=lastkitchen-22&o=9&p=8&l=as1&m=amazon&f=ifr&md=1X69VDGQCMF7Z30FM082&asins=B000TW9CFS" style="width:120px;height:240px; float:left;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>

　この半年、ずっと机の上で直に光学マウスを使っていたけれど、やっぱり直だとカーソルが暴れるので<a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000TW9CFS/lastkitchen-22">マウスパッド</a>(リンク先はAmazon)を購入。
　12〜3年ぶりに自分用のマウスパッドを買った気がする。

　今どきのはよく出来てるなあ。
　厚さは1mmくらいで薄い。
　裏は樹脂っぽくて机に張り付いて動かない。
　表はサラサラ。

　ただパッケージがプラケースで頑丈に包装されていてゴミが出るのが勿体ない。]]>
      
   </content>
</entry>
<entry>
   <title>Mighty Mouseの掃除(つづき)</title>
   <link rel="alternate" type="text/html" href="http://yoffy.dyndns.org/2009/10/mighty_mouse_1.html" />
   <id>tag:yoffy.dyndns.org,2009://1.599</id>
   
   <published>2009-10-04T07:51:04Z</published>
   <updated>2009-10-04T07:56:15Z</updated>
   
   <summary>　ホイールがまた動かなくなったので、ついに分解してみた。 　ああこりゃ駄目だ。 　ゴミが絡まってるんだもの。外からどう頑張ったって取れるはずが無い。 　ボールマウスも定期的に掃除が必要だったけれど、Mighty Mouseのホイールは上を向いている分だけ余計にタチが悪いかもしれない。 　分解するには接着剤でくっついている部分をはずさないといけなかったけど、ゆっくりやったら案外綺麗にはずせた。 　汚れを取り除いて完全復活。きもちいい。 　PowerBook を分解したときも、Mac miniを分解した時も思ったけど、Apple 製のハードウェアは造りがチープだなあ。日本だったら絶対こんな作り方しない。 　やっぱ、壊してもらってなんぼっていう消費社会なんだろうなあ。...</summary>
   <author>
      <name>よっふぃ〜</name>
      
   </author>
         <category term="にっき" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://yoffy.dyndns.org/">
      　ホイールがまた動かなくなったので、ついに分解してみた。

　ああこりゃ駄目だ。
　ゴミが絡まってるんだもの。外からどう頑張ったって取れるはずが無い。

　ボールマウスも定期的に掃除が必要だったけれど、Mighty Mouseのホイールは上を向いている分だけ余計にタチが悪いかもしれない。

　分解するには接着剤でくっついている部分をはずさないといけなかったけど、ゆっくりやったら案外綺麗にはずせた。
　汚れを取り除いて完全復活。きもちいい。

　PowerBook を分解したときも、Mac miniを分解した時も思ったけど、Apple 製のハードウェアは造りがチープだなあ。日本だったら絶対こんな作り方しない。
　やっぱ、壊してもらってなんぼっていう消費社会なんだろうなあ。
      
   </content>
</entry>
<entry>
   <title>SPICEをMac OS Xでmake</title>
   <link rel="alternate" type="text/html" href="http://yoffy.dyndns.org/2009/09/spicemac_os_xmake.html" />
   <id>tag:yoffy.dyndns.org,2009://1.598</id>
   
   <published>2009-09-27T15:25:20Z</published>
   <updated>2009-09-27T15:55:21Z</updated>
   
   <summary>　テキスト、つまりMMLからStandard MIDI File を生成するコンパイラ、SPICE 1.17a を Mac OS X で使えるようにコンパイルする時にハマったので備忘録。 $ cd spc_117a $ find ./ \( \( -name &quot;*.mak&quot; -or -name &quot;*.smi&quot; \) -or \( -name &quot;*.h&quot; -or -name &quot;*.c&quot; \) \) -print | xargs sed -i -e s/$&apos;\x1a&apos;// $ mkdir bat $ touch bat/unix.mak $ make -f unix.mak $ cp src/smc/smc ./ $ cp src/dsmc/dsmc ./ $ cd .. $ mv spc_117a ~/spice 　あとはloginenv.txtを参考に~/.profileを編集。 　このエントリを書いた後で install.txt と instunix.sh なんてファイルを見つけたけど、書かれている通りにやってもコンパイル出来なかったのでやっぱり公開する。 　Mac 用の MML コンパイラがあるのかは知らないけれど、ベーマガ時代にお世話になって慣れているので SPICE を使っている。 　今まで VMware でコンパイルして Mac にコピーして QuickTimer Player で聞くという方法をずっと行っていた。QT の方が音が良いし、VMware 上で再生すると音が途切れたりするので。 　でもいい加減 Mac 内で完結したいと思った次第。...</summary>
   <author>
      <name>よっふぃ〜</name>
      
   </author>
         <category term="にっき" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://yoffy.dyndns.org/">
      <![CDATA[　テキスト、つまりMMLからStandard MIDI File を生成するコンパイラ、<a href="http://GORRY.hauN.org/spice/">SPICE</a> 1.17a を Mac OS X で使えるようにコンパイルする時にハマったので備忘録。

<div class="prompt-box">
<pre><code>
$ cd spc_117a
$ find ./ \( \( -name "*.mak" -or -name "*.smi" \) -or \( -name "*.h" -or -name "*.c" \) \) -print | xargs sed -i -e s/$'\x1a'//
$ mkdir bat
$ touch bat/unix.mak
$ make -f unix.mak
$ cp src/smc/smc ./
$ cp src/dsmc/dsmc ./
$ cd ..
$ mv spc_117a ~/spice
</code></pre>
</div>

　あとはloginenv.txtを参考に~/.profileを編集。

　このエントリを書いた後で install.txt と instunix.sh なんてファイルを見つけたけど、書かれている通りにやってもコンパイル出来なかったのでやっぱり公開する。

　Mac 用の MML コンパイラがあるのかは知らないけれど、ベーマガ時代にお世話になって慣れているので SPICE を使っている。
　今まで VMware でコンパイルして Mac にコピーして QuickTimer Player で聞くという方法をずっと行っていた。QT の方が音が良いし、VMware 上で再生すると音が途切れたりするので。
　でもいい加減 Mac 内で完結したいと思った次第。]]>
      
   </content>
</entry>
<entry>
   <title>Mighty Mouseの掃除</title>
   <link rel="alternate" type="text/html" href="http://yoffy.dyndns.org/2009/08/mighty_mouse.html" />
   <id>tag:yoffy.dyndns.org,2009://1.597</id>
   
   <published>2009-08-29T02:40:18Z</published>
   <updated>2009-08-29T02:52:59Z</updated>
   
   <summary> 　Mighty Mouse(リンクはAmazon)といえばホイールが使えなくなるので有名で、多分に漏れずうちの Mighty Mouse も長らくホイールが死んだまま放置されていた。 　だってアルコールをつけた布とかで拭いても瞬間的には回復するけどすぐ駄目になるんだもん。 　でも昨日、かんたんマイペット(Amazon)をつけた布で拭いてみたら、驚くように回復した。 　これってただの洗剤なはずだから、Mighty Mouse のホイールにお悩みの人は台所用洗剤とかで試してみるといいかも。 ...</summary>
   <author>
      <name>よっふぃ〜</name>
      
   </author>
         <category term="にっき" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://yoffy.dyndns.org/">
      <![CDATA[<p>
　<a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000UWRC3Q/lastkitchen-22/">Mighty Mouse</a>(リンクはAmazon)といえばホイールが使えなくなるので有名で、多分に漏れずうちの Mighty Mouse も長らくホイールが死んだまま放置されていた。<br>
　だってアルコールをつけた布とかで拭いても瞬間的には回復するけどすぐ駄目になるんだもん。
</p>
<p>
　でも昨日、<a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000TGICBY/lastkitchen-22/">かんたんマイペット</a>(Amazon)をつけた布で拭いてみたら、驚くように回復した。<br>
　これってただの洗剤なはずだから、Mighty Mouse のホイールにお悩みの人は台所用洗剤とかで試してみるといいかも。
</p>]]>
      
   </content>
</entry>
<entry>
   <title>Mac OS X 10.6</title>
   <link rel="alternate" type="text/html" href="http://yoffy.dyndns.org/2009/08/mac_os_x_106.html" />
   <id>tag:yoffy.dyndns.org,2009://1.596</id>
   
   <published>2009-08-29T02:27:33Z</published>
   <updated>2009-08-29T03:08:44Z</updated>
   
   <summary> 　昨日は Mac OS X 10.6 Snow Loepard(リンク先はAmazon) を入れるのに必死だった。 　2chでも言われているように、DVD が不良で読み込めない。 　何度もディスクを拭いたりして、特にプリンタドライバが読めなかったのでカスタムインストールでプリンタドライバを除外したりしてどうにかインストール成功。 　インストール途中で電源が落ちても大丈夫！と謳っているだけあって、何度失敗しても10.5が立ち上がらなくなるとかいう不具合も無く、10.6を入れた後おかしくなる事もなかった。 　インストールが終わってしまえば動作は非常に良好で、きびきびしている。これは基本的なソフトが Grand Central Dispatch に対応しているからという噂もある。 　目に見える部分でどこが良くなったかというのは これは便利！ 「Snow Leopard」を実際に使って感じた新機能“トップ20” がわかりやすい。(天野さんのRSS経由で知りました) 　いまのところとりあえず快適。 ...</summary>
   <author>
      <name>よっふぃ〜</name>
      
   </author>
         <category term="にっき" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://yoffy.dyndns.org/">
      <![CDATA[<p>
　昨日は <a href="http://www.amazon.co.jp/exec/obidos/ASIN/B002MRTR1M/lastkitchen-22/">Mac OS X 10.6 Snow Loepard</a>(リンク先はAmazon) を入れるのに必死だった。<br>
　2chでも言われているように、DVD が不良で読み込めない。<br>
</p>
<p>
　何度もディスクを拭いたりして、特にプリンタドライバが読めなかったのでカスタムインストールでプリンタドライバを除外したりしてどうにかインストール成功。<br>
　インストール途中で電源が落ちても大丈夫！と謳っているだけあって、何度失敗しても10.5が立ち上がらなくなるとかいう不具合も無く、10.6を入れた後おかしくなる事もなかった。
</p>
<p>
　インストールが終わってしまえば動作は非常に良好で、きびきびしている。これは基本的なソフトが Grand Central Dispatch に対応しているからという噂もある。
</p>
<p>
　目に見える部分でどこが良くなったかというのは <a href="http://plusd.itmedia.co.jp/pcuser/articles/0908/28/news014.html">これは便利！ 「Snow Leopard」を実際に使って感じた新機能“トップ20”</a> がわかりやすい。(<a href="feed://feeds2.feedburner.com/beakmark">天野さんのRSS</a>経由で知りました)<br>
　いまのところとりあえず快適。
</p>]]>
      
   </content>
</entry>
<entry>
   <title>メンテ中</title>
   <link rel="alternate" type="text/html" href="http://yoffy.dyndns.org/2009/08/post_217.html" />
   <id>tag:yoffy.dyndns.org,2009://1.595</id>
   
   <published>2009-08-08T23:44:17Z</published>
   <updated>2009-08-08T23:56:25Z</updated>
   
   <summary>　引っ越したりした関係で、このサーバーは5月辺りからずっとメンテ中です。今後数ヶ月の間ちょこちょこサーバーがダウンしているかもしれません。 　FTTHからADSLになってしまったので、コンテンツの軽量化と行儀の悪いロボットのアクセス制限をそのうちやらないとなあ、と思っています。 　ところで、lucilleさんからリンクが。あわわわわ。 　lucille さんは RSS リーダーに入っているのでリンクに気づいたのですが、ブログにも載せずひっそり置いてあるものが紹介されるとは驚きと恥ずかしさでいっぱいです。...</summary>
   <author>
      <name>よっふぃ〜</name>
      
   </author>
         <category term="にっき" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://yoffy.dyndns.org/">
      <![CDATA[　引っ越したりした関係で、このサーバーは5月辺りからずっとメンテ中です。今後数ヶ月の間ちょこちょこサーバーがダウンしているかもしれません。
　FTTHからADSLになってしまったので、コンテンツの軽量化と行儀の悪いロボットのアクセス制限をそのうちやらないとなあ、と思っています。

　ところで、<a href="http://lucille.atso-net.jp/blog/">lucille</a>さんから<a href="http://lucille.atso-net.jp/blog/?p=884">リンク</a>が。あわわわわ。
　lucille さんは RSS リーダーに入っているのでリンクに気づいたのですが、ブログにも載せずひっそり置いてあるものが紹介されるとは驚きと恥ずかしさでいっぱいです。]]>
      
   </content>
</entry>
<entry>
   <title>boostを64bit対応でMacにインストール</title>
   <link rel="alternate" type="text/html" href="http://yoffy.dyndns.org/2009/06/boost64bitmac.html" />
   <id>tag:yoffy.dyndns.org,2009://1.594</id>
   
   <published>2009-06-12T15:25:41Z</published>
   <updated>2009-06-12T16:07:11Z</updated>
   
   <summary>　前提条件として、bjam (現在の最新はboost-jam-3.1.17-1-macosxx86.tgz) を解凍した boost のフォルダ(ここでは boost_1_39_0)に入れておく。 $ cd boost_1_39_0 $ echo &quot;using darwin : 4.2 : gcc-4.2 ;&quot; &gt;&gt; tools/build/v2/user-config.jam (gcc-4.2 を使用する場合のみ記述。標準の gcc でいい場合はこの行を飛ばす。) $ sudo ./bjam --toolset=darwin macosx-version=10.5 architecture=combined address-model=32_64 threading=multi link=static,shared release debug install 　きちんと各環境に対応しているかチェックしてみる。 $ cd /usr/local/lib $ file libboost_thread-xgcc42-mt-1_39.a  libboost_thread-xgcc42-mt-1_39.a: Mach-O universal binary with 4 architectures libboost_thread-xgcc42-mt-1_39.a (for architecture i386):	current ar archive random library libboost_thread-xgcc42-mt-1_39.a (for architecture ppc):	current ar archive random library libboost_thread-xgcc42-mt-1_39.a (for architecture x86_64):	current ar archive random library libboost_thread-xgcc42-mt-1_39.a (for architecture ppc64):	current ar archive random library ...</summary>
   <author>
      <name>よっふぃ〜</name>
      
   </author>
         <category term="しーげんご" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://yoffy.dyndns.org/">
      <![CDATA[　前提条件として、bjam (現在の最新はboost-jam-3.1.17-1-macosxx86.tgz) を解凍した boost のフォルダ(ここでは boost_1_39_0)に入れておく。

<div class="prompt-box">
<pre><code>$ cd boost_1_39_0

$ echo "using darwin : 4.2 : gcc-4.2 ;" >> tools/build/v2/user-config.jam
(gcc-4.2 を使用する場合のみ記述。標準の gcc でいい場合はこの行を飛ばす。)

$ sudo ./bjam --toolset=darwin macosx-version=10.5 architecture=combined address-model=32_64 threading=multi link=static,shared release debug install
</code></pre>
</div>

　きちんと各環境に対応しているかチェックしてみる。
<div class="prompt-box">
<pre><code>$ cd /usr/local/lib
$ file libboost_thread-xgcc42-mt-1_39.a 
libboost_thread-xgcc42-mt-1_39.a: Mach-O universal binary with 4 architectures
libboost_thread-xgcc42-mt-1_39.a (for architecture i386):	current ar archive random library
libboost_thread-xgcc42-mt-1_39.a (for architecture ppc):	current ar archive random library
libboost_thread-xgcc42-mt-1_39.a (for architecture x86_64):	current ar archive random library
libboost_thread-xgcc42-mt-1_39.a (for architecture ppc64):	current ar archive random library
</code></pre>
</div>]]>
      
   </content>
</entry>
<entry>
   <title>Final Cut Expressでトランジションが追加できない場合</title>
   <link rel="alternate" type="text/html" href="http://yoffy.dyndns.org/2009/03/final_cut_express.html" />
   <id>tag:yoffy.dyndns.org,2009://1.592</id>
   
   <published>2009-03-20T00:00:48Z</published>
   <updated>2009-03-20T00:18:08Z</updated>
   
   <summary>　Final Cut Express 4 (FCE) を使っていてハマったのでメモ。 　クリップが 2 つあり、その間に 4 秒のディソルブトランジションを設けたいとする。このとき 2 つのクリップは 4 秒の間クロスして再生されるわけだから、それぞれのクリップは 2 秒以上ないといけないのは理解できる。 　が、それぞれのクリップが 1 分あるのに、間にトランジションを設置しようとすると「内容が不十分なため編集できません」と言われることがある。 　ググっても出てこなかったので、FCE の英語版のローカライズ文字列を調べて &quot;Insufficient content for edit.&quot; でググってみたら理解することが出来た。 　クロス再生する映像は、クリップのイン点、またはアウト点の外側が使用されるため、4 秒のトランジションを設けたいとすればイン点とアウト点の外側に少なくとも 2 秒は余白が必要らしい。...</summary>
   <author>
      <name>よっふぃ〜</name>
      
   </author>
         <category term="にっき" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://yoffy.dyndns.org/">
      　Final Cut Express 4 (FCE) を使っていてハマったのでメモ。

　クリップが 2 つあり、その間に 4 秒のディソルブトランジションを設けたいとする。このとき 2 つのクリップは 4 秒の間クロスして再生されるわけだから、それぞれのクリップは 2 秒以上ないといけないのは理解できる。
　が、それぞれのクリップが 1 分あるのに、間にトランジションを設置しようとすると「内容が不十分なため編集できません」と言われることがある。

　ググっても出てこなかったので、FCE の英語版のローカライズ文字列を調べて &quot;Insufficient content for edit.&quot; でググってみたら理解することが出来た。

　クロス再生する映像は、クリップのイン点、またはアウト点の外側が使用されるため、4 秒のトランジションを設けたいとすればイン点とアウト点の外側に少なくとも 2 秒は余白が必要らしい。
      
   </content>
</entry>
<entry>
   <title>SPEでstringを使ってはいけない</title>
   <link rel="alternate" type="text/html" href="http://yoffy.dyndns.org/2008/08/spestring.html" />
   <id>tag:yoffy.dyndns.org,2008://1.591</id>
   
   <published>2008-08-30T01:54:58Z</published>
   <updated>2008-08-30T02:35:12Z</updated>
   
   <summary><![CDATA[ 　最初は // a.cpp #include &lt;stdexcept&gt; char array[128 * 1024]; // 128 KB main() {     std::runtime_error e("e"); } $ spu-g++ -Os -D NDEBUG a.cpp /usr/lib/gcc/spu/4.1.1/../../../../spu/bin/ld: .bss exceeds local store range みたいな何の変哲もないコードで SPE のサイズをオーバーしちゃってハマってたのね。 　で、原因を調べてみたら、どうやら原因は std::runtime_error が依存している std::string にあるらしい事が判明。 　main のみ: // a2.cpp main() { } $ spu-g++ -Os -D NDEBUG a2.cpp $ ll a.out -rwxr-xr-x 1 yoffy yoffy 97K 2008-08-30 11:01 a.out 　string を使ってみる: // a3.cpp #include &lt;string&gt; main() {     std::string s; } $ spu-g++ -Os -D NDEBUG a3.cpp $ ll a.out -rwxr-xr-x 1 yoffy yoffy 167K 2008-08-30 11:04 a.out 　std::allocator を少し疑ったんだけど、std::vector は問題ないので std::string 側に原因がありそうな気がする。面倒くさいので細かくは追ってない。 　別に stdexcept や string が無くても困らないけど、SPE 用にもう少し考えてくれてもいいんじゃないだろうか。 追記: // a4.c main() { } $ spu-gcc -Os -D NDEBUG a4.c $ ll a.out -rwxr-xr-x 1 yoffy yoffy 4.9K 2008-08-30 11:34 a.out 　…。 　何もしてないのに 97 KB も使うっておかしいなあとは思ってたんだよ。これ、libstdc++ が怠慢じゃない？コンパイラオプションで例外とか止めたら小さくできるのかな。 ...]]></summary>
   <author>
      <name>よっふぃ〜</name>
      
   </author>
         <category term="cell" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://yoffy.dyndns.org/">
      <![CDATA[<p>
　最初は
</p>
<div class="editor-box">
<pre><code>
// a.cpp
#include &lt;stdexcept&gt;
char array[128 * 1024]; // 128 KB
main()
{
    std::runtime_error e("e");
}
</code></pre>
</div>
<div class="prompt-box">
<pre><code>
$ spu-g++ -Os -D NDEBUG a.cpp
/usr/lib/gcc/spu/4.1.1/../../../../spu/bin/ld: .bss exceeds local store range
</code></pre>
</div>
<p>
みたいな何の変哲もないコードで SPE のサイズをオーバーしちゃってハマってたのね。
</p>

<p>
　で、原因を調べてみたら、どうやら原因は std::runtime_error が依存している std::string にあるらしい事が判明。
</p>

　main のみ:
<div class="editor-box">
<pre><code>
// a2.cpp
main()
{
}
</code></pre>
</div>
<div class="prompt-box">
<pre><code>
$ spu-g++ -Os -D NDEBUG a2.cpp
$ ll a.out
-rwxr-xr-x 1 yoffy yoffy <b style="color:red;">97K</b> 2008-08-30 11:01 a.out
</code></pre>
</div>

　string を使ってみる:
<div class="editor-box">
<pre><code>
// a3.cpp
#include &lt;string&gt;
main()
{
    std::string s;
}
</code></pre>
</div>
<div class="prompt-box">
<pre><code>
$ spu-g++ -Os -D NDEBUG a3.cpp
$ ll a.out
-rwxr-xr-x 1 yoffy yoffy <b style="color:red;">167K</b> 2008-08-30 11:04 a.out
</code></pre>
</div>

<p>
　std::allocator を少し疑ったんだけど、std::vector は問題ないので std::string 側に原因がありそうな気がする。面倒くさいので細かくは追ってない。<br />
　別に stdexcept や string が無くても困らないけど、SPE 用にもう少し考えてくれてもいいんじゃないだろうか。
</p>

追記:
<div class="editor-box">
<pre><code>
// a4.<b style="color:red;">c</b>
main()
{
}
</code></pre>
</div>
<div class="prompt-box">
<pre><code>
$ <b style="color:red;">spu-gcc</b> -Os -D NDEBUG a4.c
$ ll a.out
-rwxr-xr-x 1 yoffy yoffy <b style="color:red;">4.9K</b> 2008-08-30 11:34 a.out
</code></pre>
</div>
<p>
　…。<br />
　何もしてないのに 97 KB も使うっておかしいなあとは思ってたんだよ。これ、libstdc++ が怠慢じゃない？コンパイラオプションで例外とか止めたら小さくできるのかな。
</p>]]>
      
   </content>
</entry>
<entry>
   <title>NSColor のコンポーネントが取得できない</title>
   <link rel="alternate" type="text/html" href="http://yoffy.dyndns.org/2008/07/nscolor.html" />
   <id>tag:yoffy.dyndns.org,2008://1.590</id>
   
   <published>2008-07-27T07:23:02Z</published>
   <updated>2008-07-27T07:33:38Z</updated>
   
   <summary> 　もうだいぶ放置してある現象で、Karaoke が Mac OS X 10.5 で動かない。 NSColor * c = [NSColor whiteColor]; float r = [c recComponent]; 　こんな単純なコードが動かない。 　今日重い腰を上げてドキュメントを読んでみたら、「RGBカラーでなければ例外を投げる」と書いてあった。whiteColor は RGB カラーではなくグレースケールカラーとして定義されているらしい。 　過去のアプリケーションとの互換性低すぎないか？これ。 　ということで、理由は分かったけれどもシステム標準の色からいつでも安全に RGB を得たい場合はどうすればいいんだろう。 　わざわざ変換しなくてはならないとか？ 　それともシステムカラーは使えないものとして [NSColor colorWithCalibratedRed:green:blue:] で自力で解決するとか？ ...</summary>
   <author>
      <name>よっふぃ〜</name>
      
   </author>
         <category term="にっき" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://yoffy.dyndns.org/">
      <![CDATA[<p>
　もうだいぶ放置してある現象で、<a href="/2007/11/karaoke.html">Karaoke</a> が Mac OS X 10.5 で動かない。
</p>

<div class="editor-box">
<pre><code>
NSColor * c = [NSColor whiteColor];
float r = [c recComponent];
</code></pre>
</div>

<p>
　こんな単純なコードが動かない。<br />
　今日重い腰を上げてドキュメントを読んでみたら、「RGBカラーでなければ例外を投げる」と書いてあった。whiteColor は RGB カラーではなくグレースケールカラーとして定義されているらしい。<br />
　過去のアプリケーションとの互換性低すぎないか？これ。
</p>
<p>
　ということで、理由は分かったけれどもシステム標準の色からいつでも安全に RGB を得たい場合はどうすればいいんだろう。<br />
　わざわざ変換しなくてはならないとか？<br />
　それともシステムカラーは使えないものとして [NSColor colorWithCalibratedRed:green:blue:] で自力で解決するとか？
</p>]]>
      
   </content>
</entry>
<entry>
   <title>KB950759を強制的に適用する方法</title>
   <link rel="alternate" type="text/html" href="http://yoffy.dyndns.org/2008/07/kb950759.html" />
   <id>tag:yoffy.dyndns.org,2008://1.589</id>
   
   <published>2008-07-27T07:18:01Z</published>
   <updated>2008-07-27T07:22:28Z</updated>
   
   <summary>　Windows XP SP3 + IE7 でインストールした場合に KB950759 (Internet Explorer 7 for Windows XP 用セキュリティ更新プログラム) のインストールに失敗するので、それを無視する方法。 　Windows Update でダウンロードされて自動的に展開された update.ver の中身を消してから update.exe を実行する。以上。 　強制的にインストールするわけだから、その後に修正されたものも巻き戻してしまう可能性に注意。...</summary>
   <author>
      <name>よっふぃ〜</name>
      
   </author>
         <category term="にっき" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://yoffy.dyndns.org/">
      　Windows XP SP3 + IE7 でインストールした場合に KB950759 (Internet Explorer 7 for Windows XP 用セキュリティ更新プログラム) のインストールに失敗するので、それを無視する方法。

　Windows Update でダウンロードされて自動的に展開された update.ver の中身を消してから update.exe を実行する。以上。

　強制的にインストールするわけだから、その後に修正されたものも巻き戻してしまう可能性に注意。
      
   </content>
</entry>
<entry>
   <title>libspesにioctl追加</title>
   <link rel="alternate" type="text/html" href="http://yoffy.dyndns.org/2008/06/libspesioctl.html" />
   <id>tag:yoffy.dyndns.org,2008://1.588</id>
   
   <published>2008-06-29T16:35:24Z</published>
   <updated>2008-06-29T16:45:45Z</updated>
   
   <summary>　libspes(※)にioctl()を追加。 　あと他に何がいるかなあ。 　思いつくのはselect()とネットワーク関連かなあ。 　ただ出来るだけ SPE 側でプログラムしたいんだけれど、ここら辺は PPE 側で持つべきだよねえ。 ※現在リンク切れです。とりあえずはhttp://yoffy.dyndns.org/svn/libspes/trunk/からどうぞ。...</summary>
   <author>
      <name>よっふぃ〜</name>
      
   </author>
         <category term="cell" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://yoffy.dyndns.org/">
      <![CDATA[　<a href="http://localhost/cgi-bin/viewvc/viewcvs.cgi/trunk/?root=libspes">libspes</a>(※)にioctl()を追加。

　あと他に何がいるかなあ。
　思いつくのはselect()とネットワーク関連かなあ。

　ただ出来るだけ SPE 側でプログラムしたいんだけれど、ここら辺は PPE 側で持つべきだよねえ。

※現在リンク切れです。とりあえずは<a href="http://yoffy.dyndns.org/svn/libspes/trunk/">http://yoffy.dyndns.org/svn/libspes/trunk/</a>からどうぞ。]]>
      
   </content>
</entry>
<entry>
   <title>常駐ウィンドウの居場所</title>
   <link rel="alternate" type="text/html" href="http://yoffy.dyndns.org/2008/06/post_216.html" />
   <id>tag:yoffy.dyndns.org,2008://1.587</id>
   
   <published>2008-06-29T15:51:36Z</published>
   <updated>2008-06-29T16:32:28Z</updated>
   
   <summary>　パソコンには現在のステータスを表示するソフトや、ちょっとしたツールを提供する常駐ソフトが沢山ある。 　でも普段主体にならないソフトが主張してしまうと邪魔になるため、居場所をどうするかで様々な方法が模索されている。例えばこんなの: 常に最前面に張り付くフローティングウィンドウ。Dock、タスクバー、ランチャーなんかが相当する。はっきり言って邪魔。 マウスポインタを近づけると最前面に現れるタイプ。やはり Dock、タスクバーが身近な例。間違えてポインタを近づけてしまい、誤動作する事が多い。 ショートカットで最前面に現れるタイプ。身近な例ではSpotlight、Dashboardあたり。これが一番邪魔にならない。不満な点はそれぞれショートカットを覚えないといけない点と、常に状態を把握出来ない点。特にDashboardの電卓やDictionaryは文章を書きながら参照出来ないのが不満。 フローティングウィンドウの逆で、デスクトップに張り付くタイプ。カレンダーソフトのようなものが多い。これは全く邪魔にならないが、ウィンドウやデスクトップのアイコンが多いと延々と情報に辿り着かない。 ウィンドウにくっついてくるタイプ。ドローワーや、フローティングウィンドウで、常駐ソフトというよりも使っているソフトの機能でしかない。よく出来たソフトだと、ウィンドウを動かした時に自動的に避けてくれるものがある。ただ、左端から右端に一気に移動したりするので動きが大きくて目障り。あとやはりメインウィンドウとの重なり具合があるので画面が狭くなる。 　ここで一つ提案してみたいのが、浮き方の弱いフローティングウィンドウ。デスクトップに張り付くのではなく、勝手に最前面に現れる事も無く、メインウィンドウを移動した時に勝手についてくる事も無い。常にZがメインウィンドウの1つ下に存在するだけというシンプルなもの。フローティングウィンドウと同じで、上下左右もZも完全に固定されているので動きが全くない。つまり目障りにならない。名付けてハンギング(Hanging)ウィンドウ。 　フローティングウィンドウがメインウィンドウに重なると、最悪メインウィンドウのタイトルバーがつまめなくなったり、サイズを変えられなくなったり、ボタンを押せなくなったりと障害が大きいが、これも解消される。 　情報が裏に隠れてしまうのは自己責任で、ウィンドウの配置を試行錯誤して欲しい。ただ少なくとも、触る事が少ないツールよりメインウィンドウの障害を取り除く方が優先事項だと思うし、Dashboardを出したりデスクトップまで潜ったりするような大きな動作も要らない。 　これで電卓の値や辞書、メッセンジャーの状態が常に見えるようになると非常に便利だと思うのだが… ...</summary>
   <author>
      <name>よっふぃ〜</name>
      
   </author>
         <category term="にっき" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://yoffy.dyndns.org/">
      　パソコンには現在のステータスを表示するソフトや、ちょっとしたツールを提供する常駐ソフトが沢山ある。

　でも普段主体にならないソフトが主張してしまうと邪魔になるため、居場所をどうするかで様々な方法が模索されている。例えばこんなの:

- 常に最前面に張り付くフローティングウィンドウ。Dock、タスクバー、ランチャーなんかが相当する。はっきり言って邪魔。
- マウスポインタを近づけると最前面に現れるタイプ。やはり Dock、タスクバーが身近な例。間違えてポインタを近づけてしまい、誤動作する事が多い。
- ショートカットで最前面に現れるタイプ。身近な例ではSpotlight、Dashboardあたり。これが一番邪魔にならない。不満な点はそれぞれショートカットを覚えないといけない点と、常に状態を把握出来ない点。特にDashboardの電卓やDictionaryは文章を書きながら参照出来ないのが不満。
- フローティングウィンドウの逆で、デスクトップに張り付くタイプ。カレンダーソフトのようなものが多い。これは全く邪魔にならないが、ウィンドウやデスクトップのアイコンが多いと延々と情報に辿り着かない。
- ウィンドウにくっついてくるタイプ。ドローワーや、フローティングウィンドウで、常駐ソフトというよりも使っているソフトの機能でしかない。よく出来たソフトだと、ウィンドウを動かした時に自動的に避けてくれるものがある。ただ、左端から右端に一気に移動したりするので動きが大きくて目障り。あとやはりメインウィンドウとの重なり具合があるので画面が狭くなる。

　ここで一つ提案してみたいのが、浮き方の弱いフローティングウィンドウ。デスクトップに張り付くのではなく、勝手に最前面に現れる事も無く、メインウィンドウを移動した時に勝手についてくる事も無い。常にZがメインウィンドウの1つ下に存在するだけというシンプルなもの。フローティングウィンドウと同じで、上下左右もZも完全に固定されているので動きが全くない。つまり目障りにならない。名付けてハンギング(Hanging)ウィンドウ。

　フローティングウィンドウがメインウィンドウに重なると、最悪メインウィンドウのタイトルバーがつまめなくなったり、サイズを変えられなくなったり、ボタンを押せなくなったりと障害が大きいが、これも解消される。

　情報が裏に隠れてしまうのは自己責任で、ウィンドウの配置を試行錯誤して欲しい。ただ少なくとも、触る事が少ないツールよりメインウィンドウの障害を取り除く方が優先事項だと思うし、Dashboardを出したりデスクトップまで潜ったりするような大きな動作も要らない。

　これで電卓の値や辞書、メッセンジャーの状態が常に見えるようになると非常に便利だと思うのだが…
      
   </content>
</entry>
<entry>
   <title>理解出来ない</title>
   <link rel="alternate" type="text/html" href="http://yoffy.dyndns.org/2008/06/post_215.html" />
   <id>tag:yoffy.dyndns.org,2008://1.586</id>
   
   <published>2008-06-19T05:50:43Z</published>
   <updated>2008-06-19T06:01:41Z</updated>
   
   <summary><![CDATA[test.cpp: #include &lt;altivec.h&gt; vector unsigned int test(vector unsigned int a, vector unsigned int b) {     vector unsigned int c;     c = vec_cmpeq(a, b);     return c; } コンパイル: $ g++ -maltivec test.cpp test.cpp: In function 'unsigned int __vector__ test(unsigned int __vector__, unsigned int __vector__)': test.cpp:6: error: cannot convert 'unsigned int __vector__' to 'unsigned int __vector__' in assignment 　日本語でおk ...]]></summary>
   <author>
      <name>よっふぃ〜</name>
      
   </author>
         <category term="にっき" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://yoffy.dyndns.org/">
      <![CDATA[test.cpp:
<div class="editor-box">
<pre><code>
#include &lt;altivec.h&gt;

vector unsigned int test(vector unsigned int a, vector unsigned int b)
{
	vector unsigned int c;
	c = vec_cmpeq(a, b);
	return c;
}
</code></pre>
</div>

<br />

コンパイル:
<div class="prompt-box">
<pre><code>
$ g++ -maltivec test.cpp
test.cpp: In function 'unsigned int __vector__ test(unsigned int __vector__, unsigned int __vector__)':
test.cpp:6: error: cannot convert 'unsigned int __vector__' to 'unsigned int __vector__' in assignment
</code></pre>
</div>

<p>
　日本語でおk
</p>]]>
      
   </content>
</entry>
<entry>
   <title>Leopard でグループにユーザを追加</title>
   <link rel="alternate" type="text/html" href="http://yoffy.dyndns.org/2008/05/leopard_groupmembership.html" />
   <id>tag:yoffy.dyndns.org,2008://1.585</id>
   
   <published>2008-05-09T13:49:39Z</published>
   <updated>2008-05-09T13:58:44Z</updated>
   
   <summary> 　リポジトリの所有権を _svn に設定してあるのにユーザを _svn グループに所属させる方法が分からなくてここ数ヶ月ずっとコミットしてなかった。 　昨日ようやく本腰を入れて調査したら、説明しているサイトを発見: MAC OSXにはUSERADD GROUPADDはない 　そのまま自分の環境に当てはめると、これでいけた。 $sudo dscl . -append /Groups/_svn GroupMembership yoffy ...</summary>
   <author>
      <name>よっふぃ〜</name>
      
   </author>
         <category term="さーば" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://yoffy.dyndns.org/">
      <![CDATA[<p>
　リポジトリの所有権を _svn に設定してあるのにユーザを _svn グループに所属させる方法が分からなくてここ数ヶ月ずっとコミットしてなかった。<br />
　昨日ようやく本腰を入れて調査したら、説明しているサイトを発見:<br />
<a href="http://blog.livedoor.jp/rotton79/archives/64928467.html">MAC OSXにはUSERADD GROUPADDはない</a>
</p>

<p>
　そのまま自分の環境に当てはめると、これでいけた。
</p>
<div class="prompt-box">
$sudo dscl . -append /Groups/_svn GroupMembership yoffy
</div>]]>
      
   </content>
</entry>

</feed>
