ソフトウェア

CentOS 5.6 上で Broadcom NetXtreme II は遅くなかった

結局は処理が当該ハードで遅かっただけでした。 それにしても、パフォーマンスの問題とは難しいものである・・・

CentOS 5.6 上で Broadcom NetXtreme II が遅い気がする

なんとなく気になる・・・Bug 641495 - [Broadcom 5.7 bug] bnx2 v2.0.8+ has scatter gather problem on AMD Dinar system $ modinfo bnx2 filename: /lib/modules/2.6.18-238.19.1.el5/kernel/drivers/net/bnx2.ko version: 2.0.8-rh ・ ・ ・ $ ethtool -…

PythonでひたすらGET

URLを書いたリストにひたすらアクセスしたくて、Pythonを使ってみた。 すごく簡単だった(エラー処理無し) #!/usr/bin/python import sys import urllib for url in open('urllist.txt', 'r'): print url res = urllib.urlopen(url); print res.code

続・libc なんていらないもん!

たけおかさんにwrite()くらいしてほしいと突っ込みをいただいたので、やってみました。Linux 32bit int write(int filedes, const void *buf, unsigned int nbyte) { int rv; asm("movl $4,%%eax\n\t" "movl %3,%%edx\n\t" "movl %2,%%ecx\n\t" "movl %1,%%e…

libc なんていらないもん!

libc 無しでとりあえず動くプログラムを、LinuxやMac OSで作ってみた。 _exit()のため、アセンブリ言語のコードがあります。なかなかおもしろいけど、これをやるくらいなら全部アセンブリ言語で書いた方がいいな〜Linux 32bit int main(int argc, char *argv…

CP/M エミュレータで BDS-C を動かしてみた

http://blogs.itmedia.co.jp/mtaneda/2011/07/cpm-bds-c-4545.html昔々使われていたCP/M上のCコンパイラ、「BDS-C」がフリーで配布されています。 http://www.bdsoft.com/resources/bdsc.html丁度C言語の歴史を書く機会があったのですが、なにぶん私が生まれ…

PHPでパケットキャプチャを書いてみた(超適当)

ふと、思い立って PHPでパケットキャプチャをしてみました。 キャプチャといっても、本当に実験レベルの適当な感じですが・・・意外とPHPのextensionは簡単につくれることがわかった!http://blogs.itmedia.co.jp/mtaneda/2011/06/php-a678.html

同じものを何回も作ると洗練される

今日はなかなか良いコーディングができて、ハッピーな気分で帰宅できました。試行錯誤しながら作ったプログラムはどうしても煩雑になりがちですが、何度か似たようなものを作っているうちに、洗練されてくると感じていました。 今回のプログラムはまさしくそ…

gdb で core を吐かせる

SIGQUITをマスクしているようなプログラムのコアを吐かせてあとから解析したい場合、 gdb でアタッチしてから、プロンプトに generate-core-file と入力すれば、カレントディレクトリにcoreがはかれます。root@ns:~# gdb -p 4241 GNU gdb (GDB) 7.0.1-debian…

MacOS X でタイムスタンプの変更

MacOS X でタイムスタンプを変更する方法です。 Windows では、この手の作業を行うフリーソフトがたくさんあると思いますが、Mac では標準機能でできます。 (実際には、付属の DVD に入っている Xcode という開発キットのインストールが必要)変更日 % /Dev…

MacOS X 10.6.7 で、App Store が起動した瞬間に異常終了する件:解決

いつぞやから、Mac App Store を起動すると、その瞬間異常終了するようになってしまいました。 エラーはこんな感じ・・・ Process: App Store [1570] Path: /Applications/App Store.app/Contents/MacOS/App Store Identifier: com.apple.appstore Version: …

新ゴルフ練習場向けシステムのデモ

半年間かけて開発した新しいゴルフ練習場向けシステムのデモンストレーションを行いました。 本日来ていただいたお客さんには、システムの旧バージョンを利用しているのですが、 いろいろと至らない点が多く、迷惑をかけてしまっていました。今回のシステム…

Google Chrome

Safari を軽快に保つために(実際のところ効果はどうなんでしょうね?)、Adobe Flash Player プラグインをインストールしていないので、 Flashを使ったサイトを閲覧するためににGoogle Chromeを使っています。 Google ChromeにはFlash Playerが内蔵されている…

SDカードへのddが遅い

Armadillo ベースの少数生産の機械で、ストレージとしてmicroSDを使っています。 microSDだと、容量も沢山使えるし、dd で丸ごとコピーができるから楽だと思っていましたが、 結構遅い・・・リーダーにもよるみたいですが、かなり待たされますね。 4GBのmicr…

非DBエンジニア vs DBエンジニア

餅は餅屋とはいったもので、私が書いた数万レコードで 2分もかかるクエリを、 すんなり 0.2秒くらいに短縮されました。興味がないことは極力やりたくないわけですが、この高速化っぷり(単に私のクエリがひどすぎただけですが)をみてると、超カッコいい!と…

バッファオーバーフローを見つける

一昨日、メンバーからSOSメールがありました。C++で、数キロバイト new するだけで、メモリ不足の例外が飛んでしまうとうい問題でした。 昨日も、今日も解決できていなかったようなので、私も調査に参加してたところ・・・問題のnewより手前でアロケーション…

いじくり倒し

私がよくやっているネットワークを扱う試験は、専用のツールを使って負荷試験を行ったりして、バグもなくなり、満足な性能が出たらリリース、といった流れになることが多いですが、 ユーザーインタフェースを伴うものは、結構大変です。今日は、タッチパネル…

新規システムを作る際の落とし穴 〜移行プログラム〜

どうしても旧システム(作ったのは私ではありません)の問題点を解決できないとして、 新規でシステムを提案するということは、よくあることなのではないでしょうか。そんなときに、しっかりと考慮しておかないといけないのが、 旧システムで蓄えたデータを…

libevent-2.0.10 のマルチスレッド対応

libevent 2系では、本体でマルチスレッド対応がなされているようです。 ただ、libevent 1系と同じAPIを使ってはだめなようで、 event_base = event_init();↓ event_base = event_base_new(); evhttp = evhttp_start("localhost", 80);↓ evhttp = evhttp_new(…

sigwait() は SIGCHLD を待てない

社内でこんな話題が出たので、実験してみました。#include #include int main(int argc, char *argv[]) { int no; sigset_t ss; (void) sigemptyset(&ss); if (sigaddset(&ss, SIGCHLD) != 0) { return (-1); } if (sigaddset(&ss, SIGHUP) != 0) { return (…

EPSON プリンタドライバ

MacOS X は、OS自体に一般的なプリンタ用のドライバが付属していて、 何も考えずにプリンタをつなげば動作するようになっています。私のEPSON PM-980Cも「一般的なプリンタ」らしく、メーカーさんのサイトを見ても、OS付属のドライバを使えと、書いてありま…

hfsCompression

Snow Leopard では、hfsCompression という仕組みがあり、HFS+でフォーマットされたパーティションにあるファイルを透過的に圧縮できるようです。 以前からなんとなくきいてはいましたが、実際に試してみました。 $ ditto --hfsCompression 対象 圧縮先とす…

ext3のジャーナルをjournalモード

使っているLinuxマシンが急に停電しても、壊れにくくするために、ext3のjournalモードを使ってみました。 通常のorderedモードのメタデータに加え、 journalモードは、実際のデータの書き込みをもってジャーナルの記録をするため、信頼性が高いらしいです。 …

[OSX[Mac]FaceTime for Mac を使ってみた

iPhone4 で使えるようになった、テレビ電話ソフトの「FaceTime」が、最近ではMacでも動きます。 Mac用は、AppStoreで購入できます(115円)Skypeなどの既存のものと比べると、機能はまだまだ発展して欲しいところもありますが、画質や音質は十分で、 何より…

Navicat

最近は仕事でSQLを使っていますが、私は苦手です・・・ 学生の頃は結構好きで、オラクルの資格試験も、SQLの分野は満点だったのですが・・・苦手ですが、やらなくてはならないので、GUIで直感的に操作できるソフトウェアを探していて、Navicatというものを発…

M-x compile

私は Linux 上の開発案件でも、Mac OS X 上の Carbon Emacs でターゲットディレクトリを afp マウントしてソースコードを書いています。 コンパイルは、Carbon Emacs 上で M-x compile したあと、Compile command に、 ssh 172.16.35.n 'cd Documents/softwa…

運用中のProDHCP移設

今日はお客さんのデータセンターで運用中のProDHCPを移設する計画があり、 勤務先のボスが経過を見守るため、データセンターへ行っていました。 私も携わっている案件ですし、行きたかったのですが、他の作業で手が離せませんでした・・・いろいろ難航したこ…

データベースプログラマになってみる

マニアックなネットワーク関連の案件ばかりやってきて、 一般的なデータベースが絡むような業務アプリケーションはあまり経験のないのですが、このところSQLite3なんかを扱っています。やってみるとなかなか面白くて、 意図した動きをしてくれる度に一喜一憂…

頭をすっきりさせないと単純なことにも気がつかない

昨日今日と、シリアル通信のプログラムを書いていました。 対向機器がシリアルインタフェースしか持っていないからです・・・ (得意は、TCP/IPを用いた通信ですが、仕方がありません)どうもうまくいかないパターンがありなんとかしないといけないのですが、 …

Armadillo-440 の Debian で KDrive を使う

Armadillo-440 に DATA IMAGE の FG0700K5DSSWAGT1 をつないだとき、 カーネルのフレームバッファは、ドライバに適切なパラメータを与えると綺麗に画像が表示されます。 (mxcfb_modedb.cを編集して再コンパイル)このカーネルで、Debianに付属のXサーバを使…