ブログ移転

新しい場所は http://openbooth.org/ 新規にドメインを取得してレン鯖も色々自由に触れるように VPS に。

"与える"ということの危険

今日つくづく思ったこと。

これはその人にとって本当に必要なものなのか?ということを自問して吟味してから行動しないとその人のためにならないことが往々にしてある。

きっと子育てをしている親にとっては当たり前のことなんでしょうが、今日は教会学校のスタッフをする中ですごくいい経験することができました。大人の軽率な行動は子供を駄目にする。子供が欲しいものに対してホイホイと軽々しく与えれば、その子はある種の勘違いをする。その勘違いのせいで変な価値観を持つようになりその子は駄目になる。

でもそれは子供のせいではなくて大人のせいだと思う。

今日はある人がとった行動によって子供達がなんか勘違いをしていたのでまず子供達に説教したのですが、真剣に話をし合わないといけないのはその行動をとった大人なんだよとすごく感じた。

今日、僕は結局のところ子供達がせがむものをあげませんでした。なぜかと聞かれればそれはその子にとって本当に必要なものではないからと感じたから。なんで僕が子供達が欲しいものをあげなかったのかを子供達に一から説明しました。

...

あげない理由を全部説明し終わってから、子供達にこんな質問をしました。

「今僕がきみたちに○○をあげるのはおかしくない?」

すると子供達はこんな風に応えました。

「うん、おかしい、俺だったらあげない」

子供は賢い。子供の分かる言葉で説明すれば子供は納得する。

僕は今日すごくいい経験をした。

で、こう思った。子供達が「なんで?」という問いを持っているときはそれを子供が分かる言葉まで砕いて説明する責任があるんだな、と。

P.S. "愛"というのは人が本当に欲っしているものだと思うし、本当に必要なものだからこそイエス様は出し惜しみしたりはしない。因みに今日は十字架の話でした、来週は復活の話だよ。今年は早めのイースター。

悶々と...

俺って嫌な奴だよなぁ...とつくづく思う。

割と感情的に動いてしまうし。

ぅぅぅぅおりゃーって叫びたいw

職業と使命

昨日話をしていてふと思った。あの人とこの人の違いってこれに起因してるのかも。

蛇足だけどスーツとギークの対比とも似てる気がする。めっちゃ外してる気もするけど。

餅つき

昨日の日曜日は教会学校で餅つき大会をした。僕が餓鬼のころから続いてる行事ですが、自分が生徒側ではなくて奉仕者の立場になっていることを改めて不思議にも感じた。

いっこ下のある女の子からこんなことを言われた。

昔はいがらしさん(今は亡き教会員)とむーさん(僕の亡き父)が中心になって運営してたのに、私ら女性陣が厨房に入って恵示くんたちが餅をついてる。きっとこうやって受け継がれていくんだよねぇー。なんかすごいなぁって思った

確かにそうだと思った。昔はスーパーおじいさんのいがらしさんと僕の父が餅つき大会を取り仕切ってたけどその二人はもういない。二人とも病気でこの世を去った。

餅つき大会運営側の中心にいた二人がいなくなってから、一時は「今後餅つき大会を続けていくかどうか」ということで話をしたこともあった。僕が19とか20くらいのとき。でもこうして恒例行事として続いていってる。色んな方の助けがあって続けていけているこの会を大事にしていかないといけないと感じた。

そろそろipod touchでも買ってみる

来月にはSDKも出るはずだしそろそろipod touchを買おうかなぁ。それまでどんなものか見ておきたいなぁと。さていつ買うかなw

JavaのYAMLライブラリって

YAMLって記述性が高いのでわりと好きです。ただ、言語によってYAMLプロセッサーの品質がまちまちなので困ってしまうことがあります。Perlは複数の実装があるけどYAML::Syckで全然問題なく使えるから良いんですが、Javaに関してはいけてないYAMLプロセッサーがあったり(でも割と有名なライブラリ?)して大変です。

JavaによるYAMLプロセッサーと言えば(2008/01/17時点で)主に

  • JYaml
  • JvYAML

の二つあると思います。これぐらいしか知りません見つかりません。他にあったら是非教えて下さい。

で、「この二つのうちどちらを選ぶ?」という話であればJvYAMLと答えます。JvYAMLはちゃんと使えます。

でも、ここではJYamlのいけてなさ加減をちょっと書いてみようと思います。 JYamlは正しいYAML定義であっても例外を吐いて死んでしまうことがあります。以下のようなフロースタイルで記述されたYAMLドキュメントがあった場合

{ name: keiji, age: 23 }

JYamlは正しくパースしてくれず、変わりに以下のような例外を吐いて死にます(因みにJvYAMLは正しくパースしてくれます)。

org.ho.yaml.exception.YamlException: Error near line 1: End of document expected.
    at org.ho.yaml.JYamlParserEvent.error(Unknown Source)
    at org.ho.yaml.YamlDecoder.firstDocument(Unknown Source)
    at org.ho.yaml.YamlDecoder.readObject(Unknown Source)
    at org.ho.yaml.YamlConfig.load(Unknown Source)
    at org.ho.yaml.YamlConfig.load(Unknown Source)
    at org.ho.yaml.YamlConfig.load(Unknown Source)
    at org.ho.yaml.Yaml.load(Unknown Source)

ただ、JYamlはフロースタイルが全く処理できない訳ではなく

--- { name: keiji, age: 23 }

というようにYAMLドキュメントの開始を示す文字列「---」を付けてあげるときちんとパースしてくれるようになります。ちょっと(というかかなり)アレですけどラッパーを作ることで回避できるので目をつむることにします。

でも処理できないのは上記のようなケースだけではなく、以下のように

--- {
  name: keiji,
  age: 23
}

フロースタイル中に改行(多分改行が原因だと思われ、推測で言ってる)があるようなYAMLドキュメントを書くとドキュメントのパース中に謎のNullPointerExceptionが発生したりします。まぁこいつの回避策としては、これまたラッパーで改行を消しちゃうという荒技を使えば一応回避できるんですが「なんていけてないYAMLパーサなんだ」と思ってしまいます(因みにJvYAMLは正しくパースしてくれます)。

まぁフロースタイルだけが駄目という訳ではなく、ブロックスタイルでも例外吐いて死んだりすることがあります。いけてないJYamlにフロースタイルとブロックスタイルを混合したようなYAMLドキュメントを処理させると、どんな死に方をするかは詳しく調べてないんですがスタイルを混合して書くようなドキュメントをパースさせるのはやめておいた方が無難です。無用にはまります。これってかなり致命的な気がする。

フロースタイルだけなら「JSON使えば?」って感じですけどね。JSON-libあるし、

{
  "name" : "keiji"
  "age": 23
}

ただ、ダブルクォーテーションで囲みたくないっていう気持ちはあります。Perlでハッシュコンストラクタと=>演算子を使うと

{
  name => 'keiji',
  age  => 23,
}

て書けてクォーテーションが無い方がやっぱり見栄えが良いじゃないですか。Rubyだとシンボルで定義するのかな?

{
  :name => 'keiji',
  :age  => 23
}

なんかどんどん横道にそれていってますけどJvYAMLを使えば別に問題はないです。JYamlなんて使わなくてもJvYAML使っとけばいいんです。

Map map = (Map) YAML.load("{名前: 恵示, 年齢: 23}");
assertEquals("恵示", map.get("名前"));

でもね。残念なことにjvyamlってmavenリポジトリに登録されてないんですよね。自分でどこかのリポジトリにデプロイしないといけないのでそこがちょっとね。

Windowsが起動しなくなった

WindowsXPを入れてるx40のPCが起動しなくなった。CONFIG\SYSTEMが無いって怒られた。

くそーwindowsめー

JPEdインストール備忘録

JPEdをUbuntuにインストールするときの備忘録。デスクトップ環境はGNOME。ちょっとはまったのでここに残しとく。

インストール

JPEdの最新版をダウンロードする(Main branch)。

ダウンロード先はココ。

http://sourceforge.net/project/showfiles.php?group_id=171576

インストール

$ mkdir ~/tmp
$ mv ~/デスクトップ/JPEd-1.0.1_install.jar ~/tmp
$ cd ~/tmp
$ chmod +x JPEd-1.0.1_install.jar
$ java -jar JPEd-1.0.1_install.jar
...
... あとはインストーラの指示に従う
... インストール場所は ~/app/JPEd-all にした

ここまででJPEdのインストールは終了。はじめは~/デスクトップにダウンロードして、そこでjava -jar JPEd-1.0.1install.jar_したけどインストーラの起動中に落ちた。原因はディレクトリ名に日本語を含んでいたから。jarの展開中にインストールに使用するファイルが見つからなくて落ちていたよう。ちょっとしたハマりポイント。

起動

普通に起動

$ cd ~/app/JPEd/bin
$ chmod +x JPEd.sh
$ ./JPEd.sh
...
... あぼーん、起動中にヌルポで落ちる
...
$ java -version
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Server VM (build 1.6.0_03-b05, mixed mode)

java6だと何かのバグで落ちる。どっかで見たことがある。でjava5にして再トライ。

$ sudo update-alternatives --config java

`java' を提供する 6 個の alternatives があります。

  選択肢       alternative
-----------------------------------------------
          1    /usr/bin/gij-4.2
 +        2    /usr/lib/j2sdk1.5-sun/bin/java
          3    /usr/lib/j2sdk1.4-sun/bin/java
          4    /usr/lib/j2sdk1.6-sun/bin/java
          5    /usr/lib/jvm/java-1.5.0-sun/jre/bin/java
*         6    /usr/lib/jvm/java-6-sun/jre/bin/java

デフォルト[*] のままにするには Enter、さもなければ選択肢の番号のキーを押してください:

jvmのバージョンは沢山インストールしてるw。5を選択する。そして起動。

$ ./JPEd.sh

起動できた。でも見た目がいまいち。Swingのデフォルトルックアンドフィールはヒドイ。java6から綺麗になっているという話を聞いたことがあるのでjava6で起動したい。

色々調べるとlocaleの設定があ ja_JP だと駄目らしい。ということでjava6に戻して下を試す。

$ LANG=Cen_US.UTF-8
$ ./JPEd.sh

無事起動。JPEd.shLANG=Cen_US.UTF-8の記述を書いてオシマイ。

変更: 日本語を入力できなかったので、記事の終わり部分を修正。

スペースキーによるスクロール量を調節する

スペースキーでスクロールするとページ単位で進んでしまうので、読んでる部分を見失う。スクロール量を調節したいなぁと思ってたらやっぱり既出だね。

スペースキーで LDR っぽいスクロールを実現する Greasemonkey スクリプトCommentsAdd Star

Linuxのハイバネーションは安定してきた

Linux環境におけるハイバネーションの安定度について書いとく。

自分の環境はThinkpad x60 + Ubuntu 7.10(Gutsy Gibbon)。この組み合わせにおいてはハイバネーションについては問題なく動く。安定してる。まだ1.5週間くらいの実績だけど電源を落とすときはシャットダウンではなくてハイバネートしてる。ハイバネート状態から復帰するタイミングで固まったりすることは今のところ起こってない。

Linuxでもハイバネが上手い具合に動く時代になったんだなぁ。すばらしぃ。因みにハイバネのために何か設定する必要はないよ、Ubuntuならデフォ。

ハイバネーションについては問題ない。でもね、電源を付けた状態で(長時間放置等して)ディスプレイの電源が一度切れると、そこから何をしてもディスプレイの電源がON状態にならない(今のところディスプレイをONにする方法が分からない)。システムは動いてるんだけどディプレイは黒のままという現象が起こります。

スタンバイは(ハイバネ使うようになって)最近使わなくなったので、安定してるかどうかは分かりません。

ショックだわー

事務所にノートPCのアダプタ忘れたー。明日取りに行こうかな

Swing豆腐問題の備忘録

Ubuntu7.10でjvmにjava6を使ってる場合は以下のようにUbuntuが使ってるフォントディレクトリを指すようにfallbackシンボリックリンクをはる。これでSwingで作られてるアプリで日本語が含まれていたとしても日本語文字が豆腐にならなくなる。

sudo ln -s /usr/share/fonts/truetype  /usr/lib/jvm/java-6-sun/jre/lib/fonts/fallback/

ウィンドウ切り替えはワークスペース切り替えベースで

ウィンドウ切り替えは一つのワークスペース(デスクトップ)上で行うのが普通だと思う。WindowsはAlt+Tabで各ウィンドウを切り替える人がほとんどだと思う。仮想デスクトップ環境を使っていないかぎりにおいては。

Linuxはその点デフォで複数のワークスペースを持つことができるようになってる。最近まではこんなにワークスペースがあってもどうやって分けて使えばいいんだ?と思ってた。一つのデスクトップ上で作業するのに慣れきってしまっていたから。

でも、Ubuntuを使いはじめてからちょっとずつ見方が変わってきた。複数のワークスペースは非常に有用だと。今更ながら。。。

開発をしていると色んなアプリケーションを起動してウィンドウがいっぱいになってしまうことがある。ブラウザ、メーラ、Emacs、Eclipse、ターミナル、VirtualBox上のWindows2000、たまにOpenOffice.orgの各アプリ。挙げてみるとかなり多い。ウィンドウが多くなってくると、ウィンドウの切り替えが大変になってくる。一つのワークスペースで作業してると沢山のウィンドウの中から目的のウィンドウを探さないといけない。これってかなり非効率。切り替えコストって結構高い気がする。

ここで仮想デスクトップの出番。

ワークスペース毎に、ブラウジング、開発環境、その他...と用途に併せて分割することができる。そうすると一つのワークスペースに存在するウィンドウの数が減るからウィンドウの切り替えが楽になる。ワークスペースで分けてるとウィンドウの重なりではなく、それぞれのワークスペースの位置関係で把握できるので人の頭も目的のウィンドウがどこのワークスペースにあるのか覚えやすくなる。

いっそのことAlt+Tabによるウィンドウ切り替えをやめて、ワークスペースの数を16個くらいにしてそれぞれのワークスペースに一つずつウィンドウを配置するとかした方が実は人間に優しいような気がしてる。やっぱり重なりよりもマップとして位置関係で把握できるほうがはるかに覚えやすい。16個はちょっと多いかもしれないけど...因みに今自分はワークスペースを6個にして使ってます。

ワークスペースに対するウィンドウの配置の仕方はこんな感じです。

1 2 3
1 ブラウザ、メーラ Emacs、ターミナル 仮想環境(Win2000 on VirtualBox)
2 OpenOffice系 Eclipse(Java) Eclipse(Flex)

今まではウィンドウの重なりで管理することが当り前だったけど、それが全てではない、もっと良いウィンドウの管理方法があると感じます。ワークスペースによる管理よりももっと良いものがあるかもしれないし。でも今はワークスペースベースによる上のようなウィンドウの分け方で良い感じです。

あとは、ウィンドウマネージャにCompizFusionかBeryl(もうサポートされないのでCompizにしておいた方がいい)をいれれば今のところは完璧。CompizFusionとかはエフェクトや3Dに目が行きがちだけど、前から書いてるけど実用的な機能が色々とあります。ウィンドウ切り替えのためのプラグインも複数あります。ウィンドウ切り替えのプラグインは非常に便利。使いやすいようにショートカットキーの設定をすれば凄く快適になります。

ワークスペースの切り替えのキーバインド(vimっぽく)

  • <Ctrl><Alt>h : 左のワークスペースへ移動
  • <Ctrl><Alt>j : 下のワークスペースへ移動
  • <Ctrl><Alt>k : 上のワークスペースへ移動
  • <Ctrl><Alt>l : 右のワークスペースへ移動

ウィンドウ切り替えのキーバインド

  • <Alt>Tab : 今いるワークスペース内で切り替え
  • <Ctrl><Alt>Tab : 全てのワークスペースで切り替え
  • <Alt>; : 今いるワークスペース内で切り替え(リングインタフェース)
  • <Alt>: : 今いるワークスペース内で切り替え(リングインタフェース)、逆回り
  • <Ctrl><Alt>; : 全てのワークスペースで切り替え(リングインタフェース)
  • <Ctrl><Alt>: : 全てのワークスペースで切り替え(リングインタフェース)、逆回り
  • F9 : 今いるワークスペース内でエクスポーゼ
  • F8 : 全てのワークスペースでエクスポーゼ

切り替えのインタフェースを選べるのでこれはWindowsに対して良いアドバンテージではないかなぁと思います。Vista君のエアロ使った無駄な3Dは綺麗かもしれないけど、Super+Tabによるウィンドウ切り替えのインタフェースとしては最悪だと思う。あれはヒドい。無駄にスペック食うし悪だねw あれじゃぁSuper+Tabじゃなくて普通にAlt+Tabで切り替えるでしょ。ほんとヒドい。

Linuxのデスクトップ事情は飛躍的に伸びてると感じる今日この頃です。いじょ。

Swing on Beryl

WindowManagerにBerylを使っているとSwingで作られているアプリケーションの画面が真っ白になってしまう。どこかからかパッチが出ているらしいが、ソフトウェアのバージョン管理を考えるとインストールしているソフトウェアはなるべくパッケージマネージャ(APT)で管理しておきたい。

そんな感じなのでSwingで作られているアプリケーションを使うときは、一時的にBerylを止めてMetaciyを使ってた。完全に負けソリューション...w

でも昨日、某社某MたんにSwing on Berylなる情報を貰ったので試してみた。

How to get Java Swing apps working under Beryl or Compiz, including Java Web Start

At this time, Java Swing apps won't run properly under Beryl or Compiz. The app comes up, but it comes up completely blank. It's a known issue, and Java engineers are working on it.

...
The following solution is tested on Ubuntu.
...
The solution is to pass an environment variable to Java,

Javaで使っている環境変数をいじれば解決するらしい。ということで上の記事を参考にしながらUbuntuの環境変数をいじってみた。上の記事ではJavaVMを起動するためのラッパースクリプトを書いて環境変数をいじってるけど、Javaをalternativesで管理している身としてはラッパースクリプトはないと思ったので環境変数をexportすることにした。

XLOCALELIBDIRAWT_TOOLKIT環境変数を

$ export XLOCALELIBDIR=/usr/share/X11/locale
$ export AWT_TOOLKIT=MToolkit

のように設定してexportする。

これだけ

どっかのCMみたい。

AWT_TOOLKITは上の通りで良いんだけど、XLOCALELIBDIRに設定する値は各環境によって適宜変更する必要があります。

$ find /usr -name 'locale'

してX11以下にあるlocaleディレクトリを見つけて、そのlocaleディレクトリへのパスを設定してあげればよさげです。僕はそうしました。

これでXPDLを編集するためにJPEdを使うことができるようになりましたよ。某Mたん情報ありがとう!

「信じて、知る」

「知って、信じる」のではなく「信じて、知る」。

今日は教会で結婚式があったのだけど、それに際して牧師さんがこんなニュアンスのことを話してた。

結婚は相手のことを全て知って納得したからするのではない。相手を信じることができるのであればもう結婚できるんだ。そして結婚してから相手のことを知っていくんだ。

「確かに」と思った。まだ結婚の経験はないけど、分かる気がする。

今の会社は二つ目なんだけど、会社のことを全て知って全て納得したから今の会社に決めたんじゃない。全ては知らないけれども、その会社を自分は信じれると思ったから転職を決めることができたんだと思う。僕が信じたのは会社というよりも限りなく「人」に寄っているのだけれど。

もちろん信仰生活もそう。聖書のことを全て知って納得したから信じたんじゃない。多分そんなこと不可能。ある段階で聖書の言を信じることができて、そこで洗礼を受けて、そしてそこから「知る」ということの歩みを進めているんだと思う。

「信じて、知る」

そんなことを思い返した日曜日でした。

pencil


pencil
Originally uploaded by keiji.muraishi.
鉛筆っぽいデザインのシャーペン。

かわいいっぽかったので買ってみた。315円也。

Ubuntuのlibapache2-mod-encodingパッケージがバグッってる件

UbuntuのバージョンはFeisty Fawn

apache2にmod-encodingモジュールをインストールしたらおかしなことに動かなかった。モジュールはAPTで入れた。どうやらモジュールのパッケージが壊れてるらしい。インストールは以下の操作で行った。

$ sudo apt-get install libapache2-mod-encoding
$ sudo a2enmod encoding
This module is already enabled!
$ sudo /etc/init.d/apache2 force-reload
 * Forcing reload of web server (apache2)...                                    
apache2: Syntax error on line 185 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/encoding.load: API module structure `encoding_module' in file /usr/lib/apache2/modules/mod_encoding.so is garbled - perhaps this is not an Apache module DSO?
                                                   [fail]

しつこく何回かインストールしなおしたんだけどw 駄目だった。しょうがないからdebパッケージを作ることにした。

$ cd /tmp
$ apt-get source libapache2-mod-encoding
$ sudo apt-get build-dep libapache2-mod-encoding
$ cd libapache2-mod-encoding-20040616
$ sudo dpkg-buildpackage -rfakeroot
$ cd ..
$ sudo dpkg -i libapache2-mod-encoding-20040616-4.2_i386.deb

パッケージの作成とインストールは完了。で、再度以下を実行。

$ sudo a2enmod encoding
This module is already enabled!
$ sudo /etc/init.d/apache2 force-reload
 * Forcing reload of web server (apache2)...
                                                   [OK]

上手くいった。

ということで今日時点ではUbuntu Feisty Fawnのリポジトリにあるlibapache2-mod-encodingパッケージは壊れてます

いじょ

Linux+Windows - Linuxベースの理想的な開発環境

「開発環境」をテーマにぐだぐだと書きます。

「理想的な開発環境ってどういうものだろう」といつもというかたまーに考えていました。元はWindows使いなんですが開発環境としてプラットフォームを考えた時に、Linuxというのは大きな存在でした。最近「WindowsのOS上にLinux系のOSを(仮想的に)立ち上げて開発を行う」というのが広まってきていると思いますが、僕も以前はそれと同じ構成で開発環境を整えていました。

Windows+coLinux

WEB+DB Vol40[定番]Linux開発環境という特集が組まれていますが、まさにこの記事と同じ環境を用意して開発していました(windows+colinux+screen+zsh、記事と同じなのはcoLinuxを調べていたときにはてなのnaoyaさんとかSixApartのmiyagawaさんとかのブログで情報を仕入れてたから)。ホストOSとしてWindowsを使うのは選択肢として正直硬いです。WEBアプリケーションの開発をしていると各ブラウザで動作検証しないといけないと思いますが、Linuxだけ使っていたらIEでテストできないですからねw 今となってはwindowsに固執するのはそれぐらいだと思ってます(ハードウェアの問題はあるけど)。

今はメインマシンをLinux(ubuntu)にしてますが、やっぱり一番痛いのは「IEが使えない」こと(ubuntu linuxでIE6を使うで言及しました)。でもie4linuxの場合、javascript関係で結構頻繁に落ちるんですよね。痛い。。。ちょっと神経使いながら使用しないといけない(じゃないと落ちる)のでちょっと非効率です。落ちるたんびにイライラするしw Linuxをメインマシンにするとそんな所にジレンマを感じます。

でもやっぱりLinuxの方がいいんですよね。エディタはEmacsを使うし、ターミナルはコマンドプロンプトのようにショボくないし、あとやっぱりパッケージマネージャ(APT)を使えること。$ sudo apt-get install でインストールするソフトウェアを管理できるのは楽ですよ。パッケージの新しいバージョンがあったらそのことを通知してくれるのも嬉しい。こっちのオペレーションはその更新パッケージを適用するだけで良いから。windowsだとソフトウェアのインストールにしてもサイトに出向いてソフトウェアをダウンロードしないといけない。これは正直しんどい。

と、ぐだらぐだらと書いてますけど、結局のところLinux+Windowsな環境が用意できればいいんですよ、僕は。Windows+LinuxじゃなくてLinux+Windows。Linuxありきの環境がいい。だってWindowsのOS上にわざわざLinuxを立ち上げてるんだからLinuxでいいやん。必要に応じてWindowsを立ち上げられる方が嬉しい。そう思う。

こんなことを言えるのは、Linuxのデスクトップ環境がかなり進歩したからだと思います。Ubuntuに移住しようと思ったときはメインマシンにする気は正直あんまりなかった。けど、実際にUbuntuを使ってみたら自分の思うように使えた。3DデスクトップのBerylも手伝ってメインマシンにしても全然違和感のない環境を作ることができた。Berylは単に派手なだけじゃない、実用的な機能もありますよ。だから僕はメインマシンとしてUbuntuを使いはじめた。Linuxはまだユーザを選ぶOSだと思いますが、ソフトウェア開発者にとってはLinuxという環境はいいんじゃないかぁ。

Linux+Windows

これが現時点での僕の解です。

今後の開発環境動向に注目。

追記(2007/9/6 12:42:39 JST)

MS Officeのことを忘れてました。WordはいいとしてもExcelを触れないと仕事上きついです。Excelに関してはOpenOpece.orgのCalcがかなり互換性高いんですが、印刷を考えるとちょっとなぁと思うところがあります。微妙にセルの高さや幅が違ってしまうのも欠点。Javaのライブラリ(POI)から読むときにオブジェクトの持ち方が違って落ちたりというのもある。Linux上のWindowsでExcelとか起動できたら申し分なしですね。

Linuxでh2databaseを起動する

メモ書き - ubuntuでh2databaseのサーバプロセスを開始するシェルスクリプト

h2databaseはDBサーバ起動用.batファイル(Win用)を配布zipに含めてるけど、.shファイルを含めてない。なので.batファイルをコピーして適当に変更して利用する。

#!/bin/sh
java -cp h2.jar:$H2DRIVERS:$CLASSPATH org.h2.tools.Console

Twitter Updates

About Me

My photo
1984/07/05生 プログラマー

サイト内検索