2011年12月14日

CodeIgniter次期ライセンス「OSL 3.0」について、同ライセンス採用例としてMagentoでの適用状況を確認してみた。

※追記:この記事はMagentoの商用エディションのことがすっかり頭から抜けた状態で勢いに任せて書いたものです。あとでTwitter上でいろいろといただいた解説をTogetterにまとめましたので、ぜひそちらもあわせてご覧ください。
http://togetter.com/li/227678


オープンソースのPHPフレームワーク「CodeIgniter」は、
その使いやすさなどから評判が良くて
ここ1年くらいでけっこう注目度が上がってたわけですが、
わりと最近になって、開発元であるアメリカのEllisLab社が
  • 現行バージョンまではうちの独自ライセンスだったけど、次期バージョンからOSL 3.0に変更するよ!
  • これまでの独自ライセンスはGPL互換っぽかったけど、実はそれは誤解でGPL非互換を意図してるよ!
なんてことを急に言い出して、
少なくとも日本で熱心に利用してた人たちは
なんだかこれからライセンス気にしないで使っていいんだか悪いんだか、
という困惑のうちにCodeIgniterに対して冷めたムードになっていってるなあ、
なんて最近は感じてます。

みんなが困惑してる部分は何点かあって、
日本のユーザーコミュニティーではひととおりの考察は済んだ感はあるんだけど、
1点、個人的に気になっている問題がある。

OSLの条項には、例えばOSLのソフトで作ったWebサービスについて
サービス利用者に対して「OSLのソフト使ってますよー」と
はっきり教えてあげないとならないような条項が含まれているんだけど、
それをどうすれば実現できるのか、一番良い方法を知らないのです。

【参考記事】
CodeIgniter のライセンスが OSL に変更されることに関する懸念(第2版)
http://d.hatena.ne.jp/Kenji_s/20111113/1321181132

えー、じゃあ例えばWebサービスのトップページに
なんかおことわりの文章書かなきゃいけないんですか!
どういう感じで書けばOKなんすか!

この辺の方式について、EllisLab社の人もあんまり明言はしてくれない。
なぜならば、きわめて一般論なんだけど、
法的な話については、裁判で判例が出ない限りは
法的な「正しい/間違ってる」を断言できないから。


そんなわけで前置きが長くなりましたが、
同じライセンスを使ってるオープンソースのソフトで
世界中での多くの利用実績があるECシステム「Magento」について、
公開されているShowcaseの各サイトの、主にトップページなどを見て
どんな具合にユーザーに「Magento使ってますよー」と教えてるのか
72サイトぜーんぶ確認してみました!たいへんだったよコンチキショウ!
Magentoの顧問弁護士はOSL 3.0の著者でもあり、
参考になる例がきっと見つかるはずです。わくわく!
著作権法は国によって微妙に異なったりもするので、
ドメインがどこの国の人の持ち物か逐一 whois したりすると
きっとより参考になるよね!期待で胸いっぱい!

※Showcaseには書いてあるけど、今はMagento使ってなさそうなサイトは省きました。

Webサイト名 URL ドメイン管理者の
所在国
Webサイト内での
「Magento」の明記
Sierra Nevada Brewing Co. http://www.sierranevada.com/ アメリカ なし
Lenovo Outlet http://outlet.lenovo.com/ 中国 なし
VIZIO http://www.vizio.com/ アメリカ なし
FoxConnect http://www.foxconnect.com/ アメリカ なし
Harvey Nichols Online Store http://www.harveynichols.com/ イギリス なし
FLOR http://www.flor.com/ アメリカ なし
Billy Reid http://www.billyreid.com/ アメリカ なし
Breville https://www.brevilleusa.com/ アメリカ なし
Easton Baseball http://www.eastonbaseball.com/ アメリカ なし
Harbor Freight Tools http://www.harborfreight.com/ アメリカ なし
La Halle http://www.lahalle.com/ フランス なし
Kipling http://www.kipling.com/int/ アメリカ なし
GIRO http://www.giro.com/as_en/ アメリカ なし
Oneida http://www.oneida.com/ アメリカ なし
Taunton Store http://www.tauntonstore.com/ アメリカ なし
FIJI Water http://store.fijiwater.com/ アメリカ なし
Barak Obama http://www.barackobama.com/ アメリカ なし
ToolKing.com http://www.toolking.com/ アメリカ なし
TOMS.com http://www.toms.com/ アメリカ なし
Relax The Back http://www.relaxtheback.com/ アメリカ なし
The North Face http://uk.thenorthface.com/hp-uk-en アメリカ なし
Radio Flyer http://www.radioflyer.com/ アメリカ なし
Gary Fong http://www.garyfongestore.com/ アメリカ なし
OfficeMax http://www.officemax.com.au/ オーストラリア なし
City Chic http://www.citychiconline.com/ オーストラリア なし
NAF NAF http://www.nafnaf.com/fr/ フランス なし
Etam http://www.etam.com/ フランス なし
Olympus Store https://us.buyolympus.com/ アメリカ なし
Conns.com http://www.conns.com/ アメリカ なし
Donna Ida http://www.donnaida.com/home イギリス なし
Eastwood http://www.eastwood.com/ アメリカ なし
Time Out Shop http://shop.timeout.com/ イギリス なし
BING LEE http://www.binglee.com.au/ オーストラリア なし
Rightstart.com http://www.rightstart.com/ アメリカ なし
L'Atelier Canson.com http://www.lateliercanson.com/ フランス なし
Web-Blinds http://www.web-blinds.com/ イギリス なし
Smiley Cookie http://www.smileycookie.com/ アメリカ なし
Shop Lockerz.com http://lockerz.com/ アメリカ なし
Cinder Block http://store.cinderblock.com/ アメリカ なし
Anna Scholz http://www.annascholz.com/ イギリス なし
Bloom.com http://www.bloom.com/ アメリカ なし
Foodzie http://foodzie.com/ アメリカ なし
PAPYRUS http://www.papyrusonline.com/ アメリカ なし
HoMedics http://www.homedics.com/ アメリカ なし
Ford Accessories http://accessories.ford.com/ アメリカ なし
Jack Wolfskin http://shop.jack-wolfskin.de/ ドイツ なし
Kirna Zabete http://www.kirnazabete.com/ アメリカ なし
Zadig et Voltaire http://www.zadig-et-voltaire.com/ フランス なし
Lodger Footwear http://www.lodgerfootwear.com/ アメリカ なし
Camif.fr http://www.camif.fr/ フランス なし
CORT Event Furnishings http://www.cortevents.com/ アメリカ なし
Téléshopping http://www.teleshopping.fr/ フランス なし
Blik Wall Decals http://www.whatisblik.com/ アメリカ なし
Scrubs123 http://www.scrubs123.com/ アメリカ なし
Crumbs Bake Shop http://www.crumbs.com/ アメリカ なし
Movado http://www.movado.com/ アメリカ なし
Custo Barcelona https://shop.custobarcelona.com/ アメリカ なし
MUJI USA http://www.muji.us/store/ 日本 なし
Myla http://www.myla.com/ イギリス なし
Oliver Peoples http://www.oliverpeoples.com/ アメリカ なし
NESPRESSO Club https://boutique.nespresso.com/kr/capsules スイス なし
ROGAN NYC http://www.rogannyc.com/ アメリカ なし
SalterHousewares.com http://www.salterhousewares.com/salter_us アメリカ なし
Samsung Mobile Shop http://mobileshop.samsung.fr/index.html フランス なし
Skullcandy http://jp.skullcandy.com/ アメリカ なし
Stussy http://www.stussy.com/ アメリカ なし
Furet du nord http://www.furet.com/ フランス なし
Maui jim http://www.mauijim.com/ アメリカ なし
Nanette Lepore https://www.nanettelepore.com/ アメリカ なし
Apress https://www.apress.com/ アメリカ なし
Bonobos http://www.bonobos.com/ アメリカ なし
SmartWool https://www.smartwool.com/ アメリカ なし

結果:どこも書いてねえ!!!!

マジかよ!アメリカ人けっこういいかげんだな!
オバマ大統領のグッズ販売サイトでもおことわりなしだぜ...

というわけで、OSL 3.0の条文がなんだか恐ろし気でも
あんまり深く考えないで、オバマジョリティに乗っかって
ガンガン使ってこうぜ!!!

【補足】
もっとMagentoの適用例を参考にされたい場合は、
Magentoでよく使われる次のJavascriptで検索するとかなりヒットします。
  • mage/translate.js
  • mage/cookies.js

2011年11月29日

さくらインターネット「さくらのレンタルサーバ」にSubversionをインストールする。

必要になったけど、案外手順が複雑だったので、備忘録としてメモ。
Subversionのconfigureで足りねー足りねーと言われる度に足りないものを入れることにする。


1. Apache Portable Runtime (APR) と Utility (APR-UTIL) を入れる。

http://apr.apache.org/に行ってソースコードをダウンロード。


$ wget http://*****/apr-1.4.5.tar.gz ←適当なミラーサイトからダウンロード
$ tar xzf apr-1.4.5.tar.gz
$ cd apr-1.4.5
$ ./configure --prefix=${HOME}/usr/local
$ make && make install

$ wget http://*****/apr-util-1.3.12.tar.gz ←適当なミラーサイトからダウンロード
$ tar xzf apr-util-1.3.12.tar.gz
$ cd apr-util-1.3.12
$ ./configure --prefix=${HOME}/usr/local --with-apr=${HOME}/usr/local/bin/apr-1-config
$ make && make install

2. neon を入れる。

http://www.webdav.org/neon/に行ってソースコードをダウンロード。


$ wget http://www.webdav.org/neon/neon-0.29.6.tar.gz
$ tar xzf neon-0.29.6.tar.gz
$ cd neon-0.29.6
$ ./configure --prefix=${HOME}/usr/local
$ make && make install

3. SQLite と Subversion を入れる。

さくらインターネットではSQLiteが標準で用意されてるけど、
本記事作成時点ではSubversionが要求するバージョンよりも低くてダメらしい。


checking sqlite library version (via pkg-config)... none or unsupported 3.6.14.2
no
An appropriate version of sqlite could not be found. We recommmend
3.7.6.3, but require at least 3.6.18.
Please either install a newer sqlite on this system
or
get the sqlite 3.7.6.3 amalgamation from:
http://www.sqlite.org/sqlite-amalgamation-3.7.6.3.tar.gz
unpack the archive using tar/gunzip and copy sqlite3.c from the
resulting directory to:
/*****/subversion-1.7.1/sqlite-amalgamation/sqlite3.c

http://www.sqlite.org/に行ってソースコードをダウンロード。
上記エラーメッセージで指定された場所に sqlite3.c をコピーする。
Berkeley DBはいらないので明示的にwithoutなオプションつけてconfigure。

$ wget http://*****/subversion-1.7.1.tar.gz ←適当なミラーサイトからダウンロード
$ tar xzf subversion-1.7.1.tar.gz

$ wget http://www.sqlite.org/sqlite-amalgamation-3070900.zip
$ unzip sqlite-amalgamation-3070900.zip

$ mkdir subversion-1.7.1/sqlite-amalgamation
$ cp sqlite-amalgamation-3070900/sqlite3.c subversion-1.7.1/sqlite-amalgamation/
$ cd subversion-1.7.1/

$ ./configure --prefix=${HOME}/usr/local --without-berkeley-db


できあがった Makefile の中で、-ldl とあるオプションは
libdl を使うオプションで、FreeBSD では使えないらしい。
【参考URL】http://forums.freebsd.org/showthread.php?t=5799
しょうがないので、Makefile から -ldl を削除する。

最後に、「さくらのレンタルサーバ」ではリソース制限があるせいか、
単にmakeするとエラーが出てしまう。


gcc: Internal error: Killed: 9 (program cc1)
Please submit a full bug report.
See for instructions.
*** Error code 1

しょうがないので、nice -n 20 を付けて実行する。
【参考URL】http://aita-memo.blogspot.com/2011/05/phpsoycms.html

$ nice -n 20 make

[かなり時間がかかるのでお茶でも飲む]

$ make install

あとは適当に${HOME}/usr/local/bin とかにPATH通して遊んでください。

2011年11月23日

Atom lens

2011年3月11日、日本の東北地方から関東地方の、非常に広い範囲で大地震が起こり、
それにより福島の原子力発電所は破壊され
放射性物質による地球環境への影響は、今もなお続いていると言われている。

こんなことは、いま同じ時代に生きている日本国民は
言うまでもなく誰だって知っていることだし、
これから生まれる子供たち、そのまた子供たちの使う教科書にも
当たり前のように記載され、世代を超えた常識となるのだろう。

でも、自分が身にしみて体験していないことを
今のうちから「常識」として簡単に処理してしまって良いのだろうか?


目に見えず忍び寄る放射性物質の脅威、という新しい「常識」に世間はおびえ、
時には何の裏付けもないまま それらの脅威への不安 あるいは安心の声を上げたり、
被害妄想のオピニオンリーダーにあおられて、
根も葉もない話になんとなくつられてしまったりもする。
だが、福島の原発がどうにかなる前から、
僕らの身近に、放射性物質は
わりとどうでもいいカジュアルな理由で人為的に存在していて、
そんな中で無神経に僕らは生き続けてきたのだ。

例えば、僕も毎時6〜7マイクロシーベルトのガンマ線を放つ物質を
8年間所有していると聞いたら、あなたはどう思うだろうか。

_MG_2861.jpg

1970年代頃まで、日本の工業製品には
放射性物質の素材が含まれていることがまだけっこうあって、
例えばその頃までのカメラのレンズには、写真の写りを良くするためのコーティング材に
放射性のトリウムが含まれることがあったそうだ。
僕が愛用している PENTAX Super-Takumar F1.4/50mm もそのひとつで、
写真雑誌では「アトムレンズ」なんて愛称までついていたらしい。
(参考URL: http://homepage1.nifty.com/nekocame/camera/atomlens.htm
普及型の量産製品だったから、
今でも新宿や中野の中古カメラ屋で安価にたくさん売られているけど、
こんなご時勢に至っても、誰も文句のひとつも言わない。

きっとそんな風に、僕らの生活には見直さなければならないものがたくさんある。
これから、僕らの世代が新しい常識を作るのだ。
今、バランスを欠いた様々な「常識」がはびこっているのは、
常識を形成する初期段階としては、きっとしょうがないことなんだと思う。
でも、実感を伴わない机上の空論が「常識」となってしまうんだとしたら、
僕には、次の世代に自信を持って「常識」を伝えることはできない。


3月11日は僕の住む東京でも、珍しいくらいに大きい地震が起こった。
でも僕から言わせれば、せいぜい震度5強であり、家がぶっ壊れるような地震じゃない。
東京の街は、たいした被害がない割にはきわめて神経質に反応し、
JRの路線は終日運休、私鉄・地下鉄もなんとか夜中の復旧、
迎えの車で道路は大渋滞、という一応の混乱ではあったのだが、
結局翌日の朝にはサラリーマンたちは
なんとなくいつものように山手線のホームに整列していたし、
比較的早い時期に、見える形での混乱はおさまった。

_MG_0212.jpg

東京に明らかな形で残ったのは、
地震のせいで先っちょがちょっと曲がってしまった東京タワーぐらいのものだった。

_MG_0212_focused.jpg

ゴジラやモスラなんかの往年の怪獣が折ってしまった以外は
当たり前にそびえたっていた絶対無比の「東京」のシンボルが、
あっさりとひね曲がってしまった。

でも、今となってはそれすら、よく目を凝らさなければ気づかない変化に過ぎない。
東京に居座っているだけでは、これから先に起こることについて、
実感は薄れていくばかりなのではないか、と、
ある日 ふと思い、僕は怖気が走った。


少なくとも、僕らは将来「当時を知る者」となる。
「当時は、どんなだった?」「それに対して何を考え、何をしたか?」と、
当時を知らない若者たちから、少なからず尋ねられるだろう。
そんなときに、自分が伝えられることが
たとえば当時の新聞の写しに過ぎなかったなら、
自分は自分を許せるだろうか?


そんなことを漠然と考え始めた頃、
2011年10月、ひとつのニュース記事が目にとまった。
原発に近く、危険だとして立ち入りが制限されていた区域が
半径30kmから半径20kmに縮小されるということ、
それに伴い、ちょうどその区域内にあった
広野、という駅まで電車が通るようになる、ということ。

行きたいと思った。行けるところまで。
そして、アトムレンズで、そこにある本当のことを撮って、
本当のことに対峙したときの自分の素直な気持ちを、残したいと思った。

すべては、端的に言ってしまえば
「自分の気持ち悪さを払拭するため」でしかなく、
人道的だったりして、人に褒められるような行為では決してない。
でも、その衝動がどうしても止められなかった。


2011年11月3日の早朝、出発した。
経路は、JRで上野駅まで出て、そこから水戸駅まで1本で行き、
水戸駅から乗り換えていわき駅まで行ったら、
そこから出ている広野駅行きに乗り換える、というもの。
普通電車だけで、片道4〜5時間くらいはかかる。一応、日帰りが可能だ。
乗り換えもあるけど、路線名は上野駅から変わらず「常磐線」のみだ。

昔、知人のバンドが仙台でライブをやると言うので
青春18きっぷを使って、ほぼ同じ経路で広野を経由して
仙台まで行ったことがあった。
なんとなく、そのときのことを思い出しながら電車に乗った。

_MG_2756.jpg

水戸駅に着くと、さっそく、複雑な気持ちになるものを見てしまった。

_MG_2757.jpg

行き先表示で、「仙台」が黒テープでつぶされていた。
もう、このルートでは(原発の近くを通るので)仙台に行けませんよ、
という無造作な案内だ。
わかってるよ、と思いながら、いわき行きに乗り換える。

_MG_2758.jpg

_MG_2755.jpg

そして いわき駅に着くと、
さっきとはまた別の、複雑な気持ちになるものを見てしまった。

_MG_2759.jpg

「仙台」がつぶされていない。
それは、今の状況が一時的なものに過ぎず、
「いつかは直って、仙台まで通じる路線」という認識のあらわれなのか。
地味なポイントの深読みなんだけど、
福島と茨城の間の、認識の断絶を感じてしまいちょっとへこんだ。

広野駅まで行く電車は、かなり本数が少ない。
しばらく待ってやってきた電車の行き先表示には、
「普通」と書いてあった。
これが、今の「普通」なのか、とまた余計なことを考える。

_MG_2761.jpg

_MG_2764.jpg


そして広野駅に着いた。
この先の駅には、まだ進むことはできない。

_MG_2765.jpg

_MG_2768.jpg

何の用事か、広野駅で降りる人は他にも数人いた。

_MG_2766.jpg

広野駅前には、いい歳のおじいちゃんが運転手の
「広野タクシー」が1台きり止まっていて、
暇なのかなー物好きだなーと思っていたけど、
後で僕が歩いているそばを何往復もしていた。
主な行き先は、どうやら近くにある火力発電所のようだった。

_MG_2827.jpg

駅のポストの上には「測定ポイント」と印がつけられていた。


とにかく、北に歩いて、行けるところまで行こうと思った。

_MG_2770.jpg

人の気配が薄い、しんと静まった町の中を歩く。
ガイガーカウンターらしき電子音がピッピと聞こえてきたりする。
15時半頃に町の防災無線でその日の線量を放送していたので、
おそらくそのための計測だったのだろう。

ショッピングセンターには明かりがついていて、
まさかと思って入り口に行くと、三菱重工の拠点となっている旨の貼り紙。
後になって聞いたところでは、大きい敷地のところはみんな
企業による何らかの拠点として使われている、とのことだった。

_MG_2786.jpg

ゴーグルが捨てられていた。
おそらく、まだ自由に立ち入れない区域だった頃に
捨てられていったものだろう。

_MG_2788.jpg

家屋の壊れ方はそれぞれで、古い家でもしっかり建っているものもあれば
土壁が割れたままになっているものも多かった。
あまりにひどく壊れている家は、業者が解体しに来ていた。
家主が不安そうに見守っているところへ、
「これでもう大丈夫ですよ」と言う解体業者が印象的だった。

_MG_2780.jpg

_MG_2825.jpg

人がいないことの象徴のように、
やたらと立派なクモの巣や
たわわに実った柿の木をたくさん見た。

_MG_2783.jpg

その一方で、生業を続ける、がんばろう、などの、
人の存在を感じさせる看板も、いくつか見た。

驚きだったのは、神社の祭礼を行うという告知があったことだ。

_MG_2785.jpg

ほとんど誰もいなくなった町での、ある決断に
どれほどの思いがこめられているかを考える。
何も言えない。

_MG_2796.jpg

商魂たくましいなあ、と思った、原発処理作業者向けの宿泊施設の案内。
事故の処理は既に、ひとつの事業となり
多くの人の糧ともなっているのだ、ということを
あらためて感じさせられる。
これも後で聞いた話だが、作業者向けの宿泊施設が近くで足りておらず
南は茨城まで施設が作られているらしい。

_MG_2797.jpg

人の気配が薄い薄いと思っていたが、
やがて 案外車の通りが多いことに気づいた。
ちょっとした千葉の田舎くらいの交通量はある。
「広野タクシー」が、何度目だろうか 僕を追い越していく。

普通の田舎と違うのは、
運転している人はほぼ作業服を着ていることだ。


駅からだいぶ歩いてくると、日本の田舎ならどこでも見られそうな
普遍的な、のんびりした風景が広がってくる。

_MG_2777.jpg

_MG_2793.jpg

_MG_2798.jpg

_MG_2815.jpg

_MG_2803.jpg

_MG_2790.jpg

火力発電所の大きな煙突が近くなったところで、
目の前にゆるゆるとパトカーが走ってきて、
僕のところで止まった。
よく見ると、パトカーには「長崎県警察」と書いてある。
なんで長崎???

いまいちよくわかっていない僕に、
人の良さそうな警察官が3人、いろいろと尋ねてくるが、
まあ、うしろめたいことなど何もないのでさらさらと答える。
生まれて初めての職務質問&身体検査で、ちょっと笑ってしまいそうになる。

聞けば、立ち入れない区域となり無人となった町に
空き巣が多く立ち入っているため、
全国から警備の応援が来てパトロールしているとのことだった。
それにしても、長崎県!


もしかして火力発電所の近くまで行けるかな、とも思っていたが
やはり関係者と広野タクシー以外は立ち入り禁止。
そのまま、北へ北へと歩く。

_MG_2801.jpg

_MG_2802.jpg

そして、唐突に立ち入り禁止の看板が現れた。

_MG_2808.jpg

ちょうどこのリンクの地点だ。
これ以上進む理由も度胸もないので、広野駅にまっすぐ帰ることにした。


_MG_2817.jpg

天気が気持ちよく晴れていたので、最初こそ身構えていたが
帰り道は、自分の実家の近くを気楽に散歩しているような気持ちだった。

同時に、それが一時でも失われるということについて想像した。
見た目には前と何も変わらないのに、
見えないもののせいで生活の場を立ち退かざるを得ない、ということ。

国は言う、ここはもう「安全」だと。
でも、それは信じられるのか? わからない。
信じたところで、現実的に暮らすには何かと不便だ。

疑心暗鬼の心とは裏腹に、
草木、花、鳥や虫達は美しく、変わらずそこに生き続けている。

_MG_2821.jpg


広野駅に戻り、
電車の本数が少なく、良いタイミングでいわき駅に戻れない、と
Nomadic Recordsの平山さんに伝えると、
なんとわざわざ車で迎えに来てくださった。恐縮しきりです...

平山さんは、広野よりもさらに原発に近い富岡町で
音楽のインディーズレーベルを主宰されていて、
震災の後も、いわき市内で活動を継続されている。
その一方で、「富岡は負けん!」という横断幕を
富岡町ライブカメラに映るところに掲げたり、
富岡インサイドという支援情報サイトを立ち上げられたり、
ともかく僕から見れば信じられないくらいエネルギッシュな人だ。

平山さんは、僕をいろいろなところに連れて行ってくれて、
そしていろいろなことを話してくれた。
東京から来た知り合いのバンドマンにも、同じようにしてくれたらしい。

_MG_2828.jpg

国道の方には、さっき僕が見たより大きなバリケードが築かれていた。
この辺を迂回すると、Jヴィレッジという広大なサッカーグラウンドがあるのだが
現在はすべてアスファルトでつぶされ、巨大な除染場、
もしくは作業員のプレハブ宿舎になっているということだった。
たまたま、除染場で働く人に平山さんの知人がいらして
これから寒くなる冬は厳しそうだ、と話されていた。

平山さんは、車で海沿いをずっと案内してくれた。
でも、撮れた写真は1枚きりだった。

_MG_2831.jpg

場所はたしか久ノ浜の、津波の跡だ。
福島沿岸も津波の被害は大きく、
倒壊した家屋、火事、そして亡くなった人も多かったらしい。
なんだか、いざそこに来ると軽々しく写真を撮る気になれなくて、
せっかくの機会だったのに、1枚きりになってしまった。

津波から半年以上も経ち、がれきもほとんど片付いて更地になった中に、
ぽつんと、灯りのついた家がたまに悪い冗談のように建っている。
平山さんによれば、海底の地形などの要因から
ほんの狭い範囲でも津波の強弱が違い、残った家もある、ということだった。

震災から半年以上経ち、そしてもう2か月もすれば2011年は終わる。
平山さんは、もう終わるのか今年、正月が来る気がしねえなあ、と言った。
立場は全然違うけど、同感だった。
今年だけで終わらない、来年もその後もずっと続くことが、
他人事ではなく、すぐそこに残っている。


僕が見て、撮って、感じてきたものは、
震災直後の生々しい傷痕なんかではなく、
まあいろいろとある程度は片付いてしまった後のものだ。
それでもって、他人にドヤ顔で何かを語れる筋合いなんかないし、
ジャーナリズム精神なんてものだってない。

これからもずっと残り続けていくものを、
自分に少しでも近づけて、感じてくることができただけだ。
そして、これからのこの国の「常識」を語るときには必ず、
この日の思いが脳裏をよぎることだろう。

自己満足だけど、たぶんそれが僕にとって大事なのだと思う。

2011年10月27日

雑感 2011.10.27

嫁と話してて、ずっと考えてたことを思い出した。
我々が本を読むとき、それは平面ではなく、
一定の厚みによる立体的な情報としてとらえているのではないか?
そしてその本の内容は、
きわめて立体的かつ身体的な記憶となって定着しているのではないか?
という話。

これを踏まえると、現在推進されはじめている電子教科書というのは、
安易に、今流行りのタブレット型端末のような平面情報として導入してしまって、
はたして学力の低下を招きはしないか? という疑問が生まれる。
記憶の足場を、1次元減らしてしまうのだから。

おそらく、これから15年ほどかけて
教育の現場が「旧型」の電子教科書の無力さを痛感しつくした頃、
その頃には「新型」の概念が、既存の技術の発達とともに
アーリーアダプターによって喧伝されることになるだろう。

で、その「新型」っていうのは、
やはり紙の本の形態に立ち戻ると思うのね。
たとえば、その本の紙は数百ページすべて電子ペーパーでできている、とか。
ちょっと背表紙のボタンを押すだけで、
あるときはコミック雑誌となり、あるときは英和辞典になり。
そういう魔法の本を、ひとりひとりが持つようになる。

っていう研究を誰かが既にやってたような気がするんだけどな〜
ちょっと検索しただけじゃ見つからなかった。

2011年10月18日

CodeIgniter を MS SQL Server と合わせて使うときに困ったこと

2011.10.24追記: この記事では、CodeIgniter 2.0.3について書いています。

今年のはじめくらいから、仕事でCodeIgniterを使い始めている。
CodeIgniterを選んだ理由はいろいろあるけど、
理由のひとつは「MySQLも、SQL Serverもサポートしている」ということだった。
これは、ユーザーガイドにもしっかり書いてある。
http://codeigniter.com/user_guide/general/requirements.html

ところが、SQL Serverというのはそれなりにクセがあるデータベースで、
CodeIgniterが実際にちゃんとSQL Serverを扱えるか、というところでは
くだらないところではあるけど、多少の問題を感じた。
いくつか、備忘録として書いておこう。


1. 日本語環境でmssqlドライバーは使うべきでないケースが多い。

慣れてる人には当たり前のことなんだろうけど
mssqlドライバーはPHPのmssql関数を使ったドライバーで、
出てくる日本語文字データはShift-JISのみ。
SQL Serverは内部的にはUnicode(UCS-2)で扱っているにも関わらず、だ。
UTF-8が使いたければsqlsrvドライバーを使うしかないんだけど、
CodeIgniterにsqlsrvドライバーが追加されたのは割と最近の話だったのだ...。


2. 実は Active Record で limit が使えない。

普通にページネーションできるだろー、と思ってたら
なぜかできない。
調べてみたら、limitの処理が超適当。

system/database/drivers/mssql/mssql_driver.php Line 640-645
system/database/drivers/sqlsrv/sqlsrv_driver.php Line 572-577


function _limit($sql, $limit, $offset)
{
$i = $limit + $offset;

return preg_replace('/(^\SELECT (DISTINCT)?)/i','\\1 TOP '.$i.' ', $sql);
}

いやいやいやいや! それoffsetがoffsetになってないから!
これにはがっかりした...

具体的な対策としては、limitを使う時のみ、
SQL Serverのrow_number関数を含むサブクエリーを出して
その結果から切り出すようなSQL文字列を作るように、
_limit関数の中をいじればOK。


3. sqlsrvドライバーで文字列はUTF-8に指定してるのに、エラーメッセージがShift-JISで帰ってくる。

これは別にCodeIgniterのせいじゃないんだけど、
ドライバーの_error_message関数をアレしてコレするだけで回避できるレベルです。


これ以外の点については、
CodeIgniterは学習コストがすごく低い、良いフレームワークだと思うので
みんなもっとガンガン使うと良いと思います。
でもSQL Serverといっしょに使う時は気をつけましょうね。

最近のコメント

アイテム

  • _MG_2831.jpg
  • _MG_2828.jpg
  • _MG_2827.jpg
  • _MG_2825.jpg
  • _MG_2821.jpg
  • _MG_2817.jpg
  • _MG_2815.jpg
  • _MG_2808.jpg
  • _MG_2803.jpg
  • _MG_2802.jpg