November 08, 2009

近況報告 -- 超電磁Pにお会いしたよ!!

[Timely]

あまりにもブログの更新が滞っていてすいません。とりあえず生きていますよ的な意味あいをこめて更新をしたいと思います。お題は『超電磁Pにお会いしたよ!!』。

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

CA340133.JPG
著作された本にサインを戴きました。なお、ネギ(ぬいぐるみ)は私物です。

超電磁Pといえば、初音ミクの人工衛星を打ち上げるプロジェクトのsomesatの中の人ですが、その界隈ではとても有名な半導体の設計者であったりします。ご本人は前者の方が真の本業といわれていました。

ことの発端はこのブログでした。somesatの衛星に搭載するカメラがらみで、ブログに掲載してあった猫カメラについてメールを戴きました。その後、超電磁Pが作られたアメリカのブロックロックでモデルロケットを打ち上げたデータ解析装置と、僕が作っているオートパイロットシステム Super Sylphideに共通点があることもあり、是非一度会いましょう、ということでお会いした次第です。お話したところsomesatが楽しそうなので、一枚このプロジェクトに咬めればいいなぁなんて思っています。

18:37 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (2) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/727

November 11, 2009

C++でビット列の性質を求める

あまり需要のある話ではないと思いますが、プログラムでビット列を意識しなければならなくなることがありました。ある数がビット列で表現されており、そのうちの一番右にある'1'の位置を求めたいというでした。例えば、20という数を2進数であらわすと、0b00010100なので一番右のビットは右から3番目にある、というような問題です。

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

結果『ビットを数える・探すアルゴリズム』という、しっかりとした解説があるページに行き着きました。これによると、右から数えて何番目に初めての'1'があるか、という問題は、ある数が何個の'1'を使って表現されているのか、という問題に帰着され(『NTZを求める』の部分)、これはうまく調整されたビットマスクとビットシフト演算、加算を使うことによってループをはるかに節約できるとのことでした。

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

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

※関連して、ビット逆転の記事を書きました。

13:21 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (1) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/728

November 15, 2009

民主党による科研費の執行停止に抗議する署名

[Timely]

お知らせです。表題のようなメールが僕のところに回ってきました。科研費とは正式名称『科学研究費補助金』のことで、日本の科学の発展に使われることを目的とした税金による補助金です。この補助金が2009/11/13の事業振り分けの結果、削減等の判断が下されました。これに関する反対運動の一環としてここで紹介する署名活動が行われているようです。

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


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【署名TV】 想いを伝え、社会を変える。
━━━━━━━━━━━━━━━━ http://www.shomei.tv/ ━━━━

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

こんにちは、署名TV運営事務局です。

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

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

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

署名プロジェクトURL:
http://www.shomei.tv/project-1343.html


=== プロジェクトの企画者 市川 憲人 様からのメッセージ ======

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

===================================================

───────────────────────────────────
オンライン署名サイト【署名TV】
URL : http://www.shomei.tv
問い合せ: https://www.shomei.tv/contact/
運営会社: ユナイテッドピープル株式会社
───────────────────────────────────
12:59 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/729

November 23, 2009

24インチのある風景

年度末に向けて色々と処理しなければならない文章作業があるので、ディスプレイ環境を増強することにしました。そこでUWXGA(1920x1200ドット)表示が可能なNANAOの24インチワイド液晶S2410Wの中古を購入してきました。

S2410W.jpg
兎に角、広いっ!

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

購入したのは秋葉原のイオシスというお店で、購入時に確認したところドット抜けや輝度オチはなし、3600時間使用のもので、およそ25K円でした。いい買い物ができたと思っています。

21:31 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/730

November 28, 2009

TeXlipseとdvioutの連携

最近、大型の文章作業をしているのですが、統合開発環境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を対象にしています。

続きを読む "TeXlipseとdvioutの連携"
01:16 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/731