2008年12月30日火曜日

Inkscape で正方形を綺麗に一列に並べる

追記 (2009.4.10) : 匿名さんに教えてもらった方法の方が簡単だった。正方形作って、タイル状にクローンすればよいとのこと。 (Edit > Clone > Create Tiled Clones ...)


矩形を描くためのツールを選択し、Ctrl キーを押しながら、斜め方向にドラッグ。

081230-002

複製

描いた正方形を Edit > Duplicate (Ctrl + D) によっていくつか複製する。並べるときは、適当に重なるように置いていく。

081230-003

 
線の太さを設定

全ての正方形を選択しておき、Object > Fill and Stroke (Shift + Ctrl + F) の Stroke styleWidth の値を 1.000 に設定しておく。

081230-004

 

整列と重ね合わせ

Object > Align and Distribute (Shift + Ctrl + A) を選択し、Align で水平に中央揃えするアイコンをクリック。

Remove overlapsH の値を –1.0 に設定し、右にあるアイコンをクリック。先ほど、Stroke style において Width を 1.0 にしたので、丁度重なる値になるように設定した。

081230-007

 

完成

081230-009

昔はこの方法を知らなかったので、カーソルで四角を微調整して配置し、手間がかかり面倒だった。 ^^;

2008年12月29日月曜日

Firefox を Chrome のようなタブ表示にしたい

Chrome のタブのデザイン

セカンドブラウザとして Chrome が定着した。しかし、あくまでもメインは Firefox 。便利なアドオンがあるうちはずっと使い続けることになると思う。 Chrome の用途は Last.fm で音楽を流したり、USTREAM柴犬を見たりすること。

Firefox はアドオンがなければただのブラウザ。どうしても使っている内にアドオンだらけになってしまう。 Chrome をはじめて触ったとき、そのレスポンスの良さが何もアドオンを追加していない Firefox を思い出させた。

Chromeはなぜ速いのか - @IT によると、

グーグルはスピードに取りつかれている。Chromeは、何かコードに変更を加えるたびに、自動的にビルドされ、テストされ、各種パフォーマンスが計測されるという。パフォーマンスが悪くなるような変更は一切加えない、というのが開発に当たって常に従ってきたルールだという

なるほど早いわけだと納得しつつ、それにも増して「いいなぁ~」と思ったのがタブのデザイン。 Firefox だと、タイトルがウィンドウの上部を陣取っているけれど、それをスパっとなくしている Chrome のデザインが気に入った。自分のように 17 インチの液晶を使っている身としては、画面は少しでも広い方がいい。

 

Firefox で Chrome のようなデザインにするアドオン、テーマ

Firefox でも同じようなデザインになるテーマはないかと思い検索。アピアランスで探したりテーマで検索してみるといくつかあるのがわかる。

 

Total ReChrome

はじめに Total ReChrome を試してみたら、残念 Chrome のようにならなかった。タイトルが上部に表示されてしまっている。う~ん、これでは意味がない。 (@_@;)

 

Chrome Package

次に Chrome Package を試したら、こちらは Chrome と同じ表示になった。 ^^ ウィンドウ上部がスッキリ!

ただし、自分の環境では右図のようにはならず、デザインが崩れてしまった。(+_+)

 

仕方がないので、メニューより ツール > アドオン > テーマにおいて、「Chromifox Adapted」を消さずに「Default」に戻した。そうしたら、デフォルトのテーマのまま左図のようにタブだけ上部に来てくれた。

https://addons.mozilla.org/en-US/firefox/images/p/26052/1221586040

1221586040 (PNG Image, 493x300 pixels) via kwout

 

 

Chrome Package によると、

Two extensions to enable Google Chrome lookalike mode in FF.
The first, called Topper, moves tabs to the top of the browser, …

The second, called Chromifox Adapted, is a theme to make everything look (more) like Google Chrome.

(太字は引用者による)

とあるので、Topper だけ有効になっているのだろう。

 

タブカタログで補完

正直最初、タブが一番上にいってしまったので操作しずらくなった。 ^^; しかし、思っていたよりも早くこの状態に慣れた。

インストールしていたけれど、あまり使ってなかった タブカタログ (Tab Catalog) を使うようになったも予想外。

タブを切り替える方法は、これまで直接タブをクリックするだけ。しかし、Chrome Package によりちょっとタブが遠くに行き、「少し不便だな」と感じるようになったら、それを補完するように自然と Ctrl + TAB のショートカットへと手が伸びていく。一つ大きなメリットがあれば、人間結構環境に適応するために変容していくものだと実感。 ^^;

 

Tab Mix Plus でタブの文字の色を調整

後は、未読のタブの色が目立つように、Tab Mix Plus を使って調整をした。

 

追記 (2009.1.12) :

ウィンドウを操作するボタンが押せないとき

何かの拍子に、Firefox を再起動したらウィンドウが非常に小さくなってしまい、サイズの変更ができなくなってしまった。 (+_+) 閉じるためのボタンも最大化するためのボタンも隱れて操作できず。

以前に、キーボードでウィンドウを操作したことを思い出し、ショートカットでウィンドウを最大化。アドオンから Topper を無効化し再起動し、ウィンドウのサイズを変更した。

あ~、びっくらこいた。 (@_@;)

Google デスクトップ の インデックス が作成される場所を変更したい

Google Desktop の調子が悪い

以前、レジストリが壊れて Windows の再インストール を余儀なくされた。そのとき、よくわからない理由で ドライブレター C: D: が逆になってしまい、直すのが面倒だったのでそのまま使っている。

最近、Google Desktop がコンピュータの起動時にエラーが表示されるようになった。それが理由なのか、クイックファインドが正常に機能しなくなり、とても不便な思いをしている。 (+_+)

---------------------------
Google デスクトップに関する問題
---------------------------
データベースをアップグレードできませんでした。ドライブに十分な空き容量がないか、他のプログラムによりデータベースがロックされています。 空きディスク容量を増やすか、Google デスクトップをアンインストールしてから、再インストールしてください。

081229-001「ドライブに十分な空き容量がない」ということは思い当たる。ドライブレターが逆になってしまったときに、容量が小さい D ドライブが通常の C ドライブに相当するようにシステムが扱うようになってしまったからだ。

容量に余裕があるドライブにインデックスを作成するのが無難なようだ。

 

インデックスが作成される場所を変更

「インデックスが作成される場所を自分で変更できるかな?」と思い、タスクトレイより設定を探したけれど見つからず。 (+_+)

調べてみたら、google tool達 にレジストリを変更する方法が書かれていた。

HKEY_CURRENT_USER\Software\Google\Google Desktop

data_dir の上で右クリック

変更

 
レジストリについて

ところで、レジストリ – Wikipedia とは、

Windowsの基本情報やソフトウェアの拡張情報などが保存される場所..

レジストリ情報の設定・更新・削除は、通常はOSやアプリケーションソフトウェアによって自動的に行われるが、レジストリエディタ (regedit.exe) の使用により、手動での編集も可能である。

危険性についても認識しておく。

手動によりレジストリの編集は、ソフトウェアに設定を変更するインターフェースが実装されてない場合、… システム設定情報を直接修正するため、レジストリエディタによる編集はオペレーティングシステムの動作に異常をきたす、システムが起動しなくなるなど高いリスクを伴う。

(同上より)

 

実際に変更してみる

レジストエディタを起動すると (Windows キー  + R > regedit) 、画面左側のツリーに「マイコンピュータ」をルートにして、4 つのフォルダが表示される。今回修正するのは、HKEY_CURRENT_USER 以下にある設定。

Microsoft Windows レジストリの説明 によると、HKEY_CURRENT_USER は、

現在ログオンしているユーザーに関する構成情報のルートが格納されます。… この情報は、ユーザーのプロファイルに関連付けられています。

というように、各々のユーザごとにあるようだ。

今使っている PC は自分しか使っていないので、data_dir の値を次のように変更した。

C:\google\desktop\

 

インデックスの再作成

Google デスクトップが終了していなければ一旦終了させ、起動しなおす。 (\Program Files\Google\Google Desktop Search\GoogleDesktop.exe)

タスクトレイの Google Desktop のアイコンを右クリック >

インデックスの作成 > インデックスの再作成

を選択する。

しばらくして、先ほど作成した C:\google\desktop\ を覗いてみると順調に作成されているようだ。 ^^ また、インデックス ステータス を見ても問題ないように見える。とりあえず、この状態でしばらく様子を見ることにした。

しかし、手動で設定値を上書きしてしまったので、今後 Google Desktop がアップデートしたりしたときに何かあるといけないので気をつけておこう~。

2008年12月25日木曜日

メーカーによる漢方薬の香りの違い - これで同じ「葛根湯」なの?

1. 漢方薬はお湯に溶かして飲むと、良い香りがする

漢方薬を飲むとき、お湯に溶かしてから飲んでいる。慣れてくると、香りが良いので、お茶の代わりに飲むこともある。

自分は葛根湯をお湯に溶かして飲む場合、それほど苦く感じないので何も入れない。苦く感じる場合は、メープルシロップを少量入れると飲みやすい。

風邪の引きはじめには「葛根湯」。葛根湯は一般の薬局でも手に入れやすい。

病院で処方される場合、製造メーカーが「ツムラ」であることが多い。

 

2. 同じ「葛根湯」なのに酷いにおい

薬局で安い価格の葛根湯を買ったことがある。

同じようにお湯に溶かして飲もうと思い、湯呑みを口に近付けた瞬間…

えっ?なんだこのにおいは… (@_@;)

水で飲んでいたときには気がつかなかったけれど、「良薬口に苦し」とは全く方向性の違う、

「これ飲んでいいの?」

と感じさせる一種独特なにおい。がんばって飲んでみたけれど、二度と飲みたいとは思わなかった。

 

3. メーカーによる成分の比率の違い

なぜこんなに香りが違うのかと思い成分を比較してみた。

ツムラ 根湯エキス顆粒(医療用)の成分は、以下の円グラフのようになっていた。

まずくて飲めなかった「某」葛根エキスは、ツムラのものほど細かく成分が書かれていなかった。円グラフにすると以下の通り。

比較しやすいように、ツムラを某葛根エキスの成分が表示されている順番に合わせると、比率の違いわかる。

ツムラはカッコンの比率が某エキスよりも少ないようだ。

カッコン自体がまずいだろうか?それとも、添加物の種類が違うので、これがあの独特な匂いの原因なのだろうか?

同じ「葛根湯」と名付けられているが、味と匂いが違うとは思わなかった。他にもいろいろと葛根湯を出しているメーカーがあるので、今度飲み比べてみよう。とにかく、まずい漢方薬を飲むのはこりごり… (@_@;)

 

4. 結構いい加減な医師の処方

葛根湯 – Wikipedia によると、

  • 葛根湯医者落語
    落語の枕話の一つ。「頭が痛い」「腹が痛い」「目が痛い」などのどんな患者にも葛根湯を処方して誤魔化してしまう。しまいには付添いの人にまで「まあ、いいから」と葛根湯を飲ませるという藪医者の話。

別に藪に限らず、まぁ、医者なんてそんなもの。あれだけの患者を日常業務でまともに診るなんて普通に考えて無理。

2008年12月24日水曜日

Firefox のアドオン TinEye で画像の検索 - 顔は覚えているけど、名前が出てこない

1. TinEey で類似した画像を検索する

TinEye は、類似した画像を検索するサービス。

ブラウザのプラグインを使うと、素早く検索できる。

しかし、上手い使い方を見つけられず、アドオンからはずそうかなと思っていた今日この頃。

 

2. TinEey が役に立った例

TinEey がはじめて役に立った感じたのは、

の記事を書いた記者について調べていたときのこと。

画像検索

記者の名前を目にしたとき、

「ん?どっかで見たことがあるような…」

と思った。名前で画像検索してみるとその中の一枚に以前見た憶えのある顔がある。

どこかの記事で読んだことがあるはずだが、残念ながら思い出せない。。

TinEye

081224-001早速、画像検索した結果の上で、

  • 右クリック > Search Image on TinEye

を選択して検索した。その結果、

に辿りつくことができた。

「顔は思い出せるのだけれど、名前が出てこない」

というように、「この画像、どこの記事で目にしたかな?」というときに利用して、はじめてこのアドオンの有用性に気がついた。

2008年12月23日火曜日

インタビューをまとめるときに参考にした記事

1. インタビューをまとめる作業は難しい

08-12-24_18-47最近、人にインタビューをして、記事にまとめる作業をした。

メモ用紙として、A4 の用紙を 1/4 の大きさにカッターで切り、それを何枚も用意。話を聞いている間にペンで走り書きした。

インタビューの際中、書いたメモを相手にも見えるように机いっぱいに広げ、メモを参照しながら話を進めた。レコーダーも持っていたが、操作をミスにより録音されていなかった… パタッ(o_ _)o~†

インタビュー後に、書いたメモを見ながら FreeMind で大雑把に書き散らし、記事の流れを作るために適当に並び変えて、文章になるようにメモを配置した。

インタビューの時間は 50 分くらいだった。 FreeMind にまとめながら、情報の裏を取るのが 1 時間。文章に起こすのが数時間。トータルで結構長い時間を要した。 (@_@;)

 

2. インタビューの記事には、スタイルが色いろある

インタビューをまとめるために、

に書かれている記事を参考にした。

これまで、

「インタビューの記事が、どのような構成で書かれているのか?」

という視点で見たことがない。改めて読み直すと、インタビューをする側の人間により、文章のスタイルがかなり違うことに気がついた。

例えば、

の記事。この記事は、「質問に対して答える」という形式が貫かれており、テープ起こしのような印象を受ける。話されている内容について、ある程度知識がないと、何が言いたいのかスッと頭に入ってこない。インタビューを受けている人の意見を正確に扱いたい場合には向いているが、読み物としては適していない。

これに対して

の記事は、内容の背景が説明されている。インタビューを受けた人の言葉をそのまま引用しているところもあれば、インタビューした内容を説明の中に溶け込ませている箇所もある。文章のバランスが良いと感じた。

読み物として、わかりやすく、内容をイメージしやすいと感じた記事がもう一つある。

話の流れが上手いし、小説を読んでいるかの印象を受けた。インタビューを受けている人の言葉を、文章へ挿入する方法も絶妙。興味深かったのは、内容の背景となる説明の仕方が、インタビューを受けた人が語っているのか、それとも調べた結果そうであったのが混沌としていること。なぜか、それが読みやすさにつながっている。

岡田有花さんに学んだインタビュー術 | IDEA*IDEA によると、

インタビュー記事をまとめるときに最も重要だと個人的に感じているのが「聞いた順番に書かないこと」である。うまくない記事のほとんどはテープおこしをしたかのようにインタビューで話した順に書かれている。これではどこがポイントなのかわからないぼんやりした記事になる。

それよりも、個人的に響いたポイントをずばり最初にもってくることだ。論理的に書こうとしなくていい。説明はあとでいいのだ。

ゆかたんの記事をみていると文章の最初にいきなり脈絡のない「生の声」が出てくる。そしてその台詞の次に説明が来る。

文章の中でもっともインパクトがあるのは人の台詞、と個人的に思っている。生の言葉だからこそ普通の文章よりも読者に訴えかける力が強い。ただ、この台詞を普通の文章中に使ってしまうとすらすらと読めてしまいインパクトに欠ける。

 

関連サイト

Google Apps でメーリングリストの作成

1. HP の作成に XREA+ と VALUE DOMAIN

知人が、ある市民団体の HP の管理人をすることになった。そこで、HP を作成するために、VALUE DOMAIN でドメインを購入して、XREA+ でサーバをレンタルすることを勧めた。

田舎の小さな団体なので、それほどアクセスが多くなる予定はない。転送量はも多くならない。

知人は、なるべく安く HP の運営をしたいとのこと。SAKURA Internet と迷ったけれど XREA+ にした。

 

2. メーリングリストに Google Apps を使う

最近、上記の知人が、メーリングリストを運用したいと言ってきた。メールは、携帯電話を利用する。

ITmedia Biz.ID:システム管理者に頼らなくても使えるお勧めメーリングリストサービス」によると、

Google AppsにはGoogleグループ自体はサービスとして含まれていませんが、ドメインの管理画面から独自ドメインでメーリングリストを作成することができます。

メーリングリストといっても、このGoogle Appsのメーリングリストは登録したアドレスに届いたメールをほかの複数メールアドレスに転送してくれるだけで、Googleグループのようにアーカイブの保存機能などの機能はありません。

Google Apps について、以前からチラホラと耳にしていた。

同記事には、携帯電話で、簡単にメーリングリストを作成することのできる

が紹介されていた。しかし、Google Apps が気になる。メーリングリストの機能だけではなく、他の機能についても知りたい。ドメインを取得していれば無料で使うことができるので、試してみることにした。

Google Apps によると、

Google Apps では、家族、クラブや同好会、国際的な団体などで、メンバー同士がオンラインでコミュニケーションを図ることができます。このサービスはすべて無料です。ウェブメール、チャット、カレンダーなどの機能を独自ドメイン (例: sasaki@your-group.jp) で提供して、グループの交流を深めたり、オンラインでの活動を促進することができます。

説明によると、Google の各 Web アプリを、独自ドメインで運用できる。

この分野に、これからも Google が注力し続けるだろうから 、Google Apps を使い、メーリングリストを作るのは悪くない。メーリングリストは、Google Apps の中では、単なる一機能に過ぎない。しかし、無料で利用できるし、今後の Google の展開次第では、他のサービスも有効活用できそうな気がする。

 

3. メーリングリストの設定方法について、参考にしたサイト

参考にしたのは、以下の二つの記事。

 

4. DNS の設定項目

面倒そうなのは、ドメインの設定。

背景となる知識がなかったので、以下を参考にした。

DNS の設定では、とりあえず、下記の項目を押さえておく。

A
ホストのIPアドレス
www IN A 192.168.1.10

CNAME
ホスト名のエイリアス(別名)
www IN CNAME backup1.example.com.

MX
ドメインのメール・サーバ名
(ドメイン名) IN MX 10 mail.example.com.

主なDNSレコードの種類- @IT より)

 

5. Google Apps に申し込み

既に Value-Domain で、独自ドメインを取得している。そのドメインを使い、無料で Google Apps を使える Standard Edition に申し込み をした。

適当に必要な事項を記入し、管理者アカウントを設定したら、最初に「ドメインの所有者を確認」をクリック。

081222-007

サーバに HTML ファイルをアップロードして確認する方が、一番お手軽。

  1. 「HTML ファイルをアップロード」を選択し、
  2. テキストエディタで指定された内容のファイルを作成して FTP でアップロード。

その後、「確認」ボタンを押す。

081222-009

 

6. Value-Domain と Google Apps で、DNS の設定

次に、メールサーバの設定。

Value-Domain のメニューより、 予め「サーバーアカウントの登録・管理・購入」を選択。サーバの名前を控えておく。

次に、DNSレコード/URL転送の変更 を選択。「ドメイン登録情報変更」で、対象のドメインを選択して「変更」。

081222-012

ここからの設定の意味について、よく理解していない…。 (@_@;)

「DNS 設定」の「自動設定」において、上記で控えたサーバ名を選択。「設定フィールド」は、一行目のだけ残して後は削除し、

081222-013

Google Apps + 独自ドメインで自分だけのメールアドレス に書かれていた、

mx aspmx.l.google.com. 1
mx alt1.aspmx.l.google.com. 5
mx alt2.aspmx.l.google.com. 5
mx aspmx2.googlemail.com. 10
mx aspmx3.googlemail.com. 10
mx aspmx4.googlemail.com. 10
mx aspmx5.googlemail.com. 10
txt @ v=spf1 include:aspmx.googlemail.com ~all

を追加した。

Google Apps の「メールの配信設定」に戻り、「指定された手順を完了しました」のボタンを押すと、

081222-011

確認中の表示がされ、

081222-016

しながら待っていたら、アップデート中となり、無事、設定終了。

081222-017

これでメールが使えるようになった。

 

7. Google Apps でメーリングリストの作成

Google Apps の「ユーザーアカウント」より、「メーリングリストの作成」を選択。メーリングリストを作成して、受信者を追加していく。

081222-019

 

8. その他

Google Apps のダッシュボードにおいて、「サービスの追加」をクリックすると、Google App Engine を追加できる。

Salesforce との連携も興味深い。

081223-022

といった記事を見かけた。しかし、

という動きを見ると、こういった流れはどんどん加速していくようだ。

2008年12月21日日曜日

Haskell などで関数の型宣言がないときの混乱 (+_+)

Haskell では関数を定義するとき、その型を宣言しなくてもよい。ただし、後々のことを考え、ソースコードを読みやすくしておくために明示的に型宣言を書いておくことが勧められる。

 

Miranda と Haskell

なぜ関数プログラミングは重要か」では、説明が「Miranda に準じた」表記で書かれている。Miranda – Wikipedia によると、

研究目的ではない商用を目指した最初の純粋関数型言語であった。…

後発の Haskell は多くの面で Miranda に似ている。

Haskell と同様にというか、Haskell が影響を受けたと言うのが正確なのか知らないけれど 、 ^^;

Miranda は強い型付けをする言語だが、構文上は明確な型の宣言を必要としない。関数の型が明示されない場合、インタプリタは引数の型や引数の使われ方から型推論を行う。

(同上より)

 

引数が関数のとき、その関数はどのようなもの?

なぜ関数プログラミングは重要か」における説明では、関数の型が明示的に宣言されていない。そのため途中で頭が混乱してしまった。 (+_+) 具体的にどこでつまずいたのかということの前に、今更ながら当り前だけれど、関数の定義を読むときに最初に注目すべきところを確認しておく。

例えば、「与えた引数をそのまま返す」関数 hoge を定義する。

*Main> let hoge x = x
*Main> :t hoge
hoge :: t -> t

上記のように関数の型を調べると、hoge 関数を型 t に適用すると型 t が返される。

次に、hoge 関数に引数を一つ増やした hoge2 関数を定義する。hoge2 は、第1引数に関数 f 、第2引数にその関数 f を適用する対象を与えると、その結果を返すとする。

*Main> let hoge2 f x = f x
*Main> :t hoge2
hoge2 :: (t -> t1) -> t -> t1

関数の型を調べると、「型 t に対して適用すると 型 t1 を返す関数」を第1引数に与え、第2引数に型 t を与えると、型 t1 が返さえることが示される。

続けて同様に、hoge2 関数の引数を一つ増やした関数を定義する。hoge2 では引数として与える関数が x を 1 つ引数に取るだけだったが、今回は x, y の二つを引数として取るとする。

*Main> let hoge3 f x y = f x y
*Main> :t hoge3
hoge3 :: (t -> t1 -> t2) -> t -> t1 -> t2

関数の型を見れば、第1引数の関数の型が 2 つの引数を取ることがわかる。

 

関数適用の優先順位

さて、今は簡単な関数を定義する側だったので、関数の型を明示的に書かなくても関数の定義を見れば一目瞭然。引数の f は関数で、 x, y はその関数に適用する関数だと自分自身が一番わかっている。しかし、これが他人の書いた関数でもう少し複雑になり、部分適用やセクション、そして関数合成が定義に使われていると途端にわからなくなってしまう。(@_@;) 特にすぐに迷い道へと誘われる原因は、引数として与えられた関数。型宣言がないと、

「この引数は f と書かれているので多分関数なのだろうけれど、いったい引数をいくつ取るのだろうか? 部分適用されて使われているけれど、結局最終的にどういうこと?」

という風に。 ^^;

そういう関数の定義を見ると、どういう風に読めばいいのだろうかと思って悩んでしまう。(@_@;) しかし、基本に戻れば当り前のことだけれど、結合の優先度が高い「関数適用」に最初注目しなくてはいけない。例えば、A Gentle Introduction to Haskell: Functions には map 関数の定義が書かれており、

map                     :: (a->b) -> [a] -> [b]
map f  []               =  []
map f (x:xs)            =  f x : map f xs

これに対して次にような説明がされている。

関数適用はどんな中置演算子よりも高い優先順位をもっています。そのため、2 つめの等式の右辺は (f x) : (map f xs) のように構文解析されます。

(同上より、太字は引用者による)

そして、結合性に関して、

関数適用は、 e1e2 と書く。適用は左 結合性をもつので、(f x) y の括弧は省略することができ る

(Haskell 98 Report: 式 より, 太字は引用者による)

というを頭に入れておけば、先ほどの hoge3 関数を誰がどういう意図で書いたのかを知らずに見たとしても、

hoge3 f x y = f x y

の定義を見れば、f は関数で x, y はその引数であり、二つの引数を取ることがわかる。つまり、関数の引数がどのようなものであるかを知るには定義から推測するということ。てゆうか、なぜこんなにも当り前のことをちゃんと自分は認識していなかったのだろうかと反省する今日この頃… ^^;

 

つまづいたところ

ちなみに「なぜ関数プログラミングは重要か」でつまづいた箇所は、「3. 関数の貼り合わせ」における「リストのすべての要素を二倍にする関数」の説明で書かれている doubleandcons 関数の定義。前後の説明の流れはとりあえず無視して doubleandcons 関数だけを取り出して考えると、この関数は「リストのすべての要素を 2 倍にする関数」の中で「第1引数で与えられた要素を 2 倍して、第2引数で与えられたリストの先頭に追加する」役割を担っている。その部分だけ Haskell で書くと、以下のようになる。

doubleandcons = fandcons double
    where double n = 2 * n
          fandcons f el list = f el : list

この doubleandcons 関数は、次のように foldr の中で使われることによって、リストの全ての要素を 2 倍にする関数 doubleall が定義されている。

doubleall = foldr doubleandcons []

 

はじめこれを見たとき、何が何だかわからなかった。型宣言がされていなことと、部分適用がそれぞれの関数に使われていたので、最終的にどうなるのか途中でイメージできなくなってしまった。 (@_@;) 先ほど述べたように、型宣言がされていなくても定義を見ればその関数がどのようなものであるのかわかる。しかし、読んでいるときそのことになかなか気がつけず…。

今になるとなぜそんな誤解をしたのか呆れてしまうが、最初上の関数の定義を見たとき、doubleandcons の定義である fandcons double というのは、その下にある fandcons 関数の第2引数 el まで部分適用しているのかと思ってしまった。理解している人にとってみればなぜそんな勘違いをしたのか不思議に思うだろうけれど、double 関数が引数を一つ取るので、fandcons 関数に double を適用したとき、double の引数を fandcons 関数の第2引数に対応させて読めばいいのかな?と思ってしまったのだ。(+_+)

081221-001

fandcons の定義を見れば、

f el

と書かれていることより、f は関数で引数を一つとり、それが doubleandcons の定義の中で double に対応していて、doubleall 関数の定義では fandcons 関数の第1引数まで部分適用されているので、後は el と list の二つの引数を与えれば値が求まる関数であると素直に読めばよかったものを… ^^;

また、doubleall の定義における foldr の型は、

*Main> :t foldr
foldr :: (a -> b -> b) -> b -> [a] –> b

だから、第1引数は二つの引数をとる。よって、fandcons を使って doubleandcons を定義するのであれば、fandcons 関数の後ろ二つの引数のいずれかでも部分適用されていては型が合わないということは明白なのに…。

 

型宣言を書くなら…

結局、混乱した原因は、部分適用と型が明示的に宣言されていなかったことなので、どうしてもわからなくなかったら、そのまま無理して考えずに型宣言をして、なおかつ、部分適用の形をとらないで書いてから考えればよかったかも。 (+_+)

doubleall :: Num a => [a] -> [a]
doubleall xs = foldr doubleandcons [] xs

doubleandcons :: Num a => a -> [a] -> [a]
doubleandcons x xs = fandcons double x xs
    where double n = 2 * n
          fandcons f el list = f el : list

2008年12月20日土曜日

Haskell の Prelude にある関数の定義を読みたい - ソースコードどこ?

1. 関数を検索する

a. Hoogle

Haskell のライブラリのドキュメントを読むときは、Haskell Hierarchical Libraries から辿ることができる

Haskell の関数を検索したいときは、Hoogle を利用している。

例えば、ここで foldl を検索すると、以下の URL のドキュメントが表示される。

URL に latest とあることから、最新のドキュメントが表示される。

ドキュメントには、ソースコードへのリンクが含まれる。

 

b. Hayoo!

Hayoo! でも、Haskell の関数を検索できる。

先ほどと同じく、foldl を検索したら、以下の URL のドキュメントが表示された。

Hayoo! の検索結果は、Hoogle と違う。こちらはには、ソースコードへのリンクがない。

 

2. 前のバージョンのドキュメント

以前のバージョンのドキュメントを見たい場合は、以下より各バージョンのドキュメントを辿れば良い。

例えば、foldl の定義を見ると、バージョンによって定義が少し違うことが分かる。

foldl        :: (a -> b -> a) -> a -> [b] -> a
foldl f z0 xs0 = lgo z0 xs0
             where
                lgo z []     =  z
                lgo z (x:xs) = lgo (f z x) xs

以前のバージョンの定義。

foldl        :: (a -> b -> a) -> a -> [b] -> a
foldl f z xs = lgo z xs
	     where
		lgo z []     =  z
		lgo z (x:xs) = lgo (f z x) xs

横道にそれるが、foldl の変数の定義の違いを見ると、新しいバージョンの定義では変数が覆い隠されるないように別名が使われている。こういう変数名の付け方は慣習になっているのかな?

 

3. ドキュメントが表示されない場合

Hoogle, Hayoo! で検索しても、ドキュメントを開けない場合、以下を参照。

2008年12月16日火曜日

FILCO Majestouch「黒軸」に最適なキー入力が繰り返されるスピード - 連続性して二文字目が入力される間隔を少しだけ長くする

1. 黒軸のスイッチは、慣れると心地よく高速に入力できる

メカニカルキーボードのキースイッチを作っているメーカーとして有名な Cherry. スイッチの特性によって、キー入力の感覚が全く異なる。スイッチは特性に応じて色分けされており、「黒軸、茶軸、青軸、赤軸、白軸」と呼ばれる。

Cherry 製のスイッチを採用したキーボードを購入する前は、「黒軸」にしようか「茶軸」にしようか迷っていた。今は、完全に黒軸派となっている。

黒軸を採用したキーボードを買ったのだから、黒軸贔屓になるのが人情。しかし、黒字のキーボードを購入して良かった。HHKB Lite2 を使っていたときのように、指の関節が痛くなることが全くない。

打鍵感は、痛快、爽快で、キー入力はめちゃ快適 ^^

黒軸のキーボードの練習をしていたとき、底打ちさせないように最小の力でキーを打てるように練習していたことがある。

今は全く気にせず、底打ちさせてガシガシとキーを打っている。特に、頭の中に文章が出来上がっているときは、一気に文章を入力するので、底打ちさせることが多い。最近では、底打ちも心地よく感じるようになった。

 

2. キーを深く押し続けると、連続して同じ文字が入力されてしまう問題

ただし、たまに入力ミスをしてしまう。特に、左手の小指で `a’ を押しているとき、`a’ が二回出力されてしまう。

なぜだろう?

よくよく考えてみたら、小指は他の指と比べて指の力が弱い。そのため、人指し指や中指でキーを押すときに比べて、かえってキーを押す力が強めになっていた。その結果、キーを深くストロークさせてしまい、キーを戻すタイミングが遅れる。そのため、連続で `aa’ と入力されていた。

 

3. 2文字目の入力がすぐに入力されないようにするためのキーボードの設定

081216-002キーボードを黒軸に替える前、キー入力に対して、なるべく早く文字が入力される設定にしていた。

  • コントロールパネル > キーボード

の設定において、

  • 「速度」タブの入力文字 > 表示までの待ち時間

の設定を「短く」すると、キーを押しっぱなしにしたとき、2 文字目が入力される時間が短かくなる。そのため、最大に短い設定よりも、スライドバーの間隔1つ分、左にずらした。

この設定に加えて、「連続で繰り返し入力される間隔」を遅くした。これにより、文字を連続で削除するときに、目で追えるスピードになった。「表示の間隔」を適度に「遅く」すると良い。

 

4. カーソルの操作が難しい

黒字を使っていて、未だに入力が難しいのは、カーソルを操作するときの力加減。

薬指で右方向へカーソルを動かすときが難しい。薬指に入れる力加減も、小指に負けず劣らず弱い。そのため、力を入れずに押し続ける力を一定に保ちにくい。

カーソル以外のキーは、基本的に押さえ続けることがないので問題ない。

 

5. 赤軸が気になる

最近、ZERO Tenkeyless「ゼロ テンキーレス」 が発売された。このキーボードの使い勝手はどうだろう?

テンキーありのゼロは、触った瞬間、自分には合わないと感じた。カチカチしていて粘りがあり、すぐに疲れると侖った

ゼロよりも気になるのは、MX-BOARD G80-3600LYC

チェリー社渾身の新型MXスイッチ(キー)『赤軸』を市場で初採用!
従来型の黒軸をベースに押し下げ圧が限りなく緩やかに上昇する
滑らかなタッチを実現。スイッチング動作の感触を限りなくゼロ
にする事で、リニアな軽快感を重視。
茶軸を超えた軽いタッチを実現!

当初、黒軸がもう少し軽い方がいいかなと思っていた。このテンキーレスが出たら是非触ってみたい。

打鍵感は同社製としては軽めで、「RealForce似になった」(ショップ)という。…

「赤軸を使った後に黒軸を使うと、重くてびっくりする」

(CHERRYの「赤軸」キーボードが発売に、キータッチはRealForce似? より)

うーむ… (@_@;)

文字がキートップではなく、側面に印字されているタイプもある。

2008年12月15日月曜日

Python における関数型プログラミング のための functools, itertools (1) – Haskell と同じ名前の関数たち

1. 関数型プログラミングのための functools, itertools モジュール

Python 2.7

Python の標準ライブラリには、関数型プログラミングにとって重要なモジュールがある。

itertools, functools は、

の階層の中にある。

9. Numeric and Mathematical Modules には、これまで何度か見た decimal モジュールが含まれる。

Python には、限定的ではあるけれど、関数型プログラミングをサポートしており、Haskell などから借りてきた 2 つのモジュールがある。

Python - Wikipedia によると、

The design of Python offers limited support for functional programming in the Lisp tradition. However, there are significant parallels between the philosophy of Python and that of minimalist Lisp-family languages such as Scheme. The library has two modules (itertools and functools) that implement proven functional tools borrowed from Haskell and Standard ML.[64]

(太字は引用者による)

functools, itertools の関数については、これまでに 2 つ試した。

 

Python 3.2

追記(2012/05/22): Python 3.2 では、9. Functional Programming Modules 8. Numeric and Mathematical Modules から独立している。

 

2. functools, itertools モジュールの関数名は、Haskell の関数名に似ている

itertools のドキュメントにざっと目を通すと、関数の名前に親近感を感じる。(@_@) Haskell に同じ名前の関数がある。

Haskell の分類に倣い、関数を分類すると、

上記は、全て itertools の関数なので、

イテレータ

が絡んでくる。

 

3. 無限リストを扱う

cycle

cycle 関数は、コンテナオブジェクトから要素を取り出す。

引数は `iterable’ .

itertools.cycle(iterable)

引数の iterable は、反復可能オブジェクトのこと。

E. 用語集 によると、

反復可能オブジェクト (iterable)
コンテナオブジェクトで、コンテナ内のメンバを一つづつ返せるようになっているものです。

簡単に言うと、子どもである要素を管理する、親みたいなオブジェクト。

反復可能オブジェクトの例には、 (liststr、および tuple といった) 全ての配列型や、dictfile といった非配列型、あるいは __iter__()__getitem__() メソッドを実装したクラスのインスタンスが含まれます。…
イテレータ (iterator)配列 (sequence)、および ジェネレータ (generator) も参照してください。(同上より)

上記に関しては、以下を参照。

cycle 関数は、引数に渡された、反復可能なオブジェクトを、無限に繰り返すためのイテレータを返す。例えば、range 関数で数値のリストを作り、そこから無限に要素を取り出す。

from itertools import *

it = cycle(range(4))
for i in range(10):
    print it.next(),     # 0 1 2 3 0 1 2 3 0 1

Python では、無限リストを扱うために、イテレータで要素を1つずつ取り出すことにより実現している。

Haskell の cycle の書き方は、以下の通り。

*Main> take 10 $ cycle [0..3]
[0,1,2,3,0,1,2,3,0,1]

以降、Python のコードは、上記と同一モジュールに書くので、import は省略する。

 

repeat

repeat 関数の引数には、オブジェクトを渡す。 iterable である必要はない。

cycle と違いは、オプションとして、繰り返す回数を指定することができる。

for x in repeat('A', 10):
    print x,            #  A A A A A A A A A A 

リスト内包表記で書くと、

print [x for x in repeat('A',10)]

Haskell における repeat は、次のように書く。

*Main> take 10 $ repeat 'A'
"AAAAAAAAAA"

 

4. 部分リストを取得する

takewhiledropwhile は、述語が真の間、それぞれ要素を take または drop する。引数は iterable .

for x in takewhile(lambda x: x < 5, range(10)):
    print x,             # 0 1 2 3 4

for x in dropwhile(lambda x: x < 5, range(10)):
    print x,             # 5 6 7 8 9

Haskell では、takeWhile の `w’ は大文字なのに対して、Python は小文字であることに注意。

先ほどと同じくリスト内包表記を使うと、

print [x for x in takewhile(lambda x: x < 5, range(10))]
print [x for x in dropwhile(lambda x: x < 5, range(10))]

この関数の説明には predicate (述語)という言葉が使われていた。

Make an iterator that returns elements from the iterable as long as the predicate is true.

(takewhile の説明より)

述語に関しては、以下を参照。

 

Haskell の場合

Haskell の takeWhiledropwhile は、以下の通り。

*Main> takeWhile (< 5) [0..10]
[0,1,2,3,4]

*Main> dropWhile (< 5) [0..10]
[5,6,7,8,9,10]

 

5. 要素のグループ化

groupby

groupby 関数は、反復可能なオブジェクトを渡すと、要素をグループ化してくれる。

groupby の `b’ は小文字であることに注意。

for k,g in groupby([1,2,2,3,3,3,4,5,5]):
    print k, list(g)

結果は、グループ化したときのキーと、その要素がリストとして返される。

1 [1]
2 [2, 2]
3 [3, 3, 3]
4 [4]
5 [5, 5]

オプションとして関数を渡すと、返されるキーを変更することができる。

for k,g in groupby([1,2,2,3,3,3,4,5,5], lambda x: str(x)+":hoge"):
    print k

結果は、

1:hoge
2:hoge
3:hoge
4:hoge
5:hoge

 

Haskell の group と groupBy

Haskell では、 Data.ListgroupBy がある。

groupBy :: (a -> a -> Bool) -> [a] -> [[a]]

group 関数は、groupBy の特殊な関数。

The groupBy function is the non-overloaded version of group.

group 関数の型を確認しておく。

group :: Eq a => [a] -> [[a]]

型を見ると、関数の引数の制約は、EQ クラスのインスタンスであること。 group 関数は、同値検査によって要素がグループ化される。

Prelude Data.List> group [1,2,2,3,3,3,4,5,5]
[[1],[2,2],[3,3,3],[4],[5,5]]

これに対して、groupBy 関数は、より汎用的になっている。要素をグループ化するときの基準となる関数を第 1 引数に与える。

Prelude Data.List> groupBy (\x y -> x == y) [1,2,2,3,3,3,4,5,5]
[[1],[2,2],[3,3,3],[4],[5,5]]

または、次のように書ける。

Prelude Data.List> groupBy (==) [1,2,2,3,3,3,4,5,5]
[[1],[2,2],[3,3,3],[4],[5,5]]

グループ化する基準を関数で与えることができるので、次のように、複雑な基準でグループ化できる。

Prelude Data.List> groupBy (\x y -> x+1 == y) [1,2,2,3,3,3,4,5,5]
[[1,2,2],[3],[3],[3,4],[5],[5]]

 

6. その他の関数

functools, itertools の中には、上記以外に関数が存在する。名前を列挙すると、

  1. 全く動作の想像がつかないものから、
  2. map, filter, zip, slice のようなお馴染みの関数に接頭辞 `i’ が付いたものや、
  3. combinations, permutations, product のように具体的な計算の意味が分かるものまで様々。

2008年12月13日土曜日

Firefox のアドオン Menu Editor でコンテキストメニューをすっきり整理 - 必要ないものは隠す

1. コンテキストメニュ-の表示項目が多すぎる

081212-001Firefox のアドオンをたくさん入れていると、コンテキストメニューが大変なことになる。右の写真は、Firefox で右クリックしたときのコンテキストメニューの表示。これだけ表示されても、実際に使う項目はほとんどない。

例えば、

「戻る、進む、更新、中止」

は、デフォルトで表示されるが、一度も使ったことがない。これらが表示されると、選択したい項目を探すときに目障りとなる。

不必要なものは表示しておきたくない。頻繁に利用するものは、目立つようにしたい。例えば、Make Link というアドオンはよく利用する。しかし、 コンテキストメニューから探して、選択するのに一苦労。 (@_@;)

 

2. Menu Editor でコンテキストメニューの項目を非表示にする

アドオン SnapCrab_NoName_2012-11-26_13-49-32_No-00Menu Editor を使うと、コンテキストメニューに表示される内容を、カスタマイズできる。

アドオンの画面から、はじめて Menu Editor の設定画面を開くと、コンテキストメニューを表示したときに表示される項目に、チェックが付いている。

チェックをクリックして × 印に変更すると、その項目がコンテキストメニューから削除される。

081212-005

設定画面が小さいので、項目がたくさんある場合は設定しにくい。アドオン画面を別ウィンドウに開いてから Menud Editor の設定を開けば、設定を少しづつ「適用」しながら調整できる。

追記(2014/9/6)-Menu Editor から Menu Filter へ乗り換えた

 

設定の結果

設定した結果、コンテキストメニューの表示は、以下のようになった。

081212-004

これにより、先ほどの Make Link を選択する操作において、迷うことがなくなった。

Wired-Marker も良く使うアドオン。この項目の選択も、素早くできるようになった。 ^^

081212-002

コンテキストメニューの設定は、後回しにしていた。もっと早くやっておけばよかったと後悔。

めちゃ快適になった。 o(^^)o

2008年12月12日金曜日

Google Reader で綺麗な画像を素早く閲覧

Color Management

以前に Firefox で画像を綺麗に表示する方法を試したことがある。

Mozilla Links 日本語版: Firefox 3.1 でカラープロファイルが有効になる によると、

スキャナやカメラなどのキャプチャ機器でディジタル画像を作成すると、画像メタデータを含めることができます。これはそのカラーコードが標準カラー定義にどう対応するかを示すものです。このマッピングはカラープロファイルと呼ばれ、 キャプチャ機器から“見た”色を正確に再現するための重要な情報が含まれています。

この情報を活用して画像を見るためには、ロケーションバーで about:config を利用して「gfx.color_management.enabled を true に設定」(同上より)する必要がある。お手軽な方法としては、Color Management というアドオンを使うのが楽。

これを有効にして画像を一度見てしまうと、元の画像を見る気が失せる。Tumblr などの画像を中心としたサイトを見ているとその差が一目瞭然。色の鮮やかさ、色彩感が全く違う。しかし、その反面、自分の PC のように性能がそれほど良くないマシンだと、画像の表示がワンテンポ遅れてしまう。特に Google Reader で RSS 経由で見ていると顕著。ざーっと、画像を一覧しようとすると、スクロールさせるスピードに表示がついて来てくれない。もちろん、Color Management を有効にしていなければ問題はない。スルスルと画像を表示させることができる。

 

Configuration Mania

追記 (2011.4.26) : Configuration Mania をインストール。

  • 設定 > ブラウザ > ページ表示制御 > カラーマネジメント > モード

において「有効にする」を選択。

 

solipo

以前に solipo を利用したことがある。(cf. solipo で polipo)

solipo を見たら、

solipo 0.07  [ver. 0.07 / 2008.11.19] polipo build 20080907 (1.0.5 pre-release) を適用

少し前に新しいバージョンが出ていたようだ。やはり、画像の表示ということに関しては、solipo を使った方が早い。

 

Google Reader Prefetch

これに加え、Greasemonkey のスクリプトである Google Reader Prefetch More for Greasemonkey (cf. Firefox で効率的に Tumblr) もチェックしたら、

Last update Dec 5, 2008 — Installed 1,087 times.

こちらも最近更新されていたようだ。

これで以前より少し快適になったかな?

 

追記 (2008.12.14) :

Firefox の設定

about:config で network.dns.disableIPv6 を true にしておく。

追記 (2008.12.19) :

ツール > オプション > 詳細 > ネットワーク > オフラインデータのページキャッシュの値を 0 にする。

アドオン Fasterfox Lite を使って微調整。

ピアノ曲で癒されたい

落ち着く音楽はないかな? (2) の続き。

最近、Healing ラジオ – Last.fm を BGM として流していることが多い。ヒーリング・ミュージックというと、田舎の CD 店だと微妙にあやしいコーナーに配置されているけれど ^^; 、Last.fm の Healing とラベルが付いているものはジャンルが幅広く、ちょっと疲れたなぁ~と感じているときや、リラックスしたいときにバックで流していると心地良い。

そんな中で、また優しく綺麗なピアノ曲に出会った。

 

YouTube - gregmaroney さんのチャンネル にも何曲かアップロードされており、こちらの曲もお勧め。

YouTube - View From A Hill

 

関連サイト

2008年12月10日水曜日

古いビデオカメラの動画を PC へ取り込む - S端子 ? DV ?

古いビデオカメラ

親父が古いビデオカメラを持ってきた。どうやらビデオ編集をしたいようだ。自分はビデオに疎いので、調べてみたら 8 年前の Canon FV2 という機種らしい。

うへぇ~、すごい値段。(@_@;)

 

PC への接続

S 端子

親父曰く「側面に S 端子が付いているので、そこから映像を出力して PC に取り込めないのか?」と。自分はとにかくビデオ編集なんて、カメラで動画撮影したものを Windows ムービーメーカー で少しだけいじったことがあるだけなので、色々な規格からしてわからない。あぁ~調べるの面倒そうだ…。 (+_+)

では、まず S 端子から。名前くらいは聞いたことがあったけれど、何なのかよくわかっていなかった。S端子 – Wikipedia によると、

テレビ受像機ビデオテープレコーダなどで用いられる映像信号入出力用のコネクタの規格のひとつで、Sはセパレート(Separate)の略である[1][要出典]。S1/S2映像出力、S1/S2映像端子、S1(S)映像、Sビデオ、S映像など様々な表記法がある。

なるほどセパレートの S だったのか。で、何がセパレートしてるかというと、

NTSCなどのコンポジット映像信号を、輝度信号(同期信号も重畳)と信号の2系統に分離 (Separate) して伝送することからこのように呼ばれる。

(同上より)

細かいことはよくわからないけれど、とにかく映像を出力するためのものであると。音声を出力するためには別のケーブルを必要とする。

親父の PC の構成は「親父の自作 PC の組立て」に示してある通り。ビデオ入力なんてものはない。こういうときは「ビデオキャプチャ」とか言うものが必要になるのかな?と思いつつ、価格.com – ビデオキャプチャ で情報収集。外付け、内蔵、値段もピンからキリまで。内蔵にするなら、PCI が余ってるので、それに対応したものを買えばいいのかなと考えながら、他にも検索してみると、ニュース検索 Google 検索: ビデオキャプチャ には、USB の製品が最近よくでているみたい。USB ならお手軽でだし、値段も少し安いのでこれにしようか。

 

DV

しかし、ここでビデオカメラに関する古い記事 (2002/05/31)を読んでいたら、

最近発売されたDVカメラの多くには「AD-DA変換機能」が搭載されている。AD-DA変換機能とは、アナログ信号(映像/音声)をデジタル信号に変換、またはデジタル信号をアナログ信号に変換する機能を指す。

(【特集】裏ワザ! DVカメラ活用術 - 撮影だけじゃもったいない (4) AD-DA変換機能を活用しよう より)

価格.com - 『ビデオの編集方法について教えてください。』 CANON FV2 +(AK-520) のクチコミ掲示板 によると、

I-linkが搭載されてるはずですから
その端子とPCをI-link同士で接続します(PCにIEE1394端子が必要)
であとは何かしら編集ソフトを買ってくるとか
WindowsXPならデフォルトで簡易カット編集のソフトが内蔵されてたような。…

「え? I-link が搭載されているの?」と思い説明書を読むと、「DV だと劣化なく録画できる」というような旨が書かれていた。

DV – Wikipedia によると、

1995年に発表された(実質的に)SDテレビ画質デジタルビデオの規格のひとつ。家庭用カムコーダー用のminiDVと、据え置き型デッキ・業務用の標準DV(ラージカセット)の、2種類のサイズのカセットテープが存在する。

  • 多くの機器が、IEEE 1394端子経由でデータを直接PCへ取り込んだり、PCからテープに書き戻したりすることができる。
  • 多くのノンリニアビデオ編集ソフトウェアやDVDオーサリングツールは、DV機器との連携機能を持っている。
  • ここではじめてこのビデオカメラがカセットに録画していることに気がついた。 ^^;

    更に、IEEE 1394 – Wikipedia を読んだら、

    洗練されたSCSIコマンド体系をベースにしていることから接続が安定しており転送効率が高いとされ、USB2.0に比べCPU負荷が低く、400Mbpsの規格であっても実効転送速度で勝る。

    その性格上、様々なデータをやりとりできるため、FireWirei.LINK(アイリンク)、DV端子などの複数の名称が使われるようになった。

    あ~、DV って IEEE 1394 のことだったのか。(@_@;)

    ということで、ビデオカメラに挿す方が小さい端子で、PC に挿す方が普通の大きさの端子である IEEE 1394 のコードをつなげたら、勝手にビデオカメラが認識され「ムービーを取り込み」という選択肢が表示されるので、それを選択するだけでよかった。

    パタッ(o_ _)o~†

     

    今ってどうなの?

    ちになみに、2008.12.10 現在における 価格.com - ビデオカメラ 売れ筋ランキング のを見ると、CANON iVIS HF11 が 1 位だった。

    さすがにデザインに隔世の感がある。^^;

    入出力端子 を見ると、

    HDMIミニコネクター(19ピン:出力のみ)、AVミニ端子(φ3.5mm 4極ミニジャック:出力のみ)、外部マイク入力端子(φ3.5mm ミニステレオジャック)、ヘッドホン端子(φ3.5mm ミニステレオジャック、AVミニ端子兼用)、コンポーネント端子(特殊D端子:出力のみ)、USB端子(mini-B、Hi-Speed USB対応)、メモリーカード接続端子(特殊多ピン)、バッテリー端子(特殊4ピン)、DC入力端子(φ3.4mmジャック)

    あれ? IEEE がない。(@_@;) また規格かわったのかな? 価格.com - 『動画をPCに取り込む時』 CANON iVIS HF11 のクチコミ掲示板 によると、

    動画を取り込む方法は私の考えでは…
    1、USB経由
    2、I-LINK経由
    3、SDカード経由
    だと思うのですが、早くて綺麗に動画を取り込むにはどうすれば良いでしょうか?

    HF11に限らずAVCHDカメラにはIEEE1394端子は付いていません。ですので、単純に使いたくても使えない、代わりにUSBを使っているだけです。…という事で選択肢は必然的に1か3が残りますがその中で、多分3あたりがいいんじゃないでしょうか。

     

    AVCHD

    また知らない言葉がでてきた。AVCHD – Wikipedia によると、

    (Advanced Video Codec High Definition, エーブイシーエイチディー)とはハイビジョン映像をビデオカメラで記録するための規格の一つであり、パナソニックソニーの商標である。

    なるほど、時代はハイビジョンですか。そりゃ、パワーのあるマシンが欲しくなるわけだ…。 (@_@;)

    ぼくはカメラについている動画機能で十分だな ^^;


    関連記事