ヤター! iPodデッキできたよー!!(^ε^)

Posted on : 31-12-2011 | By : sino | In : Hacking, LifeHack

今年も残すところあと1日となりました。皆さまいかがお過ごしでしょうか?最近、すっかりハードウェアづいている高梨です。

ところで、「iPod classicのサイズって、昔のカセットテープとだいたい同じじゃね?」と思ったことはないでしょうか?私はあります。なので、中古の車載用カセットデッキにiPodを組み込めないものだろうかと常々思っておりました。

「そんな手間かけるんだったら、それなりの製品があっべぇ」とお思いの方もいらっしゃるでしょう。そう、実際あるんですが、

  • FMトランスミッターは音質が悪い。お値段高めのものは音もいいのかもしれませんが、以前買ったことのある2〜3千円のものは、残念な音しか出ませんでした。
  • カセットテープの形をしたアダプタは、壊れやすい。これもモノによるのかもしれませんが、ひと夏入れっぱなしにしておいたらカセットデッキもろとも使えなくなったことがあります・・・。音質はFMトランスミッターよりはかなりマシですが、機構上どうしたってカセットテープレベルです。
  • 私の車にはCDプレーヤがすでについていたので、音楽を一度CD-Rに焼けばいいとも言えます。が、それはめんどくさい。ここはギークらしく(?)iPodから直接再生することにトライしてみたい!

などなどの理由により、今回の改造に挑戦することにしました。

貧者の物品調達所w、Yahoo!オークションをチェックしてみると、だいたい送料込みで1,500円から2,000円くらいで入手できそうなことがわかりました。このくらいなら、壊れたところで諦めがつきますし、成功したらめっけもの、くらいに考えて、サクっと落札。

そのカセットデッキがこちらになります。下に並んだボタンをよくみると AUX と書かれているものがあることがおわかりいただけると思います。AUXとは何かというと、auxiliaryの略で、元は「予備の、補助の」という意味ですが、ここでは外部音楽プレーヤからの入力を受け付けられることを意味します。要するに、iPodのイヤフォン信号を、このデッキのAUXに繋げてやればいいわけです。

商品が届き、iPodが本当に入るかをチェックした写真がこれ↓

ビンゴ!思ったとおり、厚さはピッタリでした。幅は若干iPodの方が狭いのですが、まあそこは入ればヨシということで。iPodの操作ダイアルは外に出し、この状態のまま操作できるようにします。

また、カセットを挿入すると、当然奥に動くようにできているので、それを防ぐためにワイヤーで固定します。ちょっとわかりづらいですが、ステレオミニジャックもiPodの穴と一致するよう、取り付けています。

この段階で、一旦マイカー(トヨタ Bb)に取り付けられるかチェックしてみることにしました。こういった車の改造は初めてでしたので緊張しましたが、なんとかパネルを外すことができました。

すると、なんとも私らしい痛恨のミスが発覚! 私の車は前述の通りトヨタ車なのですが、このテープデッキはマツダ車用なのでした・・・。マジカヨ orz

がしかし、こんなことでメゲる私ではありません! 気を取り直して、トヨタ車用「逆カプラ」をやはりヤフオクで落札。逆カプラというのは、車からのコネクタを社外品(車メーカー以外の機器)に接続するための部品です。それをハンダ付けした写真がこちら。

これで、車への接続はできるようになったのですが、ここで問題なのが「いったいAUX端子ってどこにあるねん?」ということでした。が、ぐぐってみると、このようなページを発見!私のデッキにも、上記接続線の他に16ピンのソケットがあります。なので、以下の要領でハンダ付けしてみました。

最初、6番ピンと9番ピンを1kΩの抵抗で直接ブリッジしたのですが、それだと、チューナー(ラジオ)モードに切り替えてもすぐAUXモードに戻ってしまいます。要するに、AUX入力を使うタイミングで、何か別のスイッチで6番と9番を抵抗経由で接続しなければならないのでした。

でも、それはやはり不便。iPodを入れたら自動でAUXモードに切り替わって欲しいものです。

なので、またまたヤフオクでこのスイッチをゲット。

組み込んでみた様子がこちらになります。iPodとうまく接触し、スイッチが動くよう、腕を加工しています。

上述のAUX入力にミニジャックからの銅線ハンダづけし、蓋を閉めたところでデッキの改造は完了です。前面からの外観は全く変わっていません。

 

そして、いよいよ車に取り付け。果たして期待通り音が出るでしょうか・・・?

キタ━━━━━━( ∀ )━━━━━━!! 出ました!・・・って写真じゃもちろん分かりませんが、私の好きなK-POPが結構な音質で流れています。オーイェー! (ただ、若干ですが、高音部がシャリシャリする感じはあります。iPodはイヤフォンで聴くことを想定して作られているはずなので、周波数分布にバイアスがかかっているのかもしれません。この辺りは妥協するか、別途ローパスフィルタを組み込むかですね・・・。)

以上、サラサラっといかにもすんなりできたかのように書きましたが、実際には試行錯誤の繰り返しでした。とりかかってから完了するまで、約2週間かかっています。もちろんこれにかかりっきりだったわけではないものの、かなりの時間を費やしてしまいました。。。暇じゃないとできませんね。w

ひょっとしたらマネをする方がいるかもしれないので、あらかじめお断りしておきますが、

この記事に書かれていることは、一切無保証であり、この改造を行ったことによる、全ての事故・破損・障害について、私は責任を一切負いません。

ということをご了解いただいた上で、ポイントを挙げるとすれば

  • カセットデッキのソケットはよく確認して車種を間違えないこと。ここをミスると、私のように逆カプラを取り付けなければならなくなってしまいます。
  • デッキにAUXモードがあることを確認すること。
  • 少ないとはいえ、若干のハンダ付け作業は必要。
  • カセットデッキは、「壊れてもいいや」くらいの気持ちで購入すること。今時カセットデッキなんて中古でしか手に入らないでしょうし、そもそもが正規の使い方ではないので、この心構えは重要です。

というわけで、オーディオに関していえば文句ない状態にはなりました。・・・が、リアシートやトランクが、ゴミやらジャンクパーツやらで埋まっており、そちらを片付けた方が快適なことは言うまでもありません。。。orz 今年はカブにもよく乗りましたけど、同様によく働いてくれた愛車に感謝をこめて、今更ですが大掃除することにします。みなさま良いお年を!

好っきやなー、スキャナ!(^ε^) あるいはクラウドスキャナ再挑戦!の巻

Posted on : 21-11-2011 | By : sino | In : Hacking, LifeHack, 読書道

カメラで写真を取ることにはほとんど興味はないのですが、文書を電子化することにかけては目がない高梨です。スマホのカメラも、写真を取る機械としてよりも、ほとんどメモを手軽に取る道具としてしか使っておりません。

かなり以前、こんなエントリを書きましたが、やはりというか、自己満足に終わってしまい、ほとんど活用しておりませんでした。

が、前回も書いたように、タブレット端末での書籍・紙データの閲覧に「覚醒」してしまったため、「自炊生活」を始めることにしました。いや、この際だから証拠書類としての紙以外はすべて電子化してしまおうかと目論んでおります。

まず、今身の回りにある「紙」についてですが、これは大きく以下のように分類できます。

  • 書籍
    • 仕事で使うもの(=経費扱いになるものw)
      • 技術書・・・厚い本が多い。電子化できれば協働者と共有できるなど、メリットも多い。
    • 私用で買ったもの
      • 文庫・新書・・・冊数では圧倒的多数。たぶん総数では1,000冊くらいある。1冊1冊は小さいが、チリ積も状態。
      • ハードカバー・単行本・・・どちらかというと、持っていること自体に自己満足を覚える書籍。w 一部を除き再読することはあまりない。図書館に寄付してもいいかも。
      • 漫画・・・あまり冊数はないけど、一応取っておきたい。
  • 書類
    1. 証拠書類 ・・・契約書・領収書・納品書・レシートなど、紙の状態で取っておくことに意味があるもの。廃棄することはできない。
    2. 各種通知書類・・・紙自体は廃棄してもいいが、中の情報が重要なもの。卸値表・FAXで受けた書類など。
    3. 勝手に億られてくるカタログの類・・・一度目を通せばほぼ不要。電子化の必要もなし。

ただし、技術書の大多数は先日業者に頼んで電子化が済んでおりまして、電子化が必要になるのは、「文庫・新書」「漫画」「各種通知書」です。そこで前者2種についてはドキュメントスキャナ、後者についてはスマホのカメラかこのスキャナを使って電子化することにしました。

ドキュメントスキャナがあれば、書類用にも兼用すればいいのではないか、と思われるかもしれません。が、このスキャナにはドキュメントスキャナとは異なるある特長があります。

それは「SDカードを内蔵できる」という点です。それのどこが特長なんだ?とお思いかもしれませんが、SDカードが内蔵できるということはEye-Fiが使える、ということで、PCに繋げなくても、このスキャナ単体で読み取った結果をEvernoteにアップロードすることができます。そして、Evernoteには、画像内の文字をかなりの精度で読み取り、後で検索できるようにしてくれる、という非常に優れた機能があります。

経験上、「A4一枚の紙」が一番なくしやすいものです。いや、捨ててしまうことはないにしても、とにかくどこかに紛れやすい。ファイルなどに閉じておいても、どのファイルに閉じたかがわからなくなる、という感じです。であれば、PCを立ち上げていなくても、スキャナにセットするだけで読み取り、Evernoteに上げてくれるこのスキャナがベスト。以前書いたエントリでも、それを目論んではいましたが、

  • 電池がすぐ切れる
  • やはり外付けのアダプタは外れやすい。
という点であまり使い勝手のいいものではありませんでした。

書籍の電子化、いわゆる自炊は、どちらかというと私用のためなので、いつやってもいい作業です。とにかく本に埋もれた部屋をなんとかするためと、タブレット端末での閲覧をしたいがためのことですから。

さて、方針が見えてきたところで、早速スキャナを購入しました。といっても皆さんご存じのとおり、ピンからキリなら、必ずキリの方を選ぶのが貧乏性の私です。w まずヤフオクをチェックし、中古のScanSnap S510を1万円で落札。ジャンク扱いの品でしたので動くか不安でしたが、xsaneで所期の動作をすることを確認。あと、前述のコンパクトスキャナ EXMODE ScanBit S-45 がアマゾンでなんと77%オフの2,980円で出ていたので、即購入。内蔵するEye-Fiは以前のものを流用することにしました。ということで計15,000円ほどでスキャナについては準備ができました。

自炊には、書籍をどう分解するか(ほとんどの場合は裁断機を使うでしょうが)という課題がありますが、こちらについてはまた今度。

 

電子書籍スゴすぎだろワロタwww

Posted on : 13-11-2011 | By : sino | In : Hacking, 読書道

おそらく本もロクに読まず、こんなつまらないブログをお読みの暇人の皆様こんにちは。w 仕事柄、というか個人的な興味が大半ですが、デジモノには目がない高梨です。

さて、世間ではやっと故スティーブ・ジョブズ氏の追悼モードからTPPに話題が移っており、そんな中ではありますが、「うは、やっぱiPadすげぇwww」と思ってしまったことが最近ありました。

というのも、手持ちの技術書を自炊屋さんに頼んでPDF化してあったのですが、それを読む機会がなく、ディスクの肥やし、いやクラウドの肥やしになってしまっており「このままじゃせっかく本買ってその上金かけて電子化したの意味ねーよな」とか自分でも思っておりました。が、ふと思いたち、iPad2に入れて読んでみたんですね。

愕然としました。

「今更何を?」とお思いの向きもあるかもしれませんが、なんかこう、今までとは全く違った読書体験でした。

何が違うかというと、まず頭に入っていくスピードが違う。普通に読んでいても速読しているような気分です。読んでいるのは技術書ですから、説明が理解できればいいわけで、人生の機微やユーモア、エンタテイメント性を求めているわけではありません(あってもいいとは思うけど)。それで技術書というとどうしても無味乾燥なイメージがあり、ついつい敬遠してしまう傾向がありましたが、これだけスイスイ頭に入ると逆に爽快です。

それから紙の書籍にはない、この「インタラクティブ」な感じ。読んでいる行為そのものが楽しくなります。私は人並以上に本が好きですし、テクノロジーについて知ることも好きですが、その私でさえ、技術書を読むときは「教科書」を読まされているような気がして、趣味の読書よりは不熱心になってしまいます。ですが、iPadなどのタブレットマシンで読むのは、そのイメージを払拭してくれます。今まで全く新しい方法で知識を得るというのは、それ自体大変興味深い。

「ならパソコンで読むのと変わらなくね?」と思ったあなた。そう、私もそう思っていたので、PDFをクラウドに入れっぱなしにしていたんです。でも、PCでPDF読むのって正直骨が折れません?ページを繰るのにボタンをクリックしたりスクロールバーをドラッグしたり・・・。あと、目の玉からの距離が遠いので、「読書」している気分とはほど遠いものがあります。が、タブレットを手に持って、スワイプしながら読み進めるのは、操作性・視認性の面から、はるかに「快適」です。

そして、私は日常的にブログやWebサイトをチェックしており、PCのモニタで文章を読むのにも慣れている方なのですが、iPadで書籍を読むのは、それともまた違った体験です。まず当たり前ですが、書籍ですから余分で目障りな「広告」がない。そして、これも当然ながらハイパーテキストでもないので、「リンク」や「ボタン」もない。要するに、文章そのものを読み込むことにぐっと集中できるわけです。紙の書籍でさえ、「片方のページ」という余分がありますが、それさえもないという点では、紙より優っていると言えるかもしれません。

・・・などとつらつら書いているうちに思い出したのですが、どうやら最近新会社を設立されたらしい私のアップル師匠のところで、初代iPadに触れた時まず感じたのは

んー確かに新聞や雑誌のビューア、あるいは書籍を読むんだったら秀逸ですね。でもそれだけじゃ勿体ないハードでもあります。

ということでした。それから1年半かかって、今更自分で感激しているわけですからアホな話なのかもしれません。

今のところ、電子化しているのは技術書の類だけなのですが、小説やドキュメンタリーなどだったらどうなのかなぁ。それに、紙書籍を電子化するときは、裁断するのが常識になっていますが、本当に非裁断ではできないんだろうか。なんかいろいろまたワクワクのタネが増えてきました。

人肌寂しくなってきたので、ふと「愛とは何か」なんてことを語っちゃってみたりする。

Posted on : 19-10-2011 | By : sino | In : Hacking, 雑考

や、そんなに高尚でも「かくかくしかじかである!」的な結論があるわけでもないんですがね。例によってオナニーエントリなのでその辺りはご了承ください。

ええとまず、仕事柄「パソコンが壊れたのでなんとかしてくれ」という依頼を多く受けます。そのために弊社があるようなわけなんで当然なんですが。で、たいてい「あー、これはもうダメですねー、買い換えましょう」という話に(やや意識的にw)持って行ったりします。その仕事が済んで「じゃあ古いパソコンどうします?」となったとき、さりげなく「もし不要ならば弊社が無料でお引き取りしますが」と言い添えるようにしています。

これはもちろん「修理・再生して新たに売る」ことも目論んでの提案なのではありますが、壊れてしまうようなPCは当然年式も古く、よほどの美品でないと他のお客様に使っていただくことはできません。それよりもむしろ、感情論として「今まで一生懸命ご主人様に尽くしてきたのに、壊れてしまったからと言って廃棄されてしまう機械が不憫でならない」という気持ちの方が、どちらかというと強いんですね。

実際、そうしてお引き取りしたPCは中古品として売ったという実績は今までのところなく、弊社のインフラ(設備)として余生を過ごしてもらっています。例えば、弊社のファイアウォールは12年前に発売されたパソコンを今も再利用して使っていますし、しばらく前まで寝床で使っていたノートPCは同じ機種の別の箇所が壊れたものを繋ぎあわせた「ニコイチPC」でした。

そういう心掛けのせいか、私自身が購入して使ってきたPCでパーツも含め、「壊れた」ものというのはほとんどありません。自分でいじったり、床に落としたりして「壊して」しまったものはいくらかありますが。自分のPCが壊れないでお客様のPCがいい感じに壊れてくれるのはなんとも都合のいいことではありますが、実際のところそうなんです。

逆もまた真なりで、これは実感としてあるんですが、故障する率が高いのはどちらかというとフラストレーションを感じながらパソコンを使っているお客様の方が多いような気がします。「人間の脳波が機械に影響する」なんてことはおよそ非科学的なのであまり言いたくないのですが、そんなこともあるんじゃないかと思うくらい感じます。

ええと、俺は何を言いたかったんだっけ。そうそう「愛とは何か」ということでした。

で、ですね、上の「機械も愛情を持って使えば応えてくれる」ということとも微妙に関連するんですが、じゃあもっと狭義な(人間に対する)「愛って何」ということについて考えてみたいんですね。

35にもなって独身でおりますと、さすがに周りが「結婚、結婚、ケッコン、コケコッコ・・・」とニワトリのように騒ぎ始めます。お察しの通り、同居している親からは「早く嫁さん見つけろ」と顔を合わせるたびに言われておりますし、友人・後輩からも同様です。

そこで、考えるんです。したり顔で私にかく申す彼ら自身は、奥さんに愛情を持って接しているのだろうかと。幸い、私の周りにいるやつらは生粋の日本男児でありまして、自分の細君を人前で褒めそやしたり、人目もはばからず抱擁したり接吻したりするような軽佻な輩はおりません。むしろ彼らの口をついて出てくるのは揃いも揃って「うちのヨメさんはさぁ、カクカクシカジカでほんと参るよ」という愚痴なんですね。最初はノロケのうちかと思っておりましたが、どうやら本気で悩んでいるらしい。「じゃあ結婚なんてしなければよかったじゃないか」と言いたくなるくらいの愚痴りようなんであります。

ではありますが、そこで私が「ああそうだよな、お前の奥さんはシカジカでほんと最悪だよな。いや全く同情するよ。」などと言おうものなら、流血沙汰の喧嘩になりかねないことは、いくら空気が読めない私でも重々承知しております。同情して不興を被るというのも奇妙な話ではありますが、これまた事実。

以上のことから、つらつら考えてみるに「愛(情)ってのは、算段(理屈)を超えた何か」なんだな、ってことです。なんか平凡なオチなんですけどもう少し説明します。

分かりやすいところで「子供に対する愛情」ってのを考えてみましょう。私にはもちろん子供はおりませんが、一応親というものがあり、人並みに育てられておりますので、親の愛情を受けた経験はあります。

では、親というものが「自分の子供はこれこれこういう長所がある一方でこういう短所もあって、でも総合的に考えて、長所の方が大きいからうちの子供はかわいい」といった計算をして子供を愛するものでしょうか? いや、絶対に違うと思います。世にもよく「できの悪い子ほどかわいい」と言われている通り、むしろ欠点があるからこそ愛情が増すということもあるのではないでしょうか。

「恋と愛の違い」なんてのも女子向け雑誌で話題になったりしますが、その違いというのもそんなところにあるんじゃないかと思います。つまり「恋」ってのは、相手の長所・美点「しか」見えていない状態。「私のカレって、背が高くって、イケメンで、お金持ってて〜」というアレです。ま、実際そう露骨にノロケることはないのかもしれませんが。w

あるいは、「◯◯マニア」「△△のファン・追っかけ」「□□オタク」に対する世間一般の冷めた見方の原因というのもそういうところに因を発するものかもしれません。つまり、「こいつら、こんなにモノ(あるいは他人である芸能人、アニメキャラなど架空の人物、etc…)に対して血筋を上げてるけど、本当はもっと愛情を注ぐべき対象があるんじゃないの?」という言葉にならない不信感です。その不信感というのももっともで、概してなんちゃらマニアはその対象の美点しか注目しません。つまり彼らの愛情は「説明可能」なのです。説明されてもその良さが「パンピー」にはわからないことは往々にしてありますが、とにかく本人には理由が分かっています。

私が壊れたパソコンを引き取るのは、それが「処理速度が速く、大容量で、消費電力も少なく、つまり私にとって素晴らしいものだから」ではないことは先程述べた通りです。もっと早くいうと、機械に対して人に対するのと同じような「人格」を見出していると言ったらいいでしょうか。

そこで鋭い方なら、「じゃあお前が飯の種にしているという『ソフトウェア』に対してはどうなんだ?」と問われるかもしれません。それは「いい質問ですねぇ。」 以下、ちょっと長くなりますが、私の言いたいところなのでだいぶ遠回りになりますが、お暇な方はおつきあいください。

面白いことに「プログラム(またはソフトウェア)を・・・」に続く述語は人それぞれでありまして、ある人は「作る」と言い、ある人は「組む」、またある人は「上げる」と言ったりします。私はそれらのどれも使わず、一貫して「書く」という言い方をしています。ここは結構こだわっているので例外はないと思います。

なぜそんな言い方にこだわっているかというと、将来どんなに開発ツールが進化しても、おそらくプログラミングの本質は「書く」ことに他ならないと思うからです。そして、書くというのは、(このブログもそうですが)本質的に「文字を並べて意味を成す」ことです。

世に新聞・雑誌・書籍・論文などいわゆる「書き物」の類は数多くありますが、それらは言うまでもなく「人間に」読まれることが前提で書かれています。ではプログラムは、というと、第一義的にはコンピュータに読まれることを前提としています。それは当然のことで、コンピュータが読んでくれないプログラムは動作せず、売り物にならないからです。ただ、一義的にはそうなんですが、では動作しているプログラムは書かれる人によって違いはないのか、というと、これはもう歴然とあるものなんです。書く人によっては「美し」くて「文学性」や「ユーモア」を感じることさえあります。

だから、私はプログラムを「書く」という言い方にこだわっています。「作る」や「組む」だと、物理的に機械を作っているようで(成果物はそれに近いんですが)あまり好きではありません。

さて、私にとっては「書き物」であるプログラム自体が愛情の対象にならないのは、ラブレターの書き手を思い焦がれることはあっても、その便箋自体を恋慕するわけではないのと同様です。プログラムを見て「こいつ頭おかしいだろ!」と毒づいたり、「うぉっ、クールな処理してんなー」というのは常にそれを書いた人に対してです。

なので、意外かもしれませんが、プログラムそれ自体に「人格」を見出すことはほとんどありません。あるとすれば、たいていは顔も知らないその書き手に対して同業者としての判断を下す、というところでしょうか。あるいはLinuxを作ったリーナス・トーバルズやRubyの生みの親のまつもとさんに対して、冗談まじりに「教祖」と崇めたりすることはありますが、それは「愛情」とはかなりかけ離れた感情です。

というわけで、今日の白熱教室では、人が何かを「愛する」というのは、その対象が「良いから」とか「素晴らしいから」といった「説明可能な理由を持つ」からだけではないということが見い出せたとても意義深いものになった。東京・上海そしてハーバードの君たちに感謝したい!ありがとう!

サーバ移行に便利な iptables 2 行

Posted on : 10-06-2011 | By : sino | In : Hacking

IT配管業の皆様こんにちは。へなちょこ鯖管の高梨です。

さて、既存のWebサービスを新サーバに移管したり、一時的に別サーバで動かしたい、なんていうときは、どうされていますか?

  • サービスを止めずに、
  • データの整合性を保たなければならず、
  • さらにDNSの設定は諸般の事情によりいじれない

という過酷な条件のもと、なんとかしなければならなくなったら、もう泣きたくなっちゃいますよね。

そんなあなたにご紹介したいのが、以下の iptables 2行。ご存じの方も多いかもしれませんが、私的に大きな収穫だったのでお知らせしたいと思います。

以下、1.1.1.1が旧サーバ、2.2.2.2 が新サーバ、HTTP(80/tcp)を移管したい、とします。1.1.1.1上で実行します。

# iptables -A PREROUTING -t nat -p tcp -d 1.1.1.1 --dport 80 -j DNAT --to-destination 2.2.2.2:80
# iptables -A POSTROUTING -t nat -p tcp -d 2.2.2.2 --dport 80 -j SNAT --to-source 1.1.1.1

 

これだけで、転送用のデーモン(プロキシ)などを立てるまでもなく、旧サーバの80/tcpへのアクセスは新サーバの同ポートに転送されるようになります。もちろん、アクセス元の制限はありません。一旦旧サーバを経由するので、若干アクセス速度は落ちますが、カーネル動作ですし、日本国内での転送であれば、そう遅くはならない、と思います。DNSのキャッシュに悩まされることもなく、大変便利。

キモは2行目の SNAT でして、これでパケットの送信元IPアドレスを旧サーバのものに書き換えています。1行目だけだと、送信元IPが書き換わらないので、帰りのパケットが正しい経路を経て帰ってきません。

私もiptablesは必要に迫られたら調べるクチなので、動作は保証しかねますし、これ以上の説明はできませんが、参考になれば。

10分じゃできなかった “Hello World” on JRuby/GAE までの長い道のり

Posted on : 11-03-2011 | By : sino | In : Hacking, プログラム道, 地域社会

Google App Engine が Ruby信者にとっての踏み絵に思えて仕方のない三寒四温の今日この頃、皆さまいかがお過ごしでしょうか。

Chiba.rb の会合をなんと鴨川でやるということになり、迂闊にもこんな発言をしてしまいました。

https://groups.google.com/group/chiba_rb/msg/ff7c6ebb9fe22058?hl=ja

高梨@鴨川です。
こしばさん、お誘いとご提案、本当にありがとうございます。 m(__)m
鴨川での開催はいつでもウェルカムです。場所取りはなんとかしますので。
あと、わたし的にご提供できるネタとしては

* RoR on GAE (環境は構築したものの未着手w)
* mod_rubinius 構想 (計画段階)

という非常に中途半端なものがあります。(笑 まあ勉強会のために勉強するのが自分のためにもなる、と思っておりますので ご容赦ください。
皆様、これからもよろしくお願い致します。

場所取り云々は知り合いに頼んだのでなんとかなるとして、問題は発表するネタのとこです。

最近、仕事の案件はPHPべったり、ホビープログラミングはGAEのPythonべったりだったので、Rubyからは遠ざかっていました。まあこんな記事もあることだし、ちゃっちゃとできるっぺ、とタカをくくっていました。そんなところが房州天津人の甘いところです。現実はいつも厳しいもの。

ええとまず、ソフトは出来る限り最新の物をというポリシーで生きてますので、/usr/local/bin/ruby -v の出力はもちろん1.9.2-p180でした。でも、これが良くないらしいということに気づいたのが、作業開始から 30分ほど経ってから。

で、rvm というもので複数バージョンのRubyを共存できるらしいと知り、rvm環境内に1.8.7系をインストールするのに20分。

さて、大変なのはここからでした。まず、「10分ではじめる GAE/JRuby (OAuth + Sinatraのサンプル)」という記事の日付ですが 2009年9月3日になっています。つまり、もう1年以上前の情報。そこからたどれるのもそれより前のものです。というわけで、JRuby/GAE にも変更があります。

結果としては以下のような手順になります。

$ rvm install 1.8.7
$ rvm use 1.8.7
$ gem install google-appengine -v "0.0.19"
$ cd /to/your/source/directory/
$ appcfg.rb generate_app appid
$ dev_appserver.rb appid

これで開発用ローカルサーバが立ち上がりますが 、

javax.servlet.ServletContext log: WARNING: no rackup script found. Starting empty Rack application.

という不吉な警告が出ます。http://localhost:8080/にアクセスすると、案の定

Internal Server Error (500)

になります。で、これの原因は jruby-rack のバージョンが「新しすぎる」ためで、Gemfile 中で1.0.6 未満を指定するとうまくいきます。こんな感じ。

$ cat appid/Gemfile
# Critical default settings:
disable_system_gems
disable_rubygems
bundle_path ".gems/bundler_gems"
# List gems to bundle here:
gem "jruby-rack", "< 1.0.6"
gem 'appengine-rack'

で、改めて dev_appserver を立ち上げて、ブラウザでアクセスすると・・・

Hello

キタ━━━━(゚∀゚)━━━━!! 表示されました!

コマンドラインだけ並べるとなんてことないですが、原因追究してもエラーメッセージぐぐっても思うような情報が得られなかったり、でさんざん苦労しました。

つーか最新バージョンでうまく動かないってのはどうなんでしょーね。私の環境を書いておくと

$ uname -a
Linux messarina 2.6.35-27-generic #48-Ubuntu SMP Tue Feb 22 20:25:46 UTC 2011 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 10.10
Release:	10.10
Codename:	maverick$ java -version
java version "1.6.0_24"Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode)

こんな感じで特別なわけではないんですが。

Railsまでたどり着くにはまた別の道のりが必要でしょうが、ここまでの作業で私は心が折れました。orz

とりあえず自分がやりたいことにRailsは必要なくて、JRubyが動けばいいだけなので、今日のところはここまでにします。皆さまの健闘を祈ります。

hidescan+変換名人+EyeFi⇒モバイルクラウドスキャナ

Posted on : 17-10-2010 | By : sino | In : Hacking, LifeHack

ちょっと古い話になりますが、ネットの世界では「自炊」といって書籍や書類をドキュメントスキャナで読み込み、電子化するのが流行っています。その作業を請け負ってくれる業者さんもたくさんあります。

私もドキュメントスキャナを買ったことは買ったのですが、買ってから一度も使わず、結局知り合いの方に購入額より若干安めにお譲りしました。

私の場合、

  • 書籍をまるごと電子化する必要性はあまりない。最新の情報はネットのドキュメントを見ればよいし、もしどうしても必要なら業者にアウトソースした方が手間もかからないし、安い。また、書籍の中でも取っておきたいのはほんの一部だけ。
  • ドキュメントスキャナで一度にセットできる枚数は多くて50枚。例えば300ページの書籍だと2回にわけて食わせる必要がある。機械の作業を人間がじっと待つのは不毛極まりない。
  • 本当に電子化&保存したいのは、請求書や領収書などの比較的小さめで1枚で完結する書類。

などの理由によりドキュメントスキャナは不要と判断しました。

しかし、溜まる一方の書類をなんとかしたいというニーズは依然としてあるわけで、どうしたもんかなぁと思っていました。

そんなある日、ネットを漁っていたら、hidescanというスキャナを発見。スリムな筐体を紙の上でスライドして読み取るタイプのものです。つまり、「自炊」作業で行うようなまとめ読みはできません。読み込んだ画像は microSD に保存され、PCにUSBでで接続することもできます。(接続すると外付けUSBドライブとして認識される)

hidescan@amazon.co.jp

一方、高梨釣具店の動画をYouTubeに自動でアップロードするため、EyeFi という製品を買ってありました。YouTubeだけでなく、Flickr や Evernote など、ネット上の様々なサービスに画像・動画をアップロードできることは以前から知っていました。が、肝心の貸しボート業が長期休業を余儀なくされたため、こちらも使わないままでした。

EyeFi@amazon.co.jp

であれば、hidescan に EyeFi を繋げれば、PC操作不要で、スキャンした画像を即Evernoteに上げられることになります。

が、hidescanに挿せるのは前述の通り micro SD に限られます。EyeFiは SDカードサイズなので、そのままでは繋げることはできません。

そこで探し出したのが「変換名人 SDカード→microSD逆変換」という製品。microSDをSDカードに変換するアダプタは百均でも売られているほど出回っていますが、これはその逆でSDカードをmicroSDポートに挿すためのものです。

変換名人@amazon.co.jp

これで役者は揃いました。この3品を組み合わせれば、コンパクトかつ便利なドキュメントスキャナができあがるはずです。

ここでくだくだしく設定方法を述べてもいいのですが、とても簡単なのと、私自身EyeFiをこの用途にしか使っておらず、詳しくないためソフト的な設定の解説はしません。結果から言うと、

思惑通り成功! (^_^)V

しました。完成写真を下に示します。

全体像

変換名人取り付け部分

変換名人のボディをどうやって取り付けるか悩みましたが、事務用両面テープで十分な強度で留めることができました。願わくは、フラットケーブルにもう少し長さが欲しいところ。↑の位置だとformat ポッチが隠れてしまいます。まあでも画像を消したければPCにUSB接続して消せばいいことです。

スキャンしてからEvernoteに上がってくるまで少し待つのかなぁと思っていましたが、そんなことはなく、無線LANの範囲内なら即時アップロードされるようです。

もちろん、無線LANの使える場所は限られますが、EyeFiはSDカードでもあるので、外でスキャンして帰宅後に電源を入れるだけでEvernoteに上がってきます。単3電池2本で動作しますから出先で電源に困ることもありません。電池が切れたらコンビニで買えばいいのです。

これは期待以上に便利なものができあがってしまいました。「できるはず」とは思っていたことですが、本当にできると嬉しいものです。

肝心の費用は、というと、

  • hidescan … 10,000円前後
  • 変換名人 … 1,300〜1,600円台
  • EyeFi Share (2GB) … 5,000円前後

ということで、だいたい17,000円もあればできあがります。ドキュメントスキャナはそれ自体安くても2万円はしますし、忘れないで欲しいのですが、PCに接続して操作しなければ使えません。

今思いついたのですが、ネットの向こう側でゴニョゴニョすれば、電子FAXとして使うこともできるでしょう。田舎では大変多いのですが、例えば私の親のような情報弱者にとって、ネットに情報をアップロードするのは至難の技です。そこで、

  1. A4の原稿用紙に、手書きで紙を書いてもらい、これでスキャン。
  2. 写真共有サイトを経由して原稿データを受け取る。
  3. あとはメールするなりOCRするなりお好きなように。

まあITに弱い人が無線LAN設定をどうやってするのか、という問題はありますが、ある程度こちらでプリセットして発送する、という手も取れなくはありません。

この記事が参考になったという方は、以下のリンクでAmazon.co.jpから買っていただけると、私に手数料が入ります。よろしければお願いします。3つの新ウィンドウが開きます。(ウィンドウが3つ開きます)

小人閑居して・・・

Posted on : 24-02-2010 | By : sino | In : Hacking, プログラム道, 地域社会

ここのところ仕事やらJCやらで超絶的に忙しかったのですが、こうしてブログを書いていることからもお分かりの通り、少し落ち着ける時間ができてきました。まあ普段きっちり予定立てて動いているわけでもないんで、半分自分の責任もあります。

さて、「小人閑居して不善を為す」という言葉がありますが、この「閑居」って「一人でいること(他人の目がないこと)」という意味で「暇をしている」という意味ではないんだそうです。要は「つまらない人間は人の目がないと悪いことをする」ということらしいです。

私は聖人君子からは程遠い小人の見本のような人間ですので、やっぱり暇になるとむくむくと妄想が浮かんできてしまいます。思いついたアイデアはWikiにまとめていますが、後で読み返してみると暇なときにはロクなこと考えてないですね。w

現実的なところで今のところ頭の中にあるのはこんなアイデア妄想です。

鴨川市立図書館レビューサイト

そもそも借りた本が自動でどこかにリストにあると面白くね?というところから発展しています。要は「最近借りた本」をブログに張り付けたかったのでした。しかも自動で。
前に「公の図書館では個人の貸出記録を3ヶ月(?)で破棄している」ということを聞いたことがあります。借りた人がどういう思想を持っているかを調べる材料にならないように、ということらしいんですが、その真逆を行く発想です。

で、一覧だけじゃ面白くないので、レビュー(感想)なんかもつけられるといいな、と。他の人が見て参考にもなるでしょうし。

自動化するには、インターネット利用時のパスワードをお預かりする必要があるので、その辺がアレなんですけどねー。

Twitter, Remember the Milk のクライアントを Titanium Desktop で作りたい

先日、disったとまでは言わなくても、「何が面白いんだかわからない」的発言をしたTwitter ですが、前言撤回します。知ってる人がいればそこそこ、いや、結構面白いです。普通のチャットと違って、すぐ相手から反応があるわけではありませんので、基本会話ではなく「つぶやき」になるんですが、それに慣れてしまえば、それなりのつぶやき方もあります。20日に近所の稲荷様の縁日(?)があって青年で手伝ったとき、いろいろな方面で先輩のS藤さんがやっている、しかもハマっていると聞いて「ほほぉ、Twitterもここまで普及したか」と思い直しました。ま、Twitter についてはまた別の機会に。

今まで不思議というか「なんでWeb上のサービスはWebブラウザでしか使えないんだろう」と思ってました。当たり前だろ、と言う声が聞こえそうですが、例えば郵便番号から住所を検索する(2995503 →千葉県鴨川市天津)なんてのは大抵のWebフォームでやっていることですが、これ、例えば顧客管理ソフトとか住所録ソフトで使えればかなり便利だと思うのです。悲しいかなその手のソフトはパソコンのハードディスクにあるデータを元にしていますから、「先月合併して市長村名が変わった」なんてケースに対応できません。だからデータはネット上に置き、それを必要に応じてアクセスする、というのが望ましいわけです。

で、 その手のアプリケーション開発環境といえばAdobe Airが有名ですが、ActionScript覚えなければなりません。その実JavaScriptみたいなもんなのでまあ敷居は低いっちゃ低いんですけれども、Rubyラヴな私としてはRubyでデスクトップアプリ作りたいとつねづね思っていました。ActiveScriptRuby はそれができる候補の一つで、ご好評いただいている(コメントに反応しなくてごめんなさい orz)「NHKラジオ語学番組キャプチャツール」もそれで作っていますが、悲しいかなWindowsでしか動きません。

そこへもってきてこのTitanium Desktop(前置き長っ)。Rubyはおろか PHP, Python, そしてもちろんJavaScriptなど各種LLでデスクトップアプリが作れるというスグレモノ。そして実行環境もWindows, Mac, そしてLinuxと、どんだけユニバーサルなんだって感じになっています。

画面はHTMLで記述でき、ロジックを各種言語で書くようになっているので、 Web屋がデスクトップアプリ作るにはうってつけのツールです。Twitter, RTMに限らず、Web上には便利なサービスのAPIが公開これでもかってほどあるので、いろいろ遊んでみたいと思います。

メールお預かり&IMAPで読めますよ(ウィルス、スパムフィルタ付き)サービス

地元で仕事をしていて案外多いのが「複数のパソコンで一つのメールアドレス(正確にはメールボックス)を共有したい」 というリクエスト。もちろん複数人で読む場合もありますが、宿泊施設ではメインユースのPCが使えなくなったときに予備のPCで読みたい、という需要もあります。

で、それをするにはPOP3ではなくIMAPというプロトコルが便利で、現に私も使っています。が、普通のプロバイダでIMAPに対応しているところは少なく、POPで「サーバにメールを残す」に頼らざるをえません。しかもロクにフィルタしてないので迷惑メールがバンバン入ります。

そこで思いついたのが、できれば直接転送(MXレコード変更 or .forward転送)していただき、それが不可ならPOPで現行サーバからメールを取り出し、弊社のサーバでお預かりする、というサービス。転送あるいは取り出した時点でフィルタにかけ、不要なメールを篩にかけます。付加的に、Webメールとか携帯での読み書きができるといいな、と。

真に具合のいい、すぐにもできそうなサービスですが、ただこれ全部Googleがすでにやってることなんですよね。w しかもロハで。どうやってgmailと差別化するかが課題です。

コンビニプリントサービスとQRコードを活用した地域ミニコミ誌

「そういうものは自腹で印刷しろ」という声が聞こえて来そうですが、ご存じの通り世界一小さな規模を誇る弊社には、市内の皆様に紙媒体でまとまった量の情報をご提供できるだけの資本力はありません。それに完全に紙ベースのものならすでにKamoZineでやっています。(まあKamoZineの内容は外向きのものですが)

そこで、記事のタイトル、本文冒頭(あるいは要約)、サムネイル写真を載せた紙をネットプリントなど各種コンビに印刷サービスで取り出せるようにしておき、欲しい方はコンビニで紙に印刷していただくという形をとったらどうだろうと思っています。記事全文や写真は紙上のQRコードで携帯からアクセスしていただき、より詳しい情報を得られるようにしておく。弊社は印刷にかかるコストを全く負担せずに済み 、欲しい方だけ小額の印刷代をご負担いただくだけなので、まあフェアなのでは、と。

副次的な効果としては、携帯を使える若年層が、そうでない高齢世代に内容を読んであげたりなんかすると、世代間の交流が深まっていいかもなぁなんて考えています。

またも長々と妄想をぶちまけてしまいました。orz 上に挙げたのはアイデアにすぎないので、私に代わってどなたかやっていただいても全く構いません。できれば事後報告していただけるとありがたいですが。

インド発のデフラグツール「Puran Defrag」

Posted on : 15-02-2010 | By : sino | In : Hacking, 読書道

ゼロを発見し、子供には二桁の九九を覚えさせるというIT列強国インドから、デフラグツールが出ていたので使ってみました。(ダウンロードはこちら)

・・・と普通ならここでそのツールの性能や評価などを書くのでしょうが、私の場合は違います。

他にもデフラグツールはたくさんあるのに、なんでこれに惹かれたかというと、その名前です。

インド建国の父といえば「ガンジー」なのは子供でも知っていますが、インドのカースト制度、男尊女卑社会、貧困に真っ向から立ち向かい、国会議員に当選を果たしたものの、敢えなく凶弾に倒れた女性闘士がいました。その名が「プーラン・デヴィ」。プーランとはヒンドゥ語で「花」の意味です。

前にテレビで彼女のことが特集されており、「げっ、インドってこんな国なのか」というかなり強いネガティブな印象を受けました。実状を知ったら呑気にインドカレーなんか食っていられませんよ。

ものはついでというわけで、デフラグツールを走らせながら、市の図書館で「女盗賊プーラン 」を借りて一晩かけて読了しました。いつものことながら、この図書館、ほんとに私の読みたい本ばかり置いてくれています。

インドのカースト制度のことは学校でも習いましたし、知識として知ってはいましたが、なんせ「天は人の上に人を作らず」と公言した人がお札になってる国に住んでいるもので、なかなかその実状は知りませんでした。カーストについてご存知ない方のためにさらっと説明すると、インド固有の身分制度で、おおまかには、ブラフミン(僧侶)、クシャトリヤ(武士)、バイシャ(平民)、シュードラ(奴隷)、そして不可触民族とされるバリヤ、があります。

上に上げたのはあくまでおおまかな区切りで実際には何千もの位階があり、それよって床屋の子は床屋に、農民の子は農民にしかなれません。

プーランは、マッラというシュードラの一階級の家の子として生まれました。これ以上はないほど家は貧しく、おそらく、というのは彼女は生年を正確には知らないからなのですが、11才のときに結婚させられ、嫁ぎ先で筆舌に尽くしがたい虐待を受けます。ちなみにインドの法律では未成年(18才以下)の少女との婚姻は違法ですが、法の及ばない農村地帯ではそのようなこともまま起こっているそうです。結婚は破談になり、実家で過ごすうち、また結婚の話が持ち込まれます。が、そこでは妾が幅を効かせるようになり、正妻のプーランはネグレクトされます。とにかく、彼女は不幸になるために結婚させられるといってもいいくらいなのですが、そのうち、ひょんなはずみでダコイット(盗賊)に加わります。率いていたリーダーがやはりマッラ階級のヴィクラムというやつなのですが、これがすこぶるいい男。プーランに対してもやさしく接し、仲間からの信頼も厚い。男の私でも惚れそうな、度胸とやさしさを兼ね備えた義侠の徒なんですな。となるとプーランとの関係も・・・、とこれ以上は本を読んでください。w

しかし、「ひっどい国だ」なんて言って色々調べていたら、なんと我が日本もUNICEFの見解では「カースト」の国なんだそうです。部落差別問題とかのことかと思いましたが、意外に身近なことかもしれないと思い直しました。例えば政治家や芸能人は二世三世が当たり前ですし、一部の宗教家は悪く言えばその地位を血族で独占しています。いわゆる「世襲」ってやつですね。インドのように下位者を差別する意味でのネガティブなカーストはないかもしれませんが、比較的社会的上位者にはポジティブなカーストのようなものはあるのかもしれません。

ちょっと遠回りしましたが、結局冒頭のデフラグツールは、社長さんの名前がプーラン・チャンド・グプタさん(男性)の名にちなんだだけで、今までさんざん話題にしてきたプーラン・デヴィに敬意を込めて、というわけではないようです。なんだよ、それってなオチがついた所で今日のブログは終わりです。おやすみなさい。

リモートファイル共有 via SFTP

Posted on : 30-01-2010 | By : sino | In : Hacking, 経営道

弊社、というか私の自宅では玄箱に1TBのHDDを繋げてファイルサーバにしているのですが、そこにあるファイルを出先から取ってくるのに難儀していました。

そこで、出先で必要になりそうなファイルは予めローカルにコピーしておいて持っていくという方法を取っていたのですが、必要な変更を加えた後、またファイルサーバに上げておくという作業をついつい忘れてしまい、古い版と新しい版がごっちゃになることもしばしば。ITを飯のタネにしている者としてはお恥ずかしい限りで、なんとかせねばと思っていました。

いろいろ検討した結果、リモートからはSFTP (ssh) でアクセスすることにしました。これ以外には

  1. plain SMB over TCP
  2. SMB over PPTP
  3. SMB via SSH
  4. FTP over SSH
  5. FTP over SSL
  6. plain FTP

なども考えられましたが、

  1. プロバイダによってはWAN越しのSMBをフィルタしているところもある(?)
  2. PPTPを許可していないルータも多い。
  3. 自ホストのファイル共有機能を殺さなければならない。
  4. SSHログインとFTPログインの両方が必要。だったらSFTPでしょ。
  5. サーバを立ち上げるのが面倒くさそう。対応しているクライアントも少ない。
  6. セキュアでない。それにグローバルFTPポートは別の目的ですでに使っている。

などの理由により、見送りました。SFTPならTCPコネクション一本、ログイン作業も1回で済み、SSHならポートの変更も結構融通が効きます。

出先ではWindowsを使うので、WinSCPやFilezillaなどのSFTPクライアントを使おうかとも思いましたが、どうせならローカルドライブとしてマウントしたい。で、探してみると NetDrive がその目的に使えることがわかりました。AdvancedをクリックするとSFTPを選択できるダイアログが現れます。(下図参照)

NetDrive設定ウィンドウ

NetDrive設定ウィンドウ

ファイルサーバ上のファイル名はUTF-8に統一しているので、EncodingをUTF-8に設定しています。こうすればファイル名が化けることもありません。

出先ではこれを立ち上げておけば、外付けのHDDを読み書きするのと同じ感覚でファイルサーバ上のファイルを扱えます。経路はもちろん暗号化されているので、機密情報が外に漏れる心配もなし。

これで出先でファイルが必要になってもすぐ取りだせますし、書き戻しも上書き保存すればいいだけなので、楽なものです。古い版と新しい版がごっちゃになることもないでしょう。

ほとんど自分のための作業でしたが、誰かの参考になればと思い、記事にさせていただきました。