2013年11月9日 ()

MacをDell U2713Hにつなぐ

DellのモニタにMacBookをDisplayPort経由でつないだときに、不自然なシャープネスやコントラスト強調がされてしまう問題への対策。EDIDデータをオーバーライドして、DisplayPortに対してYCbCrではなくRGBデータのみを出力するようにOS Xに指示させる。

この記事の#3027030にあるRubyスクリプト patch-edid.rb を使う。 OS X 10.9 Mavericksで動作した。

  1. DisplayPortで目的のディスプレイを接続する
  2. スクリプトを実行する
    % ruby patch-edid.rb
  3. DisplayVenderID-xxxx というディレクトリが作成されるので、
    これを /System/Library/Displays/Overrides に放り込む
    % sudo mv DisplayVenderID-* /System/Library/Displays/Overrides
  4. DisplayPortケーブルを抜挿

11月4日 (月)

Ruby 2.0

懸案だった自宅環境のRuby 2.0への移行対応を行った。

本ブログのブログエンジンや自作のスクリプト類をいまのいままでRuby 1.8で運用していたわけだが、さすがに旧バージョンのままで頑張るのも限界があろうと感じていたところにもってきて、ついにFreeBSD(ports)も Ruby 1.8をサポートアウト。待ったなしのプレッシャーのもと、連休を利用して新バージョンへの移行作業を行った。

移行先は1.9を飛ばして2.0。OS X MavericksもRuby 2.0を標準搭載してきたということもあり、わざわざ途中バージョンを経由することもなかろうということで決定。

とりあえずインタープリタやぶらさがるportsをコンパイルしなおし。 /etc/make.conf には DEFAULT_VERSIONS=ruby=2.0 とか書いてみたのだが、本当にこれで良いのかはよく知らない。

修正が必要だった場所は以下のとおり。

TMailが非対応

メール解析ライブリTMail。requireした時点で "RegexpError: /…/n has a non escaped non ASCII character in non ASCII-8BIT script" とかいうエラーを吐く。Ruby のスクリプトデフォルトエンコーディングがUTF-8 になったことと関係がありそうなのだが、ちょっとソースを追ってみて断念。TMailではなくてMailライブラリで必要なことができることがわかったので、そちらを使うように修正。

require構文の仕様変更

スクリプトの中で、同一ディレクトリにあるソースファイルを require 'foo.rb' と記述していたのが2.0ではエラーになった。どうやらrequire './foo.rb'と書かなければならないように変更したらしい。

jcode, KCODEの廃止

Ruby は1.9から文字エンコーディングまわりの仕様が大幅に変わっているので、このあたりをかなりの手間をかけて修正しなければならないのではないかと恐れていたのだが、いまのところ require 'jcode', $KCODE=UTF-8を単純に削除するだけでうまく行っているようにみえる。

あとはLC_ALL=Cな環境でUTF-8文字列を扱おうとするとEILSEQになるようになったのが落とし穴だった。コマンドラインからは動くのにcgiが落ちるので少し悩むことになった。

以上、おぼえがき。

5月29日 (水)

トラックバック機能無効化

最近ブログそのものの更新すらほとんどしていませんがお知らせです。

トラックバックスパムの投稿を多数受けるようになったので、機能そのものを無効化しました。投稿の受付も、記事のページへの表示も行いません。あしからず。(最近のコメント欄への表示のみ残します。)

2012年9月2日 ()

ブルームーン

2100年までのブルームーンの表(日本における)を作ってみました。天体暦はDE405, ΔTはhttp://maia.usno.navy.mil/ser7/deltat.preds とか http://asa.usno.navy.mil/SecK/DeltaT.html とか http://eclipse.gsfc.nasa.gov/SEhelp/deltat2004.html あたりから。

2001年 12月  1日 05h49m 
2001年 12月 30日 19h41m 
2004年  8月  1日 03h05m 
2004年  8月 30日 11h22m 
2007年  6月  1日 10h04m 
2007年  6月 30日 22h49m 
2010年  1月  1日 04h13m 
2010年  1月 30日 15h18m 
2010年  3月  1日 01h38m 
2010年  3月 30日 11h25m 
2012年  8月  2日 12h27m 
2012年  8月 31日 22h58m 
2015年  7月  2日 11h20m 
2015年  7月 31日 19h43m 
2018年  1月  2日 11h24m 
2018年  1月 31日 22h27m 
2018年  3月  2日 09h51m 
2018年  3月 31日 21h37m 
2020年 10月  2日 06h05m 
2020年 10月 31日 23h49m 
2023年  8月  2日 03h32m 
2023年  8月 31日 10h36m 
2026年  5月  2日 02h23m 
2026年  5月 31日 17h45m 
2029年  1月  1日 01h48m 
2029年  1月 30日 15h04m 
2029年  3月  1日 02h10m 
2029年  3月 30日 11h26m 
2031年 10月  1日 03h58m 
2031年 10月 30日 16h33m 
2034年  7月  2日 02h44m 
2034年  7月 31日 14h54m 
2037年  1月  2日 11h35m 
2037年  1月 31日 23h04m 
2037年  3月  2日 09h28m 
2037年  3月 31日 18h53m 
2039年 12月  1日 01h49m 
2039年 12月 30日 21h38m 
2042年  8月  2日 02h33m 
2042年  8月 31日 11h02m 
2045年  5月  1日 14h52m 
2045年  5月 31日 02h52m 
2048年  1月  1日 15h57m 
2048年  1月 31日 09h14m 
2050年 10月  1日 02h32m 
2050年 10月 30日 12h16m 
2053年  7月  1日 11h01m 
2053年  7月 31日 02h06m 
2056年  3月  2日 09h40m 
2056年  3月 31日 19h25m 
2058年 10月  2日 10h36m 
2058年 10月 31日 21h54m 
2061年  8月  1日 19h11m 
2061年  8月 31日 07h18m 
2064年  5月  1日 11h08m 
2064年  5月 30日 19h36m 
2066年 12月  2日 04h16m 
2066年 12月 31日 23h41m 
2067年  3月  1日 13h42m 
2067年  3月 31日 05h08m 
2069年 10月  1日 03h09m 
2069年 10月 30日 12h35m 
2072年  6月  1日 07h18m 
2072年  6月 30日 19h22m 
2075年  5月  1日 03h37m 
2075年  5月 30日 11h38m 
2077年 10月  2日 10h21m 
2077年 10月 31日 19h36m 
2080年  8月  1日 04h14m 
2080年  8月 30日 19h41m 
2083年  5月  2日 11h30m 
2083年  5月 31日 18h42m 
2085年 12月  1日 17h10m 
2085年 12月 31日 08h59m 
2088年 10月  1日 00h25m 
2088年 10月 30日 12h10m 
2091年  7月  1日 10h54m 
2091年  7月 30日 21h01m 
2094年  1月  2日 01h51m 
2094年  1月 31日 21h37m 
2094年  4月  1日 09h11m 
2094年  4月 30日 22h54m 
2096年 10月  2日 10h25m 
2096年 10月 31日 20h16m 
2099年  8月  1日 12h00m 
2099年  8月 31日 02h56m 

1月26日 (木)

ニコン10ピンレリーズUSBコントローラ

ニコンのデジカメは、PTP(Picture Transfer Protocol)を使うことでUSB経由でPCからの撮影操作、パラメータの変更、撮影画像の取得ができます。ところが残念ながらバルブ撮影時は(少なくともD700は)PTPによるシャッターレリーズができないようです。Camera Control Pro 2の取説にもバルブ時のレリーズができないことが記載されています。

この仕様は天体撮影にははなはだ都合が悪いので、10ピンコネクタでカメラに接続するUSBレリーズコントローラを作成することにしました。サンプルソフトウェアはホスト側のOSとしてUNIX系を想定していますが、他のOS での利用も容易だと思います。

材料

すべて秋葉原で入手可能です。三千円ちょっと。

リモートコードの分解

ニコン10ピンコネクタはニコンの専用品で、単体部品としては入手できません。そこでケンコーなどの互換リモートコードから取り外して流用します。

スイッチボックスを分解するとコードから黒、白、赤の3本のリード線が来ています。10ピン側をカメラにつないで各リード線の機能を調べます。黒はGND、白と黒を結線すると半押し、白黒赤をすべて結線するとレリーズすることがわかります。

黒: GND
白: WUP (半押し)
赤: RLS

なお、ニコン10ピンコネクタのピンアサインや機能はいろいろなところで解析されています。興味のある人は検索してみてください。

結線

リードリレーにUSB-IO基板とリモートコードを以下のように結線します。

リレーの2次側(その1) ---- リモートコード黒
リレーの2次側(その2) ---- リモートコード赤と白
リレーの1次側(マイナス) ---- USB-IO GND
リレーの1次側(プラス) ------ USB-IO J1-2

リレーの1次側はUSB-IO基板のJ1-0〜7のどれにつないでもかまいませんが、私はJ1-2につなぎました(写真の緑のコード)。深い意味はありません。 J1-2以外のポートにつないだときはソースコードを変更してください。

また、リレーとポートを二つ使えば半押しとレリーズがそれぞれプログラムでコントロールできるようになるはずです。

プログラム

このコントローラをUNIX系OSでコントロールするにはlibusbを使います。サンプルソースコードは以下のとおり(二条項のBSDライセンスつけときますが免責目的です)。FreeBSD 8.2-RELEASE で動作を確認しました。

% sudo ./rnikon [on|off]

でレリーズのオン・オフを行います。Windows用のプログラムは作りませんでしたが、USB-IO関連のサイトを検索すれば作り方はすぐにわかると思います。

2011年12月10日 ()

つかのまの新月

さて、皆既月蝕です。

記録をたどると前回ちゃんと見たのは2000年の7月16日の日曜日。その後も日本で観測できる皆既月蝕は何度かあったはずですが、記憶にありません。 Twitterのツイートでも多くの人が同じ感想を持っているようで、おそらくここ11年の間にあった国内の月蝕はほぼ天候に阻まれたのではないかと推察します。

その11年前の月蝕ですが、乙女高原で眺めました。それ以前は「月蝕なんてものは都会でみれば十分だぜ」と思っていましたがさにあらず。蝕の進行とともに現れる星々の輝きに目を奪われること夢のごとし。これを忘れられずに今回も遠征したのです。

行き先は富士山。GPVや卓越天気で皆既時間帯に一時的に天候が傾くらしいことが事前に分かっており、雲の時間・空間分布をみながら慎重に行き先を選びます。いつもの富士ヶ嶺高原は雲の中。一方で、雲の少ない平野部は満足な星空がのぞめないと考え、富士北麓の本栖湖・精進湖・西湖エリアを探索、紅葉台付近の駐車場に機材を設置しました。

ほぼ皆既の瞬間に出現する天の川はやはりすばらしい。冬のダイヤモンドの芯にぼんやりと見える赤い月はなんとも幻想的で、凍える寒さも我慢できるというものです。

富士山付近はちょうどこの皆既の時間帯に予定どおり小さな気圧の谷が通過したらしく、気づいたら観測機材にびっしり霜がおりておりました。本当は月が輝きを失うと同時に星々の世界があらわれる様をtime-lapseに撮りたかったわけですが失敗。次の機会を伺うことにします。

満月

23h36m、満月。

12月7日 (水)

12月2日 (金)

11月25日 (金)

最近のコメント


つぶやき



過去の記事



現在の星空