Activity Based Datamodel

http://event.seasar.org/sc2006spring/viewAttachment.do?_pageName_=Materials%2FD4.ppt 今さらながら、はぶさんのSeasar Conference 2006 Springの資料を見て、 その分かりやすさに鱗が落ちまくりました。 で、WEB+DB PRESS Vol.21のはぶさんの記事を読み…

プログラミング言語はその力において差がある

この偉大なるポール・グレアムの言葉を示すいい例。 http://pluralsight.com/blogs/dbox/archive/2006/05/12/23354.aspx

Risk Based Estimation

PragmaticProgrammer MLよりメモアジャイルプロジェクトにおけるリスクベースの計画/見積参考図書Agile Estimating and Planning (Robert C. Martin Series)作者: Mike Cohn出版社/メーカー: Prentice Hall発売日: 2005/11/01メディア: ペーパーバック クリ…

emacs-rails

http://rubyforge.org/projects/emacs-rails/ 環境をVMware上のDebianに移したので、rails開発環境をRadRailsからemacs-railsに移してみました。 Emacs Lispファイルなので、gemパッケージはありません。rubyforgeからダウンロードし、Emacsからロードできる…

OPI

Oz

MozartではEmacsをIDEとして使えます。これをOPI(Oz Programming Interface)と呼びます。 コードを書いて「C-. C-b」でバッファ全体が評価されます。 実行結果は*Oz Emulator*バッファに表示されます。「C-. C-b」では自動的に*Oz Emulator*に切り替わらない…

パクりパクられ

http://slashdot.jp/article.pl?sid=06/04/24/0311228#927375 一人が一人からパクると>盗作 多数が一人からパクると>風潮 一人が多数からパクると>研究 多数が多数からパクると>文化 #過去の自分からパクると>焼き直し 正にすばらしい洞察

Oz

なんかLotY2002だったHaskellが今ブームっぽいので、先取りして(流行るのか? )LotY(Language of the Year)2003候補だったマルチパラダイム言語Ozの勉強を始めました。LotYとはPragmaticProgrammer(邦訳「達人プログラマー」)の毎年1つの言語を習得せよという…

VMWareへ乗り換え

coLinuxのディスクが一杯になったのと、いまいち起動・ログイン時に調子が悪く時間がかかってしまいます。ネットワークの設定とidentが悪いことは察しが付くのですが、深追いする気力もなく、VMWare Playerへ乗り換えることにしました。 Debianインストール…

Seasar2はじめました

strutsをコントローラとして、velocityをビューとして使っています。無設定S2strus最高なのですが、Railsのscaffoldみたいなジェネレータ機能が欲しいなぁ。

YouTubeで縮まる世界の距離

おそらく日本のテレビ放映されたと思われる「秒速でTシャツをたたむ方法」です。 http://www.youtube.com/watch?v=NVyjSyBn_UEこの動画自体多くの人から見られているし、実践した映像がアップロードされています。 http://www.youtube.com/watch?v=v4_vrOoNA…

Willcomマルチパック

Willcomマルチパックにするために、しばらくの間AIR-EDGE64kbpsで頑張っていたのですが、ようやくまたブロードバンドに復帰することができました。ADSL(3M)のコースで1,885円/月。う〜ん安いです。 これで、Mac miniでビデオコンテンツも見れるようになりま…

Javaフレームワークの敷居の高さ

訳あってJava界隈のWebアプリ用のフレームワークを物色中ですが、なかなか敷居の低い(立ち上がりの早そうな)ものが見当たらないですねぇ。敷居の高さが何なのか考えてみると、 パッケージの構成に悩む。 Actionクラスの単位(大きさ)に悩む。 Viewの記述が直…

RD-H1

24,800円という驚きのプライスのHDDレコーダRD-H1が届きました。それまではPCで録画しており、起動時に爆音が鳴るため夜も安心して眠れませんでしたが、これで静かな夜を過ごせそうです。 ただ1つ難点が...リモコンでの操作が難しい。 これは、PCにつないで…

京ぽん2 WX310K

今更ながら初代京ぽんから京ぽん2に機種変更してみました。巷で言われているとおり、かなり満足度の高い端末です。W-ZERO3と迷いましたが、Zaurusとの兼ね合いもあってこちらにして正解かと思っています。

Runtime.exec()でToo many open Files

あるシステム(JRE1.4.2_05 on Soralis8)を運用している中で、Too many open FilesのIOExceptionが発生することがありました。 pfilesコマンドでプロセスが掴んでいるファイルディスクリプタを覗いてみると、 S_IFIFO mode:0000 という、FIFOがたくさんできち…

prototype.jsのAjaxをIE5.5に対応させる

prototype.js(確認したversionは1.4.0)はIE6.0以上をターゲットとしており、確かにIE5.5ではAjaxが動かない場合があります。ただこれは、prototype.jsをちょちょいと修正するだけで動作するようになります。640行目で this.transport.open(this.options.meth…

use libと@INC

通常ライブラリパスは、use libで指定するかと思いますが、環境変数や引数によって読み込むライブラリパスを切り替えたいということがあります。 #!/usr/bin/perl BEGIN { if ($ENV{APL_ENV} eq 'production') { use lib 'production/lib'; } elsif ($ENV{AP…

Code Transcribing

電子写経なるものが世の中には存在するようです。写経の効能はここによると、 このように写経には長い歴史があり、多くの人の信仰生活に心のやすらぎを与える糧となってきました。それは身と心を調えて行う写経の心が、そのまま仏さまの教えの心に通うからに…

老化防止

私は小さい頃、でたらめにキーボードを打っていたので、タッチタイピングができません。これはエンジニアにとっては、箸の使い方がオカシイ、ペンの持ち方が変、バッティングフォームがベイスターズの種田みたい、というくらい恥ずかしい問題でもあります。…

screenの思いがけない効能

.screenrcに hardstatus alwayslastline "[%02c] と書いておけば、ターミナルの一番下の行にリアルタイムで現在の時刻が表示されます。別にこれはシェルのプロンプトで出力していれば、あってもなくても良いものです。しかしtelnet中に無通信状態のまま放置…

デキル奴ほど儲かる仕組み

「個人的にお金くれれば、いくらでも実装してやるよ」 というのはデスマ・プロジェクトでよく飛び交う発言ですが、これを本当にやってみたいと思うのです。まず、プロジェクトマネージャは、プロジェクトのタスクを分解し、プロジェクトの予算を勘案しながら…

PMAFind

Webサーバのログに記録されていたものにPMAFindというphpMyAdminを探索するロボットプログラムがいました。 /phpmyadmin/main.php /PMA/main.php /mysql/main.php /admin/main.php /db/main.php /dbadmin/main.php /web/phpMyAdmin/main.php /admin/pma/main…

PERL_DL_NONLAZY

とある環境で、PerlのTestを書いていて、make testを実行すると install_driver(Oracle) failed: Can't load '/usr/lib/perl/site_perl/5.005/sun4-solaris/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: ld.so.1: /opt/local/bin/perl: 重大なエラー…

CでRubyモジュールを作る

PerlのXSがsoを読み込むPerlモジュールファイル(.pm)を必要とするのに比べて、Rubyのrequireは.soファイルを直接読み込んでくれるので、ちょっとばかり簡単です。.soの作り方は、svn.ruby-lang.orgにあります。CのコードはRubyのマクロをふんだんに使って記…

セッションIDの作り方

セッションIDを生成する際にもっとも使われているのはMD5やSHA-1などで、時間やプロセスIDをハッシュ化する方法でしょうか。実際にRubyのCGI::Sessionは、こんな感じです。 def create_new_id require 'digest/md5' md5 = Digest::MD5::new now = Time::now …

Rails + Windows + Mysql(SJIS)

この組合せだとMysqlと日本語のやりとりをするときに文字化けします。「UTF-8を使え」というのが簡単な解決策ですが、しがらみ等あってそうはいかない場合もあると思いますので回避方法を...どこかのドキュメントに書いてあるのかもしれませんが、探せなかっ…

飲食業にもWeb2.0の影響?

http://www.tandoor.co.jp/yaima/lunch.html タイトルはミスリードですが、神田に沖縄料理とインド料理という、出会うことのない2つのジャンルをRemixした「やいま」というお店があります。インドの方が角煮やゴーヤチャンプルを運んでくる姿は非常に微笑ま…

Railsのrakeタスクあれこれ

rake -Tでrakefileに定義されているタスクを一覧表示できます。いろいろあって覚えきれないので、ココにメモっておきます。(rails-0.14.4ベース。よく使うものだけ) タスク 説明 clear_logs すべてのログを削除します。開発中は大量のdevelopment.logが出力…

デフォルト重要

フレームワークやテンプレートエンジンには、クロススクリプティング対策の仕組みが標準装備されているのは、もはや常識ですが、これがデフォルトになっているものはほとんど見かけません。 Rails(erb)の場合 <%=h person.name %>Velocityの場合 $escape.get…

JDBC接続文字列 Oracle

http://www.avant-tokyo.com/web/archives/000014.htmlOracleのJDBC接続文字列はThinドライバ(Type4)の場合、 jdbc:oracle:thin:@[ホスト名]:[ポート]:[SID] となっています。 ホスト名とポートは問題ないのですが、SIDが曲者です。リスナのSERVICE_NAMEでは…