カテゴリ別目次ページ 新着記事 気軽にコメント下さい

2009-11-20

Cygwin Subversion + NTEmacs + dsvn

ローカルでソース管理を行うための環境がやっと整いました。

調べたりしたポイントだけメモ。



前提:

 Windows Vista
 Cygwin 1.7
 NTEmacs 22.2.1
 管理するソースコードの文字コードはEUCです。



M-x svn-status
でNTEmacsからdsvnを起動すると出るwarning。

svn: warning: cannot set LC_CTYPE locale
svn: warning: environment variable LC_CTYPE is ja_JP.EUC-JP
svn: warning: please check that your locale name is correct
これは、環境変数LC_CTYPEを ja_JP.eucJP に設定すれば解消しました。



svn-diffなどで差分表示すると・・・
日本語文字化けする件は、
dsvnが文字コードをUTF-8で扱っているのが原因のようです。

dsvn.elの utf-8 になっている以下の2カ所を euc-jp-unix へ置き換えると解決しました。

(defun svn-call-process (program buffer &rest args)
  "Run svn and wait for it to finish.
Argument PROGRAM is the svn binary to run.
Argument BUFFER is the buffer in which to insert output.
Optional argument ARGS are the arguments to svn."
  (let ((proc (apply 'start-process "svn" buffer program args)))
;    (set-process-coding-system proc 'utf-8)
    (set-process-coding-system proc 'euc-jp-unix)

    (set-process-filter proc 'svn-output-filter)
    (while (eq (process-status proc) 'run)
      (accept-process-output proc 5)
      (sit-for 0))))

(defun svn-run-with-output (subcommand &optional args mode)
  "Run 'svn' with output to another window.
Argument SUBCOMMAND is the command to execute.
Optional argument ARGS is a list of the arguments to the command.
Optional argument MODE is the major mode to use for the output buffer.

Return non-NIL if there was any output."
  (let ((buf (get-buffer-create "*svn output*"))
        (dir default-directory)
        (inhibit-read-only t))
    (with-current-buffer buf
      (erase-buffer)
      (if mode
          (funcall mode)
        (fundamental-mode))
      (setq default-directory dir)
      (setq buffer-read-only t)
      (let ((cmd `(,svn-program ,subcommand ,@args))
            proc)
        (setq proc (apply 'start-process "svn" buf cmd))
;        (set-process-coding-system proc 'utf-8)
        (set-process-coding-system proc 'euc-jp-unix)



これでソース管理の環境ができた。満足ですわーい(嬉しい顔)

2009-11-15

ミス・・

欲しいものを間違えたので買い直し。
寝ながら使えるのがいいらしい。



越光 at 22:19 | コメント(0) | TB(0) | 美容と健康

2009-11-14

CD/DVDドライブの自動オフが効かない

ここ2ヶ月ほどで、VAIO Type Z を4回リカバリしました。
OSはWindows Vista。

しばらく使っていたらシャットダウンの時間が長くなってしましました。
理由までは調べませんでしたが、どうせなのでリカバリ。

リカバリした後は無駄な機能を削除して、自分用の環境を構築。
不要なプリインストールアプリをすべて削除したり、
不要なVistaのサービスを削除したり、
不要なスタートアップ機能を削除したり・・
いろいろとカスタマイズするのが楽しい。

その中で、遭遇した問題の原因がわかったのでmemoしておく。

VAIOの電源管理では、CD/DVDドライブの自動電源オフができますが、それが効いていないことに気がつきました。

電源関連のサービスだろうということで、いろいろと調べる
VAIO Power Managementのサービスがこれを司っている様子。

これが停止状態だったので、開始させようとすると・・開始できない。

ほかのサービスに依存しているのか?と思ったけど依存関係のサービスもないようだ。

Google先生に聞いてみたけど、ピンポイントの情報はないみたい。

リカバリは嫌いじゃないので、再びリカバリからやってみることに。
それでわかりました。
VAIO Power Managementのサービスは以下の機能に依存していました。

「コントロールパネル」→「プログラムと機能」→「Windowsの機能の有効化または無効化」で、
以下の状態だとサービスが起動しないことがわかりました。

Microsoft .NET Framework
 □Windows Communication Foundation HTTP..
 □Windows Communication Foundation Non-H..
 □XPS Viewer



.NET Frameworkを有効にすればOKです。

■Microsoft .NET Framework
 □Windows Communication Foundation HTTP..
 □Windows Communication Foundation Non-H..
 □XPS Viewer



デフォルトだとこうなってました。
■Microsoft .NET Framework
 □Windows Communication Foundation HTTP..
 □Windows Communication Foundation Non-H..
 ■XPS Viewer

XPS Viewerは関係ないです。
越光 at 17:01 | コメント(0) | TB(0) | tweak freak

2009-11-11

Vista 最大のプロセッサの状態

最近システムをリカバリして、すっきりしたと思っていたら、なんだか少しだけVistaが重い気がする。

なんだろうなぁ。と気になっていたが、特にベンチマークなどで数値比較した結果を見ていないので気のせいかとも思っていた。

しかし、電源関係の設定をいじろうとしてその項目を目にしたとき、50%になっていたのに気がついた。
なぜ50%になってしまったのかは不明だ。

少し自分で驚いたのは、このVAIO Type Zの性能を体でおぼえていたこと。
性能の差を数値でなく感覚で捉えたのだからすごいなぁと。

人間の感覚っておもしろい。
越光 at 12:00 | コメント(0) | TB(0) | tweak freak

2009-11-10

流行のナノスチーマーを買ってみる

これを注文してみました。
レポートは後ほど。


越光 at 07:12 | コメント(0) | TB(0) | 美容と健康

2009-09-18

added confirmation prompt when canceling editing on new and shadow tiddlers

本業が一段落してきたので、久しぶりに本家のTiddlyWikiのアップデートを取り込もうとみてみる。
http://www.tiddlywiki.com/

おー、アップデートしてるぞ。

早速ダウンロードしてWinMergeで差分を見ながらアップデート部分をマージ。

ん?
以前文句を言っていた、新規作成したtidllerを、編集したのにキャンセルできてしまうという問題が直っているようだ。
Bug Fixesではなく、Usabiliyに分類されているのは納得いかないけど、直ったのでよしとしよう。
越光 at 16:38 | コメント(0) | TB(0) | tweak freak

2009-08-31

引っ越しました

8月がもう少しで終わりだ。夏休みも終わりだ。今日は仕事で徹夜だ。

仕事が忙しくて、夏休みはとれませんでした。

そんな中、さらに引っ越しが重なって8月は大忙しでした。

部屋はまだまだ片付いてませんが、期日があるものは一通り完了してとりあえず一段落。

9月も仕事、バレー、荷物の片付けと盛りだくさん。時間をうまく使ってやっていきたいと思います。
越光 at 23:57 | コメント(0) | TB(0) | 雑記

2009-07-17

開発に必要な知識

Androidをうまく扱うには、結局Linuxの知識が必要。

特にカーネルレベルのデバッグはLinuxの作法に従わざる終えない。

makeも知りたいし、Linuxのキホンも知りたい。

ということでこんな本を購入しようと思う。








越光 at 18:56 | コメント(0) | TB(0) | Android

2009-06-28

ふーん

もう32歳だしなぁ。

これ以上はうまくならないかなぁ。

なんかもう、どうでもいいかなぁ。

思い始めた梅の雨・・



今日はレベルの高い大会に参加してきました。
そしたら少し心境が変わって・・


まだ32歳だしなぁ。

もう少しうまくなるかなぁ。

ふーん・・


今日はバレー馬鹿たちの蒸し暑い熱気にやられました。

2009-06-15

それそれひげそれ

シェーバーの自動洗浄機能はいいけど、いいかげん洗浄液を交換せねば。

1年以上つかってたらなんかくさい。

買うのはこういうやつね。




越光 at 23:44 | コメント(0) | TB(0) | これええよ

2009-05-25

近況

32歳になりました。久々の更新。おおむね元気です

4月は仕事がなくて大変でした。
なので勉強してました。

Androidの勉強です。

最近話題のGoogle携帯。あれはAndroidというGoogle社がつくったプラットフォームが載っています。
携帯に限らず、様々な組み込み機器に搭載が期待されるAndroid・・

ということで、BeagleBoardというやつを買ってきてAndroidを動かそう!なんていうことを4月中旬から始めました。

これを始めてから半月足らずで、5月からはAndroidの案件に携われることになりました。
こんなことができるのも知人のコネが大きいですが。

カーネルLinuxなので、分類としては組み込みLinuxです。
学生の頃使ってたLinuxが業務で扱えるなんてラッキー

ということでAndroid&Linuxの勉強しながら案件を進めてます。

3月までは知っていることを利用して業務を進めるアウトプットフェーズでした。
4月からは、知らないことを学びながら業務を進める、インプットのフェーズです。
(去年の6月まではインプットのフェーズでした)

自分としてはインプットの方が楽しいな。
越光 at 00:48 | コメント(0) | TB(0) | Android

2009-04-01

TiddlyWiki MonkeyTaggerMacroでGTD用タグをトグル

http://tw.lewcid.org/にある
MonkeyTaggerMacroを利用しようと思いインポートしてみたが、そのままだと動作しなかった。

ということで、MonkeyTaggerMacroをポーティング手順をメモ。

いくつかソース修正が必要。

Array.prototype.findを追加する

これがなくて実行中にエラーになっている。
http://tw.lewcid.org/
からTiddlyWikiをダウンロードして、Array.prototype.findのメソッド
自分のTiddlyWiki本体へコピーする。

//--
//-- Augmented methods for the JavaScript
//-- Number(), Array(), String() and Date() objects
//--

// Clamp a number to a range
Number.prototype.clamp = function(min,max)
{
var c = this;
if(c < min)
c = min;
if(c > max)
c = max;
return c;
};

// Add indexOf function if browser does not support it
if(!Array.indexOf) {
Array.prototype.indexOf = function(item,from)
{
if(!from)
from = 0;
for(var i=from; i<this.length; i++) {
if(this[i] === item)
return i;
}
return -1;
};}

// Find an entry in a given field of the members of an array
Array.prototype.findByField = function(field,value)
{
for(var t=0; t<this.length; t++) {
if(this[t][field] == value)
return t;
}
return null;
};

// Find an entry in an array. Returns the array index or null
// @Deprecated: Use indexOf instead
Array.prototype.find = function(item)
{
var i = this.indexOf(item);
return i == -1 ? null : i;
};


タグ保存の処理を修正

t.text を渡してやらないと、Saveできずにエラーになる。
以下のように、MonkeyTaggerMacroを修正。
      var ontagclick = function(e) {
if (!e) var e = window.event;
var tag = this.getAttribute("tag");
var t=store.getTiddler(title);
if (!t || !t.tags) return;
if (t.tags.find(tag)==null)
{t.tags.push(tag)
if (logmode=="true"){addcomment(t,tag);}}
else
{t.tags.splice(t.tags.find(tag),1)};
// story.saveTiddler(title);
store.saveTiddler(t.title, t.title, t.text, t.modifier,
t.modified, t.tags, t.fields, true, t.created);

story.refreshTiddler(title,null,true);
return false;
};

おまけ

「new tiddler」のボタンからTiddlerを作成したときに
自動で
<<monkeyTagger source:"Status">><<monkeyTagger source:"Context">>
を挿入しておきたい。

MainMenuのnewTiddlerマクロ呼び出し箇所を以下のように修正すればOK。
<<newTiddler text:{{store.getTiddlerText("GTDTemplete")}}>>

GTDTempleteには
<<monkeyTagger source:"Status">><<monkeyTagger source:"Context">>
を書いておく。
越光 at 05:45 | コメント(0) | TB(0) | tweak freak

2009-03-30

ReminderMacros と CheckBoxPlugin の連携

愛用しているTiddlyWikiでは
Reminder表示マクロ<<showReminders>>にチェックボックス
表示されるようにしている。

理想は、以下の動作だがやり方がわからないので先送りにしていた。
アクションが完了してチェックボックスにチェックを入れたら
自動でReminder表示一覧から消える

これがやっとできたとのでまとめておく。

CheckBoxPluginInfoをよく見ていると、
チェックを付ける動作に連動して、特定のTiddlerに任意のタグを付加することができる
ということがわかった。
これを利用して、チェックを入れたらリストから消えるように(showRemindersで表示されないように)する。

たとえば、月末に勤務表を提出するというReminderは、
<<reminder day:30 leadtime:10 title:勤務表提出 >>
となる。これを「上司に勤務表提出」という名前のTiddlerに記述しておく。

単純にこれにチェックボックス表示をつけると、以下のようなマクロになる。
<<reminder day:30 leadtime:10 title:[_]勤務表提出 >>

さらに、チェックに連動して"Done"のタグを付加するようにするには、
<<reminder day:30 leadtime:10 title:[_(上司に勤務表提出|Done)]勤務表提出 >>
とする。

これで、
<<showReminders leadtime:1>>
によって表示された、チェックボックス付きのReminderにチェックを入れると、
連動して"Done"のタグが付加される。

後は、リマインダ表示のマクロを少し修正してやればOK。
<<showReminders leadtime:1 tag:"!Done">>
これで、"Done"のタグが付いていないReminderが表示される。


残課題としては、チェックして非表示になったReminderを自動で復活させること。
もしくは、チェックすると非表示にせず、色を変えるなどしてNon-Activeに見せること。

再びReminder一覧に表示されなければReminder機能の意味がない。本末転倒だ。
越光 at 22:26 | コメント(0) | TB(0) | tweak freak

2009-03-17

早起きを再開するの巻

今日はクレイパックしました。アルソアのやつ。
すっきりした。ぴかぴか(新しい)

そういえば、最近早起きしてるんだって?

ええ。

暖かくなってきたことだしね。


夜型になっていた生活を朝型へ戻したいという気持ちをついに実行し始めました。

だいたい5時前後には起きるようにしています。


そして、新たにつかんだコツが一つ。

早起きするための強制的な理由を設定すること。
寝る前にやっていた食器洗いや、朝食べるご飯をといで炊飯器に設定することを朝に回すようにしました。

眠気や寒気と葛藤する間もなく、
やばい!おきないと!
と思って起きられるのが効果的です。

楽しみを朝にとっておくというよりも
やばい!宿題やらないと!と夏休みの宿題を後回しにするような感覚が
起きる心を強化します。
続きを読む
越光 at 23:01 | コメント(0) | TB(0) | 美容と健康

NXTにエネループを使いたい

ロボット用にエネループを買うことにしました。
NXTは一度に6本使用するので、6本以上を同時に充電できる充電器も欲しいところ。

ということで以下のものをチョイスしました。





続きを読む