8月 302009
 

かなり久々の更新?と思われる。(日付未確認)
タイトルの通り、導入してみました。
Macを買ったのが去年の冬くらい。
そこからWindowsとの並存を考え続けて、世の中に知れてる手段はほとんど試してきましたが、ついにこれは来ましたね。
世の中に「Bootcamp」、「Parallels」、「VMware」の比較ページは色々とあるものの、数字的なベンチを報告していたり、最終的にはユーザの判断だとかばっかり。
まあ、確かにそうではあるんだけれども。。。
とりあえず使ったやつを皆さんにならって報告。
・Bootcamp
 ○ ネイティブインストールに近いので、動作はそれなり。
 ○ ネイティブだけあって、結構対応もしっかり。オフィシャルツールでもある。
 × 起動するのがかなりめんどくさい。
 × MBRを書き換えてるのか知りませんが、デフォルト起動設定ができない?(未確認)
⇒ 結構いけてない。
・Parallels v3
 ○ インストールが簡単。
 ○ コヒーレンスモードは結構使い勝手が良い。
 × 拡張子紐付けが自動的にされるらしく、設定しないと勝手にWMPとか開く。
 × 見た目がださい。
 × DockにイチイチはいってくるのでDockがうるさい。
 × 意外と重い
⇒ Bootcampよりかは我慢できるが、ちとしんどい
・VMware
 ○ ユニティがボタン一個で使える。フルスクリーンもボタン一個。
 ○ 自動インストールが入っているので、必要情報入力して放置するだけで使える。
 ○ Parallels v3 よりも軽い印象を受ける。
 ○ カッコイイ。
 ○ VMware Toolsが自動インストールされてる(Windowsの旧版は無理だった。。。)
 ○ Parallelsと競っているからか値下げ頻発。
 × ショートカットの類をおぼえるのがめんどい
⇒ 動作的にはベストに近い。
というわけで、最強のマルチ環境と思われます。
未確認だけど、USBキーボード認識するっぽいしね。
新居に入ってスペースの観点でデスクトップが置けなかったので、Mac一本にしたわけですが、これは非常に快適に使えそうです。
主な用途がゲームになると思われるので、後はDirectXの描画速度とか、ゲームとの互換性を判断してかな。
とりあえず、悩んでいる方はオススメです。アップデートもv1、v2間でタダのようなので。

3月 042009
 

こぐち家では、電話機を設置しているにも関わらずまったく使わない電話回線があります。
要するにヤフーの回線を引くために契約したからなんですが。。。
(諸事情あって、こぐち家にはひかりが引けない。。。)
そこで、発生するのがNTTへの基本料金。確か1400円くらい毎月支払っているはず。
これがクレジットカードで支払うと、割引になります。結構有名かもしれませんが。。。
というわけで、既にメインカードになっていたANA VISAに引き落としをさせていたのですが、もっと割安な方法を発見しました。
こぐちはメインバンクがみずほなのですが、仕事柄、金をおろすにも時間外が多いです。
サブバンクの新生銀行はそんなの関係なく利用できるのですが、銀行の勝手な都合で毎回手数料をひかれていたのでは、たまりません。。。
そこで発見したのがみずほのクレジット付きキャッシュカード。
どうやら毎月1円でもクレジットを落とせば、夜間手数料が無料になるらしい。。。ウマー
というわけで簡単な想定ケースをやってみました。
【現在:ANA VISA】
1000円で10マイルの還元率。
1マイルを3円と仮定すると、1500円で、45円相当の収入。
【将来:みずほクレジット】
1000円で0マイルの還元率。
ただし、夜間手数料105〜210円割引。
お、こんなのかかなくても圧倒的にみずほが有利ですねw
極力深夜にはATMに出向かないようにしていたのですが、これだけで行動範囲が広がることを考えると、深夜に金をおろさない月に45円の機会損失をしたとしても十分おいしい。。。
こりゃ、みずほに決定です。
というわけで、さっきみずほのクレジットカードにNTTの代金を移籍しました。
追伸:
 そのうち、ANA VISAもやめます。

12月 242008
 

本ブログのアクセス履歴を参照してみると、以前も書いたとおり
emacs lisp
SVDPACKC
がかなり上位のようです。
さて、本題ですが。。。
一個目のemacs lispですが、emacs tokyoなるemacs勉強会で公開されていたようです。
皆さんにemacsの魅力や、Windowsプログラミングみたいなブラックボックスを嫌う人のためのマイナーモード作成の情報を提供した結果が目に見えてうれしい限りですね。
ところで、本ソースコードですが、ライセンス関係にかなり無頓着でした(汗
まあGPLのプラットフォームで動かすためのLispだから、いわずもがなGPLになる?のかもしれませんけど。。。
どうやら、ちらほら「さも俺が作ってんだぞ」的なものを書いている人がいるようです。これは善意の公開の意味がないんではないでしょうか。がんじがらめにしばるのは勘弁なのですが、いきなり著作権を主張されるのはちょっと、と思うわけです。
そんなわけで、テンプレートの分際でGPLって取れないかな~、と思いました。
実際取得してないんですが、誰か取り方教えてくださいw
GPLって怪しいヘッダ入れれば、もうGPLになるのかしら。
# まったく違う仕事をしているのに、最近emacs とターミナルが使いたい一心でMac買いました。
# やっぱBSD Lisenceのほうがかっこいいかなぁ。GPLネタになるソースコードまだあるしなぁ。。
以上、ほとんどつぶやきでした。

12月 192008
 

仕事中にネットをしていて、面白いツールを発見。

その名も「Ubicast Blogger」

どうやら、これを使うとMovable Typeの使いにくい画面なしにエントリーできるようです。というわけで、早速使ってみます。

今まさにこのソフトで書いてますが、実際どうなるかはまったく不明w

というわけで、かなりの駄文ですがテスト書き込みでした。
追って結果を見て、使ってみようと思います。

残念なのは、Mac対応がないことかな。最近マカーなこぐちとしては、Mac対応してくれているとうれしいのですが。

まったくの余談ですが、これから徹夜ですw

2月 242007
 

こないだ諸事情あって(というか、趣味ですが) emacs lisp でマイナーモードを書いてました。
メジャーモードは比較的需要があるのか、詳しいページが多いのですが、マイナーモードに関しては詳しいページが無かったりします。
おそらく調べた限りだと
おもてなしの空間
が最有力だと思われます。
ここだと、easy-mmode という emacs についてくるマクロを利用した作成方法とスクラッチで頑張る方法と二種類について説明されます。
ただ、(主観的判断ですが)easy-mmode を推しているようで、スクラッチの記述があんまりありません。
そうなると、マイナーモードを作るための勉強方法としてはリファレンスをゴリゴリ読むか、人様が書いてくれたマイナーモードのソースコードをハックする、という選択肢になってきます。
僕は結局 easy-mmode を使いたくなかったので、人様のソースコードをひたすら読み続けたのですが、あんまり効率的じゃありません。
そこで前置きは長くなりましたが、マイナーモードをスクラッチで書くための方法を紹介したいと思います。
サンプルとして、hoge.el を考えるとします。
まず、hoge.el を hoge-mode というマイナーモードとして作成したい場合、以下のひな形に従います。

;; hoge-mode キーバインド。モード起動はグローバルにしておく。
;; 拡張子自動起動設定は別途調べてください。
(global-set-key "\C-c\C-c\C-c" 'hoge-mode)
;;
;; mode 変数。これで状態判定
;; ないと動かないらしい(未確認)
(defvar hoge-mode nil)
;;
;; mode 行の設定。なくてもOK。
(if (not (assq 'hoge-mode minor-mode-alist))
    (setq minor-mode-alist
             (cons '(hoge-mode "モード行に出したい文字列")
              minor-mode-alist)))
;;
;; mode 関数。こいつでモード起動の内容を書く。
;; いわゆる main 関数。最初の引数処理はお約束なのでそのまま書く。
;; 引数はoptional 限定
(defun hoge-mode (&optional arg)
           "hoge minor-mode"
(interactive)
;; mode variable settings
(cond
 ((< (prefix-numeric-value arg) 0) ; 引数が1未満の数値なら起動しない
   (setq hoge-mode nil))
            (arg ; 何かしらの引数をもつならば起動
            (setq hoge-mode t))
            (t ; symbol t を引数にもつならばモードを逆転。
   (setq hoge-mode (not hoge-mode))))
            ;; content
            (if hoge-mode ; モードが起動されているならば実行
            ;; 具体的処理を書く (progn ) など
            nil)
)
;;
;; 他の関数など
;;
;; mode provider関数
(provide 'hoge)

基本的にこれさえ守れば、マイナーモードとして動作してくれます。
なお、マイナーモードに限らないことですが、グローバル変数のスコープに注意しましょう。

(defun hoge-func ()
           (setq hoge-var 1))

とかやると、hoge-var が外部参照できちゃったりします。なので、意識的に

(defun hoge-func ()
           (let (
                 (hoge-var 1)
                  )
;; 中身
))

というように明示的なローカルスコープを利用しましょう。また、外部から参照をうけざるを得ない名前(関数名、共有変数)などは、hoge-FUNCTION-NAME といったようにモード名を頭に付加することで衝突回避を行いましょう。
その他 hook など、モード作成で便利な事は沢山あるのですが、それはおいおい。。。
この記事を見る人が少しでも楽にマイナーモードを書けることを祈って

1月 312007
 

今更感あふれてますが...
最近
 「checkpad」
を愛用しはじめました.WEBでTODO管理をざっくり行えちゃうって奴です.
メールでタスク登録とかもできるみたいですね.
元々登録だけはしていたのですが,ずっと使ってませんでした.
TODO管理は付箋紙ソフトを使って,デスクトップにペタペタ張って管理してる状態でした.
でも,よくよく考えると付箋紙ソフトってネットワーク対応していても結構問題があります.
1.会社のネットワークみたいにSSHで入らないと見られない場合,付箋紙が共用出来ない
2.付箋紙ソフトの相性もあるけど,書き換えが意外とめんどくさい
3.毎度毎度違う環境で設定し直すのが面倒
とまあ,ネットワークを通じたTODOの更新が不便,っていうのが一番の理由です.
そんなこんなで導入してみたわけです.
これまた便利ですねw
Ajax利用してるので,インターフェースもすっきりしてるし使い勝手もいいです.何より,ガントチャートみたいな機能がないのが素敵です.
ガントチャートって欲しい欲しいっていう人たくさんいますけど,あれって登録面倒ですよね.
%の設定もあいまいだし,自己満足に終わる可能性が非常に高いです.マイルストーン設定出来る奴もありますが,そのマイルストーンが本当に正しいかも怪しいもんですw
今はとりあえず
*その日のタスク
*長期スパン
*短期スパン
ってので割り振ってます.リスト間移動もさくさくなので,思いついたら移動って感じですね.
まだまだ使いこなしてませんが,TODO管理はこれでいけそうな気がしてます.
余談ですが,TODOは昔から
 脳内 => 手帳 => 付箋紙ソフト
と移動してきましたが,数は減ってもタスクの種類が多様化してきて管理しきれなくなったというのがソフト導入のきっかけでしたとさ.
タスク管理方法がいいのあったら,誰か教えてください