iPhone を使い出してから通話はもっぱら Skype を利用している。
外では 3G で使えない弱点はあるが(ごにょごにょすれば使えるが)外でも Wi-Fi を使えば何の問題もない。
そこで思ったんだけど、イーモバイルと iPhone のセットの方が安いんじゃないかと。
だってソフトバンクの 3G が必要な場面って SMS/MMS くらいのもので、他に必要な場面があまり思いつかない。
それなら外で都会部ならそこそこエリアのあるイーモバイルとセットの方が使い勝手がよさそうって訳。
実際どうなんだろう。
ちょっと値段とか調べて買ってみようかな。
MacBook もイーモバイルでなら使えるし。
Posted in 日記.
Tagged with au, iPhone.
By Heureux
– Dec 4, 2009
iTunes でふりがなをふるのにずーっとそのアーティスト選んでふりがなを振って、コンテキストメニューから読みがなフィールドを適用としてきました。
でもこれだとものすごく時間がかかる!!
読みがな全てが一致しなくても最初の数文字があってればそれでいいと考えていたのでこれはどうも不自由でした。
そんなところインターネットで色々探していたら AppleScript で解決している方が!
chibiegg日誌さんのiTunesの曲に自動でふりがな登録にずばりやりたいことが書いてありました。
MeCab を利用してふりがなを振ると言うことだったので、MeCab を MacPorts からインストールします。
sudo port install mecab
sudo port install mecab-ipadic-utf8
それから mecabrc の設定を変えてやらないとちょっとマズいらしいので
sudo vim /opt/local/etc/mecabrc
で
dicdir = /opt/local/lib/mecab/dic/ipadic-utf8
と変更します。
これだけやれば下準備はOK
あとはchibiegg日誌さんのスクリプトをほとんどそのまま使わせて頂きました。
ただそのままだとアルバムアーティストがちょっと空いたままになるので、アルバムアーティストを追加して
--確認ダイアログ
--iTunesのスクリプト
tell application "iTunes"
try
set name_list to {}
set select_track to a reference to selection
if select_track as list is {} then return
repeat with i in select_track
set end of name_list to i
end repeat
repeat with i in name_list
--アーティスト
set hurigana_text to sort artist of i
if hurigana_text is "" then
set original_text to artist of i
set hurigana_text to my hurigana(original_text)
set sort artist of i to hurigana_text
end if
--アルバム名
set hurigana_text to sort album of i
if hurigana_text is "" then
set original_text to album of i
set hurigana_text to my hurigana(original_text)
set sort album of i to hurigana_text
end if
--アルバムアーティスト
set hurigana_text to sort album artist of i
if hurigana_text is "" then
set original_text to album artist of i
set hurigana_text to my hurigana(original_text)
set sort album artist of i to hurigana_text
end if
--曲名
set hurigana_text to sort name of i
if hurigana_text is "" then
set original_text to name of i
set hurigana_text to my hurigana(original_text)
set sort name of i to hurigana_text
end if
end repeat
display dialog "完了"
on error
display dialog "エラー発生" buttons {"OK"} default button 1
end try
end tell
on hurigana(original_text)
set mecab to "echo " & quoted form of original_text & " | /opt/local/bin/mecab -Oyomi "
mecab as text
do shell script mecab
return katahira(result)
end hurigana
on katahira(original_text)
set hiracase to "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをんぁぃぅぇぉがぎぐげござじずぜぞだぢづでどっぱぴぷぺぽばびぶべぼゃゅょ"
set katacase to "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲンァィゥェォガギグゲゴザジズゼゾダヂヅデドッパピプペポバビブベボャュョ"
set hiragana_text to characters of original_text
repeat with char in hiragana_text
set num to offset of char in katacase
if num is not 0 then
set contents of char to character num of hiracase
end if
end repeat
return hiragana_text as text
end katahira
となりました。
Posted in 記事.
Tagged with AppleScript.
By Heureux
– Nov 25, 2009
実際そこまでややこしくないのかもしれないけれど、頭の中で描いている図と実際の差がちょっと激しいかな。
たぶん文章にした方が分かりやすいと思うから、後からそれぞれ書き出してみよう。
実際かなり MacBook の利用率が下がったのが嬉しい。
それぞれうまく棲み分けができるように考えてみよう。
Posted in 記事.
Tagged with メモ.
By Heureux
– Nov 19, 2009
タイトルに?をつけたのはちょっと色々起動してると重くて泣きそうになるから(笑)
でも diff を見るならこれが一番見やすいのは確かかも。
すっごい見やすい。
確か OSX の標準は opendiff?
それに比べたら結構いい感じ。
だけどそこら辺で説明されてるスクリプトだとやりづらいというか、アプリが多重起動しちゃって困る。
それでちょっとスクリプトを手直しして使ってみてる。
今のところ問題は起こっていない。
とりあえず p4merge
をダウンロードしてインストール。
で、普通にシェルスクリプトは
#!/bin/sh
/Applications/p4merge.app/Contents/MacOS/p4merge $*
って解説ばっかなんだけど、これだと多重起動というかとにかく重い・・・。
それでとりあえず自分がやっているのは
p4merge
#!/bin/sh
${HOME}"/Applications/p4merge.app/Contents/Resources/launchp4merge" $*
としている。
もう片方のスクリプトは
p4diff
#!/bin/sh
[ $# -eq 7 ] && ${HOME}/local/bin/p4merge "$2" ${PWD}/"$5"
でとりあえず問題なく動いています。
あとは .gitconfig に
[merge]
keepBackup = false;
tool = p4merge
[mergetool "p4merge"]
cmd = p4merge "$BASE" "$LOCAL" "$REMOTE" "$MERGED"
keepTemporaries = false
trustExitCode = false
keepBackup = false
[diff]
external = p4diff
を設定して完了です。
ということで、Mac では Git の diff 関係は p4merge で使ってみます。
Posted in 記事.
Tagged with Git.
By Heureux
– Nov 10, 2009
hg pull -u
で最新版に更新したら plugin_loader.js と css 読み込みのコードがエラーを吐き出した。
ということでちょこっと修正
--- plugin_loader.js (リビジョン 35817)
+++ plugin_loader.js (作業コピー)
@@ -80,9 +80,9 @@
liberator.log('plugin_loader: loading');
roots.forEach(function (root) {
- let dir = io.getFile(root);
+ let dir = io.File(root);
if (dir.exists() && dir.isDirectory() && dir.isReadable()) {
- let files = io.readDirectory(dir, true);
+ let files = dir.readDirectory(true);
files.forEach(function (file) {
if (filter.test(file.path)) {
liberator.log("Sourcing: " + file.path);
css 読み込みの方はこれだけのコードでOK.
だけど、なんか別の方法にした方がいいのかなぁ
(function(){
var colorDir = io.getRuntimeDirectories("colors")[0];
colorDir.readDirectory(true).forEach(function(file){
if (/\.css$/i.test(file.path)) io.source(file.path, false);
});
})();
Posted in 記事.
Tagged with Vimperator.
By Heureux
– Nov 2, 2009
csh とか設定ファイルがよく分からないので、標準シェルを zsh にしてみました。
きっとその方が分かりやすい
chsh -s /usr/local/bin/zsh
あとはパスワードを入れてOK!
にしても zsh にも設定ファイル5つもあって何がなにやら・・・。
Posted in 記事.
Tagged with さくらインターネット, メモ.
By Heureux
– Oct 21, 2009
青山で山本寛斎のスーツが安いらしい。
ということで行ってみた。
しかし買わずに帰宅。
人が多すぎて入る気にならない・・・。
落ち着いて買い物したいから日を改めることに。
人が少ないのもちょっとどうかなぁって思っちゃうけど、人が多すぎるのも入るのに躊躇する。
結局ガソリンだけ入れて王将の餃子を買うかどうか迷いに迷って明日に順延することにした。
明日は王将の餃子+麻婆豆腐で1日の食事にすることにして今日はカレーにしよう。
毎日のジョギングも今日と明日はお休み。
休憩しないと足が保ちません(こないだからねんざかもしれないので)
ということで今日はのんびりのほほんと過ごしたいと思いますって今日はもうほとんど終わりつつありますね。
Posted in 日記.
By Heureux
– Oct 17, 2009
コースをちゃんと調べてみたら、朝のコースが実は7.2kmくらいしかないことが判明した。
で、夜のコースは9kmくらいあって、さらに夜のコースは坂だらけ・・・。
それでもそんなに疲れないのは不思議。
走りやすさで言えば夜のコースが走りやすいけど、夜のコースを朝走ると車が多すぎて危険だし車が危ない。
何より排ガスがヤバい
朝のコースは歩行者と自転車専用道路なので問題ないけど夜になると暗くなるから危ない。
あとなぜか分からないけど朝のコースは走りづらい・・・。
とにかく速く走っても仕方ないから1kmを10分くらいかけてゆっくりジョギング中。
走りやすかったらせめて10kmは走りたいけど道がでこぼこすぎる。
Posted in 日記.
Tagged with 記録.
By Heureux
– Oct 15, 2009
コマンドラインに入るときは常に IME がオフであって欲しかったので
sty -name commandline-ime chrome://* #liberator-commandline-command input {ime-mode: inactive !important;}
としていた。 !important がいるかどうかはともかくとして、Snow Leopard にしてから効かないなぁって思ってた。
そしたら入力ソースを「書類ごとに異なるものを使用」にしているとどうしてもダメらしいことが判明。
「すべての書類で同じものを使用」とすれば切り替わるようになった。
10.5 の時にこれで慣れていたのでまっいっかーって事でこのまま使うことに。
Posted in 記事.
Tagged with Vimperator.
By Heureux
– Oct 14, 2009
後から気づいて大間抜けだって気づいてしまった
mappings.addUserMap(
[modes.NORMAL], ['d'], '',
function(){
tabs.remove(getBrowser().mCurrentTab, 1, true, 1);
},{});
って書けばいいんだけど、そうじゃなくて・・・。
実は d と D のマップを入れ替えればいいだけだった。
いや、それだけです。
あ、でもどうすればいいのか分からない。
mappings.addUserMap(
[modes.NORMAL], ['D'], '',
function(){
tabs.remove(getBrowser().mCurrentTab, 1, false, 1);
},{});
上のコードでもいいけど
結局こうした・・・。
noremap d D
noremap D d
Posted in 記事.
Tagged with Vimperator.
By Heureux
– Oct 14, 2009