2008年10月19日日曜日

OpenOffice 3.0 w/uim でハング

OpenOffice 3.0をインストールしたのだが、文字入力をしようとするとハングしちゃう。
どうも入力系の問題みたいなので検索したらこんな解決策が。
soffice(OpenOffice起動用のスクリプト)に以下の行があるので、これのコメントを外す。

# SAL_NO_XINITTHREADS=true; export SAL_NO_XINITTHREADS

入力できた。わーい。

linux::sound::alsa

オイラのデスクトップはWindowsXPとDebianがデュアルブートになっているわけだけれども、Debian起動時に音が鳴らないことがあって、変だなぁと思っていたわけです。
マザーボードについているVIAのサウンドチップだとイマイチなのでYamahaのチップ搭載のサウンドカードをいれているのですが、どうやらこれが原因みたい。(鳴らない時はスピーカーコードをどちらかに指すと音が鳴るという変な状態になっていた...)

ALSAの設定ツール(alsaconf)を起動したらうまく鳴るようになったけど、
どっちか殺しておくことはできないものかね。

2008年10月18日土曜日

Thread thread = new Thread(Runnable command);

Thread.start(thread);

っていつの間にか使わなくなってた罠。
Java5から付いていけてないという、確たる証拠を晒してしまった系。
ExecutorServiceって..."サービス"って名前は良くないよなぁ。
サービス恐怖症になりつつある俺。

java.util.concurrent.*の訳が従来どおりというか、よりイケてないせいで余計わからなくなった。
いつものとおり?J2SE5.0 虎の穴にて確認しながら気になった部分とか感想を列挙しますー。
まぁ覚書ていどに。
  • Executorインタフェース...Threadの生成を隠蔽するのがキモ。Executor#execute(Runnable command)を実装する人は、その処理を非同期にしたい場合はやっぱりnew Threadする必要がある。
  • Executorの実装内部でRunnableの実行に関してQueueを使って順序を守ったりとか、そういうことが想定されているもよう(javadocに例あり)。
  • Executorsクラス...ユーティリティなので要チェック。
    • #newCachedThreadPool()...いろいろとうまいこと勝手にやってくれるらしい。つまりあやしい。60秒利用されなかったスレッドは削除されますよ。
    • #newFixedThreadPool(int nThreads)...スレッドの数が決まってる。
    • #newSingleThreadExecutor()...単発ワーカスレッドだけどnewFixedThreadPool(1)とは違うらしい。
  • ExecutorServiceインタフェース...スレッドプール用のインタフェース。Executorsで生成できるスレッドプールの実装クラスを受け取るのに利用できるのと、後述のCallableを実行状態にできる&戻り値の受け取りができるのはこの人。
  • ThreadPoolExecutorクラス...設定がいろいろできるExecutor。でもExecutorsからもらえる汎用的なもののほうがあれこれ調整しなくてもフツーに使える。スレッドプールの実装を以前からゴリゴリやってる人にはなじみやすいのかも。
  • ScheduledThreadPoolExecutorクラス...遅延タスク、周期実行用。FIFOらしい。遅延はいつものごとく「実行するよフラグ」が立つだけでいつ実行されるかは保証できない(仕様としてはしなくてよい、が正解かな)らしい。
  • Callableインタフェース...戻り値を返すcallメソッドが定義されている。Runnable#runが戻り値を持ったわけだが、実行はExecutorServiceを通す必要がある。
基本的なところはこんな感じ。あとはキューとかラッチとかスレッド間同期用クラスとか。
カッコいい名前のCyclicBarrierなんてものも。バリアて。小学生以来ですよ、ええ。

そうそう、なんでパラレル処理を見てるかというと。
馬鹿デカいログファイルを細切れにパラで処理したら速いだろうかと思ったわけです。
でももうちょっと面白い使いかたができそうなので、思い付いたらまた書こうと思います。

2008年10月15日水曜日

UMPCとか

、NetBookとか沢山出てるけどいまいちどれがいいか決めきれない。
用途を考えると
  • 会社のPC(w/バッテリーとAC電源)は重いのでその代わりに持ち歩く。1kg削減を目指したい。
  • いつでもどこでもWebアクセス
  • いつでもどこでもプログラミング
Webアクセスは重要。会社のPCの代わりなのだから、アクセスできないと困る。

公衆無線LANサービスが充実していない我が国ではPHSかWillcomかイーモバなんだよなぁ。
携帯プラス二つ目のキャリアを追加するほど余裕は無いわけで...。
DELLではイーモバとの抱き合わせで1万円台(!)で買えるんだが、結果割高な気もするし。

速攻起動など色々考えるとSSDな感じが良いわけだが、いかんせん容量がもっと増えないとどうにも。
あと無線LANがついていてもうちのAirMacが言う事聞かないだだっ子なので相性が問題かな。

誰か、良いヒントをください。

2008年10月3日金曜日

Oracle TopLink 11g

Oracle TopLink 11gがダウンロード可能になってるなぁと。

Oracle TopLink 11.1.1 Downloads

新機能はJPA/SDO/JAXBサポートを含むEclipseLinkのバンドル、Coherenceとの統合、パフォーマンス向上などなど。さて、使い倒せるかなぁー。

oracle.toplink.*パッケージがorg.eclipse.persistence.*に変更されてるって...おいおい。