2008年6月9日(月曜日)

スタッフBLOG変更しました。

カテゴリー: - Ryuji @ 12時54分28秒

スタッフBLOGをWordpressからd3blogへ変更しました。

新スタッフBLOG

RSSリーダなどでご覧になっている方は、購読URLの変更をお願いいたします。


2008年6月5日(木曜日)

今から覚えるXen part1. Xenについて

カテゴリー: - halt @ 13時03分28秒

haltです。

皆さんは仮想化を行うソフトウェアの事をご存知でしょうか。
普通、1台のコンピュータではパーティション分割などによって複数のOSをインストールする事はできても、複数のOSを同時に動かす事はできません。
しかし、仮想化ソフトウェアを利用してコンピュータの中に複数の擬似的なコンピュータを作り、その上でOSを動かす事で複数のOSを同時に動かす事ができるようになります。

レンタルサーバでは、この仕組みを利用して、1台のサーバに複数のOSを入れ、そのOSのroot権限を貸す、VPSというサービスを行っています。

仮想化を利用する事で、複数のサーバを1つのマシンで運用できるようになるため、物理スペースの節約、電気代の節約などができるようになります。

業務を行っている期間が長ければ長いほどサーバは増えるものです。グループウェアサーバ、ファイルサーバ、テストサーバ、本番サーバ、xx社と通信する専用のサーバetcetc…
そして物理サーバは老朽化するという事がたくさんのサーバを管理するサーバ管理者を悩ませます。「たぶんこのサーバは電源を切ると二度と起動しなくなる」という謎の発言を聞いた事がある人もいるでしょう。
7年、8年も動き続けているサーバの中には再起動するだけで故障しかねないものが多くあるのです。

これらの多くのサーバを、Xenを利用すれば1台のサーバでまとめる事ができるようになります。最新のコンピュータは古いコンピュータの何倍もの性能を持ちます。そして文字通り、古いコンピュータをその倍数分だけ動かす事ができるようになるのです。

仮想化の大きなメリットとして、「デバイスドライバに依存しなくなる」という事があります。古くなったサーバ、ファンや電源が壊れたサーバからハードディスクを抜き出して、新しいサーバで使う場合、それまでつかっていたサーバと新しいサーバでドライバが違う為に単純にハードディスクを移動しただけでは使えなかったりします。
一方、仮想化されたOSは一律にXenが作り出した仮想環境で動作するので、物理サーバが故障しても簡単に別のサーバに移動する事ができるようになります。

これは、Xenが持つ「ライブマイグレーション」を利用する事でさらに大きな意味を持ちます。
ライブマイグレーションとは、「2台の物理サーバの間を仮想マシンが無停止で移動する」仕組みの事で、これを利用すると、サーバAで稼動しているOSを稼動状態のまま、サーバBに移動する事ができるようになります。

これから数回にわけて、Ubuntu Linuxを利用したXen-3.2の環境構築方法について紹介していきたいと思っているのでよろしくおねがいします。


2008年6月2日(月曜日)

RSS購読についてのお願い+おまけ

カテゴリー: - sato @ 17時03分22秒

satoです。

当ブログをLivedoor Readerで見ている方は結構多いのですが、Atomフィードで購読している方が多いようです。
しかし、現在システムの不調により、Atomフィードのほうは正常に表示できないケースが多いです。
ご迷惑をおかけいたしますが、極力RSS2のほうを利用して頂くようお願い申し上げます。

ところで、当ブログは
・RSS0.92
・RSS1.0
・RSS2.0
・Atom
の4種類のフィードを出力しています。
これらは全てフォーマットは違いますが、用途としては同じものです。
広義の意味で「RSS」と言うと、特に指定はなく、これら全てを指すことになります。ただし通常は「フィード」と呼んだほうが通じると思います。(AtomはRSSではないので)
そのため、「読み込み側」としての「RSS対応」なサイトを作るには、これら全てに対応している必要があります。実際には、AtomとRSS2.0だけで大体はカバーできるのですが、古いサイトだとRSS1.0や0.9しか出力していない場合があったりするので、全て対応しておくのが無難かと思われます。
一方、「出力側」としての「RSS対応」であれば、基本的にはどれか1つに対応していれば十分なことが多いですが、こちらも逆に古いシステム向けにするのであればRSS1.0などの対応も必要になります。ただし読み込み側が複数対応していないというケースは多くはないので、通常はRSS2.0かAtomに対応させることが多いです。

PHPでフィードをパースする場合は、既存のライブラリを使うことが多いですが、例えば特定サイトのフィードのみをパースする場合は、正規表現で足りることもあります。
例えば当ブログのAtomフィードであれば、

preg_match_all("/<title>(.*)</title>/", $contents, $matches);
preg_match_all("/<link rel=\"alternate\" type=\"text/html\" href=\"(.*)\" />/", $contents, $matches);

のような正規表現で取得できることが多いはずです。(ただしどちらもサイト全体のtitleとlinkも取得してしまうので、1つ抜いてください)
用途によってパース方法は変わってくると思うので、最適な方法を考えてみてください。


第2回CubeNightまであと2日

カテゴリー: - Ryuji @ 10時57分24秒

直前の告知になってしまってすみませんが、カジュアルなXOOPS Cube勉強会「第2回CubeNight」が6月4日19時より西新橋の長尾ビル8Fにて開催されます。

・Cube Night 6/4 (水)のお知らせ

主催は、XOOPSの初期から普及活動に力を入れられてきたtadashiさんです。

CubeNightは、カスタマイズ事例などを紹介する「技術編」と、カジュアルにXOOPS Cubeについての意見交換をする「懇親会」にわかれています。

「技術編」ですが、第1回のときは、事前にちゃんと準備しなかったせいで、私の発表はボロボロだったんですが、今度は5月29日にLinuxWorldのミニセッションでお話させてもらった内容をもとに、さらに踏み込んで話をしようと思ってますので、前回よりちゃんとしたお話ができると思います(^^;

今回の私の発表テーマは「社内で使うXOOPS Cube」です。

WebサイトにXOOPS2やXOOPS Cubeを使った事例というのは、簡単に見つかると思いますが、社内やイントラで使われているケースだと、どのように使ってるか見えないですよね。

でもけっこう社内やイントラでもXOOPSは使われてますので、そのあたりのお話をしたいと思ってます。

「技術編」の参加は無料!ただし会場の広さの関係で限定12名までとなってます。

20時からの「懇親会」は飲食費として2000円かかります。こちらは立食式で20名まで。

直前の告知になってしまったので、スケジュール調整が大変かもしれませんが、XOOPS Cubeにご興味のあるかたは是非ご参加ください。


2008年5月30日(金曜日)

5x3サイズ情報カード&仕組み仕事術

カテゴリー: - mik @ 14時54分09秒

最近、手書きのメモ帳を便利に使うようになったのですが もう一歩! と不満に思うところがありました。

・メモ帳のぺらぺらな紙だとなくしやすい(タスクが終わるまでになくなることも)
・とっておきたいメモを書いても収まりが悪い

という点を解消できないかなと思っていましたが、ふと文房具屋さんで見かけたことのある情報カードについて調べてみました。検索するとやっぱり使いこなしている方の詳しいページを発見。

Pile of Index Cards 日本語版
http://pileofindexcards.org/

内容が豊富で具体例が書かれていたためじっくり読み、早速その気になりました。

使おうと思ったのは5x3サイズといわれている情報カードです。
コクヨ

や老舗ではコレクトという会社
http://www.correct.co.jp/06cat/ip/ct_50.html

文具メーカーのライフ
http://www.life-st.jp/productj01.htm

などから出ているようです。

インターネットでカードとカードボックス、仕切り坂を注文して届いてから使い始めましたがこれはなかなかいいです。

仕事開始時にタスクをこの紙に書きます。裏表を使うとかなりの量がかけるのでこの量でぴったりのようです。またちょうどPCを買い換えた時期でしたのでインストールしなければいけないソフトの一覧をメモして仕事の合間にやってはチェックしてつぶす、ということに役立ちました。

また特に便利だなと思ったのは、ちょっとしたことだけれども記録しておきたいこと。たとえば「スタート時に起動したいプログラムをどこにおくか」とか「決まり切った事務作業の手順」などです。これらを3x5情報カードに書いて保管しておくだけでいざというときにすぐ参照できるようになりました。このあたりは

を読んで実行したいと思っている仕事を仕組み化する、ということにも役立ちそうです!


2008年5月29日(木曜日)

Postgresqlのシーケンス名は63文字までしかうけつけない

カテゴリー: - halt @ 03時18分34秒

haltです。

皆さんはタイトルの件。ご存知でしたか?
ドキュメントの上では

識別子とキーワード
http://www.postgresql.jp/document/current/html/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS

の部分に書かれていますが、シーケンス名に限らず、識別子に関しては63文字しかうけつけてくれません。

単純に識別子が63文字までという制限であればさほど問題はないのですが、この制限によってcreate table文発行時に自動生成されるシーケンスス名がまるめられてしまうという現象が発生します。

例えば

 myproject_project_control_log(29文字)

というテーブルがあってこのキーが

 myproject_project_control_log_id(32文字)

の場合

myproject_project_control_log_myproject_project_control_log_id_seq

というシーケンス名になるのですが、これは66文字の為、まるめられて

myproject_project_control_log_myproject_project_control_log_seq

という感じになってしまいます。

シーケンス名は「テーブル名」+「カラム名」+「_seq」という構成なので、決め打ちでシーケンスを参照できるはずなのですが、このまるめ処理によってシーケンスを参照する事ができなくなり、エラーが発生します。

実際はここまで長いシーケンス名になる事はあまりないでしょうが、プレフィクスなどをつけている場合は注意したほうがよいでしょう。


2008年5月28日(水曜日)

XOOPS Cubeの公式サイトと、日本ユーザ向けの情報

カテゴリー: - gusagi @ 10時30分54秒

gusagiです。
今日は、XOOPS Cubeの公式サイトと、日本ユーザ向けの情報サイトについて書きます。

日本では、「公式サイト」と言うと、xoopscube.jpを想像する人が多いと思います。
実際は、xoopscube.jpは「公式サイト」ではなく、「日本コミュニティサイトの一つ」なのですが、
これは以外と知られていないようです。
また、本当の「公式サイト」は、xoopscube.sourceforge.netなのですが、これも殆ど知られていません。

この原因は、幾つかあると思うのですが、一つには、xoopscube.jpが昔は
「XOOPSの日本公式サイト」だったことにあります。
昔、xoopscube.jpは閉鎖予定になったこともあるのですが、現在は
数あるコミュニティサイトの一つという位置づけで存在しています。
また、Googleで「xoops」を検索した場合、2008/05/28時点で一番上に表示される日本語サイトが
xoopscube.jpであることも大きな要因です。

この誤解自体は、直接的にはそれほど大きな問題を起こさないように見えます。
しかし、XOOPSについて詳しくない人にとっては、これは大きな問題を引き起こしているのが現状です。
というのも、前述のように、「xoops」で検索をした場合、xoopscube.jpが一番上に表示されるため、
大抵の人はここを訪れます。
しかし、現在のxoopscube.jpは、XOOPS初心者にとって必要な情報が殆どありません。
日本のXOOPS初心者にとっては、XUGJひよこむ文系のためのXOOPS入門の方が
必要な情報を探しやすいはずです。

今の、XOOPS日本コミュニティにとっては、必要な情報サイトを結びつける導線が不足しています。
そこで、XOOPS Cubeのメイン開発者であるminahito氏は、公式サイトのリニューアルに着手を決めたようです。
公式サイトをリニューアルし、公式サイトで必要な情報を入手したり、各国のコミュニティへ導線を張り直すことで、
状況を改善しようと考えています。
他にも、一部の開発者を中心にして、http://xoopscube.sourceforge.net/ へのリンクを貼る動きが出てきています。
これは、のバナーとリンクを自分のサイトに貼るだけですので、
モジュールやテーマを開発出来なくても、協力可能です。
これらの動きは、すぐに効果が出るものではないかも知れません。
しかし、決して無駄にはならないでしょう。
もし、このリンク貼りに興味の有る方がいましたら、上のバナーをダウンロードの上で、自分のサイトでも貼ってみてください。
そして、XOOPS Cubeを盛り上げて行きましょう :mrgreen:


2008年5月26日(月曜日)

Firefoxの拡張を書き換える

カテゴリー: - sato @ 20時15分12秒

satoです。
Firefoxは様々な拡張がありますが、環境によって動かなかったり、キー操作が自分好みじゃなかったりする場合があります。
しかし拡張は意外と簡単に書き換えることができます。

※拡張を書き換える際は自己責任でお願いします。

・基礎知識
Firefoxの拡張であるxpi形式のファイルですが、実はzip形式で圧縮されたファイルを拡張子を変えただけです。
なので、適当なxpiをダウンロードして、拡張子をzipに書き換えて解凍してみると普通に解凍できます。
構成されているファイルはほとんどがテキスト形式なので、好きなエディタで編集することができます。
書き換えた後に、再度zip形式で圧縮し、Firefoxのアドオンウィンドウにドロップするとそのままインストールが可能です。
※自動でファイル名と同名のフォルダを作るような解凍ツールで解凍した場合は、自動で作られたフォルダを含めないで再圧縮してください。

・対応バージョンを書き換える
拡張の基本情報は、install.rdfに書かれています。
このファイルは、RSS等でおなじみのRDF形式のXMLファイルなので、XMLが読める方なら大体理解できると思います。
このファイルを見ると、

em:minVersion="1.5" em:maxVersion="2.0"

のような記述があると思います。これが対応バージョンの表記です。
例えば、Firefox3.0で動かすには、

em:minVersion="1.5" em:maxVersion="3.0.*"

のようにします。
このまま再圧縮するとFirefox3.0でも動く可能性がありますが、場合によってはFirefox自体が起動しなくなるようなケースもあるかもしれません。しかし非対応の拡張をどうしても使いたいという場合には有効だと思います。
ちなみに、Firefox3.0では拡張に関するセキュリティが強化されており、この方法で動くことは少ないと思います。動かす方法はありますが、今回は省略します。

・キーバインドを書き換える(Hit-a-Hintの例)
Firefoxのブラウザ内のリンクをキーボードのみで選択できるようになるHit-a-Hintという拡張があります。
キーボード派には非常に便利なのですが、デフォルトがスペースキーに割り当ててあるので、スペースキーでスクロールをしている場合には逆に不便になってしまいます。
昔はキーコンフィグ画面があったのですが、最近は何故かなくなってしまったようです。仕方がないので直接書き換えて見ます。(keyconfigという拡張を使う方法もありますが省略します)

Hit-a-Hintをzipとして解凍すると、chromeフォルダにchrome.jarというファイルがあります。
jarはJavaの圧縮形式ですが、これもzipと同じ形式です。なのでやはり拡張子をzipにして解凍します。
この中に、content\overlay.xulというファイルがあります。XML形式のファイルなので、テキストエディタで開きます。
開くと、

  <key id="hahQuickToggle" key="l" modifiers="shift,accel" oncommand="hah.QuickToggle();" />
  <key id="hahRegenHints" key="r" modifiers="shift,accel" oncommand="hah.RegenHints();" />
  <key id="hahBlurFocused" key="j" modifiers="shift,accel" oncommand="hah.BlurFocused();" />

<key id="hahStartKey" key="h" oncommand="hah.enterStartKey(event);" /> <key id="hahMagicKey" key=" " oncommand="hah.enterMagicKey(event);" />

<key id="hahBackspace" keycode="VK_BACK" oncommand="hah.enterBackSpace(event);" /> <key id="hahExitKey" keycode="VK_ESCAPE" oncommand="hah.enterExitKey(event, false);" /> <key id="hahEnterKey" keycode="VK_RETURN" oncommand="hah.enterExitKey(event, true);" />

のような記述が見えると思います。これがキーバインドそのものなので、直接編集して保存し、再度順番に圧縮していけば好きなキーバインドが出来上がります。
キーに関する詳細は、XUL:key - MDCを参照してください。

・まとめ
Firefoxの拡張は
-zip圧縮形式
-JavaScript
-XUL(XML)
でほとんどが構成されています。
ほとんどの環境で編集が可能なので、例えば日本語言語ファイルを作って公開なども簡単にできます。(公開する場合はライセンスに注意してください)
プログラミング環境としても面白いと思うので、興味のある方は拡張作成にも挑戦してみてください。


2008年5月23日(金曜日)

Googleカレンダをリマインダとして使う

カテゴリー: - Ryuji @ 19時08分31秒

毎週、決まった曜日にしかできないことってありますよね。

代表的なのはゴミの日。ゴミの種類によっては、月の特定の日にしか出せないなんてこともあります。

こういうのは、わかっているつもりでもついつい忘れちゃうんですよね。

私は集配ボックスを使ったクリニーングを利用しているのですが、これを出せるのが火曜と金曜だけなんですが、ついつい出すのを忘れてしまってました。

そこでGoogleカレンダをリマインダとして使ってみました。

Googleカレンダには予定の通知をメールで送ってくれる機能があります。これを利用して火曜と金曜の朝7時半に「クリーニングを出す」という予定をいれてます。

さらに前日(月曜と木曜)の夜には「クリーニングに出す準備」という予定もいれてます。

こうしておかないと火曜(または金曜)の朝になってから、大あわてでクリーニングに出す服をかきあつめるか、「あー時間がないから今日はいいやっ」と先送りすることになってしまいます。

これを実行するようになってから、それまでついつい先送りになりやすかった「クリーニングに出す」というタスクを確実に実行できるようになりました。

1回だけのリマインダならTodoメール が便利ですが、ゴミ出しのように繰り返し通知して欲しいことはGoogleカレンダに、当日と前日の下準備分の2つともリマイダをセットしておくと良いと思います。


2008年5月22日(木曜日)

ノートパソコン比較

カテゴリー: - mik @ 22時12分22秒

先日買ったThinkPadがようやく使えるようになってきました。

なにせ膨大なデータを移動したり、膨大なソフトをそろえたりでなかなかメインマシンにするのは時間がかかりました。

2つ使ってみていろいろ思うところがあるので書き留めておきます。

ThinkPadがいい!と思うところ
・一日に一回以上、ネットが切れない(これは当たり前ですが)
・電池の残量%が常に数字で大きく見えているので100%になったらラインを抜くということができる
・小さくて軽い
・Shiftの位置がいい
・PgUp/Downキーが独立している
・運転音が静か
・起動が速い

やっぱVAIOもよかったかな?と思うところ
・画面が大きい(解像度も)
・画面が明るい
・DELETEキーとCtrlキーの位置はこっちのがよかった、、かも
・全部のキーが一定以上の大きさ(ThinkPadは小さいがゆえに端っこのキーが小さい)
・キーボードが平たいので爪が長くても打ちやすかった(らしい)

です。VAIOもよかったところがあったんだなぁ、と改めて感じました。Thinkpadは指紋認証があって便利〜としばらく騒いでいたんですが実はVAIOにもついていたということが買い換えてからわかったり(^^;。

今のThinkPadをメインにするために一番のネックはやはり解像度がXGAと小さくなっちゃったことです。しかしそのために今まで使わなかったランチャーやファイラーを使うことも覚えました(便利ですね!)。

ランチャーはこのblogで佐藤さんも紹介していたCLaunchというものを使っています。ランチャーを使うのはWindows3.1以来かも、とか思いつつ格段に進歩した機能を楽しんでます。


XOOPS Cube勉強会

カテゴリー: - halt @ 00時10分27秒

RYUSウェブサイトトップページでも告知していますが第1回XOOPS Cube勉強会を開催する事になりました。

普段の勉強会は第2回CakePHP勉強会のように、PHPを使ってWebアプリケーションを開発しているプログラマを対象にしたものが多いのですが、今回は、PHPをあまり知らない人に対してXoopsを紹介する新しい形の勉強会になります。

すでに参加枠いっぱいになってしまっていますが次回の開催時にはスタッフblogでも告知するのでご参加ください。


2008年5月20日(火曜日)

日本以外からのPOSTを弾くフィルタpreload

カテゴリー: - gusagi @ 23時52分51秒

gusagiです。
今日は、日本以外からのPOSTを弾くフィルタpreloadを書いてみようと思います。

トラックバックスパムやコメントスパムなどで困っている方は結構いると思います。
簡単な対応方法は、protectorモジュールを入れて対応することなのですが、
日本以外からPOSTされた場合は全て弾きたい、などという場合もあります。
その場合、PEARのNET_GeoIPを利用することで実現が可能になります。

Net_GeoIPでは、MaxMind社が配布しているGeoLite Countryのデータを利用します。
利用するデータは、こちらのファイルで、無料で利用可能です。
このファイルと、前述のPEARパッケージを、サーバの適当なディレクトリにアップロードして下さい。
 ※下記のコードでは、PEARパッケージを{XOOPS_TRUST_PATH}/PEAR、GeoLite Countryのデータを
 {XOOPS_TRUST_PATH}//PEAR/GeoIP/GeoIP.datとしています。
(続き…)


2008年5月19日(月曜日)

symfony+sfModalBoxPluginで簡単ダイアログ

カテゴリー: - sato @ 12時32分52秒

satoです。
今回はsymfonyフレームワークで、簡単にダイアログボックス的なものを表示してみます。
sfModalBoxPluginを利用します。

・sfModalBoxPluginのインストール
sfPrototypePluginが必要なので、先にインストールします。

$ symfony plugin-install http:⁄⁄plugins.symfony-project.com/sfPrototypePlugin
$ symfony plugin-install http:⁄⁄plugins.symfony-project.com/sfModalBoxPlugin

細かい設定は特に必要ありません。

・ダイアログ側作成
まず、ダイアログとして表示したいactionを作成します。
apps/frontend/modules/dialogtest/actions/actions.class.php

  public function executeDialog()
  {
  }

apps/frontend/modules/dialogtest/templates/dialogSuccess.php

<p>hello dialog box</p>
<p><a href="#" onclick="Modalbox.hide();return false;">close</a></p>

・呼び出し元作成
apps/frontend/modules/dialogtest/actions/actions.class.php

  public function executeTest()
  {
  }

apps/frontend/modules/dialogtest/templates/testSuccess.php

<?php use_helper('ModalBox') ?>
<?php echo m_link_to('show dialog', 'dialogtest/dialog') ?>

・実行
dialogtest/testをブラウザで表示すると、

このような画面になります。ここで「show dialog」をクリックすると

このような画面になります。「close」をクリックすると元の画面に戻ります。

例えばselectタグでは多すぎるような項目を選択させる際に、ダイアログを出して選択させて、選択結果をJavaScriptで元の画面に挿入するようにすると、操作性が上がると思います。
デザインの都合上、管理画面などに利用するのが向いていると思います。
actionがそのままダイアログとして利用できるのは便利だと思うので、是非試してみてください。

ModalBoxの詳しい説明は、ModalBox | Wildbitをご覧下さい。sfModalBoxPluginについてはsfModalBoxPlugin - symfony - Tracをご覧下さい。


2008年5月16日(金曜日)

手順をゴールから逆算して考える

カテゴリー: - Ryuji @ 18時25分17秒

やらなきゃいけないのに、なんだか大変そうでなかなか手につかないタスクってありますよね。

こういうタスクは細切れにしてやると、個々にやっつけてやると良いのですが、どうやって分解したらよいのか悩むことがあります。

ひとつの分解方法としては、以前紹介した「きれいさちこ」という方法。これは、タスクは基本的に6種類に分類できるという考え方で、それぞれ何をしたらよいかを考えようという方法です。

この方法はトータルで1日以内で済むようなタスクには効果的なのですが、1週間以上かかるような大きなタスクだと、分解タスクのリストアップが不十分になることが多いです。

そんなときに最近私がおこなっているのが、ゴールから逆算して手順を考えるという方法です。

元のアイディアは下記書籍で紹介されているダンドリ方法です。



手法はいたってシンプルです。

  1. 最終的な完成形を書き出す。
  2. それを得るために、その一つ手前に必要な作業を書き出す。(複数になることも)
  3. その作業をするために必要なのは何かを書き出す。(複数になることも)
  4. 2にもどり、3を得るために必要な作業を書き出す。
  5. 以下作業がなくなるまで繰り返し。

そうすると下記のようなフローができます。


test.png

こなんなような図をA4の裏紙に、だーっと書き殴って、ひとつ作業するたびに、赤鉛筆でその作業を塗りつぶしてます。

これをしておくと、ゴールまでの道順がわかるので、次のようなメリットもあります。

  1. 何から手をつけていいかわかる。
  2. 今は何ができないのかもわかる。
  3. 作業したものは塗りつぶすことで、達成感が味わえる(これ大事)
  4. 平行してできることを見つけて、人に頼むこともできる。

というわけで、でかすぎるタスクは、ゴールから逆算して手順を考えることをおすすめします。


2008年5月15日(木曜日)

ノートパソコンを巡る旅

カテゴリー: - mik @ 23時57分39秒

最初にノートパソコン、というものを使ったのは遙か昔、80年代終わり頃に派遣で行っていた大手R社で一人1台与えられた東芝DynaBookでした。

パソコンとはいえ、当時は大型汎用機の開発端末として使われていたのでした。まだwindowsもなかった頃なのでOSが何なのかとか当時の私は全く意識せずに「輝度がわからないんだなぁプラズマディスプレイは…」と嘆きながら使ってました。当時、もちろん黒い画面に緑色というディスプレイが主流の大型汎用機界では入力エラーなどを目立たせるために今なら赤文字で表示するあたりを輝度を高くしてわからせていたからです。

その後、90年代になってからパソコン機での開発も始め当時既にフリーだった私はノートパソコンを背中にしょって仕事に行くようになりました。当時はDOSのパソコンでした。重かったことはおぼえているのですがメーカーが何だったのかがどうしても思い出せません。検索してみるともしかするとNECの9801だったのかなと思います。DOS全盛の頃はNECのDOS機での仕事が主流でした。

またその後、windows全盛になってからは東芝のportageを買いました。これで気に入っていたのはポインティングデバイスがスティックタイプだったことです。それ以外のポインティングデバイスが何だったのかは忘れてしまったんですが。

ノートパソコンというものはどうしても2年ぐらいが限界であちこち壊れてしまうためにその後も数々のノートパソコンを使ってきました。

東芝portage(1号機)>東芝portage(2号機)

を経て、やはり同じスティックタイプのポインティングデバイスのIBM ThinkPadに乗り換えました。というのもportaeがトラックパッドにポインティングデバイスを変更してしまったからです。

機種は忘れてしまったのですが、

ThinkPad(1号機)>ThinkPad(2号機)

を経て、その後に買ったのがSONY Vaioのカメラ付きワイド型で縦が短い独特の形をしたものでした。なぜそれにしたのかが良く思い出せませんがVaioはそのタイプだけポインティングデバイスがスティックタイプだったことと、2つ続けてThinkPadを使って飽きてきたのかもしれません。windows98の頃でした。

さらにその後、また

ThinkPad(3号機)>ThinkPad(4号機)

と変遷しました。途中何度かあまりの選択肢の狭さにトラックパッドに挑戦しようかと思ったりもしましたがまだ思い切れていませんでした。しかし、昨年こちらのブログにも書いていたようにセカンドライフを始め、ThinkPadのグラフィック能力では足りないと思い、初めてのトラックパッドタイプのノートパソコン

VaioVGN-SZ7B

を購入しました。グラフィック性能と画面の大きさ、またDVD、CDがノートについていることなどに感激しました。しかし、これは私のノートだけかもしれないのですが購入してからほぼ毎日、1日に1回(多いときには2回)ネットワークが途切れてしまい再起動しないとどうしてもつながらない状態が続きました。

この状態になると集中して仕事をしていても再起動をせねばならずそのたびに5〜10分手持ちぶさたの時間ができてしまい、かなり作業効率が落ちてしまいました。といいつつ、ソフトの移行などを考えると新しいノートパソコンを購入する気持ちも起きず我慢してきたのですが、会社で臨席の人が 工人舎の極小ノートパソコン を使っているのを見てぷつん!と我慢の糸がきれてしまいました。

そして本日 lenovo ThinkPad X61 76754CJ を購入しました。数え間違えていなければ5台目のThinkPadとなります。

ということで今までのノートパソコン歴を振り返ると色々使ってきたなぁ〜と思うと同時に「意外とメーカーは同じところにこだわっている」ということに気づいた次第です。

ここ10年以上、自分のメインマシンとしてはずっとノートパソコンしか使ってきていません。これからも快適にノートと一緒に仕事をこなして行きたいと思っています。


2008年5月14日(水曜日)

file_get_contentsでPOSTできる

カテゴリー: - halt @ 20時16分09秒

意外と知られていませんが、PHPのfile_get_contents関数は、getだけじゃなくてpostもできます。

file_get_contentsは以下のようにstream_context_create関数を利用して送信時のパラメータを詳細に設定することができます。送信時のメソッドだけでなく、ユーザエージェントを変更する事も可能です。

$url = 'http://example.com/';
$options = array(
    'http' => array(
        'method' => 'POST',
        'content' => http_build_query(
            array(
                'q' => 'ryus',
            )
        ),
        'header' => implode("rn",
            array(
                'User-Agent: file_get_contents'
            )
        ),
));
$re = file_get_contents($url, false, stream_context_create($options));

var_dump($re); ?>

PHPでpostしようとするとPEARのHTTP_Requestを使う人も多いですが、単純なPOSTが必要になった時はfile_get_contentsの事も思い出してあげてください。


2008年5月12日(月曜日)

piCal用Googleカレンダープラグインの実験(3)

カテゴリー: - gusagi @ 10時10分40秒

大型連休の休みボケがようやく抜けてきたgusagiです。
かなり間が空いてしまいましたが、前回の記事の続きです。

前回のコードで、"example@example.com"というアカウントに共有されているカレンダーのリストを取得しましたので、リストの分だけ処理を繰り返して、カレンダーごとのイベントを取得します。
(続き…)


2008年5月8日(木曜日)

Windowsのランチャー

カテゴリー: - sato @ 18時02分30秒

Windowsで作業する際はアプリケーションランチャーが必須だと思います。スタートメニューはアプリケーション数が増えてくると使いづらくなります。
今回はそのうちの個人的に好きなもの2つを紹介したいと思います。

Clock Launcher
国産の多機能ランチャーです。
基本的にはメニュー型ですが、様々なマウス操作(ダブルクリック、回転、画面端に移動など)で呼び出すことができ、いつでも利用することができます。
また、普段はボタンが常駐しており、ここから時計や付箋を呼び出したりもできます。
そのほかにTClock(タスクトレイの時計を改造するアプリ)や、カレンダーなども内蔵しており、ランチャーとして使用しなくてもWindows操作が快適になります。
Vistaでの動作保証はされていないようなのですが、一応動くようです。
カテゴリ登録が手間だと思う人だと面倒ですが、マウス操作がメインで、様々な機能が欲しいならお勧めです。

Launchy
Clock Launcherはメニュー型でしたが、こちらは逆にコマンド型になります。
事前にフォルダを指定しておくと(デフォルトでもスタートメニューのものは全て対象になっていますが)、Launchyの画面でアプリケーション名を入力すると起動します。もちろん自動補完もあるので、数文字打てば対象のアプリケーションに到達できます。
通常は隠れていて、ホットキーで呼び出すタイプなので、キーボード派の方に特にお勧めです。デフォルトではALT+SPACEになっています。
また、Launchyはプラグインで様々な拡張ができます。例えば数式を入力すると計算結果が表示されるプラグイン、検索単語を入力するとGoogleでの検索結果がブラウザで表示されるプラグインなどがあります。PuTTYのセッションを開くプラグインもあり、開発にも便利です。

そのほかにも、bluewindCraftLaunchOrchisなどがあります。
また、Windows標準のクイック起動バーを分離させても立派なボタン型ランチャーになります。この方法も手軽でお勧めです。

ランチャーは好みが大幅に分かれると思うので、いろいろ試してみてください。


2008年5月7日(水曜日)

連休明けに役立つ!朝のブートプロセス

カテゴリー: - Ryuji @ 21時10分01秒

「朝のブートプロセス」とは何か?

結論から言ってしまうと「自分専用の、朝やることの手順マニュアル」です。

3月に「 [FlashBack] GTD のブートプロセスと、自分ワークフロー」という記事からリンクされているブートプロセスについての記事を読んで、自分なりにブートプロセスを見直し、今は毎朝デスクに向かったら自分で作成した「朝プロセス.txt」を見ながら順番にこなすようにしています。

最初に朝のブートプロセスを見直したのは3月27日でした。朝デスクについて、これからやることを書きながら作業するという感じで、朝のプロセスを書き出してみました。

このブートプロセスを翌日から使い始めたのですが、最初はどうもうまくいきませんでした。気がつくとダラダラとメールの返信ばかりしてたり、場当たり的に作業してたり、「うまくいってるな」という感じがしませんでした。

そこで、徐々に手順を入れ替えたり、各プロセスでやることを変更したりして、やっと毎日わりとうまく使える形になってきました。(といっても「朝プロセス.txt」の最終更新日が4月22日ですから、まだまだ変更中ですけどね(^^;)

さて、この「朝のブートプロセス」ですが、やりはじめてから今日が一番「書いておいて良かった!」と感じました。

今日は11連休後の初営業日。
実は、朝デスクについてから「はて?何からはじめりゃ良かったっけ?」となり、つい「じゃメールでもみるか」ってなりそうだったんですが、「あっ!朝プロセス見りゃいいじゃん」って思いだして、なんとか通常通りのプロセスで無事通常業務にもどれました。

いつもやっていることでも、いつも同じようにできるように「自分なりの手順マニュアル」を用意しておくと、こういう時に役に立ちそうです。

ちなみに、朝のブートプロセスがうまくまわりはじめたころに”「仕組み」仕事術”という本を読んで「おっこれだ!」と思い、他にも手順書作成をはじめました。

最後に参考までに私の朝のブートプロセスを書いておきます。

  1. 手帳で本日と1週間程度先までのスケジュールを確認。
    空き時間と、抜け落ちタスクを思い出すきっかけにする。
  2. 本日の予定メールを送る
  3. INBOX処理(INBOXを空にするだけ!)
    1. 昨日の手帳メモ
    2. OmniFocus INBOX
    3. INBOXクリアフォルダ
    4. Mantis
    5. メールの受信トレイ
  4. Todayフォルダオープン
    1. 引き出しの中
    2. PC 43folder
  5. 簡単そうなタスクからどんどん片付けていく
    徐々に調子をあげるため。
    雑多な小タスクが片付けば大きな仕事に集中しやすい。

 


2008年4月25日(金曜日)

11連休

カテゴリー: - mik @ 19時35分06秒

おかげさまでRYUSは明日より5月6日までゴールデンウィーク休暇となります。

年初の計画としてゴールデンウィークまでの祝日をすべて出勤日としてそのかわり、11連休にしようということになっておりました。

これを目指して今までがんばってきましたので、皆ゆっくりと骨休めをする予定です。

連休前の振り返りではこの連休の予定は

・個人が作っているモジュールの更新
・勉強会参加
・ゲームの開発?
・楽天市場出品の手伝い
・ホームページの改装計画

など、個人個人は楽しみのためにすることですが皆あまり仕事から離れていないかも、と思いました(^^;。

5月7日からはまたばりばり働きます。連休明けのblogで何か成果が発表できればいいなと思っています。


16 queries. 0.035 sec.
Powered by WordPress Module based on WordPress ME & WordPress

〒104-0061 東京都中央区銀座1丁目3番3号 G1ビル7階

Copyright(c) 2012 RYUS.All Rights Reserved.