黒川仁の文具堂ブログ三昧

Hitoshi Kurokawa, an engineer at Next SeeD

Archive for the ‘Web三昧’ Category

Rubyでbit.lyのAPI経由で短縮URLを取得する

one comment

「ブログからRSSをとってきて、更新があったらTwitterにツイートをPOSTする。」

ということをやっているんだけど、URLの短縮化はAPIまかせにしているので
140字の制限に対してまだ余裕がある場合はURLは
「http://blog.bungu-do.jp/archives/1646」
と、そのまま表示される

この場合URLの文字数は37文字

最初はまあ、bungu-doという文字も見えていいかなと思ったけど、
RT(Retweet)された場合などにURLがそのままだと結構文字数制限が
つらくなってくることに気づいた。

だから短縮URLなんだとようやく気づいた。

なので、文字数に足りる足りないに限らず、短縮URLにしておくことに決めた。

そこで、下記記事を参考に当然のごとくRubyでクラスにshortenメソッドを追加した。

参考記事:
bit.ly (短縮URL) API呼び出し (その1) m-kawato@hatena_diary

後はPOSTするところにshortenメソッドをかますだけでOK

  def shorten(long_url)
    id = 'USER_ID'
    api_key = 'API_KEY'
    version = '2.0.1'

    query = "version=#{version}&longUrl=#{long_url}&login=#{id}&apiKey=#{api_key}"
    result = JSON.parse(Net::HTTP.get("api.bit.ly", "/shorten?#{query}"))
    result['results'].each_pair {|long_url, value|
      return value['shortUrl']
    }
  end

bit.lyのアカウントを取得すればAPI KEYをもらえます。

通常URL
http://blog.bungu-do.jp/archives/1646 【37文字】

短縮URL
http://bit.ly/3OcFKj 【20文字】

37文字から20文字へとあんまり変わらないような気もするけど・・・・

もっと長いURLでも20文字になる。

たとえば

irb(main):001:0> 'http://japan.cnet.com/news/biz/story/0,2000056020,20403566,00.htm'.size
=> 65
irb(main):002:0> 'http://bit.ly/42A19r'.size
=> 20

65文字から20文字へと3分の1以下になる。

うまくいけばこの記事のPOSTもちゃんとツイートされるはず・・・

追記:
無事更新されましたとさ
bitly

Written by 黒川仁(文具堂)

11月 13th, 2009 at 7:01 pm

Posted in Ruby三昧,Web三昧

Tagged with ,

自分専用のTwitterクライアント クライアント名を自分で決める

2 comments

ひろゆきがTwitterを始めたようで

さっそくフォーローする。
今日はぽつぽつつぶやいている。

tw_hiroyuki

すぐにCNETの記事にもなっていた。

ひろゆき氏がTwitterを開始、その理由は……? CNET Japan Staff BLOG

西村氏によると、「今朝思いついて、そろそろやってみようかなと」とのこと。西村氏は過去に別のアカウントを作ってTwitterを使っていたが、最近はまったく使っていなかったそう。しかし、「今Twitterのクローンっぽいシステムを作っていて、そろそろちゃんと使わないと作り方がわからない」との理由でアカウントを再開設したとのことだ。ちなみにフォロワー数は11日21時時点で6000人超となっており、その数は急激に伸び続けている。

@hiroyuki_ni


自作ですー。 @koma_tz Twitterアプリは何を使っているんですか?><

ひろゆきがアプリを自作?
そして、クライアント名が「Paapeejpで」となっている。

Paapeejpってなんだ?聞かないクライアントだな。
と思ってたら自作ということはひろゆきが決めたアカウント名か。

そこでぴーん! ときた。
自分でクライアント名決められるのか。

Twitterの公式サイトからのツイートなら「webで」となるし
TweetDeckという専用クライアントでのツイートなら「TweetDeckで」となる

この「○○で」の○○の部分を決められるということだ。

RubyのクライアントでRSSからツイートするスクリプトをつくってcrontで回していたけど
「APIで」という素っ気ないものになっているのがなんとなく気になっていた。

しらべてみると、あるじゃないですか、自分でクライアント名を決める方法が。
何度かTwitterでみかけたOAuthという仕組みでできるようだ。

TwitterのbotをOAuthに対応させる しばそんノート

しかし実は、そういうセキュリティ的な事情以外にも、bot製作者的に「OAuthに移行したい!」と思わせる嬉しい利点がOAuthには用意されているのです。

それは投稿したTweetに表示される“クライアント名”を任意に設定できるということです。Web上でタイムラインを見たときに「webで」とか「Tweenで」とか表示されている部分ですね。

ありがたいことに、この参考記事もRubyで作成している。
gemのoauthというライブラリを利用する。

この通りで大体いけた。
じゃっかん、gemのjsonをインストールするのにつまずいたりしたけど大丈夫。
Ruby1.9を想定している記事みたいなので、パッチをあてるファイルをrequireしているけど
自分はRuby1.8系をつかっているので、逆にエラーがでてしまったのでコメントアウト。

require 'rubygems'
require 'oauth'
#require 'oauth-patch'
require 'json'

そしてテスト。

@krhitoshi

うまくTweetできるようになったみたいだ

tw_krhitoshi

めでたくクライアント名が「Terasonで」となった。
ちなみにTerasonは私のハンドルネームの一つです。

結局は自分で作ることになるんだね。

Written by 黒川仁(文具堂)

11月 12th, 2009 at 1:40 am

YouTube動画を埋込で特定時間からの途中再生を指定する方法

2 comments

対談、討論、説明などをしているTouTubeの動画をブログの引用として利用する際に
特定の部分だけを見せたいということがある。

というのも、最初から動画を再生すると見ている人が飽きてしまうかもしれないから。

ということで、YouTubeの動画の場合は埋め込みScriptに含まれるURLの最後に“&start=370″というように
開始する秒数を引数で追加してあげるだけでよい。

たとえばこんな感じ。

<object width="425" height="344">
<param name="movie" value="http://www.youtube.com/v/Bdd1-Dch7m0&hl=ja&fs=1&start=370"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube.com/v/Bdd1-Dch7m0&hl=ja&fs=1&start=370" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed>
</object>

どうしてもここから見て欲しいという時におすすめっ!

参考記事:
YouTube動画の再生を途中から始める方法 [K'conf]


美味しんぼ (4) (ビッグコミックス)
雁屋 哲 花咲 アキラ
¥509
(1985/11発売)

Written by 黒川仁(文具堂)

11月 7th, 2009 at 4:08 pm

MacintoshとWindowsで見るWebサイトの見た目の違い

one comment

最近、ブログ(WordPress)のテーマを変えたんだけど
Macでみるとそこそこ格好いいのにWindowsでみるとちょっともっさりしている。

だからMacの方がいいよ、というよりも、同じ物(HTML+CSS+画像)を使って
こんなに違うとどうなの? いいのこれで? という感じがする。

フォントの違いが大きいのかな・・・・。

ちょっと気になったので比較してみた。

どちらもFirefoxで閲覧

Windows XP + Firefox3.5
winss

Mac OS X Snow Leopard + Firefox3.5
ss20091019

貼り付けてみたらわかったけど、色が違う・・・・
やっぱりフォントの問題かな〜

Written by 黒川仁(文具堂)

10月 19th, 2009 at 9:14 pm

Posted in Mac三昧,Web三昧

1000円でも1000部売れれば100万円

leave a comment

経済学者の池田信夫さんのブログはlivedoor Readerに登録して
チェックをしているけど、自分には難しすぎてすべては見ていない。

ぱっと見て読めそうな記事の場合は読むようにしいている。

これなら、わかるというか
そっか、これでいいんだよねと思ったこと。

有料化するコンテンツ? 池田信夫 blog

経済学の教える通り、完全競争だと価格は情報の限界費用=ゼロに近づくので、「他では見られない」という差別化(人工的な独占)をはかるのが有料化のポイントだ。だからメールマガジンは、意外にもうかるらしい。1ヶ月1000円でも1000部売れれば100万円だから、それだけで生活できる。他方、横並びの記事ばかりの日本の新聞がもうからないのは当たり前だ。彼らは、有料化がもっとも成功しているアダルトサイトに学んだほうがいいのではないか。

そうだよ、1000×1000=1000,000 (ミリオン、100万)なんだ

1000×500=500,000 (50万)

月50万、月100万と年単位じゃなく月単位のはなし

それくらいなら、時間をかければ個人でもできそうなきがしないだろうか

やっぱり月額の定期収入がいい
有料メールマガジン、有料インターネットサービス、レンタルサーバなどがそれにあたる

しかも、単価が大きくない売り上げが細かく500とか1000だと
それほど解約が一気に集中することがない

もちろん、一気に1000を集めるとなると気が重いけど
積み上げ型だから、コツコツいける

爆発的じゃなくてもよい

車の走行距離は数万kmなんてあたりまえの話だ。
地球1週は約4万kmなわけで

1ヶ月2ヶ月で地球1週はつらそうだけど
数年かければ勝手に達成している。

いいかえれば、地球1週はあたりまえということ

走行距離は累積する数値だからグラフにすると
走っていれば必ず右上がりとなる

実はレンタルサーバは、最近ではガスや電気などのインフラに近い位置づけに
なっていて、あまり解約がない

なので、走行距離と同様にほぼ右上がりのグラフを描くことになる

現代社会において
「生活していて、ガスと電力いらないことがわかったので契約をやめました」
なんてことにはならない

あとは、一気に稼がないのならあわせてボリュームのある仕事を
日銭稼ぎとして最初のうちはすればよい

将来的には月額にシフトしてく

やっぱり月額の定期収入がいいよな うん

Twitterのシステム開発にもつかわれている「Ruby on Rails」の開発者
David Heinemeier Hanssonの言葉も引用しておく

Software Design 「コードの裏の開発者たち #2」2009年6月号より

「Webスペースに洒落たイタリアンレストランを開け」と彼は述べている。スライドの1つには、簡単な公式も示されていた。2,000人のカスタマをWebベースのサービスに月額40ドルで加入させることができれば、それだけで年100万ドル近くになる。幸福であるために果たしてそれ以上が必要だろうか?加入者が少ないなら、例えば年間20万ドルで手を打つのはどうだろうか?

小規模なレンタルサーバ事業に関わっていて漠然とおもっていた、そのメリットを
明快に気づかされた文章だった

みそはネット関連のサービスはガス、電力、水道などとちがって莫大な資本が必要なく
個人レベルでもできるということ

原価は数千円〜数万円で大丈夫だ

この金額を会社でというはなしではなく、世界中のみんな、個々人がこれくらいは
できるんじゃないかと最近おもう

そしたら、逆にもうお金いらないかもね

Written by 黒川仁(文具堂)

10月 15th, 2009 at 7:39 am

Redmineリポジトリ php 404エラー

leave a comment

Redmineのリポジトリを使うようになったけれども
phpのファイルをリポジトリブラウザでみようとすると
phpに関連づけられているので404エラーになる。

htaccessでも出来るのかもしれないけど、とりあえずconfファイルで設定
AddHandlerの逆のRemoveHandlerで.phpの関連づけを解除するとうまく表示された。

<VirtualHost *:80>
   ServerName redmine.example.com
   DocumentRoot /var/www/redmine/public
   RemoveHandler .php
</VirtualHost>

リポジトリブラウザでPHP,CGIが404

Written by 黒川仁(文具堂)

9月 7th, 2009 at 8:01 pm

Twitterの企業ユース(カスタマーサポート)

leave a comment

ははぁ~。
なるほど、アメリカではこんな事になっているわけですね。

これはスゴイわ。

Twitterの企業ユース(カスタマーサポート)
[渡辺千賀]テクノロジー・ベンチャー・シリコンバレーの暮らし

Twitterで自分がフォローする人が増えると、本当にリアルタイムで
情報が入ってくるね。

地震のこともTwitterで知ったし。

自分をフォローする人が増えるとどうなるかが楽しみだ。

Written by 黒川仁(文具堂)

9月 5th, 2009 at 2:47 pm

Posted in Web三昧,日々精進

Tagged with

iPhoneでSSH (TouchTerm)

leave a comment

いろいろとiPhoneのアプリを探していたらSSHクライアントがあった。

iPhone自体が出た当時はなかったと思うのだけど・・・


TouchTerm Pro SSH \1,000


TouchTerm SSH \450

違いがよく分からなかったので
Proではなく普通のTouchTermをダウンロード

menu
logo

term

おぉ! ちゃんとSSHできるぞ。

なんとかTAB補完もつかえる。

一応世界対応らしいから、世界中でSSHできる。

これで、日本から出られるようになりそうだ。

Global SSHだ。

ちなみに、iPhoneの画面をスクリーンショットするのは簡単で
「ホームボタンを押しながらスリープボタンを押す」
するとシャッター音とともに画像が「写真」に保存される

「iPhone 3G」のスクリーンショットをキレイに撮る方法 (iPhone・iPod touch ラボ)

Written by 黒川仁(文具堂)

9月 2nd, 2009 at 10:25 pm

クラシックギターPC録音【2日目】

2 comments

【これまでのあらすじ】
サブプライム問題で不況の波が押し寄せる中
日本経済を立て直すため一人孤独に戦う男がいた!
なんやかんやで、クラシックギターの演奏をPCで録音をしようと
ヨドバシカメラでマイクを購入するも愛用のThinkpadでは利用できず。
自暴自棄になり酒におぼれる仁。
シャワーを浴びて心機一転
ネットによる入念な調査でギターPC録音への情熱を再燃させる。

【そして2日目】

あきらめ切れずもう少しネットで色々しらべる。

そういえばUSBのサウンドアダプタというものがあったはず

実は学生の頃にONKYOのUSBサウンドアダプタを購入して
使っていたけども、音が鳴らないというお客さんにあげてしまったのだった

ということでネット色々探す。

候補は以下の通りだ。予算は3,000円以下


ELECOM USBサウンドアダプタ USB-SAV51

¥3,780 ¥2,127 (43% OFF)

端子をみると、マイク用プラグが金属っぽいので
どうもエレコムの方がパワープラグインに対応してそうだ。

でもよくよく考えると一般的なPCはパワープラグインとのこと
そうすると、USBサウンドアダプタを利用する時点で電源は供給されるのでは?

だけど、仕様を見てもパワープラグインを明示しているものは少ない。
明示されているものは合っても5,000円を超えるものばかりだ。

賭けに近いけれどもとりあえず購入してみる価値はあるだろう。

なぜなら、マイクが利用できなくてもUSBアダプタを通すことで
入力だけでなく出力される音質が格段に向上するからだ。

Amazonでは少し手に入れるのが遅くなるので
午後からヤマダ電機とヨドバシカメラへ出陣

ヤマダ電機ではもう少し安価な変換アダプタに近いものしかなかった

ヨドバシカメラへ移動

Sound Blasterがあった迷わず購入 2,480円也
※やっぱりAmazonの方がやすい・・・。でもポイントを考えると同じくらいか?

今日はマイクは持参してなかったのでマイク入力はカフェでは
確かめられないけど、出力だけは確認しておく。
(今日はマックで動作確認、久しぶりに食べるとおいしいかも)

自宅へもどる

早速、Windowsの標準録音ソフト「サウンドレコーダー」で確認。

そして

マイクの音声が認識できた~~~~。

090813_2114~01

早速録音。曲は練習中の”i do”。
Windowsの標準録音ソフト「サウンドレコーダー」では短い時間しか録音できないので
Audacityを利用。
LAME MP3 エンコーダーをインストールすることで録音したデータをWAVだけではなくMP3にも変換できる。

MP3にしてテストアップロードしてみた。音が小さい気がする。
FLASHのMP3プレーヤーで再生できる。

“i do” 「攻殻機動隊 S.A.C. 2nd GIG」挿入歌

最後はフェードアウトもつけてみた。
ボソボソ感があるけど、なんだかそれっぽくはなってきたぞ。

楽譜は下の動画の方のサイトからダウンロードさせていただいた。
最終的にはこれくらい弾けるようになるはずだ。。。。たぶん。

今日はこの辺でおしまい。

Written by 黒川仁(文具堂)

8月 14th, 2009 at 12:02 am

クラシックギターPC録音【1日目】

2 comments

そろそろ、クラシックギターの音をパソコンで録音してみようと思い立つ
(以下長文にて失礼いたします)

お盆休み中に録音して動画にしてyoutubeにアップできるところ
までいこうと言うのが目標だ

【1日目】

前にヘッドセットとWebカメラをもっていたけども処分してしまっていたので
再度調達することに

まずはマイクを買おうということでヨドバシカメラでaudio-technicaの
ステレオマイクを購入

audio-technicaのマイクには値段が数千円するものが
いくつかがあったけど、まずはあまりお金を
かけないというコンセプトで 1,680円也

audio-technica ステレオマイクロホン(タイピン型) AT9902

※そして今知ったけどAmazonの方が安い。。。

audio-technicaメーカーサイト AT9902

心ウキウキで近くのカフェに直行して、マイクをプラグにINする

しかし、音がならず。。。

うーん。なんだろう。

サウンドのプロパティなどをさわっていると・・・・

なにやら音をひろっているみたいだ

と思ったらThinkpadの内蔵マイクのようだ

購入したマイクを指すと音が拾えなくなる

落ち着いて確認しようということで帰宅

調べているとどうもThinkpadの一部ではうまくマイクが
使えないことがある模様

スカイプなどの音声ライブチャットなどで利用される
ヘッドセットなどのマイクはプラグから電源を供給を
受けるようになっているらしい

でも、Thinkpadの一部ではその電源供給をしていないとのこと

そして自分が購入したのはプラグインパワー専用マイクというもので
一般的にはICレコーダやMDなどの録音機器に利用されるもので
確実に電源供給を必要とする

しかも、パッケージの裏書きには「パソコンにはご使用になれません。」と
はっきり書いてあるではないですか。

やって、しまいました。

まぁ、しょうがないと言うことでとりあえず、内蔵のマイクがあることが
分かったので、その内蔵マイクで録音に挑む。

確かに録音はできる。しかし、あまりにも雑音がひどすぎる。

ノートパソコンの内部にあるためどうしてもハードディスクの動作音
などを拾ってしまっているようだ

しょうがないなと思いながら、一次休憩と言うことで

シャワーを浴びていると

もう一つノートPCがあるじゃないか!

HP(ヒューレットパッカード)のネットブック(小型ノートPC)だ

ちなみに、このノートPCは色々お仕事したお礼ということで
東京の社長さんからありがたくもプレゼントしていただいたもの

しかも、何故かSSD仕様でログイン画面が赤いシャア専用!!??HPのネットブック
※SSDとこのイタズラの実装は岡山のガンダム好きの女性の社長さん

シャア専用
(写真は仙台に社員旅行でいらっしゃったときのもの。体はってネタやってます(笑))

最初は自宅でDVDとかWeb上の動画再生用に利用しようかと
思っていたPCだったけど動画を再生すると音が飛んでプチプチと音がするので
そのまま利用方法を保留のままであったのを思い出したのだ。

試しにプラグにマイクをさしてみると

案の定、マイクから音を拾っている!

いやー、シャワーでリラックスしているとよく良いアイデアがでるものだ。

これで、録音できるとギターを取り出しとりあえず録音

残念ながらプチプチと音が飛ぶ・・・・・

2日目へつづく

Written by 黒川仁(文具堂)

8月 13th, 2009 at 11:26 pm