JKaiUI改良版 配布中

JKaiUI改良版をファイル置き場にて配布中です。

最新版はここから落とせます。追加機能の使い方の説明は落としたファイルのReadMeファイルを参照してください。

オリジナルのJKaiUIの使い方、Mac上でのXLink kaiの情報はMac de Kaiを参照してください。

JKaiUI改良版はまだ開発版です。オリジナルからそう多く変更していないので大丈夫だともいますが、ご利用は自己責任でお願いします。

2013年5月25日土曜日

jkaiUI Custom ver.0.5.1-jdk5(Leopard PPC用)を公開しました

Mac OS X Leopard(PPC)にてjkaiUI Custom ver.0.5.1などが動かないという報告が来たので修正したバージョンを公開しました。
ファイル置き場の方においてあります。

主な修正点は以下になります。
  1. チャット画面において右クリックメニューからSearch with Google機能を除去
  2. チャット画面において右クリックメニューからopen URL機能を除去

基本的に10.5 Leopard(PPC)用です。
Intelではjavaのバージョンを1.6にして通常のver.0.5.1をご利用ください。
/Applications/Utilites/JavaPreferencesで変更できます。

javaのサポートは現バージョン(java 1.7)以外はサポートされなくなるようです。
そのためセキュリティ的に利用はおすすめできません。
もし利用するときはブラウザでJavaプラグインをオフにすること推奨します。

最後に、報告とログの採取に協力してくれた方には感謝をいたします。
ありがとうございました。

2013年5月18日土曜日

PlanexがXlink kaiのサポート(スポンサー)をやめた模様

Xlink kaiのスポンサーからPlanexが降りるようです。

以下、情報元
http://www.teamxlink.co.uk/forum/viewtopic.php?p=235774

もう人があまりいないので宣伝効果が薄いと判断されたのかも。

Xlink Kai自体はユーザーがいる限りサービスを続けるようです。
ただ、いくつか影響がある模様。
現状での影響として日本国内のサーバがなくなったことがあります。
人が少ない状況ではそれほど大きな影響ではないでしょう。
他に、メインサイトの移転がされているようです。
また、将来的にコンソール(ゲーム機)、接続元の位置、コンソールのハードウェアベンダーによってアクセスが制限されるようになるかもしれないようである。

Apple Wireless Keyboardのキートップ交換

キーボードはRealforce 91以外にもApple Wireless Keyboard(JIS)を利用している。

Apple Wireless Keyboard(JIS)は仮名入力用のひらがなも印字されているためにごちゃごちゃした感じを受けます。
USキーボードを利用すればいいんですが、USキーボードには英数、かなキーがないのが個人的には痛いです。
そこでUSキーボードのキートップをJISキーボードに移植してみました。
今回はキートップ自体をいじらずにいつでも戻せるようにという方針で行いました。
この記事ではキートップの外し方等は説明しません。

説明用環境

Mac OS X 10.8

材料

  1. Apple Wireless Keyboard(JIS) 単3電池を3個必要なモデル
  2. Apple Wireless Kayboard(US)ジャンク

使用ソフトウェア

  • KeyRemap4Macbook

第一段階

JISとUSではアルファベットの位置は同じです。
しかし、記号関係はかなりの違いがあります。
また、キー自体の大きさが異なる物もあります。
そのために、すべてのキートップをそのまま入れ替えるわけにはいきません。
第一段階ではそのまま入れ替えても支障のないキートップ(A-Z)を入れ替えます。
以下がその状態の写真です。


第二段階

第二段階では記号関係も入れ替えます。
キートップの交換だけでは印字されたものと実際に入力されたキーが異なる物になってしまうためにKeyRemap4Macbookを利用します。
第二段階を行うとKeyRemap4Macbookで所定の設定を行っていないと、印字と入力がずれる問題があります。そのため、そのような環境で利用する可能性がある場合はあまりおすすめしません。

入れ替えの前にKeyRemap4Macbookの設定を行います。
  1. Preferencesを開く
  2. For japanese > Change Keyboard Layout > Use Japanese Keyboard as US Kayboardをチェック
これでJISキーボードでUSキーボードの配列で入力されます。

次に入れ替え作業です。
入れ替えの作業はKeyRemap4Macbook付属のEventViewerなどで入力を確認しながら印字と入力が一致するように配置すれば大丈夫です。
ただし、4つの例外があります。
例外は以下。
  1. 「1」キー
    • キーの形が違うために交換できない
  2. 「`」キー(2つめ)
    • 「`」キーは2つ存在する。キートップが足りなくなるためにJISキーボードのキートップを適当に利用する。
  3. 「\」キー
    • USキーの内部形状(パンタグラフ)が違うために90度回転した状態でになる
  4. 「`」キー
    • 同上
変更した状態のキーボードの写真は以下です。
 

感想


個人的にはすっきりして満足。
キー配列が変わるので慣れるまでがたいへん。

2013年5月11日土曜日

Extended Collections Libraryを紹介

Extended Collections FrameworkなるものをGitHubにて公開しています。
もっと使いやすいCollectionsが欲しかったので壮大な(そうでもないかも)一人プロジェクトで作っていました。
現在はjavassistを用いた方法を考えているので放置中。

以下その説明。
githubにあげたReadMeほぼそのまま。

Extended Collections Framework概要

Java Collections Frameworkを拡張したフレームワークを目指している。
主に以下の3つのコレクションを目指している。
  1. Java Collections Frameworkにメソッドを追加したコレクション:collections with utilities(ucollection)
  2. 関数型のようなコレクション:functional collections(fcollection)
  3. 動的に内部動作を最適化するコレクション:dynamic collections(dcollection)
個人で使うために設計、実装しているためJavaの流儀や考え方には反している部分もある。
Objective-C, Scala, Xtend, haskellなどの影響を受けている。
いるかどうかはわからないが複数人で利用する場合は劇薬になる場合があるかもしれないので要注意。
またJavaにてインターフェースを拡張する場合のコンセプトコードでもある。
ucollectionの実装はほぼ完成(現状ではjava.util以下のクラスのみ)。
ただし、テストとテストコード, JavaDocが未完成。
他はまだまだ実験段階。

利用方法

NetBeansプロジェクト形式で配布されるのでNetBeansでビルドしてください。
またはNetBenasのプロジェクト形式なのでantでもビルド可能。

ライセンス

修正BSDライセンス。

ucollectionについて

ucollectionの設計目標

  1. 各インターフェースを拡張し、よく使うメソッドを呼べるようにする。
  2. 各インターフェース、各実装クラスはJava Collections Frameworkと互換性を持たせる。
  3. 各インターフェース、各実装クラスはJava Collections Frameworkと共存可能。
  4. 各インターフェース、各実装クラスはJava Collections Frameworkの対応クラスと容易に入れ替え可能
  5. 短い名前を用意する。
現状の実装ではjava.util.Collectionsなどのユーティリティクラスを統合している。
guavaに依存。

ucollectionの使い方

Java Collections Frameworkと共存性を持たせるためにパッケージが4つに分かれている。
それぞれのパッケージは以下。
  1. yuu.akron.ucollection:拡張実装クラスと短縮名クラス群
  2. yuu.akron.ucollection.another:java.util下のクラスと同名のクラス群
  3. yuu.akron.ucollection.interfaces:拡張インターフェースと短縮インターフェース群
  4. yuu.akron.ucollection.interfaces.another:java.util下のインターフェースと同名のインターフェース群
共存させたい場合は.anotherで終わらないパッケージを、置き換えたい場合は.anotherで終わるパッケージをインポートする。
これはクラス名を同名にすることにより実現している(パッケージは異なる)。
例:共存する場合
例:入れ替える場合
拡張インターフェースはjava.util以下のインターフェースを継承している。
そのため拡張実装クラスはjava.utilのインターフェース型の変数にも代入可能。
拡張実装クラスはjava.util下のクラスを継承している(EnumSet以外)。
そのため、java.utilの実装クラス型の変数にも代入可能
拡張実装クラス、短縮名クラス、同名クラスは継承関係になっている。
java.utilクラス=>拡張実装クラス=>短縮名クラス=>同名クラス
左が親、右が子の関係である。
このような関係のため次のような結果になる。
ただし、3つのクラスは4つのインターフェース(java.util、拡張、短縮、同名)をすべて実装しているためにインターフェースを介した場合は同じように利用可能である。
4つの実装クラス(java.util、拡張、短縮、同名)は中身が同じならequalsメソッドでは等価になるように設計されている。
実装上はjava.utilのものと同じ。
スタティックファクトリーメソッドなどが追加されている。

2013年5月4日土曜日

自作シェルコマンド紹介

自作シェルコマンドをGitHubにて公開しています。

ベンチマークの結果をグラフにするために作成したコマンドです。
以下がそのリスト。
  1. bench2csv
  2. csv2graph
  3. csv2html
  4. printCSV 

それぞれ簡単な解説

詳しい解説は各コマンドの使い方が-hオプションでみれるのでそれを参照してください。
各コマンドはMac OS Xにて動作を確認しています。他のOSでは動くかどうかは無保証です。
また、自由に利用してもらってかまいません。
そして、利用は自己責任です。

bench2csv

各ベンチマークソフトの結果テキストからCSV形式にできる。
標準の出力先は標準出力。
現在の対応ベンチマークソフトはxbench, CrystalDiskMark, CrystalMarkの3つ。

基本的な使い方

  • bench2csv -c xbench.txt > xbench.csv
    • xbenchの結果(自動判別)をCSV形式でファイルに出力
  • bench2csv -cm xbench_multi.txt > xbench.csv
    • 複数結果が格納されたテキストからCSV形式でファイルに出力
  • bench2csv -c -f x Sample > xbench.csv
    • フォルダ内の複数のXbenchの結果のファイルからCSVファイルを出力 

csv2graph

CSVファイルをgnuplotを用いてグラフ画像に加工します。
ネット上あげるために作成したがgoogleドキュメントの方が利用しやすいために中途半端になっている。

csv2html

CSVファイルをhtmlファイルの表形式に変換してくれる。
これもブログにあげるために作成したがgoogleドキュメントを使えばほとんど出番無し。
ただし、たいしたことやってないのに汎用性は高いので残してあります。

printCSV

デバッグ用CSVファイルをコンソール上にテーブル形式で表示します。
オプション無しだとcsvファイルの全要素を走査して全体の幅、各列の幅を決定します。
そのため、かなり低速です。
また、幅が大きくなると見づらくなります。
そういうときは-sオプションで列の幅を指定してください。
各列の幅以上の要素は途中でぶつ切れになります。

基本的な使い方

  • printCSV -s 7 xbench.csv
  • bench2csv -c xbench.txt | printCSV