ホーム » ブログ » 2008年02月の記事

2008年02月の記事

« 2008年1月 | 2008年3月 »

scpが出来なくて超ハマったメモ(原因は.bashrc)

2008-02-27 | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

とあるFreeBSDのサーバーからファイルをscpでダウンロードしようとして、出来なくてハマったメモです。

状態は以下の通り。

  • サーバーは FreeBSD 4.10
  • クライアントは CentOS4 と FreeBSD 6.1-Release
  • sshは繋がる
  • WindowsからWinSCPでのダウンロードもOK
  • scpでダウンロードしようとするとできない(固まる)
  • sshでリモートコマンドが通らない(固まる)

scp を v オプション付きでログを出力しながら実行してみると、以下の時点で固まっていました。

debug1: Sending command: scp -v -f ~/filename.ext

原因は、.bashrcで別のシェル(zsh)を立ち上げていたことでした。

↓.bashrcの中身

$HOME/local/bin/zsh

この行をコメントアウトしたところ、解決しました。

なぜこんなことをしていたかというと、接続先のサーバーにはzshがインストールされておらず、権限も無かったのでホームディレクトリ($HOME/local/bin/zsh)にzshをインストールしていました。chshでホームディレクトリにインストールしたシェルを指定することは出来ないので、.bashrcで自動で起動するようにしていたのです。

sshも繋がるしWinSCPも出来たのでなかなか原因にたどり着くことができませんでした。同じような状況のときは.~rcを調べてみるといいかもしれません...。

2008-02-27 written by akiyan | 記事 | 固定リンク | コメント (4) | トラックバック (0) | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

メモリーカードリーダーが2GBのメモリに対応していなくてもファームアップデートでなんとかなるかもしれない

2008-02-26 | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

各種フラッシュメモリの読み書き用にUSB2-7inRWシリーズの外付けタイプを使っているのですが、最近買った2GBのmicroSDが認識しませんでした。原因がわからずしばらく諦めていたのですが、ちゃんと仕様を確認してみようと製品情報ページにアクセスしてみました。そしたらなんと、SDカードについては「ファームウェアのアップデートにより2GBに対応。」とのこと。

さっそく最新ファームウェアをダウンロードしてアップデートしたところ、めでたく2GBのmicroSDを認識できました。

ちょっと古めのカードリーダーなどを使用していて、同じような状況のときは製造元で最新のファームウェアが提供されていないか確認してみるとよいと思います。

ちなみになんとなくなのですが、2GBを超えるSDHCなSDカードについてはファームアップデートでの対応は難しいのではないかと思います。

2008-02-26 written by akiyan | 記事 | 固定リンク | コメント (0) | トラックバック (0) | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

F905iのカメラ機能が良すぎる!

2008-02-25 | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

ケータイ会議 sponsored by 富士通』でモニター中のF905iなんですが、カメラ機能が良すぎです。モニターだから冷静にレビューしたいところですが、いいものは仕方がない。

F905iで撮影した写真サンプル

3枚だけですが、昼間の外でマックコーヒーをマクロ撮影、夜の代々木駅ホーム、恵比寿東側は御用達のモンスーンカフェの写真です。以下の画像は864x480を縦横1/2に縮小しました。リンク先は無加工です。レベル補正などはしていません。


きれいにマクロ撮影できています。


案内表示は白飛びしていますが、おおむねしっかりと撮れています。


コンビニのように明るく撮れていますが、実際はけっこう暗めです。

F905iのカメラ機能がいいと思う3つの理由

明るく撮れる

最近メインケータイとして使っていたのは SO902i → SH903i → SH905i なのですが、F905iがありえないくらい明るく撮れて驚いています。気をつけていれば手持ちでもほぼぶれません。上の写真は全て手持ちで、どこかに肘をつけていたわけではありません。

ヨコモーション!

エントリ冒頭の写真の通り、F905iは画面を回転させて横長画面にすることができます。カメラ機能を使うときには、これがじつにいい。SH905iなどでも画面を裏返してケータイを横にして横長画面でも撮影できるのですが、F905iの場合はさくっと横に倒していつも通りに撮影ボタンを押すだけ。なんてことないですが、この差は大きいです

カメラ起動中の設定が使いやすい

カメラを起動しているときの設定変更といえば、色んなキーを押したりメニューを開いてから選択したり...というのが一般的だと思うのですが、F905iはカメラの画面のままカーソルキーで設定できます。...って、見た方が早いので以下の通り。

ケータイカメラもここまできたかと

明るさ、横画面、設定のしやすさ...と、デジカメとして重要な点がかなり抑えられていました。F905iだとケータイでカメラ機能を使うのがかなり楽しくなりそうです。

FOMA F905i徹底レビューまとめサイト【ケータイ会議
sponsored by 富士通】

2008-02-25 written by akiyan | レビュー | 固定リンク | コメント (0) | トラックバック (0) | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

手がきブログの雰囲気に感動した

2008-02-23 | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

手がきブログに感動しました。まあ、画面をみてください。

何この圧倒的な雑誌のはがき投稿コーナー的な雰囲気ですよ。

特に感動したのが http://pipa.jp/tegaki/VBlog.jsp?ID=7411&TD=281155 のエントリです。

運営者への感謝の気持ちを手書きで書かれています。もしこんなことされたら、嬉しくてどうにかなってしまいそうです。

2008-02-23 written by akiyan | 記事 | 固定リンク | コメント (0) | トラックバック (0) | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

第2回CakePHP勉強会は大盛況でした!

2008-02-22 | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

» events.php.gr.jp 第2回CakePHP勉強会

2月20日(水)に開かれたevents.php.gr.jp 第2回CakePHP勉強会は来場者数50名以上、懇親会も40名以上、発表も6本(うちLT4本)と、大盛況のうちに終了しました。

発表資料へのリンクは安藤さんのレポートがきれいにまとまっていて辿りやすいですのでぜひどうぞ。

以下、雑感です。

addons.mozilla.org@CakePHP

  • 安藤さんのデモプレゼンスタイルが炸裂!
  • https://addons.mozilla.org/ja/firefox/はCakePHPでできています。
  • コントローラーのシンプルさのこだわりが刺激的だった。
  • 共通処理をコンポーネントに作るよりもapp_controller.phpにメソッド定義するほうが呼び出しやすくていい気がしていたけど、コンポーネントのほうがいいかもしれない。ひと目ですぐに共通処理とわかる。打鍵量が増えることについても、コンポーネント名を極力短くすればよい。「Amo(Addons Mozilla Org)」とか、いい。
  • app_modelをオーバーライドしてmemcachedでクエリキャッシュしやすくするのはぜひやりたい。

ニフティトピックイット@CakePHP

  • ちょくちょくネタにされてうれしかったw
  • 負荷対策がんばってください!

CakePHP 1.2 のEメールコンポーネントは使えるのか?

  • まだ日本語を扱うには問題が多いことがわかってよかった。
  • バグレポ++

初心者がはまりやすいCakePHPのうっかりポイントまとめ

  • 絶対笑えると思っていたのに、それでも大爆笑。
  • さすがとしかいいようがない。
  • 初学者はみるべし。

CakePHP+Oracle

  • CakePHPとOracleというなかなか無い組み合わせ。
  • バージョン変更でdeleteが動かなくなっても淡々と解決しているのが素敵。
  • 女性のプレゼンは癒されますね...。

あのオープンソースソフトウェアを CakePHP に移植する

  • FastLadderをCakePHPに移植!
  • ツボを突いてるうえに凄い。本気度が違う。
  • 「いろんなフレームワークに移植されて、比較検討をみてみたい」たしかに!
  • RailsアプリをCakeに移植するのはスムーズ。ファイル構成とかルーティングとか色々共通。
  • FastLadderはほとんどJSでできています。

最後に、来場いただいたみなさま、会場提供していただいたトライコーンさま、ありがとうございました!!!

2008-02-22 written by akiyan | 記事 | 固定リンク | コメント (0) | トラックバック (0) | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

『ケータイ会議 sponsored by 富士通』に参加しました

2008-02-18 | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

100SHIKI PR Board によるブロガー向けイベント、『ケータイ会議 sponsored by 富士通』に参加しました。(上の写真は1回目の勉強会の様子です)

イベント内容は以下の通り。

端末は富士通のF905iをとりあげ、3週間のモニタープログラムを行います。携帯という商品の特性上、ドコモのFOMAユーザーに限定されるのですが、ご興味のある方は企業とじっくり議論できるこの場に参加してみませんか?

ケータイ会議の概要

今回の会議で行うことは以下のとおりです。

2月15日(金)に富士通会議室にて勉強会

富士通さんに携帯業界の現状をお聞きし、そのあとにブロガーと企業はどうコミュニケーションをとっていくべきかを、モニタープログラムを題材に議論します。場所は汐留で、19:30からを予定しています。終わったあとは懇親会を開きます。

2月15日~3月7日のモニタープログラム

実際に携帯端末を使っていただき(SIMカードを差し替えて使っていただきます)、端末のレビュー&フィードバックをブログ上で行ってもらいます。なお、端末の色はその場の話し合い(&譲り合い)にて決まります・・・。

3月7日(金)に富士通会議室にて勉強会

モニタープログラムの経験を経て、何を学んだか、これからの課題は何かを議論します。終わったあとは懇親会を開きます。なお、モニター期間後、端末はそのままお使いいただけます。

「2月15日(金)に富士通会議室にて勉強会」を終え、現在モニタープログラム期間中です。これからF905iのエントリを最低3回アップしますので、よろしくお願いいたします。

FOMA F905i徹底レビューまとめサイト【ケータイ会議
sponsored by 富士通】

2008-02-18 written by akiyan | 記事 | 固定リンク | コメント (0) | トラックバック (0) | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

ウェブコミュニティ運営の教科書「Web Community」

2008-02-16 | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

著者の一人のけんすうより献本御礼。

Webコミュニティでいちばん大切なこと。 CGMビジネス“成功請負人”たちの考え方
Webコミュニティでいちばん大切なこと。 CGMビジネス“成功請負人”たちの考え方
このサイトから 5 が購入しました
全体で 22人 がクリック
posted with amazlet on 08.02.16
水波 桂 平尾 丈 片岡 俊行 斉藤 徹 古川 健介 伊藤 将雄 大迫 正治 原田 和英
インプレスジャパン (2007/12/20)
売り上げランキング: 2917
おすすめ度の平均: 4.0
4 結局はコンテンツに対する愛情と責任
5 コミュニティが作りたくなる
3 webコミュニティーに限ったことではない。

この本は第一章の冒頭にある以下の前提がかなり重要だと思います。

これからコミュニティサイトをビジネスに生かそうと考えている人は、上記のことを肝に銘じた上で「なぜ、コミュニティサイトをつくりたいのか」を明確にするところから始める必要があると思う。

コミュニティサイトはつくってすぐ成長するものでも、定期的な売り上げがのぞめるものでもない。時間をかけて育てていき、それでも失敗するケースが少なくない。

にもかかわらず、なぜあなたはコミュニティサイトをつくるのか。

ここで、「上司からつくれと命じられたから」という回答しか思いつかなければ、コミュニティの行く末は多難になる確率が高い。

逆に、あなたが関わっている分野において、「埋もれているいる製品(作品)を掘り起こしてスポットライトを当てたい」「自社のコミュニティサイトでユーザーに楽しんでほしい」といった強い気持ちがあるのなら、その情熱がコミュニティサイト成功の鍵になるはずだ。

1章の話はこれを前提としています。そしてなぜじわじわくるかというと、2章のリスクの話、3賞のユーザーのモチベーションの話になると「本気でユーザーにどうしてほしいかを考えていないと、絶対、やっつけになる」ようなアドバイスばかりだからです。

コミュニティサイトというは単なるツールとしてのウェブサービスではなく、ユーザーとユーザーとが交流する「場」的なもので、主役はあくまで「ユーザー」です。サイトの使いやすさや機能はもちろん大切だけど、盛り上がるかどうかの鍵はそこには無いように思います。

というのも、僕がユーザーとしてコミュニティサイトを沢山利用した経験上、「管理人がユーザーのことをすごく考えてくれている」ことが伝わるコミュニティでは、サイトが低機能でも、かなり使いづらくても、大した問題ではなかったからです。

とはいっても、サイトがどうあるべきかは重要です。成長するにはサイトの変化や機能の充実はかかせません。本書の内容自体はコミュニティを強化するための実践的な話がメインです。ユーザーを思う前提さえクリアできてより成功させたいのであれば、この本を読めば成功の可能性はかなり高くなるのではないかと思います。

2008-02-16 written by akiyan | レビュー | 固定リンク | コメント (0) | トラックバック (0) | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

Picasaウェブアルバムのアルバムをガンガン消すブックマークレット(スクリプトの解説つき)

2008-02-13 | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

PicasaとPicasaウェブアルバム

Picasa、使ってますか?頼んでも無い過去の写真やアレなコレな画像が思いがけずアルバム化されたりして、本当に便利ですよね...!

そんな便利な画像管理ソフトPicasaには「Picasa ウェブアルバム」上へアルバムをアップロードできる機能があります。僕はローカルのアルバムを常にウェブアルバム上に上げておくと便利かなと思い、調子に乗って全アルバムをアップロードしていました。しかし、Picasaには一括同期の機能が無くアップロードはアルバム単位でわりとのんびりなので、常にローカルと同じにするのは少々面倒でした。

しかも大量のアルバムをアップするとアルバム一覧画面が異常に重くなると言うおまけがついてきてしまったので、考え方を変えて、全て同期する機能がつくまでは「全部アップするのをやめて、共有だけに使う」ことにしました。

そこで今までアップしたアルバムを全て削除しようと思ったのですが、一気に複数のアルバムを削除する機能がPicasa ウェブアルバム側にありません。初期化機能もありません。300以上のアルバムがあるので、アルバム一覧→アルバム→削除→一覧→アルバム→削除...の繰り返しを300回以上するのは、表示が重く応答も遅いこともあってかなり面倒です。

Picasaのウェブアルバムを全て削除するブックマークレット

というわけで、XMLHttpRequestを駆使してPicasa ウェブアルバムのアルバムを全て削除するブックマークレットを作ってみました。

ブックマークレット » [Picasa ウェブアルバムを全て削除]

このブックマークレットは http://www.akiyan.com/js/deletepicasaweb.js を呼び出して実行します。httpで外部スクリプトを呼び出すので、自分の回線とakiyan.comを信用して頂ける方のみご使用ください。

削除が完了したアルバムは、以下の画像のようにサムネイルが消えていきます。

うまくいけば一発で全て削除できますが、時々Picasa側が503エラーを出して止まることがあります。エラーで止まると「stoped deleteAll」と表示され、画面がリロードされます。削除を続ける場合はリロード後に再度ブックマークレットを実行してください。

スクリプトの解説

スクリプト全体

http://www.akiyan.com/js/deletepicasaweb.js 全体のスクリプトです。jQuery 1.2.3を内包しています。


(function() {
/*
 * jQuery 1.2.3 - New Wave Javascript
 *
 * Copyright (c) 2008 John Resig (jquery.com)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * $Date: 2008-02-06 00:21:25 -0500 (Wed, 06 Feb 2008) $
 * $Rev: 4663 $
 */
(function(){jQuery本体})();

var anchors = $("div.lhcl_padding a[@href^='http://" + location.host + "/" + _authuser.name + "/']");
var offset = 0;
var wait = 0;
function recursive() {
  setTimeout(function() {
    var a;
    if (!anchors[offset]) return alert('finished!');
    a = anchors[offset];
    $.ajax({
      type: 'get',
      url: a.href,
      success: function(html) {
        var r,url,aid;
        r = html.match(/aid=([0-9]+)/);
        aid = r[1];
        r = html.match(/_deleteAlbumPath = "\\x2Flh\\x2F(deleteAlbum\?tok=[^"]+)"/i);
        url = 'http://' + location.host + '/lh/' + r[1];
        $.ajax({
          type: 'post',
          url: url,
          data: 'optgt=DELETE&uname=' + _authuser.name + '&aid=' + aid + '&selectedphotos=&redir=' + url,
          success: function() {
            offset++;
            $(a).hide();
            recursive();
          },
          error: function() {
            alert('stoped deleteAll');
            location.reload();
          }
        });
      }
    });
  }, wait);
}
recursive();
})();

上から順に解説します

var anchors = $("div.lhcl_padding a[@href^='http://" + location.host + "/" + _authuser.name + "/']");

jQueryでxpathを使ってアルバムへのリンクを全て取得しています。_authuserはPicasa ウェブアルバムが定義したユーザー情報の入ったオブジェクトです。_authusernameプロパティにはログイン名が入っています。

function recursive() {

XMLHttpRequestで非同期に1つづつ削除するため、メインの処理を再帰関数として定義しています。

  setTimeout(function() {
    :
  }, wait);

ウェイトをいれるためにメインの処理をsetTimeoutでラップしています。ただし現在はウェイト量はゼロになっているので意味はありません。

if (!anchors[offset]) return alert('finished!');

全て削除したらalertして終了する処理です。

    a = anchors[offset];
    $.ajax({
      type: 'get',
      url: a.href,
      success: function(html) {
        :

アルバムページをXMLHttpRequestでgetします。successプロパティに正常取得時の処理を定義します。

        var r,url,aid;
        r = html.match(/aid=([0-9]+)/);
        aid = r[1];
        r = html.match(/_deleteAlbumPath = "\\x2Flh\\x2F(deleteAlbum\?tok=[^"]+)"/i);
        url = 'http://' + location.host + '/lh/' + r[1];

取得したアルバムページのhtmlから、削除に必要なパラメータなどをスクレイピングします。なので、Picasa ウェブアルバムのhtmlの仕様が変わったらアウトです。

        $.ajax({
          type: 'post',
          url: url,
          data: 'optgt=DELETE&uname=' + _authuser.name + '&aid=' + aid + '&selectedphotos=&redir=' + url,
          success: function() {
            offset++;
            $(a).hide();
            recursive();
          },
          error: function() {
            alert('stoped deleteAll');
            location.reload();
          }
        });

スクレイピングした情報をもとに、削除リクエストをXMLHttpRequestでpostします。成功した場合(success)はoffset値をインクリメントし、リンクを非表示にして、再帰します。

失敗した場合(error)はアラートを出して画面をリロードします。

recursive();
})();

再帰を開始するための呼び出しです。解説は以上です。

JavaScriptができるとブラウザだけでこういうこともできるよ!という例でした

このように、JavaScriptだけでブラウザの操作を全自動化することができます。あまちゃんが「JavaScriptは新しいUIだ」的なことを言っていた(or 書いていた)記憶があるのですが、こういうのを作たびにまさにそうかもしれない、と思います。

2008-02-13 written by akiyan | 記事 | 固定リンク | コメント (0) | トラックバック (0) | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

第2回CakePHP勉強会 2月20日開催!

2008-02-08 | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

第2回CakePHP勉強会

2月20日(水)に第2回CakePHP勉強会が開かれます。勉強会参加費は無料、懇親会(移動ゼロ距離)は2000円です。参加は先着順ですのでお早めにどうぞ!なお、登録にはTypeKeyの認証が必要です。

もちろん僕も勉強会&懇親会に参加します。プレゼンするかどうかは今のところ未定です。

» 第2回CakePHP勉強会 - events.php.gr.jp

2008-02-08 written by akiyan | お知らせ | 固定リンク | コメント (0) | トラックバック (0) | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

あなたがプログラミングの初心者なら、友人知人が使っている言語にするといい

2008-02-05 | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

初めてのPC購入(OS選択)相談を持ちかけられたときにこう言ったことがある。

「まわりの人が使っているOSにするといいよ。Windowsの人が多いならWindows、Macが多いならMacね」

多分同じ事を言ったことがある人も多いんじゃないかな。

いい悪いももちろんあるけど、そのジャンルにおける本当の初心者にとっては助けてくれる人の存在がかなり大事だと思う。プログラミングもこれと同じ。というか、それなりにハードルがある技術全てに言えるんじゃないか。

個人的に、何かを薦めるという行為は、本人的にちょっと責任を感じる行為だと思う。だから、もし僕が親密度の高い人から技術選択の相談を受けたら、良し悪しも含めた上で僕がなるべくサポートできる言語やフレームワークを薦める。でも、その人の周りに他の言語やフレームワークに詳しい人がいたら、その限りじゃない。

プログラミングの挫折のショックはわりかし大きいので、そうならないための下調べとしてあなたの友人知人が使っている技術を調査してからでも遅くはないと思う。

そんなわけで、Flash Media Serverとかffmpegとかやっている人とお近づきになりたいです。だれかたすけて。

2008-02-05 written by akiyan | 記事 | 固定リンク | コメント (1) | トラックバック (0) | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

« 2008年1月 | 2008年3月 »