ソフトウェア

ATOKが馬鹿になってしまった時

最近、だんだんとATOKが馬鹿になってしまってきて、困っていました。 一応、ユーザー辞書におかしなものがあったら、消してと、メンテナンスは欠かしていなかったのですが、 どうやら、そのほかにも学習している様子です。そこで、ユーザー辞書のバックアッ…

ALSA メモ

ALSAでPCMファイルを再生するプログラムを書いて実験していたけど、 何故か音が鳴らない・・・ ごく希に、「プチ」っと音が鳴ります。ウェブでみつけたサンプルコードでは、きちんと音が鳴るので、違いを追ってみると・・・ snd_pcm_drain() しているかどう…

著書が Amazon に載りました!

著書が数日前にAmazonにも載りました! Amazon の取り扱い商品で、私の関わったものが掲載されるのは2品目です。 1品目は、インディーズミュージシャン 梅本紳吾さんのレコーディングに誘われて参加した、 「ひだまり虹色」です。 こちらは、ドラマーとして…

初の著書「Linuxネットワークプログラミングバイブル」 完成!

私のはじめての著書、「Linuxネットワークプログラミングバイブル」が完成しました!(勤務先の社長と共著) 本日、出版社に行き、見本本を頂いてきました。こちらは、もともとは、勤務先の社長の「C for Linux2」という本が絶版になってしまって、 その後を…

複数の event_base を使う場合

libevent で、複数の event_base を使いたい場合、man event を良く読めば、実は書いてあるのですが、 単純な勘違いで、うまくいかない場合があります。man event 抜粋 THREAD SAFE EVENTS Libevent has experimental support for thread-safe events. When …

CentOS で DHCPv6 を使った動的 IPv6アドレスの割り当て

以前 Windows XP や、MacOS X、Debian で DHCPv6 を使う記事 を書きました。 今回は、CentOS 5 での利用方法です。 /etc/dhclient-eth0.conf があることを確認する /etc/dhcp6c.conf 編集 interface eth0 { }; /etc/sysconfig/network-scripts/ifcfg-eth0 編…

Debian/GNU Linux で DHCPv6 を使った動的 IPv6アドレスの割り当て

以前 Windows や、MacOS X で DHCPv6 を使う記事 を書きましたが、Debian GNU/Linux での方法も紹介します。私が知っている方法で一番簡単なのは、Dibbler というアプリケーションを使う方法です。 # apt-get install dibbler-client # /etc/init.d/dibbler-…

Mac の AppStore

最近 Mac ソフトの AppStore がオープンしました。 まだ使っていませんが、手軽な値段のものが多くて、ついついポチっとしてしまいそうです。 今後ラインアップが増えるのが楽しみですね。

リモートログインした Snow Leopard の VNC (リモートデスクトップ) を有効にする

MacOS X では、システム環境設定の「共有」で「画面共有」を ON にしておくと、 他の Mac から vnc://IPアドレス/ でリモートデスクトップを利用することが可能です。でも、普段はこれを OFF にしておいて、使いたいときだけリモートログイン(ssh)して ON に…

MacOS X で DHCPv6 を使った動的 IPv6アドレスの割り当て(2)

以前 MacOS X で DHCPv6 を使う記事 を書きましたが、 StartupItems を使う方法は古いらしいので、LaunchDaemons を使う方法にしてみました。以下 /usr/local に ISC の DHCP Ver.4 がインストール済みのことを前提とします。/Library/LaunchDaemons/org.isc…

CD/DVD-ROMドライブの壊れた MacBook で別のマシンのドライブを使う

遂に MacBook3,1 の CD-ROM ドライブが完全に壊れました。 前から CD 入れると傷がついたりして調子がわるかったのですが、今はもう全くディスクが物理的に入りま せん。困ったので、MacMini の CD-ROM ドライブを共有したのですが、ちっとも MacBook の Fin…

MacOS X で RAMDISK(失敗)

新年初の技術ネタです。MacOS X (私は Snow Leopard を使っています) は、最初のうちはストレス無く動作するのですが、 放置していると、/System/Library/Caches, /Library/Caches, /Users/hoge/Library/Caches, /var/folders などのキャッシュディレクトリ…

RAMDISK

# diskutil eraseDisk HFS+ RAMDISK `hdid -nomount ram://$ ( (2048*256 ) )`Snow Leopard では、こんな感じで 256MBのRAMDISKが作れるみたい。 そこで、/tmp, /var/tmp, /Library/Caches とかを移動してみた。はやくなるかな?

bufferevent

libevent では、ディスクリプタへの読み書きがとても簡単に実装できます。 bufev = bufferevent_new(fd, readcb, writecb, errorcb, NULL); bufferevent_enable(bufev, EV_READ);fd は対象ディスクリプタ readcb, writecb, errorcb へはそれぞれ読み、書き、…

いろいろなOSの試験環境

NetBSD, OpenBSD の環境構築ついでに、DragonFly BSD をインストールしてみた。とりあえずさわってみた感じ、普通に常用できそうです。 いろいろとカーネルはFreeBSDから変更されているみたいですが、VMware上の一般利用では違いはわかりませんね。これらの…

Windows XP で DHCPv6 を使った動的 IPv6アドレスの割り当て

MacOS X 編に引き続き、DHCPv6関係。Windows XP はもう古い OS なので、かなりの方が Windows 7 に移行しているとは思います。 しかし、まだ現役で使っている方も多いようなので、役に立つかはわかりませんが、DHCPv6 を Windows XP で使う方法を書いてみた…

Can't assign requested address

Linuxでは動作するIPv4マルチキャストを使うプログラムがSnow Leopardにもってきたら動かなかった。 マルチキャストで受信して、その送信元に送り返すという単純なものなのですが、sendto()をすると、 Can't assign requested addressと言われてしまう。結局…

MacOS X で DHCPv6 を使った動的 IPv6アドレスの割り当て

Windows では、Vista 以降、DHCPv6クライアントが内蔵されていて、DHCPv6サーバが存在するネットワークに繋げば、 すぐにアドレスを取得することができるのですが、どうも MacOS X は対応していない様子です。そこで、ISC の DHCPクライアントを自動起動する…

AirMac のアイコン

MacOS X の AirMac のこんな不気味なアイコンをみたことはありますか? これはモニターモードという状態で、IEEE802.11のデータリンク層をモニタしているときになります。具体的には tcpdump に -I オプションを与えるとこうなります。この状態だと、IEEE802…

rdtsc命令でクロック計測

負荷の高い通信アプリケーションの時間計測になるべくCPU負荷にならない方法を考えていて、Pentium とかで使えるrdtsc命令を使う方法を検討していて、 とりあえず、インラインアセンブラを思い出すためにCPUの動作クロック計測プログラムを作ってみました。#…

KeyRemap4MacBook

最近MacBookにKeyRemap4MacBookをインストールしました。 これはキーバインディングをいろいろと変更するソフトウェアです。 Emacs派の人には元々基本的なEmacs風キー操作ができるOSXには必要なさそうですが、ExcelにもEmacs風キー操作を適用したり、 [F2]…

簡単プログラミングで負荷テスト

お客さんから結構スケールの大きな主に UDP を使うアプリケーションの話しを頂いています。 どうやら 100バイト程度のパケットを、数十万PPS の速度で処理をする必要があるということで、現実的に可能なのかまずは、お試しです。 試算したビットレートは往復…

いつの間にか fml が使えなくなっていた

不思議なことにいつのまにかメーリングリスト管理プログラムの fml が動かなくなっていました。 エラーメールを読んでみると、 mail to command is restrictedと、なっているので、fml のプログラムを呼び出せていないことは明白です。 しかし、/etc/aliase …

Tab Toolkit

iPad アプリの、Tab Tookitを購入してみました。 このアプリを買うまで知らなかったのですが、Tab 譜ってPTBっていう共通フォーマットのようなものがあるのですね・・・ 探してみると結構インターネット上にアップしている人がいるみたいです。 あまり Tab譜…

eth0とeth1を入れ替えるには

Linux で eth0 と eth1 など、イーサネットデバイスの番号を入れ替えるには、 /etc/modules.conf に、 alias eth0 e1000e alias eth1 e1000などと記述する方法。(それぞれが別デバイスドライバのみ有効) /etc/udev/rules.d/nn-persistent-net.rules におい…

Linuxの複数NIC時の挙動

知っている人にとっては常識ですが、Linux では例えば、 eth0 に 192.168.0.1、 eth1 に 192.168.0.2、 というアドレスが割り当てられていて、eth0 だけが 192.168.0.0/24 のネットワークに繋がっているときに、 192.168.0.2 への ARP Request があると eth0…

XPLite で ActiveDirectory を削除するとユーザー管理の機能が使えなくなる

Windows7 が普及している中 XP の話題ですが、 ずっとユーザー管理の機能が使えなくて、不思議だなと思っているコンピュータがありました。 このコンピュータ、ふと XPlite を使っていたことを思い出し、削った機能をみたところ ActiveDirectory が含まれて…

目で見て耳で聞けるプログラミングは楽しい

いつも頼りにしていただいているお客様から、 あるキャプチャデバイスが Linux でのビデオキャプチャ及びオーディオキャプチャにきちんと対応しているか、 性能は十分か検証して欲しいとのご依頼を受けました。 NCADでは以前オリジナルの VoIP システムを作…

ld: final link failed: 出力に対応するセクションがありません

Armadillo 230 で開発を行っているメンバーから、リンカが「ld: final link failed: 出力に対応するセクションがありません」とエラーを吐く相談をうけました。 あまり見かけたことのないメッセージなので英語で表示させてみましたが、「ld: final link fail…

svn commit rollback

まだリビジョン11くらいの若いプロジェクトに妙なものをコミットしてしまいました・・・ なんだか気持ち悪いので調べていたら「なるほど」と思う方法がウェブ上にありました。 Howto: svn commit rollback - Tim Hatch (Tim Hatch) 一度ダンプしたデータを編…