<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" 
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">

<channel>
<title>Fenrir&apos;s BLog</title>
<link>http://fenrir.naruoka.org/</link>
<description>fenrir&apos;s Site。</description>
<dc:language>ja</dc:language>
<dc:creator>fenrir.naru@gmail.com</dc:creator>
<dc:date>2010-03-03T23:47:19+09:00</dc:date>
<admin:generatorAgent rdf:resource="http://www.movabletype.org/?v=2.661" />
<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>
<sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
<image>
  <title>Fenrir's BLog</title> 
  <url>http://fenrir.naruoka.org/images/banner.gif</url> 
  <link>http://fenrir.naruoka.org/</link> 
  <width>88</width> 
  <height>31</height> 
  <description>fenrir's Site。</description> 
</image>

<!--マクロ定義//-->














<item>
<title>ビット逆転をC++テンプレートで</title>
<link>http://fenrir.naruoka.org/archives/000745.html</link>
<description>ちょっとビットの逆転をする必要があったので、コードを書いてみました。ビットの逆転とは、例えば入力が0b10010101なら、出力を0b10101001とすることです。せっかくなのでC++でテンプレートで実装してみました。 参考にしたのは虎の巻『ハッカーのたのしみ―本物のプログラマはいかにして問題を解くか』です。痒いところに手が届くアルゴズムが色々とあり、とても助けられています。このお題以外にも最近では、整数演算のみでルートをとる方法を調べました。 追加情報として、この実装は可変長ビット列 long_bits.h に盛り込んであります。また今回のお題に関連して、『ビット列の性質を求める』という記事も以前に書いていました。興味があれば是非見てみてください。...</description>
<content:encoded><![CDATA[<p>ちょっとビットの逆転をする必要があったので、コードを書いてみました。ビットの逆転とは、例えば入力が0b10010101なら、出力を0b10101001とすることです。せっかくなのでC++でテンプレートで実装してみました。</p>

<iframe class="block" src="http://codepad.org/RnfOT2Av" width="100%" height="500px"></iframe>

<p>参考にしたのは虎の巻<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4434046683/fenrirsblog-22/ref=nosim/" name="amazletlink" target="_blank">『ハッカーのたのしみ―本物のプログラマはいかにして問題を解くか』</a>です。痒いところに手が届くアルゴズムが色々とあり、とても助けられています。このお題以外にも最近では、整数演算のみでルートをとる方法を調べました。</p>

<p><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4434046683/fenrirsblog-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/41DYYQAGRDL._SL160_.jpg" alt="ハッカーのたのしみ―本物のプログラマはいかにして問題を解くか" style="border: none;" /></a></p>

<p>追加情報として、この実装は可変長ビット列 <a href="http://fenrir.naruoka.org/download/autopilot/common/param/long_bits.h">long_bits.h</a> に盛り込んであります。また今回のお題に関連して、<a href="http://fenrir.naruoka.org/archives/000732.html">『ビット列の性質を求める』</a>という記事も以前に書いていました。興味があれば是非見てみてください。</p>]]></content:encoded>
<guid isPermaLink="false">745@http://fenrir.naruoka.org/</guid>
<dc:subject>Computer</dc:subject>
<dc:date>2010-03-03T23:47:19+09:00</dc:date>
</item>
<item>
<title>アレの小型化</title>
<link>http://fenrir.naruoka.org/archives/000744.html</link>
<description>以前、実体配線図を紹介したアレですが、その後自分が欲しかった機能を組み込んだ基板を設計してみました。もちろん小型化してあります。 大きさ約20x20 mm 追加された仕様は、振動モータのドライバ回路を1ch組み込んだこと、LiPoの充電回路(bq24022)を組み込んだこと、USBとの接続を直挿しからminiBコネクタに変更したこと、これら3点です。もう少し回路をチェックした後、pcbcartに投げてみようと思います。...</description>
<content:encoded><![CDATA[<p>以前、<a href="http://fenrir.naruoka.org/archives/000740.html">実体配線図を紹介したアレ</a>ですが、その後自分が欲しかった機能を組み込んだ基板を設計してみました。もちろん小型化してあります。</p>

<p><img alt="p0ken_brd.png" src="http://fenrir.naruoka.org/archives/images/p0ken_brd.png" width="400" height="230" border="0" /><br />
大きさ約20x20 mm</p>

<p>追加された仕様は、振動モータのドライバ回路を1ch組み込んだこと、LiPoの充電回路(<a href="http://focus.ti.com/docs/prod/productfolder.jhtml?genericPartNumber=BQ24022">bq24022</a>)を組み込んだこと、USBとの接続を直挿しからminiBコネクタに変更したこと、これら3点です。もう少し回路をチェックした後、<a href="http://www.pcbcart.com/">pcbcart</a>に投げてみようと思います。</p>]]></content:encoded>
<guid isPermaLink="false">744@http://fenrir.naruoka.org/</guid>
<dc:subject>Embedded System</dc:subject>
<dc:date>2010-02-24T08:35:56+09:00</dc:date>
</item>
<item>
<title>ローカルに流れるTCPパケットを見る</title>
<link>http://fenrir.naruoka.org/archives/000743.html</link>
<description>ちょっとした事情がありまして、以前記事を書いた『Amontec JTAGkey-Tiny (FT2232) を Xilinx iMPACTから使う』のメンテナンスをしています。これはXIlinxの純正書き込みツールでFT2232を使ったFPGAやPROMへの書き込みを可能にしようというツールなのですが、メンテナンスを行うにあたって表題のローカルを流れるTCPパケットを直接調べたいという要望が発生しました。 持ち出したるはTCPのパケットを監視するフリーウェアNirSoftのSmartSniffなのですが、これが困ったことにNICを通ったパケットしか拾ってくれないようでした。このフリーウェアはパケットをキャプチャしてくれるという単機能なので、非常に使い勝手が良く愛用しているので、できれば今回の目的にも使いたいところです。 ということで方法を考えてみました。方法は2つ考えたのですが、結局のところ他のマシンを経由してNICを強制的に通すというアイデアに変わりはありません。1つはsshでどこか手元にあるサーバに接続する際、ポートフォワーディングを行うという方法(ssh hoge@server -L some_port:local_ip:local_target_port)。もう一つはどこか別のコンピュータでstoneを使ってポートフォワーディングを行う方法(stone local_ip:local_target_port some_port)。どちらともうまくいきました。 どなたか1台のPCで済む良い方法をご存じないでしょうか。仮想PCとか使えばうまくいきそうな気もしていますが、ちょっと面倒くさいです。...</description>
<content:encoded><![CDATA[<p>ちょっとした事情がありまして、以前記事を書いた<a href="http://fenrir.naruoka.org/archives/000644.html">『Amontec JTAGkey-Tiny (FT2232) を Xilinx iMPACTから使う』</a>のメンテナンスをしています。これはXIlinxの純正書き込みツールでFT2232を使ったFPGAやPROMへの書き込みを可能にしようというツールなのですが、メンテナンスを行うにあたって表題のローカルを流れるTCPパケットを直接調べたいという要望が発生しました。</p>

<p>持ち出したるはTCPのパケットを監視するフリーウェア<a href="http://www.nirsoft.net/utils/smsniff.html">NirSoftのSmartSniff</a>なのですが、これが困ったことにNICを通ったパケットしか拾ってくれないようでした。このフリーウェアはパケットをキャプチャしてくれるという単機能なので、非常に使い勝手が良く愛用しているので、できれば今回の目的にも使いたいところです。</p>

<p>ということで方法を考えてみました。方法は2つ考えたのですが、結局のところ他のマシンを経由してNICを強制的に通すというアイデアに変わりはありません。1つはsshでどこか手元にあるサーバに接続する際、ポートフォワーディングを行うという方法(ssh hoge@server -L some_port:local_ip:local_target_port)。もう一つはどこか別のコンピュータで<a href="http://www.gcd.org/sengoku/stone/Welcome.ja.html">stone</a>を使ってポートフォワーディングを行う方法(stone local_ip:local_target_port some_port)。どちらともうまくいきました。</p>

<p>どなたか1台のPCで済む良い方法をご存じないでしょうか。仮想PCとか使えばうまくいきそうな気もしていますが、ちょっと面倒くさいです。</p>]]></content:encoded>
<guid isPermaLink="false">743@http://fenrir.naruoka.org/</guid>
<dc:subject>Computer</dc:subject>
<dc:date>2010-02-12T23:05:18+09:00</dc:date>
</item>
<item>
<title>Super Sylphide 進捗状況(28) -- DSPのROMブートでmain()前にPLLを有効に</title>
<link>http://fenrir.naruoka.org/archives/000741.html</link>
<description>オートパイロットシステム Super Sylphideですが、ちょっとした佳境を迎えつつあります。そのデバック作業中において遭遇した問題について、今回は記事にしてみようと思います。内容はタイトルのとおり、ブートコードでPLLの設定を完了しなければせならなかったという話です。 Super Sylphideで利用しているDSPはTIのTMS320C6713Bという浮動小数点DSPです。このDSPはROMからブートする場合、以下の2段階の過程を経て行われます。 まず、ROMの先頭1K Bytesが内蔵RAMに自動的にコピーされます。その1KBには、基本的なレジスタの設定、例えば外部に接続されたSDRAMのバス幅やリフレッシュレートなどを書くとともに、プログラムコードやデータを適切な配置となるようコピーするコード、そしてmainに飛ぶコードを埋め込んでおきます。その1KBのコードが実行されます。つまり基本的なレジスタ設定が完了するとともに、コードやデータが適切なメモリ番地に配置されます。最後にmain()が実行され、晴れてブートプロセスが完了します。 この1KBのブートコードは、なんといってもレジスタ設定やコード配置に関することですから非常に重要です。ということでTIのDSKに付属していたブートコードをベースに、RAMのリフレッシュレートの定数などを少し変更しただけのブートコードをこれまで使ってきました。 しかしながら時たまブートしなくなるという、不安定な症状が発生しました。原因を色々と探ってみたのですが、コードのサイズが少しばかり大きくなると問題が発生するということがわかりました。どうやら外部RAMであるSDRAM上に配置したプログラムコードが時たま予期しないものに書き換わってしまっているようでした。 色々考えてみた結果、タイトルの通りのこと、つまりPLLの初期化をmain()ではなくブートコード上で行うと不安定な状態が解消されることがわかりました。SDRAMのリフレッシュが不足し、データの一部が改変されていたようです。 これまではDSKのサンプルコードに従って、ブートコードが終了しmain()に飛んだ時点でPLLの初期化を行っていたのですが、この状態では本来の速度よりも遅い速度で外部バスが駆動されているので、main()でPLLが設定されるまでリフレッシュのタイミングが予期したものよりも遅くなります。一方、main()が呼ばれる前にブートコードでPLLの初期化を行うと、CPUや外部バスのクロックがコードを配置する以前に本来の速度となり、main()が呼ばれる前のコード配置中においても適切なタイミングでSDRAMのリフレッシュがかかるようになりました。 元にしたDSKのサンプルコードですが、これはこれで正当な方法でブートが行われている、と見ることができることもわかりました。というのも、DSPは高速な演算をさせるために、プログラムコードは外部RAMにおかず、内部RAMにおくというのが有る意味作法となっているからです。内蔵RAMはSRAMでありリフレッシュは必要ないので、PLLによってクロックが変化しようが問題ない、つまりPLLの設定はどこで行っても問題がないということなのでしょう。 最後に現在のブートコード(boot6713.asm)と、PLL初期化がない古いブートコード(boot6713.asm.r3660)を置いておきます。直接参考になるコードがなかった(C672xのブートに関する資料(jaja100.pdf)は参考になった)ので、ニーモニックを調べたりCコンパイラが吐くアセンブラを見ながら、なんとかハンドコーディングできました。...</description>
<content:encoded><![CDATA[<p><a href="http://fenrir.naruoka.org/archives/000567.html">オートパイロットシステム Super Sylphide</a>ですが、ちょっとした佳境を迎えつつあります。そのデバック作業中において遭遇した問題について、今回は記事にしてみようと思います。内容はタイトルのとおり、ブートコードでPLLの設定を完了しなければせならなかったという話です。</p>

<p>Super Sylphideで利用しているDSPは<a href="http://focus.ti.com/docs/prod/folders/print/tms320c6713b.html">TIのTMS320C6713B</a>という浮動小数点DSPです。このDSPはROMからブートする場合、以下の2段階の過程を経て行われます。</p>

<ol class="block"><li>まず、ROMの先頭1K Bytesが内蔵RAMに自動的にコピーされます。その1KBには、基本的なレジスタの設定、例えば外部に接続されたSDRAMのバス幅やリフレッシュレートなどを書くとともに、プログラムコードやデータを適切な配置となるようコピーするコード、そしてmainに飛ぶコードを埋め込んでおきます。</li><li>その1KBのコードが実行されます。つまり基本的なレジスタ設定が完了するとともに、コードやデータが適切なメモリ番地に配置されます。最後にmain()が実行され、晴れてブートプロセスが完了します。</li></ol>

<p>この1KBのブートコードは、なんといってもレジスタ設定やコード配置に関することですから非常に重要です。ということでTIのDSKに付属していたブートコードをベースに、RAMのリフレッシュレートの定数などを少し変更しただけのブートコードをこれまで使ってきました。</p>

<p>しかしながら時たまブートしなくなるという、不安定な症状が発生しました。原因を色々と探ってみたのですが、コードのサイズが少しばかり大きくなると問題が発生するということがわかりました。どうやら外部RAMであるSDRAM上に配置したプログラムコードが時たま予期しないものに書き換わってしまっているようでした。</p>

<p>色々考えてみた結果、タイトルの通りのこと、つまりPLLの初期化をmain()ではなくブートコード上で行うと不安定な状態が解消されることがわかりました。SDRAMのリフレッシュが不足し、データの一部が改変されていたようです。<br />
これまではDSKのサンプルコードに従って、ブートコードが終了しmain()に飛んだ時点でPLLの初期化を行っていたのですが、この状態では本来の速度よりも遅い速度で外部バスが駆動されているので、main()でPLLが設定されるまでリフレッシュのタイミングが予期したものよりも遅くなります。一方、main()が呼ばれる前にブートコードでPLLの初期化を行うと、CPUや外部バスのクロックがコードを配置する以前に本来の速度となり、main()が呼ばれる前のコード配置中においても適切なタイミングでSDRAMのリフレッシュがかかるようになりました。</p>

<p>元にしたDSKのサンプルコードですが、これはこれで正当な方法でブートが行われている、と見ることができることもわかりました。というのも、DSPは高速な演算をさせるために、プログラムコードは外部RAMにおかず、内部RAMにおくというのが有る意味作法となっているからです。内蔵RAMはSRAMでありリフレッシュは必要ないので、PLLによってクロックが変化しようが問題ない、つまりPLLの設定はどこで行っても問題がないということなのでしょう。</p>

<p>最後に現在のブートコード(<a href="http://fenrir.naruoka.org/download/autopilot/external/NAV2_Core/boot/boot6713.asm">boot6713.asm</a>)と、PLL初期化がない古いブートコード(<a href="http://fenrir.naruoka.org/download/autopilot/external/NAV2_Core/boot/boot6713.asm.r3660">boot6713.asm.r3660</a>)を置いておきます。直接参考になるコードがなかった(<a href="http://focus.tij.co.jp/jp/lit/an/jaja100/jaja100.pdf">C672xのブートに関する資料(jaja100.pdf)</a>は参考になった)ので、ニーモニックを調べたりCコンパイラが吐くアセンブラを見ながら、なんとかハンドコーディングできました。</p>]]></content:encoded>
<guid isPermaLink="false">741@http://fenrir.naruoka.org/</guid>
<dc:subject>Embedded System</dc:subject>
<dc:date>2010-02-03T00:07:48+09:00</dc:date>
</item>
<item>
<title>実体配線図を綺麗に書くと路線図みたいだ</title>
<link>http://fenrir.naruoka.org/archives/000740.html</link>
<description>ブログの更新をさぼっていてスイマセン。生存報告ができる程度の仕事量に最近落ち着きつつあります(まだ脱出したわけではないのです)ので、生存報告がてら息抜きとしてやっていたことを少し記事にしようと思いました。といっても画像を一枚ペタリとはるだけですが。 イラレで書いていました。 とあるものの動作原理が知りたくて、所謂リバースエンジニアリングをしていました。従って何かは聞かれても絶対にお答えいたしません(笑)。 ※これをもとに基板を設計しました。...</description>
<content:encoded><![CDATA[<p>ブログの更新をさぼっていてスイマセン。生存報告ができる程度の仕事量に最近落ち着きつつあります(まだ脱出したわけではないのです)ので、生存報告がてら息抜きとしてやっていたことを少し記事にしようと思いました。といっても画像を一枚ペタリとはるだけですが。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/arege_2010_01.png"><img alt="arege_2010_01.png" src="http://fenrir.naruoka.org/archives/images/arege_2010_01-thumb.png" width="416" height="194" border="0" /></a><br />
イラレで書いていました。</p>

<p>とあるものの動作原理が知りたくて、所謂リバースエンジニアリングをしていました。従って何かは聞かれても絶対にお答えいたしません(笑)。</p>

<p>※これをもとに<a href="http://fenrir.naruoka.org/archives/000744.html">基板を設計</a>しました。</p>]]></content:encoded>
<guid isPermaLink="false">740@http://fenrir.naruoka.org/</guid>
<dc:subject>Embedded System</dc:subject>
<dc:date>2010-01-27T09:27:55+09:00</dc:date>
</item>
<item>
<title>年末年始? そんなの関係ない!! =&gt; 2010 謹賀新年</title>
<link>http://fenrir.naruoka.org/archives/000739.html</link>
<description>世間一般では年末年始というらしいですが、僕は自己責任の諸事情で年末年始がなくなりました。どうもありがとうございます。 クリックでExcelが落とせます。 そのような方のために、ご用意いたしました、2009年13月のカレンダーです(実は僕のトモダチのJorg氏から戴きました)。何らかの事情を周囲に察知してもらうためにそっと使うもよし、年をまたいでしまった残念なデスマプロジェクトで同僚に圧力をかけるに使うもよし、各自ご活用ください。 ※なお、このエントリーは僕の時間がとれ次第、2010 謹賀新年というタイトルに変わる予定です。事情をお察しください。また年賀状も鋭意遅延中(送っていただいた方には絶対お返しいたします)です。申し訳ありません。...</description>
<content:encoded><![CDATA[<p>世間一般では年末年始というらしいですが、僕は自己責任の諸事情で年末年始がなくなりました。どうもありがとうございます。</p>

<p><a href="http://fenrir.naruoka.org/download/archive/200913.xls"><img alt="200913.png" src="http://fenrir.naruoka.org/archives/images/200913.png" width="365" height="400" border="0" /></a><br />
クリックでExcelが落とせます。</p>

<p>そのような方のために、ご用意いたしました、2009年13月のカレンダーです(実は僕のトモダチの<a href="http://www.entzinger.nl/jorg/home.shtml">Jorg</a>氏から戴きました)。何らかの事情を周囲に察知してもらうためにそっと使うもよし、年をまたいでしまった残念なデスマプロジェクトで同僚に圧力をかけるに使うもよし、各自ご活用ください。</p>

<p>※なお、このエントリーは僕の時間がとれ次第、2010 謹賀新年というタイトルに変わる予定です。事情をお察しください。また年賀状も鋭意遅延中(送っていただいた方には絶対お返しいたします)です。申し訳ありません。</p>]]><![CDATA[<p>※(2010/1/5、もとい2009/13/5) 絵をかきました。こんな年賀状が届くはずです。</p>

<p><a href="http://to-a.ru/EXqgNs"><img alt="2010death.png" src="http://fenrir.naruoka.org/archives/images/2010death.png" width="150" height="320" border="0" /></a></p>

<p>おっと、間違えた。</p>

<p><a href="http://to-a.ru/US5Qmn/"><img alt="2010nenga.png" src="http://fenrir.naruoka.org/archives/images/2010nenga.png" width="150" height="320" border="0" /></a></p>

<p>いやこれでもないな。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/2010.pdf"><img alt="2010.png" src="http://fenrir.naruoka.org/archives/images/2010.png" width="400" height="594" border="0" /></a></p>

<p>これでした。</p>]]></content:encoded>
<guid isPermaLink="false">739@http://fenrir.naruoka.org/</guid>
<dc:subject>Timely</dc:subject>
<dc:date>2010-01-01T22:36:47+09:00</dc:date>
</item>
<item>
<title>『あかつき』に初音ミクを載せよう -- 10000人署名達成</title>
<link>http://fenrir.naruoka.org/archives/000738.html</link>
<description>僕の周りのTwitterではかなりつぶやかれていたので、ご存知の方が多いのではないかと思いますが、JAXAの金星探査衛星『あかつき』に初音ミク(の絵)を載せようという計画が、超電磁Pこと森岡澄夫さんによって運営されています(署名締切:2010/1/6)。これは『あかつき』の金属プレートに応援メッセージが載せられるというJAXAの企画に便乗したものです。 当初はミクの名前を載せる程度の話だったのですが、署名が集まっていくごとに、各所の協力が得られて計画がどんどん大きくなり、10000人のメッセージを集めると金属プレートまるまる一枚にミク絵を載せられるというプロジェクトに発展しました。そしてとうとう本日、署名10000人を達成したことで、ミク絵が『あかつき』に載ることはほぼ確定したと思います。 超電磁Pが10000人署名達成への感謝ということで、コメントを掲載しています。全文はリンクを参照していただくとして、特筆すべきは以下の点です。 (前略) 二つ目は，「人と人とのつながりからブレークスルーを起こす」ということです．上記のとおり，本件は私一人が成し遂げたものなどではありません．私一人が何をしても大した結果を生み出せるはずがありません．初音ミクの世界で最高に素晴らしい点は，ミクを媒体に魅力的な方達が自発的につながり，それによって驚愕するような飛躍的成果が出ることです．今回の活動の一連の経過が，それを何よりも雄弁に物語っています． (後略) 今回のような計画から『オリコンでアニメの主題歌を1位に』のような軽い感じを受ける方も勿論いらっしゃるでしょう。また堅い話をするならば、税金を使ってやっている宇宙の探査が注目を集めることはいいことだ、というあたりなのでしょう。しかし本音のところで言えば、とんとん拍子に話が大きくなっていったことこそ今回の計画の最大の見所だと思います。その開発や運営に直接関わっていなくとも『俺らの衛星』としてこれだけ楽しみ方を増やすことができた、そしてそれを可能にしたのは初音ミクを介した人的ネットワークであったと。 実は、これだけでは終わりません。『あかつき』の署名後も、リアル初音ミクを搭載した人工衛星を趣味な人たちが自作、軌道にのせよう、というSOMESATプロジェクトが進行中です。これも人的ネットワークを介してどこまで実現できるかが勝負どころでしょうが、結集している英知をみる限り、かなりの確度で軌道投入できると踏んでいます。 最後に余談になりますが、知合いのJAXA職員某氏は、『ほんとやめてください。企画、つぶしてやりますよー』なんてニヤニヤしながら先日言っていましたが、たぶん大丈夫だと思います。彼の力はそこまで及ぶまい(笑)...</description>
<content:encoded><![CDATA[<p>僕の周りのTwitterではかなりつぶやかれていたので、ご存知の方が多いのではないかと思いますが、<a href="http://www.stp.isas.jaxa.jp/venus/index.html">JAXAの金星探査衛星『あかつき』</a>に<a href="http://wiki.nicotech.jp/nico_tech/index.php?%E5%8C%BF%E5%90%8D100%E5%90%8D%E5%8B%9F%E9%9B%86%21%20%E3%83%9F%E3%82%AF%E7%B5%B5%E3%82%92%E9%87%91%E6%98%9F%E6%8E%A2%E6%9F%BB%E6%A9%9F%E3%81%AB%E8%B2%BC%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8B%3F">初音ミク(の絵)を載せようという計画</a>が、<a href="http://www002.upp.so-net.ne.jp/morioka">超電磁Pこと森岡澄夫さん</a>によって運営されています(<a href="http://kanmisikou.net/lab/venus/ja/">署名</a>締切:2010/1/6)。これは<a href="http://www.jaxa.jp/event/akatsuki/index_j.html">『あかつき』の金属プレートに応援メッセージが載せられる</a>というJAXAの企画に便乗したものです。</p>

<p><a href="https://spreadsheets.google.com/viewform?hl=en&formkey=dEhaZ1JMUXI3MEl4Qk14VXBCZXVHdlE6MA"><img src="http://kanmisikou.net/lab/venus/miku_to_venus_hachune.jpg" /></a></p>

<p>当初はミクの名前を載せる程度の話だったのですが、署名が集まっていくごとに、各所の協力が得られて計画がどんどん大きくなり、10000人のメッセージを集めると金属プレートまるまる一枚にミク絵を載せられるというプロジェクトに発展しました。そしてとうとう本日、署名10000人を達成したことで、ミク絵が『あかつき』に載ることはほぼ確定したと思います。</p>

<p>超電磁Pが10000人署名達成への感謝ということで、<a href="http://wiki.nicotech.jp/nico_tech/index.php?%E5%8C%BF%E5%90%8D100%E5%90%8D%E5%8B%9F%E9%9B%86%21%20%E3%83%9F%E3%82%AF%E7%B5%B5%E3%82%92%E9%87%91%E6%98%9F%E6%8E%A2%E6%9F%BB%E6%A9%9F%E3%81%AB%E8%B2%BC%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8B%3F#l9ff5c5d">コメントを掲載</a>しています。全文はリンクを参照していただくとして、特筆すべきは以下の点です。</p>

<blockquote><p class="block">(前略) 二つ目は，「人と人とのつながりからブレークスルーを起こす」ということです．上記のとおり，本件は私一人が成し遂げたものなどではありません．私一人が何をしても大した結果を生み出せるはずがありません．初音ミクの世界で最高に素晴らしい点は，ミクを媒体に魅力的な方達が自発的につながり，それによって驚愕するような飛躍的成果が出ることです．今回の活動の一連の経過が，それを何よりも雄弁に物語っています． (後略)</p></blockquote>

<p>今回のような計画から『オリコンでアニメの主題歌を1位に』のような軽い感じを受ける方も勿論いらっしゃるでしょう。また堅い話をするならば、税金を使ってやっている宇宙の探査が注目を集めることはいいことだ、というあたりなのでしょう。しかし本音のところで言えば、とんとん拍子に話が大きくなっていったことこそ今回の計画の最大の見所だと思います。その開発や運営に直接関わっていなくとも『俺らの衛星』としてこれだけ楽しみ方を増やすことができた、そしてそれを可能にしたのは初音ミクを介した人的ネットワークであったと。</p>

<p>実は、これだけでは終わりません。『あかつき』の署名後も、リアル初音ミクを搭載した人工衛星を趣味な人たちが自作、軌道にのせよう、という<a href="http://wiki.nicotech.jp/nico_tech/index.php?%E3%82%BD%E3%83%BC%E3%82%B7%E3%83%A3%E3%83%AB%E3%83%BB%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2%E8%A1%9B%E6%98%9F%E9%96%8B%E7%99%BA%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%20SOMESAT">SOMESATプロジェクト</a>が進行中です。これも人的ネットワークを介してどこまで実現できるかが勝負どころでしょうが、結集している英知をみる限り、かなりの確度で軌道投入できると踏んでいます。</p>

<p>最後に余談になりますが、知合いのJAXA職員某氏は、『ほんとやめてください。企画、つぶしてやりますよー』なんてニヤニヤしながら先日言っていましたが、たぶん大丈夫だと思います。彼の力はそこまで及ぶまい(笑)</p>]]></content:encoded>
<guid isPermaLink="false">738@http://fenrir.naruoka.org/</guid>
<dc:subject><![CDATA[Aero &amp; Astro]]></dc:subject>
<dc:date>2009-12-22T22:55:45+09:00</dc:date>
</item>
<item>
<title>TeXで綺麗なアスペクト比の記号</title>
<link>http://fenrir.naruoka.org/archives/000737.html</link>
<description>TeXで飛行機関係の文章を書く最近なのですが、飛行機の大きさや重さといった緒元を表にしようと思っていました。そこで遭遇したのが、翼の細長さを表現するアスペクト比(Aspect Ratio)です。アスペクト比は航空関係だとローマ字の大文字AとRをくっつけた特別な記号(画像参照)で書かれるのですが、流石はTeX、外部パッケージながらar.styというフォントが用意されています。 赤丸をつけたのがAR記号。 しかしながらこのar.styはMETAFONTというフォーマットでしか提供されていないので、このままだとPDFにした際にビットマップフォント(Type3)として埋め込まれ、拡大すると汚くなってしまいます。確認方法としては、dvipdfmxなどでARの記号が入ったPDFを作り拡大してみてください。ガタカタしていると思います。 そこで一念発起してPDFでも綺麗に表示可能なベクタフォント(Type1)をMETAFONTから作ることにしました。そして上記の画像の品質を得ることができました。 過程を簡単に紹介しますと、Linux上でTeX環境とar.styを導入、ビットマップからアウトラインを抽出するpotraceを用いたベクタフォント作成ツールであるmftraceを使って、ar.mfからar.pfaを作成、そしてt1binaryで目的のTYpe1フォントar.pfbに変換。最後にfontmapを作ってar.pfbとともにtexmfツリーにmktexlsrとupdmap --addでWindowsのTeX環境に登録しました。 Windowsではなぜかmftraceが動かなかったり、Adobe Readerで『フォントが抽出できないエラー』が発生した(fontforgeを使ってar.pfbの文字コードマップが0から全て埋まるようコピペして回避)ので苦労しました。しかし結果的に綺麗なAR記号を作れて満足しています。成果物として、上記過程で処理したものをまとめたar_type1.zipを公開します。使いたい方はar_type1.zipをTeXをインストールしたディレクトリ(フォルダとしてbinとかshareがあるはずです)の下に展開、mktexlsrとupdmap --add ar.mapをして(mktexlsrがうまくいっていればkpsewhich ar7.pfbでar7.pfbがあるパスが表示される)、あとはTeX上でar.styをusepackageすると\ARで綺麗な記号がでてくるはずです。...</description>
<content:encoded><![CDATA[<p>TeXで飛行機関係の文章を書く最近なのですが、飛行機の大きさや重さといった緒元を表にしようと思っていました。そこで遭遇したのが、翼の細長さを表現するアスペクト比(Aspect Ratio)です。アスペクト比は航空関係だとローマ字の大文字AとRをくっつけた特別な記号(画像参照)で書かれるのですが、流石はTeX、外部パッケージながら<a href="http://www.ctan.org/tex-archive/macros/latex/contrib/ar/">ar.styというフォント</a>が用意されています。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/TeX_AR.png"><img alt="TeX_AR.png" src="http://fenrir.naruoka.org/archives/images/TeX_AR-thumb.png" width="300" height="95" border="0" /></a><br />
赤丸をつけたのがAR記号。</p>

<p>しかしながらこのar.styはMETAFONTというフォーマットでしか提供されていないので、このままだとPDFにした際にビットマップフォント(Type3)として埋め込まれ、拡大すると汚くなってしまいます。確認方法としては、dvipdfmxなどでARの記号が入ったPDFを作り拡大してみてください。ガタカタしていると思います。</p>

<p>そこで一念発起してPDFでも綺麗に表示可能なベクタフォント(Type1)をMETAFONTから作ることにしました。そして上記の画像の品質を得ることができました。<br />
過程を簡単に紹介しますと、<a href="http://www.chaos2cosmos.net/2009/06/04/ubuntu-tex/">Linux上でTeX環境</a>とar.styを導入、ビットマップからアウトラインを抽出する<a href="http://potrace.sourceforge.net/">potrace</a>を用いたベクタフォント作成ツールである<a href="http://lilypond.org/mftrace/">mftrace</a>を使って、ar.mfからar.pfaを作成、そしてt1binaryで目的のTYpe1フォントar.pfbに変換。最後にfontmapを作ってar.pfbとともにtexmfツリーにmktexlsrとupdmap --addでWindowsのTeX環境に登録しました。</p>

<p>Windowsではなぜかmftraceが動かなかったり、Adobe Readerで『フォントが抽出できないエラー』が発生した(<a href="http://fontforge.sourceforge.net/ja/">fontforge</a>を使ってar.pfbの文字コードマップが0から全て埋まるようコピペして回避)ので苦労しました。しかし結果的に綺麗なAR記号を作れて満足しています。成果物として、上記過程で処理したものをまとめた<a href="http://fenrir.naruoka.org/download/archive/TeX/ar_type1.zip">ar_type1.zip</a>を公開します。使いたい方はar_type1.zipをTeXをインストールしたディレクトリ(フォルダとしてbinとかshareがあるはずです)の下に展開、mktexlsrとupdmap --add ar.mapをして(mktexlsrがうまくいっていればkpsewhich ar7.pfbでar7.pfbがあるパスが表示される)、あとはTeX上でar.styをusepackageすると\ARで綺麗な記号がでてくるはずです。</p>]]></content:encoded>
<guid isPermaLink="false">737@http://fenrir.naruoka.org/</guid>
<dc:subject>Computer</dc:subject>
<dc:date>2009-12-16T08:50:22+09:00</dc:date>
</item>
<item>
<title>Twitterでつぶやくと数式の画像のURLが返ってくる</title>
<link>http://fenrir.naruoka.org/archives/000736.html</link>
<description>Twitterでぶつぶつ言っていると急に数式を書きたくなりませんか? 僕は勿論のこと、皆さんもそうなりますよね(笑)。そこでTwitter上でTeXの数式をつぶやくと、画像のURLを返してくれるサービスを作りました。 使い方は簡単、@TeX_Eqに対してTeXの数式をつぶやいてみてください。 例えば @TeX_Eq E = mc^{2} とつぶやくと、しばらくして http://is.gd/5cg3AというURLがつぶやき返しされるはずです。これはアクセスすると以下のような画像がゲットできます。 Rubyで書いたソースコードを公開しておきますが、仕組みは至極簡単です。 TeX_Eq向けのつぶやきをcronで監視つぶやきがあったら、それを数式と解釈してGoogle chart APIを使って数式の画像を取得するためのURLを内部的に生成そのままだとTwitterの140文字制限に引っかかってしまうので、is.gdを使って、短縮URLに変換それをつぶやき元に@で返信 これだけです。途中is.gdのAPIの仕様に躓いたり(ソースでgsub!をしているあたりが原因)したのですが、賞味3時間くらいでなんとか様になりました。前にTwitterで遊んでいた経験も大きいのですが、マッシュアップのおかげには違いありません。 続きはギャラリー。 ※その後、透過機能と指定サイズ機能をつけました。背景を透明にするには@TeX_Eqの前にTという単語(スペースで区切られたT)をつけてください。指定サイズで数式を得るには(縦のピクセル数)x(横のピクセル数)という単語(x(横のサイズ)を省略することもできます)をつけてください。例えば T 200x200 @TeX_Eq E=mc^{2} は背景透明の200x200の画像を得ます。 ※※(2009/12/19)結城浩さんの日記で紹介していただけたようです。もしバグや改善点などありましたら、コメントとして残していただけると幸いです。...</description>
<content:encoded><![CDATA[<p>Twitterでぶつぶつ言っていると急に数式を書きたくなりませんか? 僕は勿論のこと、皆さんもそうなりますよね(笑)。そこでTwitter上でTeXの数式をつぶやくと、画像のURLを返してくれるサービスを作りました。</p>

<p>使い方は簡単、<a href="http://twitter.com/TeX_Eq">@TeX_Eq</a>に対してTeXの数式をつぶやいてみてください。<br />
例えば @TeX_Eq E = mc^{2} とつぶやくと、しばらくして <a href="http://is.gd/5cg3A">http://is.gd/5cg3A</a>というURLがつぶやき返しされるはずです。これはアクセスすると以下のような画像がゲットできます。</p>

<div class="block"><br />
<img src="http://is.gd/5cg3A" /><br />
</div>

<p><a href="http://fenrir.naruoka.org/download/archive/twitter_texeq.rb">Rubyで書いたソースコード</a>を公開しておきますが、仕組みは至極簡単です。</p>

<ol class="block"><li>TeX_Eq向けのつぶやきをcronで監視</li><li>つぶやきがあったら、それを数式と解釈して<a href="http://code.google.com/apis/chart/">Google chart API</a>を使って数式の画像を取得するためのURLを内部的に生成</li><li>そのままだとTwitterの140文字制限に引っかかってしまうので、<a href="http://is.gd/">is.gd</a>を使って、短縮URLに変換</li><li>それをつぶやき元に@で返信</li></ol>

<p>これだけです。途中<a href="http://is.gd/api_info.php">is.gdのAPIの仕様</a>に躓いたり(ソースでgsub!をしているあたりが原因)したのですが、賞味3時間くらいでなんとか様になりました。<a href="http://fenrir.naruoka.org/archives/000715.html">前にTwitterで遊んでいた</a>経験も大きいのですが、マッシュアップのおかげには違いありません。</p>

<p>続きはギャラリー。</p>

<p>※その後、透過機能と指定サイズ機能をつけました。背景を透明にするには@TeX_Eqの前にTという単語(スペースで区切られたT)をつけてください。指定サイズで数式を得るには(縦のピクセル数)x(横のピクセル数)という単語(x(横のサイズ)を省略することもできます)をつけてください。例えば T 200x200 @TeX_Eq E=mc^{2} は背景透明の200x200の画像を得ます。</p>

<p>※※(2009/12/19)<a href="http://www.hyuki.com/d/200912.html#i20091219090000">結城浩さんの日記</a>で紹介していただけたようです。もしバグや改善点などありましたら、コメントとして残していただけると幸いです。</p>]]><![CDATA[<p>せっかくなので、最近つぶやかれた数式です。</p>

<div class="block" id="twitter_div"><div style="font-size:20px;"><span style="padding-left:26px; background:url(http://a1.twimg.com/profile_images/558605634/tex_mini.png) no-repeat 0 50%;">TeX_Eq</span></div><ul id="tw_TeX_Eq"></ul><a href="http://twitter.com/TeX_Eq" id="twitter-link" style="display:block;text-align:right;">TeX_Eqをフォロー!!</a></div>

<script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>
<script>
<!--
function twitterCallback2(twitters, div_id) {
  var statusHTML = [];
  for (var i=0; i<twitters.length; i++){
    var username = twitters[i].user.screen_name;
    var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
      return '<div style="background:url('+url+') no-repeat 0 50%; min-width:100px; min-height: 30px; "></div>';
    }).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
      return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
    });
    statusHTML.push('<li><span>'+status+'</span> <a style="font-size:85%" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'">'+relative_time(twitters[i].created_at)+'</a></li>');
  }
  document.getElementById(div_id).innerHTML = statusHTML.join('');
}
function twitterCallback(twitters){
  twitterCallback2(twitters, 'tw_TeX_Eq');
}
//-->
</script>
<script type="text/javascript" src="http://fenrir.naruoka.org/cgi/misc/proxy.rb?target=Twitter_TeX_Eq"></script>]]></content:encoded>
<guid isPermaLink="false">736@http://fenrir.naruoka.org/</guid>
<dc:subject>Computer</dc:subject>
<dc:date>2009-12-05T00:51:23+09:00</dc:date>
</item>
<item>
<title>TeXlipseとdvioutの連携</title>
<link>http://fenrir.naruoka.org/archives/000735.html</link>
<description>最近、大型の文章作業をしているのですが、統合開発環境eclipse上でtexの文章をやりくりしたいと考えるようになりました。今まではTeXの作業をするにあたっては、WinShellというエディタと、dvioutというビューワを組み合わせていたのですが、参考とする資料がeclipse上で管理されていることが多く、いちいちeclipseとWinshellで行き来をするのが面倒くさくなったためです。加えてWinShellは全角入力をしている際のF10キー(キーボードを押したとおりの半角小文字に変換)が2度押ししないと利かないことがあり、かなタイパーの僕が英単語を入力するのにかなりの苦労をさせられる(F10が利かないと、いちいちIMEを切る必要あり)という問題がありました。 そこでまず、eclipseでTeXを扱うことができるようにしました。まさに目的にふさわしいプラグインTeXlipseを見つけることができました。このプラグインの導入によってキーワードのハイライトやワードカウント、dviやpdfへのコンパイル、およびdvioutやAcrobatといったビューワの起動など、WinShellが持っていた機能はほぼカバーすることができました。 しかしながら、ここでようやく表題に関わるのですが、WinShellで便利だった、dviout(dviビューワ)で現在編集している箇所がすぐ見れる機能(forward serach)と、dviout上で指定した位置にWinShellのカーソルを移動する機能(Invert search)、これら2つの設定方法が簡単には見つかりませんでした。 色々試行錯誤した結果、これらの機能を実現できるようになったので、TeXlipseを使っている/みようと思っている方は是非試してみてください。以下の3つのステップを踏みます。続きをどうぞ。 なお、以降の情報はTeXlipseのマニュアルとdvioutに付属のヘルプを参考にし、現時点での最新版 TeXlipse 1.3を対象にしています。...</description>
<content:encoded><![CDATA[<p>最近、大型の文章作業をしているのですが、統合開発環境<a href="http://www.eclipse.org/">eclipse</a>上でtexの文章をやりくりしたいと考えるようになりました。今まではTeXの作業をするにあたっては、<a href="http://www.winshell.org/">WinShell</a>というエディタと、<a href="http://akagi.ms.u-tokyo.ac.jp/dviout.html">dviout</a>というビューワを組み合わせていたのですが、参考とする資料がeclipse上で管理されていることが多く、いちいちeclipseとWinshellで行き来をするのが面倒くさくなったためです。加えてWinShellは全角入力をしている際のF10キー(キーボードを押したとおりの半角小文字に変換)が2度押ししないと利かないことがあり、かなタイパーの僕が英単語を入力するのにかなりの苦労をさせられる(F10が利かないと、いちいちIMEを切る必要あり)という問題がありました。</p>

<p>そこでまず、eclipseでTeXを扱うことができるようにしました。まさに目的にふさわしいプラグイン<a href="http://texlipse.sourceforge.net/">TeXlipse</a>を見つけることができました。このプラグインの導入によってキーワードのハイライトやワードカウント、dviやpdfへのコンパイル、およびdvioutやAcrobatといったビューワの起動など、WinShellが持っていた機能はほぼカバーすることができました。</p>

<p>しかしながら、ここでようやく表題に関わるのですが、WinShellで便利だった、dviout(dviビューワ)で現在編集している箇所がすぐ見れる機能(forward serach)と、dviout上で指定した位置にWinShellのカーソルを移動する機能(Invert search)、これら2つの設定方法が簡単には見つかりませんでした。</p>

<p>色々試行錯誤した結果、これらの機能を実現できるようになったので、TeXlipseを使っている/みようと思っている方は是非試してみてください。以下の3つのステップを踏みます。続きをどうぞ。<br />
なお、以降の情報は<a href="http://texlipse.sourceforge.net/manual/build.html">TeXlipseのマニュアル</a>とdvioutに付属のヘルプを参考にし、現時点での最新版 TeXlipse 1.3を対象にしています。</p>]]><![CDATA[<p>まず、TeXlipseによるdviのコンパイルで生成されるdviファイルに、forward / invert searchで必要とされる情報(<a href="http://akagi.ms.u-tokyo.ac.jp/tex_dvioutw.html#source">ソーススペシャル</a>)が埋め込まれるようにします。これはTeXlipseの設定においてBuilder settingsのLatex programの設定を次のスクリーンショットのように変更します。注目はArgumentsに-srcを指定していることです。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/texlipse_latex.png"><img alt="texlipse_latex.png" src="http://fenrir.naruoka.org/archives/images/texlipse_latex-thumb.png" width="302" height="174" border="0" /></a></p>

<p>次に、dvioutを起動する設定でforward serachをするように設定します。Viewer Settingsのdvioutを起動する設定(自分で新規追加する必要があると思われる)で、Viewer arguments最後に"# %line '%texfile'"を指定すること、viewer supports forward searchにチェックをすること、これらを行ってください。以下のスクリーンショットのようになります。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/texlipse_dviout.png"><img alt="texlipse_dviout.png" src="http://fenrir.naruoka.org/archives/images/texlipse_dviout-thumb.png" width="450" height="289" border="0" /></a></p>

<p>最後にinvert searchを有効にします。同じくdvioutを起動する設定において、上のスクリーンショットにあるInvert search supportをViewer runs external commandにしてください。<br />
加えてdviout側の設定がありますが、2つの方法があります。両方法とも目的は同じで、dviout上でダブルクリックをした際に呼び出されるプログラム(パラメータ src: で指定される値)を 'path/to/java/javaw.exe^s-classpath path/to/eclipse/plugins/net.sourceforge.texlipse_1.3.0/texlipse.jar net.sourceforge.texlipse.viewer.util.FileLocationClient -p 55000 -f "%s" -l %d' にする(/path/to/hogeは適宜変更してください)ことです。<br />
1つの方法はdvioutの設定を変更することで、dvioutのメニューのOptionsにある[Setup Parameters]-[Common]-[src:]の値を変更し、saveをすることです。<br />
もう一つの方法は上のdvioutを起動する設定のスクリーンショットに示した方法で、-file= オプションを利用して、src:を外部ファイルで指定する方法です。指定した先のファイルには、 src=先ほどの値 を書いておきます。</p>

<p>以上で快適なTeXlipse + dviout生活を送れるようになりました。これでeclipseで扱うようになったファイルは C++ / C / Ruby / TeX / HDL / Perl / Plain Text と凄まじいことになっています。eclipseがなくなったら何もできないかもしれません。</p>]]></content:encoded>
<guid isPermaLink="false">735@http://fenrir.naruoka.org/</guid>
<dc:subject>Computer</dc:subject>
<dc:date>2009-11-28T01:16:49+09:00</dc:date>
</item>
<item>
<title>24インチのある風景</title>
<link>http://fenrir.naruoka.org/archives/000734.html</link>
<description>年度末に向けて色々と処理しなければならない文章作業があるので、ディスプレイ環境を増強することにしました。そこでUWXGA(1920x1200ドット)表示が可能なNANAOの24インチワイド液晶S2410Wの中古を購入してきました。 兎に角、広いっ! 24インチ、凄く快適です。A4 2枚が見開きで表示できるのがとても便利で、PDFをいちいち紙に印刷する機会が減りそうです。 購入したのは秋葉原のイオシスというお店で、購入時に確認したところドット抜けや輝度オチはなし、3600時間使用のもので、およそ25K円でした。いい買い物ができたと思っています。...</description>
<content:encoded><![CDATA[<p>年度末に向けて色々と処理しなければならない文章作業があるので、ディスプレイ環境を増強することにしました。そこでUWXGA(1920x1200ドット)表示が可能なNANAOの24インチワイド液晶<a href="http://www.eizo.co.jp/products/discontinued/lcd/files/S2410W.pdf">S2410W</a>の中古を購入してきました。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/S2410W.jpg"><img alt="S2410W.jpg" src="http://fenrir.naruoka.org/archives/images/S2410W-thumb.jpg" width="400" height="300" border="0" /></a><br />
兎に角、広いっ!</p>

<p>24インチ、凄く快適です。A4 2枚が見開きで表示できるのがとても便利で、PDFをいちいち紙に印刷する機会が減りそうです。</p>

<p>購入したのは秋葉原の<a href="http://iosys.co.jp/">イオシス</a>というお店で、購入時に確認したところドット抜けや輝度オチはなし、3600時間使用のもので、およそ25K円でした。いい買い物ができたと思っています。</p>]]></content:encoded>
<guid isPermaLink="false">734@http://fenrir.naruoka.org/</guid>
<dc:subject>Computer</dc:subject>
<dc:date>2009-11-23T21:31:37+09:00</dc:date>
</item>
<item>
<title>民主党による科研費の執行停止に抗議する署名</title>
<link>http://fenrir.naruoka.org/archives/000733.html</link>
<description>お知らせです。表題のようなメールが僕のところに回ってきました。科研費とは正式名称『科学研究費補助金』のことで、日本の科学の発展に使われることを目的とした税金による補助金です。この補助金が2009/11/13の事業振り分けの結果、削減等の判断が下されました。これに関する反対運動の一環としてここで紹介する署名活動が行われているようです。 日本国民として皆さん色々な立場があり、個人で知りうる情報には限りがありますので、判断はお任せしたいと思いますが、僕自身としてはこの署名をしました。また情報の拡散にも協力をしたいと思います。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【署名ＴＶ】 想いを伝え、社会を変える。 ━━━━━━━━━━━━━━━━ http://www.shomei.tv/ ━━━━ ※このメールに返信してもメールは届きません。 　署名ＴＶへのお問い合わせ、ご依頼はメール最下部をご覧ください。 こんにちは、署名ＴＶ運営事務局です。 署名活動のご案内を受け付けましたので、 ご案内いたします。 以下が署名活動内容です。ぜひご参加下さい。 署名プロジェクト名： 科学研究費補助金の一部の執行停止に対する反対署名 署名プロジェクトURL： http://www.shomei.tv/project-1343.html === プロジェクトの企画者 市川 憲人 様からのメッセージ ====== 日本の科学技術の将来だけではなく日本が加工貿易立国としての豊かさを今後とも維持できるかを左右するとても大事な署名です。若手研究者の当事者だけではなく、何卒拡散のほどをよろしくお願いいたします。 =================================================== ─────────────────────────────────── オンライン署名サイト【署名ＴＶ】 URL ： http://www.shomei.tv 問い合せ： https://www.shomei.tv/contact/ 運営会社： ユナイテッドピープル株式会社 ───────────────────────────────────...</description>
<content:encoded><![CDATA[<p>お知らせです。表題のようなメールが僕のところに回ってきました。科研費とは正式名称<a href="http://www.mext.go.jp/a_menu/shinkou/hojyo/main5_a5.htm">『科学研究費補助金』</a>のことで、日本の科学の発展に使われることを目的とした税金による補助金です。この補助金が<a href="http://kentosho.tumblr.com/post/243667114">2009/11/13の事業振り分けの結果、削減等の判断が下されました</a>。これに関する反対運動の一環としてここで紹介する署名活動が行われているようです。</p>

<p>日本国民として皆さん色々な立場があり、個人で知りうる情報には限りがありますので、判断はお任せしたいと思いますが、僕自身としてはこの署名をしました。また情報の拡散にも協力をしたいと思います。</p>

<div class="block" style="margin: 10px 5px 0px; padding: 5px; border:2px dotted #CCCCCC; background-color: #222;"><br />
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━<br />
【署名ＴＶ】  想いを伝え、社会を変える。<br />
━━━━━━━━━━━━━━━━ http://www.shomei.tv/  ━━━━<br /><br />

※このメールに返信してもメールは届きません。<br />
　署名ＴＶへのお問い合わせ、ご依頼はメール最下部をご覧ください。<br /><br />

こんにちは、署名ＴＶ運営事務局です。<br /><br />

署名活動のご案内を受け付けましたので、<br />
ご案内いたします。<br /><br />

以下が署名活動内容です。ぜひご参加下さい。<br /><br />

署名プロジェクト名：<br />
科学研究費補助金の一部の執行停止に対する反対署名<br /><br />

署名プロジェクトURL：<br />
<a href="http://www.shomei.tv/project-1343.html">http://www.shomei.tv/project-1343.html</a><br /><br />

<br />
=== プロジェクトの企画者 <a href="http://www.tahoiya.org/~kent/">市川 憲人</a> 様からのメッセージ ======<br /><br />

日本の科学技術の将来だけではなく日本が加工貿易立国としての豊かさを今後とも維持できるかを左右するとても大事な署名です。若手研究者の当事者だけではなく、何卒拡散のほどをよろしくお願いいたします。<br /><br />

===================================================<br /><br />

───────────────────────────────────<br />
オンライン署名サイト【署名ＴＶ】<br />
URL     ： http://www.shomei.tv<br />
問い合せ： https://www.shomei.tv/contact/<br />
運営会社： ユナイテッドピープル株式会社<br />
───────────────────────────────────<br />
</div>]]></content:encoded>
<guid isPermaLink="false">733@http://fenrir.naruoka.org/</guid>
<dc:subject>Timely</dc:subject>
<dc:date>2009-11-15T12:59:31+09:00</dc:date>
</item>
<item>
<title>C++でビット列の性質を求める</title>
<link>http://fenrir.naruoka.org/archives/000732.html</link>
<description>あまり需要のある話ではないと思いますが、プログラムでビット列を意識しなければならなくなることがありました。ある数がビット列で表現されており、そのうちの一番右にある&apos;1&apos;の位置を求めたいというでした。例えば、20という数を2進数であらわすと、0b00010100なので一番右のビットは右から3番目にある、というような問題です。 すぐに思いつく実装としては、元の数を2で割っていき、はじめて余りが1になる回数を求めればいいわけですが、2で割るというループがあるので、大きな数の場合には時間がかかってしまいます。そういえば以前どこぞのアルゴリズム辞典で、このような問題をスマートに解決していたのをみたことがあったので、いい機会だと思い調べてみました。 結果『ビットを数える・探すアルゴリズム』という、しっかりとした解説があるページに行き着きました。これによると、右から数えて何番目に初めての&apos;1&apos;があるか、という問題は、ある数が何個の&apos;1&apos;を使って表現されているのか、という問題に帰着され(『NTZを求める』の部分)、これはうまく調整されたビットマスクとビットシフト演算、加算を使うことによってループをはるかに節約できるとのことでした。 参考にしたページにあったものが、intの型に固定されていたので、C++風にテンプレートを使って書き改めてみました。コードと使い方のサンプルを以下に掲載します。 部分特殊化を使って、ビットマスクを生成(make_mask)しています。ビットマスクの生成に関するコードは全て定数値なので、コンパイル時に静的に生成されることが期待できると思います。サンプルでは、int(32 bits), short(16 bits), char(8 bits)の型について動作確認をしています。long long int(64bits)についてもVC9で動作確認をとったのですが、codepadでは怒られてしまったのでサンプルからはずしています。 ※関連して、ビット逆転の記事を書きました。...</description>
<content:encoded><![CDATA[<p>あまり需要のある話ではないと思いますが、プログラムでビット列を意識しなければならなくなることがありました。ある数がビット列で表現されており、そのうちの一番右にある'1'の位置を求めたいというでした。例えば、20という数を2進数であらわすと、0b00010100なので一番右のビットは右から3番目にある、というような問題です。</p>

<p>すぐに思いつく実装としては、元の数を2で割っていき、はじめて余りが1になる回数を求めればいいわけですが、2で割るというループがあるので、大きな数の場合には時間がかかってしまいます。そういえば以前どこぞのアルゴリズム辞典で、このような問題をスマートに解決していたのをみたことがあったので、いい機会だと思い調べてみました。</p>

<p>結果<a href="http://www.nminoru.jp/~nminoru/programming/bitcount.html">『ビットを数える・探すアルゴリズム』</a>という、しっかりとした解説があるページに行き着きました。これによると、右から数えて何番目に初めての'1'があるか、という問題は、ある数が何個の'1'を使って表現されているのか、という問題に帰着され(<a href="http://www.nminoru.jp/~nminoru/programming/bitcount.html#leading-0bits">『NTZを求める』</a>の部分)、これはうまく調整されたビットマスクとビットシフト演算、加算を使うことによってループをはるかに節約できるとのことでした。</p>

<p>参考にしたページにあったものが、intの型に固定されていたので、C++風にテンプレートを使って書き改めてみました。コードと使い方のサンプルを以下に掲載します。</p>

<iframe class="block" src="http://codepad.org/wBUNwxDd" width="100%" height="500px"></iframe>

<p>部分特殊化を使って、ビットマスクを生成(make_mask)しています。ビットマスクの生成に関するコードは全て定数値なので、コンパイル時に静的に生成されることが期待できると思います。サンプルでは、int(32 bits), short(16 bits), char(8 bits)の型について動作確認をしています。long long int(64bits)についてもVC9で動作確認をとったのですが、codepadでは怒られてしまったのでサンプルからはずしています。</p>

<p>※関連して、<a href="http://fenrir.naruoka.org/archives/000745.html">ビット逆転</a>の記事を書きました。</p>]]></content:encoded>
<guid isPermaLink="false">732@http://fenrir.naruoka.org/</guid>
<dc:subject>Computer</dc:subject>
<dc:date>2009-11-11T13:21:44+09:00</dc:date>
</item>
<item>
<title>近況報告 -- 超電磁Pにお会いしたよ!!</title>
<link>http://fenrir.naruoka.org/archives/000731.html</link>
<description>あまりにもブログの更新が滞っていてすいません。とりあえず生きていますよ的な意味あいをこめて更新をしたいと思います。お題は『超電磁Pにお会いしたよ!!』。 まずは会ったという証拠写真(笑)を。 著作された本にサインを戴きました。なお、ネギ(ぬいぐるみ)は私物です。 超電磁Pといえば、初音ミクの人工衛星を打ち上げるプロジェクトのsomesatの中の人ですが、その界隈ではとても有名な半導体の設計者であったりします。ご本人は前者の方が真の本業といわれていました。 ことの発端はこのブログでした。somesatの衛星に搭載するカメラがらみで、ブログに掲載してあった猫カメラについてメールを戴きました。その後、超電磁Pが作られたアメリカのブロックロックでモデルロケットを打ち上げたデータ解析装置と、僕が作っているオートパイロットシステム Super Sylphideに共通点があることもあり、是非一度会いましょう、ということでお会いした次第です。お話したところsomesatが楽しそうなので、一枚このプロジェクトに咬めればいいなぁなんて思っています。...</description>
<content:encoded><![CDATA[<p>あまりにもブログの更新が滞っていてすいません。とりあえず生きていますよ的な意味あいをこめて更新をしたいと思います。お題は『超電磁Pにお会いしたよ!!』。</p>

<p>まずは会ったという証拠写真(笑)を。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/CA340133.JPG"><img alt="CA340133.JPG" src="http://fenrir.naruoka.org/archives/images/CA340133-thumb.JPG" width="400" height="300" border="0" /></a><br />
<a href="http://www.amazon.co.jp/gp/product/478983395X?ie=UTF8&tag=fenrirsblog-22&linkCode=as2&camp=247&creative=7399&creativeASIN=478983395X">著作された本</a>にサインを戴きました。なお、ネギ(ぬいぐるみ)は私物です。</p>

<p><a href="http://dic.nicovideo.jp/a/%E8%B6%85%E9%9B%BB%E7%A3%81p">超電磁P</a>といえば、<a href="http://wiki.nicotech.jp/nico_tech/index.php?%E3%82%BD%E3%83%BC%E3%82%B7%E3%83%A3%E3%83%AB%E3%83%BB%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2%E8%A1%9B%E6%98%9F%E9%96%8B%E7%99%BA%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%20SOMESAT">初音ミクの人工衛星を打ち上げるプロジェクトのsomesat</a>の中の人ですが、その界隈では<a href="http://www002.upp.so-net.ne.jp/morioka/">とても有名な半導体の設計者</a>であったりします。ご本人は前者の方が真の本業といわれていました。</p>

<p>ことの発端はこのブログでした。somesatの衛星に搭載するカメラがらみで、ブログに掲載してあった<a href="http://fenrir.naruoka.org/archives/000692.html">猫カメラ</a>についてメールを戴きました。その後、超電磁Pが作られたアメリカのブロックロックでモデルロケットを打ち上げたデータ解析装置と、僕が作っている<a href="http://fenrir.naruoka.org/archives/000567.html">オートパイロットシステム Super Sylphide</a>に共通点があることもあり、是非一度会いましょう、ということでお会いした次第です。お話したところsomesatが楽しそうなので、一枚このプロジェクトに咬めればいいなぁなんて思っています。</p>]]></content:encoded>
<guid isPermaLink="false">731@http://fenrir.naruoka.org/</guid>
<dc:subject>Timely</dc:subject>
<dc:date>2009-11-08T18:37:16+09:00</dc:date>
</item>
<item>
<title>とあるモノに組み込むセンサのデバック環境</title>
<link>http://fenrir.naruoka.org/archives/000730.html</link>
<description>以前、とあるモノに組み込む細長いセンサ基板の話を書きましたが、中身を少しずつ作ってデバックしています。ところがこのセンサ基板、組み込む先の事情で、デバック用に線を引き出すコネクタを生やすことができません。そこで以下の写真のような接続でデバックをしています。 4本ケーブルが刺さっている この写真のとおり、スルホール(メッキ処理された穴)にピンを差し込んで、デバッカと接続をしています。このピンはちょっと特赦なもので色々な変わった部品を作っているMAC8の『コンスルー(型番:XC-1)』というピン付ケーブルを使っています。使い勝手はなかなか良好で、設計の段階でスルホールの穴径さえ間違わなければ、抜き差しにそれなりの力を必要とし抜けにくくなっています。また多少大きめのスルホールで設計してしまって保持力が小さい場合は、半田でスルホール径を小さくしてしまうのがいいかもしれません(僕はそうしました)。...</description>
<content:encoded><![CDATA[<p>以前、<a href="http://fenrir.naruoka.org/archives/000717.html">とあるモノに組み込む細長いセンサ基板</a>の話を書きましたが、中身を少しずつ作ってデバックしています。ところがこのセンサ基板、組み込む先の事情で、デバック用に線を引き出すコネクタを生やすことができません。そこで以下の写真のような接続でデバックをしています。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/bow_sensor_with_XC-1.jpg"><img alt="bow_sensor_with_XC-1.jpg" src="http://fenrir.naruoka.org/archives/images/bow_sensor_with_XC-1-thumb.jpg" width="400" height="300" border="0" /></a><br />
4本ケーブルが刺さっている</p>

<p>この写真のとおり、スルホール(メッキ処理された穴)にピンを差し込んで、デバッカと接続をしています。このピンはちょっと特赦なもので色々な変わった部品を作っている<a href="http://www.mac8sdk.co.jp/mac8/parts/XXX/xc1.html">MAC8の『コンスルー(型番:XC-1)』</a>というピン付ケーブルを使っています。使い勝手はなかなか良好で、設計の段階でスルホールの穴径さえ間違わなければ、抜き差しにそれなりの力を必要とし抜けにくくなっています。また多少大きめのスルホールで設計してしまって保持力が小さい場合は、半田でスルホール径を小さくしてしまうのがいいかもしれません(僕はそうしました)。</p>]]></content:encoded>
<guid isPermaLink="false">730@http://fenrir.naruoka.org/</guid>
<dc:subject>Embedded System</dc:subject>
<dc:date>2009-10-26T23:09:57+09:00</dc:date>
</item>


</channel>
</rss>