読者です 読者をやめる 読者になる 読者になる

はてなダイアリーからはてなブログに移行

久々にはてなを見ていたら、はてなブログなるものを発見。 新しいもの好きなのでさっそく移行してみました。 ソースコードの行間が開きすぎているので後でデザイン調整しようっと。

joy2key

ジョイパッドの入力をキーボードのキーコードに変換するjoy2keyを試していたけど、window名の指定が面倒なのでフォーカスがあたったところ限定にしたオリジナル版を作ってみました。Shift, Control, Metaなどのmodifierがない簡易的なものです。joy2keyのソ…

BCPLにもコルーチンがあったんだ

ますますBCPLに興味が沸いてきたかも。http://www.issei.org/blog/2007/07/coroutines-in-lua.html

Proactor Pattern

C

http://www.artima.com/articles/io_design_patterns.html私がやろうとしているのは、まさにこのProactor Emulationと呼ばれるものです。そして今悩んでいるのは、Proactor jobのスケジューリング。

$

C

$ cat hoge.c #include <stdio.h> int main(void) { char $str[] = "hello"; printf("%s\n", $str); return 0; } $ gcc -Wall -W hoge.c $ ./a.out hello $ gcc -pedantic hoge.c hoge.c:5:7: warning: '$' in identifier or number $</stdio.h>

hgwebでリビジョングラフを表示

1.0.2の最新のリリース版には入っていませんが、trunk(?)というかmainでは、hgwebでリビジョングラフの表示ができるようです。このサンプルでは、paperというstyleを使っています。gitwebに比べてシンプルでMercurialらしいですね。結構好みです。

The Game of Life

http://d.hatena.ne.jp/giveup/20080505もう少し練ってみた。 #include <stdio.h> #include <string.h> #include <stdbool.h> #include <unistd.h> #define MAX(a,b) ((a)>(b)?(a):(b)) #define MIN(a,b) ((a)<(b)?(a):(b)) void l(_Bool mas[2][10][10],int o,int n) { for(int x=0;x<10;x++) for(in</unistd.h></stdbool.h></string.h></stdio.h>…

『ビューティフルコード』

ビューティフルコード (THEORY/IN/PRACTICE)作者: Brian Kernighan,Jon Bentley,まつもとゆきひろ,Andy Oram,Greg Wilson,久野禎子,久野靖出版社/メーカー: オライリージャパン発売日: 2008/04/23メディア: 大型本購入: 30人 クリック: 617回この商品を含む…

dformatプラグインを作って遊んでみた

http://moinmo.in/ParserMarket/UmlSequence これを改造して、 {{{#!dformat style bitwid .3 PDP-8 Instr 0-2 Op Code 3 Indirect Bit 4 Page-Zero Bit 5-11 Page Address }}}こう書くと……こんな画像に変換するMoinMoinのプラグインを作ってみた。dformatは…

Radium Softwareがhatenaに移行

Radium Softwareで有名な高橋啓治郎さんの記事がhatenaに移ったようです。またちらちら覗こうっと。http://d.hatena.ne.jp/KZR/

Variadic Templates

C++

http://d.hatena.ne.jp/faith_and_brave/20080208/1202461203 http://www.kmonos.net/alang/d/2.0/variadic-function-templates.html 応用例としてprintfがあるようだ。ネタとしてはPerlとかにあるようなpack, unpackを作り、ASN.1バイナリーエンコーディン…

Plan 9もMercurialを使っているみたい

http://hg.pdos.csail.mit.edu/hg/plan9 久々に覗いてみたら hgweb の文字が。私が個人的に好感を持っているプロジェクトが次々とMercurialを使い出すのはなにかあるんだろうか。

AsciiDocでRevision History

見ないうちに8.2.5と随分バージョンが上がったみたいだけど、相変わらずrevisionhistoryがイマイチだなあ。ここだけ専用のDocBookを用意しないといけないのが面倒。これって、バージョン管理ツールとの連携を踏まえて履歴を外に出す方がいいんだろうか。git…

Advanced Message Queuing Protocol(AMQP)

http://japan.zdnet.com/oss/story/0,3800075264,20361197,00.htm http://japan.zdnet.com/oss/story/0,3800075264,20361197-2,00.htm http://www.amqp.org/ http://www.rabbitmq.com/ 非常に気になる。またもやErlangかあ。別件で調べていた時もErlangが出…

Mercurial備忘録

http://www.selenic.com/mercurial/wiki/ 最近非常に興味のあるバージョン管理システム。現在Cygwinで動作中。commit logのエンコードは、環境変数HGENCODINGにutf-8として設定。Webフロントエンドの方は、強引にレポジトリ内のファイルのエンコードにあわせ…

PIC -- A Graphics Language

コンピュータを使って文書の中に図を入れたくなった時、みなさんはどうするでしょうか。Windowsを使っている人は、Word, Excel, PowerPointで文書を書いていると思います。素直な人だとオートシェイプ機能を使うでしょう。UnixライクなOSを使っている人は、…

Graphvizでハレルチャートが描けるか?

dot言語でがんばってみましたが、限界を感じつつあります。leftyに手を出すか迷ってます。 状態遷移のネストは、subgraphのネストで実現できる。 並列表現を実現するのは、ほぼ無理。 subgraphを越えてrank付けするのが難しい。 rank付けで見栄えを整えるの…

FreeMindを使ってみました

http://freemind.sourceforge.net/wiki/index.php/Main_Page http://www.freemind-club.com/ http://mindmap.jp/ 面白いですねこのツール。結構気に入りました。ノードの編集モードで下のようにhtmlのタグが入ることを知りました: <html><a href="http://localhost/">PHPとMySQLで作成する</a> プロ</html>…

コードの行数から何が読み取れるのか?

先日、ソフトウェアのコンサルタントから、変更のあったコードの行数を数えて下さいという話があった。目的はソフトウェア規模見積もりと進捗管理のためである。方法はというと、1つのExcelを共有サーバの決められたところに置いておく。このExcelシートのフ…

初めてのPHPプログラミング

PHP

Webでデータベースを構築する目的で、初めてPHPを触ることになったのですが、その時手元にあった本がこれ。オープンソース徹底活用 MySQL4/PHP5によるWebデータベース構築作者: スペンサー・K.オガワ,Spencer K. Ogawa出版社/メーカー: 秀和システム発売日: …

phpCollabをWindowsマシンにインストール

してみました。経緯としては、いい加減共有フォルダとExcelでの管理にうんざりしてきたからです。で、感想ですが、プロジェクトの中でグループ分けみたいなことができるといいのになあと。1つのプロジェクトに50人もの人数をぶら下げてフラットに管理するの…

AsciiDocのワイド文字対応手抜きパッチ

主流は、reStructuredTextのようですね。 AsciiDocいいのになあ。 DocBookに変換できる。 お手軽なわりにOutputの完成度高い。 (個人的に)ソースがreStructuredTextより見やすい。 いまいちなのは、ワイド文字だと見栄えがよろしくないこと。タイトルや見出…

/dev/bpfをreadした場合、データグラム単位になっているか?

BSD

NetBSD 1.6.2 Releaseのソースしか見てませんが、答えを先に言うと、データグラム単位です。 はっきりした仕様なのか、実装の都合なのかはわかりません。man bpfを見ても、いまいち載ってなかったので、 bpfドライバの実装を見ることに。ソースはこの2つを見…

セミコルーチンの実装(x86 only)

C

手っ取り早く、手ぬきで実装するとこんな感じになります。 他のマシンで実行したい場合は、jmp_bufの中身をよく観察して、適切なインデックスに突っ込めば、大抵OKです。 #include <stdio.h> #include <stdlib.h> #include <setjmp.h> typedef struct co { void (*proc)(void); jmp_buf jb</setjmp.h></stdlib.h></stdio.h>…