まじめに仕事…

真面目に仕事をする。Eclipseのコーディング補助機能(エラー自動修正?)は楽だね。

CCleanerでファイル削除

コンビニで日経PCを立ち読みしてCCleanerというソフトを知る。Windowsの不要なファイルをいろいろ削除してくれるらしい。さっそくインストールして試す。機能も豊富で出来もよく、なかなか良さそうだ。

Process Explorer

最近、Process Explorerを使っている。グラフィカルなtopコマンドみたいなものだがなかなか良い感じである。Windows-XPでログインして、アプリを普通に使えるようになるまでに時間がかかるようになったのがキッカケで、調べるために導入。結局、Windows Updateが動いているようで、設定を見直して一応解決。どんなプロセスが走っているか、気になることが多いので、いまでもプログラム/スタートアップのフォルダに置いている。

Google Maps API

Google MapでGPS

朝からGoogle Maps APIと戯れる。CGIのdirectoryのurlを登録したらkeyと一緒にサンプルのコードが表示されてそのまま組み込んでみたら地図が表示された。

その後API Documentationの例を見ながらコードを追加していくとすぐにGPSの受信データを地図上に表示できてしまった。なんて良くできたドキュメントなんだ。

Word vs TeX?

仕事でMicrosoft wordを使わせられているせいか、wordにあまり抵抗が無くなって来た。Wordの変な癖にも慣れたり、対策を覚えたり。堕落だろうか。

TeXはもう随分長いこと使っていない。そもそも紙のイメージで長い文書を書くということがあまりなくなった。自分のところで書く長い文章はHTMLで書いてブラウザで読むほうが便利だ。

さて、もうすぐ久しぶりに使用説明書的なものを書いて紙で提出する必要があるのだがWordにしようかTeXにしようか。短い文書はWordの方が圧倒的に楽。長くなるとWordのスタイルが破滅的な感じになる。TeXだと文書をsvnに入れやすそうだ。とりあえず、短い文書からはじめるならやっぱりWordかなぁ。

Visual Studio 2005でemacs key-bind!!

オプション設定

Microsoft Visual Studio 2005を使っていて、つい emacsのつもりでCtrl+Nとか押す。最近はEclipseとかでemacs風のキー入力ができるから同じIDEで勘違いしてしまう。でも、待てよ。EclipseにあるからVisual Studioにもあるかも。オプション設定のキーボードのところを見ると追加キーボードマップスキームにemacsの文字がある。設定すると普通に使える。C-x C-sも使えた。C-x bは無いが、C-x C-bはある。ああ嬉しい。

無名インナークラス in Java

昨日Javaでわけがわからんと言っていたのは無名インナークラスのオブジェクトだそうだ。staticでないインナークラスは、生成時の親(外側のクラス)のオブジェクトのポインタを持っていて、親のメンバーにアクセスできるらしい。さらに、問題の new MouseListener() { .. }というような式で生成されるのは、無名(クラス名を持たない)の無名インナークラスのオブジェクトで、newの次にくるのはクラス名かインターフェース名、クラス名の場合はそのクラスを継承した無名クラス、インターフェースの場合はObjectを継承し、そのインターフェースを実装した無名クラスのオブジェクトが生成される。普通のクラス宣言を使っても実現できる機能を、コンパクトかつわかりやすく記述できるまさに シンタックス・シュガーというわけだ。

わかって、すっきり。安心して 無名インナークラスを使おう。

なんだなんだ、Javaのプログラムで…

JavaのGUIのイベント処理でよく見るプログラム

...addMouseListener(new MouseListener() 
{
  public void mouseClicked(MouseEvent e) {
    p = e.getPoint();
    repaint();
  }
}...

で、newされたMouseListerのメソッドで 外部のインスタンス変数をアクセスできるということを今日初めて知った。便利ではあるが一体どういう理屈だ?MouseLister(インターフェース)型のオブジェクトが作れたりそれにメソッドを定義できるのも変な話だな。なんか知らない話があるなぁ。

書籍: Perl Hacks

なんかプログラミングの本を読みたくなってPerl Hacks購入。

ATtiny2313の割り込み

今日は割り込みの実験。ドキュメントもちゃんとあり、すぐに使えた。

ATtiny2313のタイマー出力

ATtiny2313のタイマーを使う練習をする。タイマーの出力を端子に出して動作確認しようとするがなかなか望む波形が出てこない。タイマー出力を有効にするのにDDRxを設定しポートを出力にしなければいけないらしい。

ATtiny2313のプログラミング

夜、ATtiny2313のプログラミング。usartを使ってシリアルで通信できるようになる。初期設定のクロック1MHzで19200baudは無理そうだったのでfuse bitを書き換えてクロック8MHzに変更。avr-libcのprintfも試すが組み込むとROM容量の2Kbyteを超えてしまい動かない。でも120円のCPUなので贅沢は言わない。普通にgccでプログラムできるだけでも不思議。

あと割り込みとタイマーを覚えれば普通に使えるはず。

Java1.5 可変引数ばんざい

Java1.5の可変引数機能を初めて使う。printfとかは使っていたけど、自分でメソッド書いたのは初めて。極めて自然に使えて便利。長たらしく書いていた処理をコンパクトに書けるようになった。快感。

ソフトへの広告配信事業

12月になった。なんか今年は終ったような気になる。

OPTMEDIAという会社からアンケートに答えてくれとメールが来る。フリーウェア/シェアウェア作者に出しているようだ。フリーウェアへの広告配信事業をしようとしているらしい。使う立場からすると、日頃使うソフトに広告が表示されるのはイヤだなぁ。とかいいつつ、このサイトにもGoogle AdSenseが…インストール時に表示されるぐらいなら気にならないけど、出稿者側とするとお金払う気にはならないかも。Movie Flash Converter無料版(広告付き)はここからダウンロードできます。(^_^;;)

ビール飲みながらCiv4をする。

PLAYSTATION 3がやってきた by 後藤弘茂

PC-Watchの記事PLAYSTATION 3がやってきた by 後藤弘茂続編を読んでなんか感心する。Xbox360やPS3などのゲーム業界の現況がよくわかったような気がする。そんなに子供にゲームやらせて大丈夫かとも思うが、なかなか貴重なライブ市場調査だとも思う。面白い。

Ethernetにパケットを送信しているはずなのにパケットモニタで観測できない。調べたら、プログラムのバグでオール0のパケットを送信していたためらしい。

昨晩録画した24シーズン4の7話あたりを見る。ジャックのピンチに意外な人が出てきてビックリ。意表をつかれた。面白い。よくできたシナリオだ。24のシナリオのスピード感と密度と量が大好きだ。お気に入りの映画のクライマックスが24時間続く感じと言ったら言い過ぎか?

ATtiny2313を使って簡単な機器を作ろうとしているのだがケースが決まらない。パネルに16桁2行のLCDとスイッチ何個かを配置しコンパクトにまとめたいのだがLCDが意外と大きくて手持ちのケースではパネルにうまく収まらない。昔だったらYM-150あたりの上面にLCDを配置したところだが、上面にスイッチなどで出っ張りをつけると収納性が悪くなるので不満。折り曲げ器はあるので自分でアルミ板を曲げることも含めて検討継続。コンパクトな実装にならないと作る気が起こらない。