nDiki : サイドバー

2006年6月10日 (土)

Plagger のインストールが大変なので XML::RSSRSS から JavaScript コードへ変換するスクリプトを自作

一昨日社内メイン Wiki のレイアウトを変更してサイドバーを設けたので、徐々に増えてきた社内 Blog の ヘッドラインをそこに表示することにした。

最初は Plagger を使ってみようと思ったのだが、依存 CPAN モジュールが多くて CPAN.pm を使ってもなかなかインストールが終わらない。

ということで今回は Plagger を見送って、XML::RSS でちょちょっと aggregator を自作して済ますことにした。

基本的には nDiki 用に書いた「はてなブックマーク上の最新ブックマークを表示するためのコード(2005年5月16日)」をちょっと修正して利用。 HTML フラグメントを生成するかわりに、JavaScript IncludeJavaScript ファイルを生成するように変更した。

これで社内 Blog が読まれる回数も増えるかな。

スポンサード リンク
[ 6月10日全て ]

2007年1月8日 (月)

iCalendar 形式経由でスケジュールを社内 Blog に表示

仕事用に Skype 名を作成し、ついでに社内 BlogSkype ボタンを貼りつけてログイン状態を表示できるようにしてみた。

そういえば電話もそうなんだけれど、本社に連絡を取るとき「もしかして会議中?」などと勘繰ってかけるかどうか迷ってしまうことがある。 かけたい人の予定がわかればいいのになと。

ならば逆もしかりだろうということで、自分の仕事のスケジュールを晒してみようと思いついた。 グループウェアとかそういうのは大袈裟なので、まずは社内 Blogサイドバーに表示するようにしたい。

ということでこの3連休に実装してみた。

構成

入力

完全なスケジュールはほぼ日手帳に手書きで管理しているので、ミーティング・外出など晒しカテゴリのイベントだけを、電子化する必要がある。 手で HTML 毎回ごりごり書き直すのも嫌なので、スケジュール管理ソフトを使いたい。 この部分は KDE の KOrganizer を使うことにした。

サーバへアップロード

で、KOrganizer のスケジュールを iCalendar 形式でエクスポート。 このファイルを社内 Blog を配信しているサーバに rsync で転送。

この処理はちょっと手間なので自動化したいところ。

社内 Blog 内表示用 JavaScript Include ファイル生成 CGI プログラム

この iCalendar 形式ファイルを読み込んで、今日以降の10件(程度)を HTML フラグメントに変換し JavaScript プログラム (document.write() 列) として出力する Perl CGI プログラムを作成。

iCalendar の形式の読み込みについては Data::ICal や iCal::Paraser などの Perl モジュールを利用できる。 今回はシンプルに使えそうな iCal::Parser をチョイス。 基本的には

 use iCal::Parser;
 my $parser = iCal::Parser->new;
 my $calendar = $parser->parse($ics_file_name);

で読み込んだデータがハッシュリファレンスとして $calendar に設定される。 イベントは $calendar->{2007}->{01}->{01}->{$uid} のように「年、月、日、イベントUID」のハッシュ階層として格納されているので、これを読み出せばよい。

社内 Blog サイドバーに表示

で、この CGI プログラムが生成する JavaScript プログラムをサイドバーJavaScript Include

まずは表示までできるようになった。

これで

をまとめて公開できる社内 Blogアップグレード

おいおいスケジュールの表示デザインとかは改良していきたい。 hCalendar 形式にして CSSデザインするのがいいのかな。

[ 1月8日全て ]

2007年2月7日 (水)

お気に入り出しっぱなしの実態

少し前に Web で話題になった「お気に入り出しっぱなしが多数派?」について、昨日まんまの話題が出た。

Web 制作ミーティングで想定ウィンドウサイズの議案になったのだが、多くの人がごく当たり前のように「横にお気に入り出しっぱなしだから……」「私もそう」という発言があちこちから。

これか!

さらに興味深いのがサイドバーを出していると自身で言っているにもかかわらず「最近は画面(ディスプレイ)の幅広くなってきたから、幅広めで(レイアウトしましょう)」という流れになったこと。 「お気に入り出しっぱなしの人が多そうだから横幅狭くても見やすいようにしましょう」とはならない。

本当はここで意見するべきなのかもしれないが、今回はそういいう位置にいなかったので興味深く聞いていたのみ。

[ 2月7日全て ]

2007年4月6日 (金)

Twitter のアカウントを作成して、今何をやっているかを晒す

しばらく前から話題になり始めている Twitter のアカウントを作成してみた。

以前初めて Twitter のサイトを訪れた時には、何だか知らない人の1行メッセージが並んでいるだけに見えて(実際そうなのだけれども)「ふーん」という感じだった。

知っている仲間が使い始めると、チャットよりはユルく、 AIMSkype などの1行コメントよりはコいコミュニケーションツールとして面白く使えるのかもしれない。 大学仲間の雰囲気が似合いそうなサービス。

自分の場合は、Blog のエセライブカメラを補完するアクティビティ晒し用として使うのがまずは良さそう。 ということで、nDikiサイドバーに Badge を貼ってみた。

今していることを変えるたびに入力するのって、ある意味作業記録をつけているようなものだな。 統計とか取れるようになると Life Hacks 的には面白いかも。

[ 4月6日全て ]

2007年4月23日 (月)

ソフトウェア技術者御用達のプロジェクトマネジメントツール TaskJuggler

ときたまやってくるソフトウェア開発計画作成、今までは GanttProject を使っていたのだけれども、挙動が安定しないのと印刷機能が貧弱なのとで満足できていなかった。

ということで今回は新しいツールを使ってみることにした。チョイスしたのは TaskJuggler

Linux 上で動くツールである。 GanttProjectWindows でも Linux でも使えるのが利点だったのだが、ここ数年の中でプロジェクトファイルを共有することも無かったので、まあ Linux だけでしか動かなくてもいいかなと。

テキスト形式でのプロジェクト記述

TaskJuggler が特徴的なのは、プロジェクトをテキストファイルで記述するところである。 一般的なプロジェクトマネジメントツールは GUI 上でガントチャートを直接編集したりできるのだが、TaskJuggler はそんな軟弱者向けの機能は用意されていない。

あくまでテキストで書く。プロジェクト・リソース・タスク・レポートをテキストファイルに書く。 でコンパイルするとガントチャート等のレポートが生成される。実績もテキストで入力する。

書き方に問題があればコンパイルエラーになるし、定義したタスクの依存関係等でプロジェクト期間からはみ出てしまうような時もコンパイル時に怒られる。 渋い。

TaskJugglerUI

とっつきにくく見えるが、慣れると以外とそんなに難しくない。 effort と length と duration の違いが分かればあとは楽勝。

TaskJugglerUI という GUI ソフトウェアでは、補完機能の優れたエディタが内蔵されているしサイドバーのリストからタスク等を選んで、対応する行に移動することもできる。

さながら Eclipse でコードを書いているような感じ。

下手にガントチャート上でタスクをドラッグアンドドロップして、日にちを動かすよりも思った通りに定義していけるので良い。

印刷

ガントチャートについては、それなりに見やすいフォーマットの印刷物を生成してくれる。 印刷からプリンタとして「Print to File (PDF)」を選択すれば日本語も含めて問題なく PDF 化できるので、でき上がったものも配付しやすい(ここら辺は KDE 側の範疇か)。

GanttProject では PDF 出力がイマイチで結局、画像ファイルにエクスポートしてプリントアウト/配付していたのでこれは便利。

面倒な点といえば

面倒な点があるとしたら、タスクに ID をつけてその ID で依存関係などを指定してあげなければいけない点か。 識別子を考えるのが面倒なのと、タスクの数が増えてきた時にその指定したい ID を探す(思い出す)のが面倒である。

あと、識別子の名前変更リファクタリング機能があればいいな (一括置換だと関係ないところまで置換してしまう可能性がある)。

ということで

ソフトウェアエンジニアには使いやすいツールだと思う。

マクロ機能やインクルード機能などもあるのでもう少し使いこんでみたい。

[ 4月23日全て ]

2007年7月2日 (月)

Google Desktop Linux 版をインストール

Google より、ついに Google デスクトップ Linux 版がリリースされたのでインストールしてみた。 サイドバーなどの機能はないが、もちろんデスクトップ検索機能備えている。

インストール

Debian 用のパッケージ (google-desktop-linux_1.0.1.0060_i386.deb) があるので、これをインストールすれば OK。 インストールは楽ちん。

動作

KDE を使っている自分の場合、K メニューに「Google デスクトップ」が追加されるので、ここから Google デスクトップを起動する。あとは Windows 版と同様にインデックス関係の設定をしたらおしまい。 じわじわとインデックスが生成されていくのを待つ。

Ctrl キー2クリックで表示される「クイック検索ボックス」あるいは、Web ブラウザ検索画面から検索ができるようになる。 検索結果画面から各ファイルへのリンクは、Konqueror および関連付けされているアプリケーションで開くようになっている。

Beagle はアイドル中に CPU パワーを食いすぎるので、結局アンインストールしてしまったが Google Desktop ではどうだろうか。

[ 7月2日全て ]

2007年11月9日 (金)

Twitter ステータスを nDiki サイドバーに表示

公式の Flash 版 Twitter badge をこのページのサイドバーに表示していたが、以下の点でちょっと不満だった。

  • 「Flash, Just Me」: 自分のみのステータスを表示できるが、1度に1つのみ。キャッシュの関係で古い情報が表示されがち。
  • 「Flash, With Friends」: 自分のみのステータスを表示できない。
  • 「HTML/JavaScript」: JavaScript ファイル読み込みなので、Twitter 側が重いとページのその先のレンダリングが止まってしまう。

「自分の過去のステータスを一覧的にサイドバーに表示する」のがしたいことなのだが、ちょっとマッチしない。 ということで Twitter から RSS フィードを取ってきて、サイドバーに表示することにした。

使ったモジュールは URI::Fetch + XML::RSS + Date::Parse。 それとユーティリティとして WiKicker::HTML と WiKicker::URI。

  1. cron で定期的に Twitter から RSS フィードをとってきて、Perl スクリプトで HTML フラグメントに変換。
  2. DiKicker が読み込む(サイドバーを含む)フッタファイルに挿入。

と簡単に実装してみた。機能的には概ね満足。

今後は L:~ や URL自動リンク化、キーワードの自動リンク化を適宜したい。

[ 11月9日全て ]

2007年11月12日 (月)

今日のさえずり - Twitter ステータス中のキーワードを自動リンク

  • 09:52 週末会社のメールサーバを止めてあったので、今日は朝の inbox 処理が楽。 *Tw*
  • 10:46 久しぶりに message/partial なメールがきたので Mew の info をひいた。* して J。 *Tw*
  • 16:01 user_timeline RSS フィードは、認証されている/いないで中身が違うのか。認証なしだとちょっと古いのしかとれない。
  • 16:10 @yaa 情報ありがとうございます! ?dummy=dummy つけたら認証なしでも最新ステータスが取れました。
  • 17:30 ようやく、つくばのロフトほぼ日手帳2008を買った。オレンジのナイロンカバー。L:つくば[mb]
  • 18:07 今日の笑点始まりまで、MovaTwitter で逆から読み。お題を推測しながら。[mb]
  • 18:55 @yaa ふむふむ。値変えてトライしてみます。[mb]
  • 23:47 サイドバーに表示している Twitter ステータス中のキーワードを自動リンク化した。
  • 23:49 URL のリンク化を忘れてた。
[ 11月12日全て ]

2007年11月13日 (火)

今日のさえずり - データベース設計していて enraku 登場見落としてた

[ 11月13日全て ]

2007年11月23日 (金)

最近の Twitter ステータスを nDiki最近のさえずり」ページに自動表示

11月9日から「Twitter ステータスを nDiki サイドバーに表示」しているのだが、それで使っているスクリプトにちょっと手を加えて「最近のさえずり」という nDiki ページを自動生成/更新するようにした。

サイドバーRSS フィードと同じく最近の20件を表示するのに対し、最近のさえずりページには数日分表示するようにした。

ここ最近は Twitter のステータスをとりまとめて、ライフログ的に nDiki に上げているのだが、今までは Twitter Web ページやサイドバーの部分から手作業でコピーして日時やリンクを整形していたので面倒であった。

今回の(30分毎に)自動更新するページは最初から WiKicker / DiKicker 用の Wiki 文法で出力している。 なので、これからはこの自動生成ページから必要なものだけを抜き出して貼り付ければよい。 これで楽ちんになるはず。

ほぼ自分用。自己満足。

[ 11月23日全て ]

About Me

Naney Naney

Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

About nDiki

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。

#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。

※本サイトの内容は個人的見解であり所属組織とは関係ありません。

Other Notes

ナレッジベースアプリケーション Obsidian で書いているノートの一部を notes.naney.org で 公開しています。

最近検索されている記事

月別インデックス
Process Time: 0.077496s / load averages: 0.06, 0.33, 0.51
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker