IP Messenger / にょっこりボックス

IP Messenger

職場では連絡網にIP Messengerを使用している。シンプルで使いやすいんだけど、気になってる点もいくつか。

  • 送る前に相手の名前を確認したい。たまに間違えそうになるので。(Beckyのあて先確認みたいな感じ)
  • 受信したときにダイアログ以外の方法で通知して欲しい。ノリノリ(死語)でコーディングしてるときに目の前にダイアログが出てくると仕事の妨げになる。MSN Messengerみたくタスクトレイからペロっと出てくると最高。でもあれを実装してるアプリケーションってあんまりないな。あ、SharpReaderでやってるか。.NET Framework使わなきゃいけないんならいらない。

あとこれは単なる遊びなんだけどスキン機能があると萌え。

にょっこりボックス

http://www.coara.or.jp/~tkuri/D/032.htm#D2003-05-09

MSN Messengerみたいにタスクトレイからにょっこり出てくるアレをAPIで実装したもの。

最終更新時刻: 2009年01月20日

Init()関数に対して / MSN Messengerのバルーンウインドウを実現する方法

Init()関数に対して

初期処理を行うInit()というメソッドを用意したとき対になる終了処理を行うメソッドの名前を考えるためのメモ。

  • Finalize
  • Exit
  • Stop

MSN Messengerのバルーンウインドウを実現する方法

A Class to Display Skinned Popups Like MSN Messenger

先日書いたタスクトレイからにょろっと出てくるアレを調べてみたらいくつか見つかった。 スクリーンショットは"A Class to Display Skinned Popups Like MSN Messenger"。マウスオーバーするとリンク(下線)になる。

他にMessenger関連

最終更新時刻: 2008年09月02日

A Class to Display Skinned Popups Like MSN Messenger / 漆塗りパソコン

A Class to Display Skinned Popups Like MSN Messenger

昨日見つけた"A Class to Display Skinned Popups Like MSN Messenger"で遊ぶ。

アップデートがコメントにアップロードされていたので試してみた。常に前面に表示するように修正されている。

11 August 2002:New Big update for CTaskbarNotifier

ちなみにデモプロジェクトはVisual Studio .NETで作られているが.NET 2003でも変換してビルドできた。

最終更新時刻: 2008年10月30日

ソースが公開されているWindowsアプリケーション / シン覚え書 / プログラマとして

ソースが公開されているWindowsアプリケーション

http://www.factory.gr.jp/~ishigaki/memo/opensource.html

シン覚え書

ソースが公開されている高機能付箋アプリケーション。

プログラマとして

Mona OS開発者のhigeponさんの日記より

http://d.hatena.ne.jp/higepon/20050303#1107681197

僕は全然未熟なんだけど共感する部分があったので引用させてもらう。

プログラムは勉強すれば誰でもできると思う。知らない言語や知らない仕組みでも勉強すれば何とかなるだろう。最近になってやっとそう思えるようになった。

つまり「こういうプログラムできない?」と言われれば大抵の場合は「時間と手間をかければできる」と答えられるようになったのかもしれない。

となると、人生のうちプログラムに使える時間は有限なので(そもそも人生が有限だ)、取捨選択が重要になる。

「こんな仕組みがあったら便利だな」とか「あのアプリの使い勝手を改善したい」とか「あれを自動化したい」とか、自分で思ってもスグに手を出してしまってはやりきれなくなってしまうのである。

たとえばこれから1年で僕は何行コーディングできるだろうか。いくつの機能を実現できるのだろうか。

最終更新時刻: 2008年07月30日

Googleが地図サービスのベータ版を公開 / adduserとuseradd / [todo]posttdiary.rb改造版をインストールする

Googleが地図サービスのベータ版を公開

adduserとuseradd

useraddでユーザを追加たらホームディレクトリが作られなかったので、ひょっとしてと思ってadduser使ったら作ってくれた。

ディストリビュージョンはDebian Linux。

posttdiary.rb改造版をインストールする

最終更新時刻: 2008年11月02日

Wikiクローン覚え書き

  • YukiWiki

国産クローンの先駆け?2.0になってから高機能になってるらしい(2.0になってから使ってない)。最初のころのソースは短かったのでこれをもとに改造して自前のWikiクローンを作って捨てた覚えがある。

  • RWiki

Rubyで実装されてる。

  • Hiki

これもRubyで実装されている。去年このサイトで使ってたのがこれ。tDiaryのテーマ/プラグインが流用できる。CVS/SVNでバージョン管理ができたりする。

  • KinoWiki

PHP5で実装されてる。比較的新しい。

  • BitChannel

Rubyで実装されてる。比較的新しい。diffでバージョン管理することを前提に作られている(うろ覚え)

後でまとめとか書く予定

最終更新時刻: 2008年12月10日

休日出勤 / Rekisa

休日出勤

久しぶりに休日出勤。検査項目書の作成と検証を黙々と。

Rekisa

http://hp.vector.co.jp/authors/VA017396/software/Rekisa/

特徴を箇条書きしてみると、次のような点が挙げられます。

  • 一度に三つ以上のファイルを比較できる。
  • 左右のカーソルが連動するので、対応する部分を見つけやすい。
  • 下線で文字単位の違いを表現。
  • SHIFT_JIS、EUC-JP、JIS等、様々な文字コードに対応し、自動判別して開く。
  • コマンドラインから開く場合はファイルの指定に正規表現が使用可能。
最終更新時刻: 2008年08月03日

Useful enhancements for Visual Studio .NET / MakeDoxygenComment : Generate Doxygen Comment Skeleton / [buy]Web Site Design vol.1〜vol.4 / PSXのコントローラー

Useful enhancements for Visual Studio .NET

http://www.codeproject.com/macro/kingstools.asp

  • Run Doxygen
  • Insert Doxygen comments
  • Build Solution stats
  • Dependency Graph
  • Inheritance Graph
  • Swap .h<->.cpp
  • Colorize
  • } End of
  • #region/#endregion for c++
  • Search the web

http://slashdot.jp/journal.pl?op=display&uid=259&id=259620より

MakeDoxygenComment : Generate Doxygen Comment Skeleton

http://www.vim.org/scripts/script.php?script_id=674

Web Site Design vol.1〜vol.4

PSXのコントローラー

最終更新時刻: 2008年09月20日

ダイアログのリサイズ / セミナーとか受験とか / Wikiクローン覚え書き(2)

セミナーとか受験とか

3月に実施される組み込みのセミナーの受講決定。情報処理技術者試験の仮申込み完了。明日ローソンで受験料振り込まなきゃ。

ちなみに今回受験する試験区分は「ソフトウェア開発技術者試験」、秋の試験では納品時期と重なって受験どころではなく、セキュアドを午後Iで落としてるので、今回は時間を取って受かるようにしないと。

でもレベルはどんなもんなんだろう?実はテクニカルエンジニア(DB)もちょうどいいかなと思ったんだけど試験問題をググってみて3問くらい見て即考えを改めた。あれは結構がんばらないと無理っぽい。ソフトウェア開発技術者試験もがんばらないといけないけどちょっとでも負担が少ないほうがいい。

データベースのほうはオラクルマスター取っとけばいいや。と、去年から言ってる気が・・・あれは情報処理見たく「年に一回(or 二回)」じゃなくいつでも受験できるから安心してしまう。

Wikiクローン覚え書き(2)

  • PukiWiki

PHPで実装されてる。結構いろんなところで見かける。最初の頃はYukiWikiをPHPに移植したようなシンプルなものだったような気がするんだけど、いつの間にかプラグインやらなにやらで高機能になってる模様。

また、最近はPukiWiki.orgでバザール方式で開発が行われている?

人に勧めるなら癖もないしPukiWikiかHikiかな。

最終更新時刻: 2007年05月03日

(c)、(tm)、(r) / [todo]ExcelのDiff取ってくれるツールが欲しい / ダイアログのリサイズ(2)

(c)、(tm)、(r)

○にCはCopyright(著作権)。TMはTradeMark(商標)。○にRは、Registrated Trademark(登録商標)です

http://www2.plala.or.jp/kamkamkam/gimon5/newgimon/12gatu/243.htm

ExcelのDiff取ってくれるツールが欲しい

perlのエクセルモジュールとかOLE拡張使ってやるのがいいのか、VB/VBA使うのがいいのか。

親和性とかGUIでオプション指定することとか考えるとVBかな。

Excel + diffとかExcel + compareでちょっと検索

下のは有料で体験版

ダイアログのリサイズ(2)

MoveWindowの第2引数を指定してInvalidate系の関数を使って必要な領域だけ再描画するなりしないとちらつきが目立つ。

DeferWindowPosを使おうと思ったら使用しているActiveXコンポーネントが上手くリサイズされない。というかリサイズ後にフォーカスを移す(そのコンポーネントの再描画が走る)とリサイズ前のサイズに戻ってしまう。

あとプロパティシートもリサイズしたいのでCodeGuruでサンプルを探す。上手く再描画処理やってるサンプルがあると一石二鳥。

最終更新時刻: 2008年10月29日

posttdiary-ex.rb導入 / 添付画像テスト / RDに対応してない / RDスタイルに対応させたつもり / Rubyコーディング規約 / CSSをちょっと変更 / 携帯から更新

posttdiary-ex.rb導入

更新テスト

添付画像テスト

画像の説明

本文を書かないとContent-Type: multipart/mixed;が付かないのでエラーになってしまった。

RDに対応してない

posttdiary-ex.rbはRDフォーマットには対応していないので手で修正。

後で改造しよう。あと画像のパス中に.が使われているとそれ以降を拡張子と判断してしまっているので修正した。

RDスタイルに対応させたつもり

posttdiary-ex.rb v1.52をRDスタイルに対応させるためにクイックハックした。

もう3時前なのでかなり適当。--rd-styleのショートオプションを-Fにしたのはパッと見、他で使ってなかったから。

605d604
<     rd_style = false
637d635
< 		['--rd-style', '-F', GetoptLong::NO_ARGUMENT],
694,696d691
<             when '--rd-style'
<                 rd_style = true
<                 use_image_ex = true
765,769d759
<         if rd_style then
<             image_format = '((%image $0,"$4"%))'
< 			image_format_with_thumbnail = image_format
< 			add_div_imgnum = 0
<         end
868c858
< 		raise "(略)" if !(tmpimgname =~ /(\.[0-9a-z]*?)$/)
---
> 		raise "(略)" if !(tmpimgname =~ /(\..*?)$/)
893d882
<
907d895
<
921d908
<
933,935c920
<
< 		img_src.sub!( /^/ , ' ' ) if ! (wiki_style | rd_style)
<
---
> 		img_src.sub!( /^/ , ' ' ) if ! wiki_style
937,941c922
<             if rd_style then
<                 @body = "#{img_src}\n#{@body.sub( /\n+\z/, '' )}"
<             else
<                 @body = "#{img_src}\n#{@body.sub( /\n+\z/, '' )}"
<             end
---
> 			@body = "#{img_src}\n#{@body.sub( /\n+\z/, '' )}"
949,953c930
<         if rd_style then
<             @body = "=#{subject}\n#{@body}"
<         else
<             @body = "#{subject}\n#{@body}"
<         end
---
> 		@body = "#{subject}\n#{@body}"

Rubyコーディング規約

http://shugo.net/ruby-codeconv/codeconv.html

CSSをちょっと変更

20050217_1 主に本文の<p><ul><li>タグのパディング/マージンの微調整。

携帯から更新

できてるかな?

最終更新時刻: 2008年10月31日

携帯から更新 / 携帯から更新(2)

携帯から更新

20050218_0 携帯から画像添付して更新

携帯から更新(2)

20050218_1 さっきのは粗かったのでもう一度

最終更新時刻: 2008年11月05日

ヘッドライン設置 / jcode.pl、Jcode.pm、Encode / スタイルシート本 / PearPC - PowerPC Architecture Emulator / 使ったことのある言語 / その他のスキル / アセンブリ言語 / メモツール

ヘッドライン設置

20041208#p01の続き。ようやく運用を開始できた。

使用したソフトは2本

whatsnew.cgiでRSSを生成してmt-tickerでヘッドラインを表示する。

どちらも手を入れないといけない部分があったのでメモ。

whatsnew.cgiについて

  • xmlヘッダのencodingがutf-8になっていたが実際に出力されるRSSファイルがなぜかEUC-JPになっていた。多分Jcode.pmの設置の仕方が悪かったんだと思う。
  • 設置したサーバのperlのバージョンは5.8だったのでJcode.pmでなく標準のEncodeモジュールが使える。そのためJcode.pmでなくEncodeモジュールを使うように変更した。UTF-8で出力されるようになった。
  • 出力されるRSSファイルの改行コードがLFだったのでCR+LFで出力するように変更した。

mt-tickerについて

  • オリジナルのc-tickerはShift_JIS、RSS0.9にしか対応してなかったため、どちらも使えるようになっているmt-tickerを採用した。
  • クリックされたときに開くフレームのターゲットを_parentに変更

jcode.pl、Jcode.pm、Encode

Perl 5.8 から標準で Encode モジュールが含まれるようになりました。いままで jcode.pl や Jcode.pm を別途インストールしていたのですが、その手間が省け精神的にも楽です。そして何よりも変換速度は早いようです。

スタイルシート本

スタイルシートを始めるのに本を買いたいという相談を受けたので一緒に本屋に行った。

スタイルシートサンプルブック(大藤 幹)

専門店では無かったためスタイルシートの本は多くなかったが、あまり褒められないサンプルを掲載している本は却下。

結果この本を購入することに。今見てみたらAmazonでの評価も良い。

PearPC - PowerPC Architecture Emulator

title220050219_020050219_1 ちょっとMacOSXを使いたくなったので試してみることにした。

使ったことのある言語

業務で使ったことのある言語から、ちょっと読める程度のものまで

  • N88-BASIC
  • Z80 アセンブリ言語
  • Visual Basic/Visual Basic for Applications
  • perl
  • PHP
  • SQL
  • JavaScript
  • C言語
  • C++
  • Ruby(簡単なスクリプト読むには困らないという程度)

ほぼ習得順。習熟度が実用レベルに達していないのはZ80アセンブリ言語とRuby。

約半年間C++でWin32プログラミングをやって大体形になってきた。あと覚えたいのは

  • 32ビットのアセンブリ言語
  • Java/C#/VB.NETあたり
  • lisp系言語

どちらかというと高級言語はいっぱいあってきりが無いから低級言語をより積極的にマスターしたい。

どうでもいいけどアセンブラってアセンブリ言語をアセンブルするソフトウェアのことを指すのに言語として「アセンブラ」って書いてる記事をたまに見かける。でも「アセンブラ言語」とも言うからいいのか。

その他のスキル

使ったことのあるOS

  • N88-BASIC
  • MS-DOS
  • Windows(常用)
  • Linux(RedHat, Debianがメイン)
  • Mac OS X

その他

  • HTML書ける
  • XML使える(以下はプログラム内で使ったことがあるXMLベースの技術)
    • XHTML
    • XML-RPC
    • SVG
  • サーバ立てることができる(Web/DB/Mailとか)

アセンブリ言語

Wikipediaに書いてあった。

アセンブリ言語の意でアセンブラと呼ぶ人もいるが、英単語としての意味を考えれば正確ではない。

そりゃそうだ。

機械語そのものよりも親しみやすい記法でプログラムを書いておいて、プログラムが完成したときにまとめて機械語に変換するのである。

当初は、この変換は人間が手で行っていた。これは現代ではハンド・アセンブルと呼ばれる。

今でもハンド・アセンブルできる兵はいるんだろうか。

メモツール

最終更新時刻: 2008年09月16日

[buy][book] C Magazine 2005年3月号 / [buy][book]Web Designing 2005年3月号

C Magazine 2005年3月号

Web Designing 2005年3月号

最終更新時刻: 2008年09月02日

既存のテーブルに列を追加するSQLコマンド / phpPgAdmin

既存のテーブルに列を追加するSQLコマンド

既存のテーブルに新しく列を追加したい場合、Accessなら簡単なんだけどPostgreSQLなどでSQLコマンドを使う場合はALTER TABLEを使う。

PostgreSQL リファレンスマニュアルよりALTER TABLE

ALTER TABLE distributors ADD COLUMN address VARCHAR(30);

もし追加が困難である場合は、ちょっと乱暴だけど

  • データをエクスポート
  • DROP TABLEで一旦テーブルを削除
  • CREATE TABLEで列を追加した新しいテーブルを作成
  • データをインポート

するという手もある。

私信:もしあのテーブルに文字列型の列を追加するときはこれ使ってちょー。一瞬で済むならDROP TABLEしてからCREATE TABLEしても可。ただし失敗すると焦るよ。

phpPgAdmin

PostgreSQLのWeb用インターフェース。

phpPgAdminが開発初期のころに試しに使って、わずらわしくなってコマンドラインに戻った覚えがある。

それ以来WebインターフェースのDB管理にはなんとなく抵抗があったんだけど、その考えが変わったのはOracle10gのセミナーを受けたとき。Oracle10gはWebインターフェースからの管理が強化されていて効率的に作業が行えた。(ような気がする)

導入も簡単みたいだしコマンドラインで操作する作業の簡素化という目的で使う分には良い選択肢だと思う。

phpPgAdminの最新のスクリーンショットを見たら最初の頃に比べて洗練されてきた印象。また使ってみたくなった。

最終更新時刻: 2008年10月26日


ツールチップを表示 / 水泳復活 / ProFTPDで.(ドット)ファイルが見えない / ProFTPDで.(ドット)ファイルを隠す

水泳復活

半年以上ぶりなので500mだけにしとくつもりが、コースに一人だけで気持ちよかったので1km泳いできた。でもほとんど平泳ぎ。

ProFTPDで.(ドット)ファイルが見えない

最近のProFTPDではRFCに従ってクライアントの設定によってはドットファイルが見えないらしい。

FFFTPの場合はホストの設定で「高度」-「LISTコマンドでファイル一覧を取得」を選択する。

ProFTPD側で対応する場合はListOptionsに"-a"を設定する。

僕はProFTPD側で設定。20040305#p02

ProFTPD1.2.10rc1から「NLST」のオプション指定が未サポートになり、FFFTPなどではデフォルトのままではファイル一覧が取得できないので注意が必要です。これはRFC959に基づく変更であり、クライアントの設定を変更して「LIST」コマンドでファイル一覧を取得するようにすれば大丈夫です。 なお、このままではドットファイルが見えなくなるので、見せる必要があるなら、「ListOptions」ディレクティブを 「ListOptions "-a"」のように、proftpd.conf に追記してください。

ProFTPDで.(ドット)ファイルを隠す

> ShowDotFiles off #default is off

ShowDotFilesはバージョン1.2.6以降はサポートされていませんの でご注意を。

未確認だけどこれかも?>take_c

最終更新時刻: 2013年09月16日


PDA / デバイス購入 / オープンソースの都市シミュレーションゲーム / 複雑系・人工知能ゲーム / SQL Server / APCのUPS

PDA

20050227_0

写真はiPaq。見てたらWindows CE端末が欲しくなったのでメモ。CFカードスロットも無い機種だと結構安い。

Windows CEだと何より開発がしやすそう。

デバイス購入

20050227_1 マイクロソフト オプティカル マウス IntelliMouse Explorer B75-00095

HHKは別。今回購入したのはMicrosoftのマウスとSEGA Suturnのゲームパッド(PC用)。

サターンのゲームパッドは今使ってるサイドワインダーが使いづらいから。そして未だにサターンのパッドが一番使いやすいと思っているから。ただ、セレクトボタンが無いなど、若干ボタンが少なめ。

Microsoftのマウスは職場で使用予定。ちなみに使っているのは同じくMicrosoftのIntelliMouse Optical。20040408#p02

乗り換え理由はホイールを使ったときの「コリコリ」音。今回買ったIntelliMouse Explorerに搭載されているチルトホイールは音がしない。形も今使っているものより手にフィットする感じで良い。

使用感が良かったら家用にも買う予定。

http://www.microsoft.com/japan/hardware/mouse/intelli_explorer.asp

オープンソースの都市シミュレーションゲーム

FreeTrain FreeTrain公式サイト

Lincity http://lincity.sourceforge.net/

http://game10.2ch.net/test/read.cgi/game/1048608411/

複雑系・人工知能ゲーム

http://funyami.pya.jp/complex/

SQL Server

製品版のSQL Serverにあって無料版のMSDEに無いもの。管理ツールの「Enterprise Manager」クエリ発行ツールの「Query Analyzer」など。

コンピュータ系blog: MSDE 2000

APCのUPS

APC製のUPSの設置に立ち会った。

設置したのは500VA/320WタイプのSU500J。500VAタイプは中途半端でサーバPCだとPentium4なら大抵300Wくらいなので一台つないだらもう他の機器がつなげない状態。

その後、別件で700VA/450WのAPC製UPSを設置している会社にお邪魔した。同じ形だけどやっぱり450Wあると安心かも。でもどちらにしても2台は繋げない。

最終更新時刻: 2008年10月23日

チルトホイール使用感 / MSDEをインストール / PDAの使い道 / 入門xyzzy / Photoshopで曲線を描く

チルトホイール使用感

昨日買ったIntelliMouse Explorerのチルトホイールが重い。指でくるくる、というよりはぐいぐいと押しまわす感じ。ホイールをクリックするときも前のマウスは「カチッ」と軽くクリックできたけど、これは「ぐっ」と押さないといけない。

まぁ、これは購入前から店で触ってわかってたし、使っていればそのうち軽くなるだろうという予想のもと購入したので、これからに期待。

それ以外では形に関しては概ね満足。前のマウスよりは手になじむ。あと横のゴム部分が心地よい。

PDAの使い道

もしPDAを買ったとして、何に使うか。

  • スケジューラ
  • マルチメディアプレーヤー
  • ドキュメントの参照
  • ゲーム機
  • WindowsCEの動作環境として

まず、スケジューラに関してはカシオペア、CLIEを購入した経験からほぼ間違いなく使わない。マルチメディアプレーヤとしてもCLIE、iPodでの失敗経験(すぐ飽きて使わなくなる)から使わなくなるだろう。

ドキュメントの参照。これも今のところわざわざPDAで参照しなきゃいけないようなドキュメント/データベースは持ち合わせてない。 しいてあげるなら開発のドキュメント、例えばMSDNが全部入るとかなら使うかも。でもPDAである必要がない。

Photoshopで曲線を描く

電話で「どうやるの?」と聞かれた。要はIllustratorでいうところのトレースがやりたいらしい。「パスツール使って点を打って、その点を同じくパスツールの矢印みたいなのでうにょうにょっと動かして・・・」と説明しようとしたが、面倒なので現地に赴いて実践した。

パスツールで大まかに点を打って、アンカーポイントの切り替えで曲線を表現。形がとれたらパスの境界線を描いて出来上がり。ちょっと太すぎたのでブラシを適当な大きさに調節。

最終更新時刻: 2008年10月26日