Wed Jun 02 11:58:45 JST 2010
忘れてしまうのでメモしておく。 samba の設定状況 (smb.conf) の確認には、testparm コマンドを使用する。
# testparam -v (各セクションの parse 結果が表示される) Press enter to see a dump of your service definitions (全てのデフォルト値を含んだ smb.conf が表示される)
何というデフォルト値が採用されているかを確認する時に便利だろう。
Fri Jun 04 09:09:41 JST 2010
C バッテリを全使用後のフル充電。97% までしか行かなかった。まぁそんなものか…。
Sun Jun 12 22:05:58 JST 2010
いつからか shutdown しても起動するようになっていた自宅マシンの BIOS を確認。 「Resume on PME」を切ったら、止まるようになった。 Wake On LAN の実験であちこちいじった時に結局実現できずに、 戻し忘れていたらしい。
Mon Jun 14 15:52:44 JST 2010
#ThinkPad x61s #FreeBSD 8.0-STABLE にて。 無線&Bluetooth の OFF/ON スイッチは、OS 稼働中に入れるのはアリらしい。 ちなみに、このスイッチが OFF になっていると wpa_supplicant を動かしても wlan0 が一向に associated にならない。
Mon Jun 14 22:16:32 JST 2010
C バッテリが、充電完了してると思われるのに 99% のままで止まって 100% になってくれない。むむぅ…
Tue Jun 15 13:09:04 JST 2010
cassandra を入れてみた。
# make install ===> Installing for cassandra-0.6.1 ===> cassandra-0.6.1 depends on file: /usr/local/jdk1.6.0/bin/java - found ===> Generating temporary packing list ===> Checking if databases/cassandra already installed ===> Registering installation for cassandra-0.6.1
おや、拍子抜け。なんかもっと苦労するものだと覚悟していたのだが…。
Tue Jun 15 16:17:06 JST 2010
JDK は 1.6 だけ入れて安心していた。1.5 も要るんだった。あわてて diablo を投入した。
Tue Jun 15 16:27:51 JST 2010
uploadingit.com っていうオンラインストレージサービスを見付けた。 SpeedX とか言う iPad アプリの広告から辿ったものだが、20GB までストアできて、 一日あたり 20GB までのトラフィックが許されている模様。 iPad アプリもあるので、ネットワーク環境がある前提でのファイル置場としては 使えるのかもしれない。 実際に自分が使うかどうかは別として、なかなか太っ腹じゃないか。
Tue Jun 15 17:02:32 JST 2010
sphinx を入れてみた。
# easy_install sphinx Searching for sphinx Reading http://pypi.python.org/simple/sphinx/ Reading http://sphinx.pocoo.org/ Best match: Sphinx 1.0b2 Downloading http://pypi.python.org/packages/2.6/S/Sphinx/Sphinx....(後略)
インストールは簡単だな。続いてセットアップ。長いけど貼っておく。
% sphinx-quickstart Welcome to the Sphinx 1.0b2 quickstart utility. Please enter values for the following settings (just press Enter to accept a default value, if one is given in brackets). Enter the root path for documentation. > Root path for the documentation [.]: You have two options for placing the build directory for Sphinx output. Either, you use a directory "_build" within the root path, or you separate "source" and "build" directories within the root path. > Separate source and build directories (y/N) [n]: Inside the root directory, two more directories will be created; "_templates" for custom HTML templates and "_static" for custom stylesheets and other static files. You can enter another prefix (such as ".") to replace the underscore. > Name prefix for templates and static dir [_]: The project name will occur in several places in the built documentation. > Project name: FirstExample > Author name(s): Takeo Hashimoto Sphinx has the notion of a "version" and a "release" for the software. Each version can have multiple releases. For example, for Python the version is something like 2.5 or 3.0, while the release is something like 2.5.1 or 3.0a1. If you don't need this dual structure, just set both to the same value. > Project version: 1.0 > Project release [1.0]: 1.0.1 The file name suffix for source files. Commonly, this is either ".txt" or ".rst". Only files with this suffix are considered documents. > Source file suffix [.rst]: One document is special in that it is considered the top node of the "contents tree", that is, it is the root of the hierarchical structure of the documents. Normally, this is "index", but if your "index" document is a custom template, you can also set this to another filename. > Name of your master document (without suffix) [index]: Sphinx can also add configuration for epub output: > Do you want to use the epub builder (y/N) [n]: y Please indicate if you want to use one of the following Sphinx extensions: > autodoc: automatically insert docstrings from modules (y/N) [n]: > doctest: automatically test code snippets in doctest blocks (y/N) [n]: > intersphinx: link between Sphinx documentation of different projects (y/N) [n]: > todo: write "todo" entries that can be shown or hidden on build (y/N) [n]: > coverage: checks for documentation coverage (y/N) [n]: > pngmath: include math, rendered as PNG images (y/N) [n]: > jsmath: include math, rendered in the browser by JSMath (y/N) [n]: > ifconfig: conditional inclusion of content based on config values (y/N) [n]: > viewcode: include links to the source code of documented Python objects (y/N) [n]: A Makefile and a Windows command file can be generated for you so that you only have to run e.g. `make html' instead of invoking sphinx-build directly. > Create Makefile? (Y/n) [y]: > Create Windows command file? (Y/n) [y]: Finished: An initial directory structure has been created. You should now populate your master file ./index.rst and create other documentation source files. Use the Makefile to build the docs, like so: make builder where "builder" is one of the supported builders, e.g. html, latex or linkcheck.
基本的にデフォルト値を採用したけど、epub だけ ON にしてみた。 セットアップができると、いろんなファイルが生成される。
% ls Makefile _static/ conf.py make.bat _build/ _templates/ index.rst
$HOME でやらなくてよかった…。このまま生成してみる。
% make html sphinx-build -b html -d _build/doctrees . _build/html Making output directory... Running Sphinx v1.0b2 loading pickled environment... not yet created building [html]: targets for 1 source files that are out of date updating environment: 1 added, 0 changed, 0 removed reading sources... [100%] index looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done writing output... [100%] index writing additional files... genindex search copying static files... done dumping search index... done dumping object inventory... done build succeeded. Build finished. The HTML pages are in _build/html
これで HTML ファイル(群)が生成される。
% ls _build/html/ _sources/ genindex.html objects.inv searchindex.js _static/ index.html search.html
たったこれだけで、立派な HTML ファイル(群) ができるのは、すごい。
日本語は、UTF-8 で書けば通るものと推測される。
もちろんウェ〜ブダッシュには期待していないけど、 本当にダメだった。左から右に向かっておくとして、 「まず上に行ってから下に行く」のが期待する文字なんだけど、 「まず下に行ってから上に行く」という悲しい文字になる。 こういうところが Unicode のダメなところだ。悲しい。
sphinx では、epub も作れるらしい。 epub は iTunes 経由でないと iPad に入れられないのかな。帰宅後に試してみよう。
Tue Jun 15 18:42:20 JST 2010
sphinx で生成したドキュメントのウェ〜ブダッシュの件は、 閲覧環境にも依存する模様。
Wed Jun 16 13:29:02 JST 2010
namazu のインデクスを作りなおし。
Thu Jun 17 20:49:46 JST 2010
cassandra に向かう理由。
kumofs はインフラ的に「大丈夫そう」だし面白いんだけど、仕事で使うような Web アプリにサクっと組み合わせて使うには、ちょっと足りないところがある。 それは、「memcached ベースの KVS であること」だ。 仕事で使うようなアプリでは、TokyoCabinet で言うところの TCTDB (テーブルデータベース) に相当するような、カラムに対する検索を行って 結果を iterate したいことがままある。しかし、純粋 KVS の世界では、これが難しい。 データ構造をうまいこと考えてあげればできなくはないのかもしれないが、 サクっとできないのであれば保守が重くなってしまう。
では TokyoCabinet を使えばいいのかというと、そうでもない。 kumofs は memcached プロトコル前提なので、 バックエンドが tchdb から tctdb になったとしても アクセス方法は純粋 KVS のままだからだ。
では kumofs を噛ませずに TokyoCabinet を使うかというと、 それでは単に高速な DBM を使っているだけになってしまうので、 スケールしない。アプリの要求としては満たすかもしれないが、 インフラの要求としてはスケールしたりディザスタリカバったりする のが楽しいところなので、せっかくの楽しみを削る方向に進むのは避けたい。
そこで、cassandra を検討してみると、カラムに対する検索はできそうだし、 スケールしそうだし、要求は満たせそうだ。 分散DB「Cassandra」に関する調査/検証 によると 「kumofs で言う所の kumo-gateway 的な物はないため、 分散実装をクライアント、サーバのレベルで行う必要がある」 とこのことだが、 cassandra は SPOF が無いのが謳い文句のはずなので、何か逃げ道があると思われる。
というわけで、ちょっと cassandra を追ってみたい。
Thu Jun 17 22:43:40 JST 2010
先日投入した cassandra は、/usr/local/share/cassandra 以下に居た。
しかし根拠なく一般ユーザで行けると踏んだので、自分ユーザで独自に行ってみる。 ブツは 本家 から ダウンロードする。今日現在の最新版は 0.6.2 のようだ。 アーカイブは置く所が無いので、とりあえず /usr/ports/distfiles/ に置いておく。 /var/lib/cassandra と /var/log/cassandra が必要なので、掘る。
% cd /opt/ % tar xvf tar xvfz /usr/ports/distfiles/apache-cassandra-0.6.2-bin.tar.gz % ln -s apache-cassandra-0.6.2 cassandra % mkdir -p /opt/cassandra/log % mkdir -p /opt/cassandra/data # cd /var/log/ # ln -s /opt/cassandra/log/ cassandra # cd /var/lib/ # ln -s /opt/cassandra/data/ cassandra % /opt/cassandra/bin/cassandra -f INFO 22:56:36,468 Auto DiskAccessMode determined to be standard INFO 22:56:37,016 Saved Token not found. Using 87575231855042221276090663372849713519 INFO 22:56:37,017 Saved ClusterName not found. Using Test Cluster INFO 22:56:37,048 Creating new commitlog segment /var/lib/cassandra/commitlog/CommitLog-1276782997048.log INFO 22:56:37,142 Starting up server gossip INFO 22:56:37,272 Binding thrift service to localhost/127.0.0.1:9160 INFO 22:56:37,279 Cassandra starting up...
フォアグラウンドで起動はできたようだ。
% /opt/cassandra/bin/cassandra-cli --host localhost --port=9160 Connected to: "Test Cluster" on localhost/9160 Welcome to cassandra CLI. Type 'help' or '?' for help. Type 'quit' or 'exit' to quit. cassandra> show keyspaces Keyspace1 system cassandra> set Keyspace1.Stadard1['testdata']['name'] = 'sempre ff' unconfigured columnfamily Stadard1 cassandra> set Keyspace1.Standard1['testdata']['name'] = 'sempre ff' Value inserted. cassandra> set Keyspace1.Standard1['testdata']['weight'] = '82' Value inserted. cassandra> set Keyspace1.Standard1['testdata']['type'] = 'human' Value inserted. cassandra> get Keyspace1.Standard1['testdata']['name'] => (column=6e616d65, value=sempre ff, timestamp=1276783281037000) cassandra> get Keyspace1.Standard1['testdata'] => (column=776569676874, value=82, timestamp=1276783334285000) => (column=74797065, value=human, timestamp=1276783354569000) => (column=6e616d65, value=sempre ff, timestamp=1276783281037000) Returned 3 results. cassandra> del Keyspace1.Standard1['testdata']['weight'] column removed. cassandra> get Keyspace1.Standard1['testdata'] => (column=74797065, value=human, timestamp=1276783354569000) => (column=6e616d65, value=sempre ff, timestamp=1276783281037000) Returned 2 results. cassandra> quit
動いているようだ。サーバを Ctrl-C で止め、再度起動する。
cassandra> get Keyspace1.Standard1['testdata'] => (column=74797065, value=human, timestamp=1276783354569000) => (column=6e616d65, value=sempre ff, timestamp=1276783281037000) Returned 2 results. cassandra>
データは失われていない。正しい止め方がわかりません。
Sat Jun 19 18:23:00 JST 2010
cassandra では super column を使う場合には5次元の配列になる。 この時、途中を飛ばすことはできないみたいだ。
cassandra> set Keyspace1.Super1['mynote']['spec']['ram'] = '2048' Value inserted. cassandra> set Keyspace1.Super1['mynote']['spec']['hdd'] = '500' Value inserted. cassandra> set Keyspace1.Super1['mynote']['name'] = 'habanero' supercolumn parameter is not optional for super CF Super1 cassandra> set Keyspace1.Super1['mynote']['name']['office'] = 'habanero' Value inserted. cassandra> get Keyspace1.Super1['mynote'] => (super_column=73706563, (column=686464, value=500, timestamp=1276939267989000) (column=72616d, value=2048, timestamp=1276939237571000)) => (super_column=6e616d65, (column=6f6666696365, value=habanero, timestamp=1276939356619000)) Returned 2 results. cassandra>
さて、何に使おうか…
Thu Jun 24 11:05:37 JST 2010
会社マシンにて、Firefox 3.6.4 と Opera 10.54 が来てました。
Thu Jun 24 18:36:38 JST 2010
Helios 拾い食い。
- Resource Property で Unix file Permission が設定できる
- Open Resource でパターンマッチと相対パスが使えるようになった
- ローカル履歴の数の上限を指定しないことができるようになった
あとは M6 までと一緒だな。 終了処理が速くなるけど、そのかわりローカル履歴がずっと残りまくるってのは…
Fri Jun 25 13:41:54 JST 2010
会社置き去りの Windows 2000 マシンから Samba 3.4 に入れなくて困っていた。 実際のところは Samba 側は一切変更を加えてなくて、ある日、急に Windows 側が 切れたという症状なの。 で、これが、net use でパスワードまで指定してやったら入れた。 意味がわからんよ。
Mon Jun 28 09:39:08 JST 2010
久々に plain2 でもいじってみようと試みる。 TeX 環境は、今は teTeX というのが主流らしい。 だがしかし、plain2 のパースが何だかズレているようで、 タイトル部分を認識しないばかりか、 セクション名などもとんでもないところから拾ってしまう。 これでは使えないし、直し方もわからないよ。
Mon Jun 28 11:10:43 JST 2010
Eclipse RAP を試してみようとしたが、どうにも動かない。 朝から2連敗か…
Tue Jun 29 18:12:24 JST 2010
git 入れてみた。動くってことはわかった。 実験で roo を取り出してみたが、見ないだろうな(苦笑
HOME | index | prev | next