Entries tagged with "Windows"

Windows上のSkypeをRubyから操作する

Skype って API があったんですねぃ.IRC や IM (Jabber) と違って,ボットを作ったりできないものだと思っていましたが,ただボクが実例を見たことがなかっただけでした.Ruby4Skype を使うと Ruby から簡単に操作できました.ただしこれは Windows 上の Skype しか操作できないようです.

社内のエンジニアチームでは Skype のグループチャットを常用することになったので,何かあったらそこに通知する Skype ボットを作りました.用意するものは「自分用の Skype アカウント」「ボット用のアカウント」「Windows 機1台」です.もちろん Ruby の実行環境も必要です.

ボット用アカウントから自分の Skype アカウントに話しかけるシンプルなプログラムはこんな感じ.Skype を起動してボット用アカウントでサインインした状態で実行する.

require 'rubygems'
require 'skypeapi'

SkypeAPI.init
SkypeAPI.attachWait

SkypeAPI.searchFriends.each do |user|
  if user.getHandle == 'june29'
    chat = SkypeAPI::Chat.create(user)
    SkypeAPI::ChatMessage.create(chat, "Hello, World!")
  end
end

社内チャットのように,決まった場所に通知する場合はチャットをブックマークしておくとアクセスしやすくなります.

chat = SkypeAPI.searchBookMarkedChats[0]

最後に,エコーボットのサンプルです.チャットメッセージの受信時に,そのメッセージの内容をそのまま返す処理をします.

# chat を適当に用意して

SkypeAPI::ChatMessage.setNotify :Status, 'RECEIVED' do |chatmessage|
  SkypeAPI::ChatMessage.create(chat, chatmessage.getBody)
end

loop do
  SkypeAPI.polling
  sleep 0.123
end

受信したメッセージの内容に応じて発言内容を変える処理を実装すれば,簡単な検索ボットなんかがすぐに作れちゃいますね.色々と遊んでみよう!

WindowsからMacに乗り換えて

TwitterでMacBookを買ったと発言したのが去年の11月10日のことですから,もう4ヶ月ぐらい経つんだな.

今月になって,研究室のメンバーだけで4人もMacBookを買った.この展開は想像できなかったよ.せっかくだから,Macの使い方について情報共有しましょう!というわけで,メインの環境をWindowsからMacに変えたボクが感じた途惑いなんかを中心に書いてみよう.

何しろまだまだ初心者なので,誤った記述などあればツッコミをお願いします!

基本的なこと

初めてすぎてまったく分からなかったことがいくつかありました.言葉の対応は以下のような感じ.英語での呼び方も合わせて記しているのは,コマンドランチャから起動するときに覚えておくと嬉しいからです.

  • Windowsのコントロールパネル的なもの : Macの「システム環境設定」(System Preferences)
  • Windowsのプロセス管理(強制終了とかさせるやつ) : Macの「アクティビティモニタ」(Activity Monitor)
  • Windowsのエクスプローラ : MacのFinder
  • Windowsのタスクバー : Macのメニューバー
  • WindowsのProgram Filesフォルダ : Macのアプリケーションフォルダ(Applications)

Macでは,アプリケーションのすべてのウィンドウを閉じても,アプリケーション自体は終了していない.これはDockにアイコンが残っていたりすると気が付く.アプリケーションを終了させるには,メニューバーから終了させるか,よくやるのは「Command + Q」での終了.

Windowsでもそうだけど,Macでもデフォルトではファイルの拡張子がFinder上に表示されない設定になっているようなので,まずFinderの環境設定を開いて「すべてのファイル拡張子を表示」にチェックを入れておくといいと思う.

アプリケーションのインストールは,インストーラがあればそれを起動し,なければ実行ファイル(拡張子.app)をアプリケーションフォルダにコピーすることになる.拡張子が.dmgのファイルは,開くとマウントされて中身が見える.用事が済んだらアンマウントしてあげよう.外付けのデバイスと同じ感じの扱い.拡張子が.mpkgとか.pkgのファイルは開くと何かが実行される.拡張子が.zipのファイルは開くと展開されてフォルダが出てくる.

大体の場合,dmgやzipを開いて中にappファイルがあればアプリケーションフォルダに放り込んでやればいい.mpkgとかpkgはインストーラが起動することが多いので,GUIのインストーラに従って「次へ/進む」とやっていけば大丈夫.

様々なOS向けに提供されているアプリケーションでも,OSごとに挙動が違ったりするので注意!例えばSkypeはWindows/Linux/Macでちょっとずつメニューとか違うね!よく分かりません!

日本語入力のON/OFF

今のところIMEはATOKで,日本語配列のキーボードを使っています.

スペースキーの右にある「かな」キーで日本語入力ON,スペースキーの左にある「英数」キーで日本語入力OFFです.Windowsを使っていた頃もON/OFFは1つのキーでトグルじゃなく,別々のキーに割り当てていたので,この感じには慣れている.文章を打ち終わったら日本語入力を必ずOFFにする癖が付いている.基本はOFFにしておくと嬉しいことが多い.

Control と Command

慣れるまでに最も苦労するのはこれじゃないかなぁ.WindowsでいうControlキーはMacだとCommandキーで,配置も違うので,Macに移行したばかりの頃はコピペしようとして「Ctrl + c」「Ctrl + v」ってのを何回もやった.「Command + c」「Command + v」に慣れるまでが大変だった.

C-fbnp でのカーソル移動

「Ctrl + f」「Ctrl + b」「Ctrl + n」「Ctrl + p」でカーソル移動できるのは本当に気持ちがいい.あと削除系では「Ctrl + h」「Ctrl + d」「Ctrl + k」が使える.Emacs好きの人ならほぼすべての入力欄でこれらが使えるMac環境は素晴らしい世界だと思う.

問題は,たまにWindowsを使うときにもこれらの手癖が出ること.Firefox on WindowsでURLを打ち間違えてとっさに「Ctrl + h」を押すと「履歴」のサイドバーがパカパカする.

コマンドランチャー

Windowsではbluewindを使っていた.Macになって最初はSpotlightを,今ではQuicksilverを使っている.まだみんなが騒ぐほどのQuicksilverの良さが分かっていない.全然使いこなせていない.ただのランチャーです.

bluewindがよかったのは,任意のコマンドに任意の名前を付けられること.頻繁に行う操作には短い名前を当てておくと便利.shell系のaliasみたいな感じで使っていた.あとは,フォルダ名をタブで補完してくれて,次々と下のフォルダに潜っていけるのも好き.Quicksilverでフォルダを潜っていくには矢印キー「→」を使わなきゃいけないのかな.使い方を知らないだけかも.

下の階層のフォルダに移動したいときは「/」を押せばいいってことが分かりました!逆に上の階層に行く操作は「?」です.「Shift + /」と覚えておくとよさそう.

あんまり関係ないけど,bluewindの入力欄で「Ctrl + h」を押すと,バックスペースしてくれるよね.あれ好き.

ちなみにQuicksilverのホットキーの設定で少し悩んでいます.「Ctrl + スペース」だとEmacsで問題が起こるし,「Command + スペース」だと英語キーボードでの日本語入力ON/OFFと衝突します.皆さんはどう設定されているのでしょうか.

Firefox

FirefoxはOSに依存しないから,移行しても大丈夫!

そんな風に考えていた時期がボクにもありました.キーバインドはけっこう違うよ!まずはやっぱりControlとCommandの違いに苦しんだ.ボクがよく使う「Ctrl + c」「Ctrl + v」「Ctrl + l」「Ctrl + u」辺りはもちろん「Command + c」「Command + v」「Command + l」「Command + u」になっちゃうから,最初は手が動かなくて大変だった.

Windows時にはタブの切り替えを「Ctrl + n」「Ctrl + p」にしていた.これは,Tree Style Tabでタブを縦に並べて配置していると,「下のタブへ移動」「上のタブへ移動」が直感的に操作できるから.でもこれ,Firefox on Macでテキスト入力欄にフォーカスしていると,カーソル移動のキーバインドと被ってしまう.今はSafariやTerminalと揃えて「Command + Shift + ]」「Command + Shift + [」を割り当ててみている.ようやく慣れてきたところ.

ウィンドウの切り替えAlt + Tab

これは色んなところで言われている話.Windowsでいうウィンドウ切り替え「Alt + Tab」はMacでは「Command + Tab」で,キーの配置もほとんど同じだから指は無意識に動いてくれるんだけど,挙動が違う.Windowsでは「ウィンドウ単位で切り替え」のところがMacでは「アプリケーション単位での切り替え」になる.だから,Firefoxを2枚開いていたりすると,好きな方にフォーカスできない.

というわけでWitchを使います.このソフトをインストールすると「Option + Tab」にウィンドウ単位でのフォーカスの切り替え操作を割り当ててくれる.システム環境設定のユニバーサルアクセスの項目内の「補助装置にアクセスできるようにする」にチェックを入れないとダメっぽい.

Finderでのファイル操作

アイコン表示のときの話.

Finder上でファイルやフォルダにフォーカスしているときにEnterすると,名前の変更になる!これはビックリした.開くためには「Command + o」もしくはフォルダであれば「Command + ↓」です.

Finder306E631952D5

キーリピートの加速

Windowsではkbdaccというソフトを使って,キーリピートを加速させていました.プログラムを書いているときとか,長い文章を書いているときとか,カーソルの移動量が多いときには加速させておかないともどかしく感じちゃいます.MacではKeyRemap4MacBookで実現できます.でも

キーリピートを限界まで遅くした – IT戦記

の本文やコメント欄で書かれているように,検索コマンドなどを駆使するようにした方がいいかもなぁ.キーリピートに頼りすぎている.

そのほか

Macは特にWebに近い位置の人には愛され系!そんなイメージです.

フォントきれい! Growl 素晴らしい! Safari は速くてキレイ! 思い付いたことがあったら追記する!

Windows XPの「システムの復元」

Adobe AIRを試したくて,まずは開発環境を整えようと思ったのですが,JDKのインストーラが立ち上がらなくていきなり涙目になりました.

そういえば,1週間くらい前にMeadowのインストールに失敗してから,iTunesが起動できなくなったりして,きっとWindows XPの何かしらが何かしらのトラブルを抱えていたのでしょう(何も把握できていない).これはもうガマンできない状況だと判断したので,ようやく対処することにしました.

Windows XP Professional : Windows XP を以前の状態に復元する方法を読んで,システムの復元とやらを試してみました.Meadowのインストールに失敗したのがいつだったかも思い出せなかったので,適当に2週間前を指定してそのときの状態に戻してみました.

JDKのインストール完了! iTunesもインストールしなおしたら起動できるようになった! 復元に伴って消えちゃったファイルとかもなさそうだし,良い判断をしたと思いたいです.変化と言えば,スタートアップに登録していてフォルダが消されちゃったことくらいかな.これからはシステムがヤバイ感じになったらすぐに復元するようにしよう.