2007-01-01から1年間の記事一覧

20行できる高精度ハードウェア自動認識

さえないTips系のようなタイトルになってしまいましたが、これは驚きです。しかし一方で悲しい(今までの苦労は…)。 これまでLinuxのハードウェア自動認識と言えば、/sys/bus/pci/devices以下と、/lib/modules/`uname -r`/modules.pcimapを照らし合わせて解…

PXEには3種類ある

昨日の件で、PXE 2.1の仕様をしっかり読んで確認してみました。以下、試していないので実際のNICで動くかどうかは分かりませんが、内容を書いておきます。(読み違えで間違いがある可能性は大 ^_^;) まず、ほとんどのWebサイトで説明されているPXEは、普通…

DHCP Relay Agent+Filterで既存のDHCPサーバーがある環境でPXEを使う

DHCPサーバーが既にあるネットワークでPXEを使おうとすると、通常は既存のDHCPサーバーを一度落としてから、新たにPXE用のDHCPサーバーを立てないといけません。 これがVIVERでは非常に大きな問題で、1つのサブネット内で2つ目のDHCPを立てるときは、1つ…

WikiForme 0.3 リリース! - 構造化Wiki記法パーサ

新たに書き直された構造化Wiki記法パーサWikiFormeのバージョン0.3を公開します! WikiFormeは、文法を追加したりカスタマイズしたりできるWiki記法パーサです。1ソースマルチフォーマット(1つのWiki記法の文章を、HTMLに変換、TeXに変換、InDesignにイン…

WikiForme 0.2 - 構造化Wiki記法パーサ

はてな記法、PukiWiki記法、tDiary記法などなど、世の中「なんとか記法」が溢れているわけですが、往々にして「自分にぴったり合う記法なんてどこにも無い!」という結論に達する場合が多く、結果として「なんとか記法」の乱立を生んでいるのではないでしょ…

initramfs - VIVERの技術

今その価値が見直されようとしているかもしれないinitramfs。initramfs内ではほとんど何もできないかと思いきや、試してみると実は「何でもできる」ことが分かります。そうなると、いろいろやりたくなるわけですが、initramfs内でやることと言えば大体決まっ…

開発環境としてのMac OS Xカスタマイズ

Mac OS Xを使っていないプログラマは、時間の80%を無駄にしている、かどうかは知りませんが、堅いGUIとUNIX系のコマンドラインツールを使えるMac OS Xは、開発環境として使いやすいことは確か。 が、デフォルトのままでは、Terminal.appで日本語が表示でき…

1週間でFlexファイラを作ろうプロジェクト 5日目

昨日に引き続き5日目。今日の成果はこのあたり (ソースコード)に転がってます。 ウィンドウのリサイズがうまく動くようになった 急激にリサイズしてもおかしくならない 一定以上には小さくならない 常に一番左下からドラッグを開始すればリサイズできる ウ…

1週間でFlexファイラを作ろうプロジェクト 4日目

昨日に引き続き4日目。 ウィンドウを管理するswf(ウィンドウマネージャ)と、ファイラのswf(FlexFile)を別け、ウィンドウマネージャからFlexFileをSWFLoaderを使ってロードするようにしました。 目論見としては、ウィンドウマネージャはそのままに、ロー…

1週間でFlexファイラを作ろうプロジェクト 3日目

昨日に引き続き、3日目。 ファイラウィンドウを別のmxmlファイルに分けた ウィンドウを複数作れるようなった ウィンドウがD&Dで移動できるようになった(ちょっと挙動不審) ウィンドウがドラッグしてリサイズできるようになった(もうちょっと挙動不審) …

1週間でFlexファイラを作ろうプロジェクト 2日目

昨日に引き続き、2日目。今日の成果はこのあたり (ソースコード)に転がってます。(アップロード機能が無効になっており、全部Access Deniedになるので注意)今日はダウンロード機能とアップロード機能を作成。それから見た目を多少修正。 サーバー側 ダウ…

1週間でFlexファイラを作ろうプロジェクト 1日目

何となくWeb系の技術も勉強してみたい今日この頃、今Adobe AIRの影で密かに人気上昇中かもしれないWeb技術「Flex」を使って何か作ってみよう! ということで、ブラウザで動くファイラを作っています。 Flexとはなんぞや?という事については、↓のWebサイトが…

WikiForme - 自分用Wiki記法パーサ バージョン0.1!

自分用のWikiForme記法を簡単に作れるカスタマイザブルパーサWikiFormeの新バージョンを作りました。 ※2007/09/23: バージョン 0.3をリリースしました > WikiForme 0.3 リリース! - 構造化Wiki記法パーサ ※2007/09/13: バージョン 0.2をリリースしました > …

WikiFormeを改良中

少し前にプロトタイプを紹介したWikiFormeを改良中です。「手軽さ」と「柔軟さ」(カスタマイズ性)を両立するのはいつの時代も難しいと思うのですが、WikiForme的にはどちらを重視した方がいいのか。両方あればいいんですが…。 やっぱりWikiFormeの存在理由…

NBD + Device Mapper + OCFS2 + 動的にノードを追加

最近のトレンドであるクラスタファイルシステムの一つ「OCFS2」を、4+1台のPCで動かしてみました。(1台は後から追加) ディスクの共有には今流行の「iSCSI」ではなく、Linuxの知られざる古参機能「NBD」(Network Block Device)を使用。NBDを4台のマシンで…

Kazuhiki - コマンドライン引数パーサ for C++

C/C++だと、コマンドライン引数の解析って面倒ですよね。正規表現が使えれば…しかし余分なライブラリに依存するのもいただけない。 getoptも、やっぱり面倒。結局文字列からint型に変換したり、変換できなかったらエラーを出したりは、自分でやらないといけ…

みんなでターミナル Partty! 0.1リリース!

1つのターミナルを複数の人で同時に操作できるソフトウェア Partty のバージョン0.1をリリースしました! 万が一Parttyをご存じない方は、こちらをご覧ください。 ダウンロード: partty-0.1.tar.gz コンパイル LinuxとMac OS Xで動作することを確認していま…

WikiForme - 自分用Wiki記法パーサ

はてな記法、PukiWiki記法、tDiary記法などなど、世の中「なんとか記法」が溢れているわけですが、往々にして「自分にぴったり合う記法なんてどこにも無い!」という結論に達する場合が多く、結果として「なんとか記法」の乱立を生んでいるのではないでしょ…

みんなでターミナル Partty!

複数の人で同時に操作できるターミナル「Partty」というものを作ってみました。一つのターミナルを複数の人が同時に操作することができます。 partty-0.0.2.tar.gz ※追記:バージョン0.1作りました>みんなでターミナル Partty! 0.1リリース! Betaにも達して…

Mac OS Xのpoll(2)でハマった

http://developer.apple.com/jp/technotes/tn2071.html poll この API は Mac OS X ではサポートされていません。代わりにselect 関数を使用します。 なにー! 何気にコンパイルが通るところが曲者。 O_NONBLOCKをセットしたfdを食わせると、poll()までNONBL…

IPAX2007の資料を公開します

6月28日から29日に行われたIPAX 2007に出展しました。その際の資料を公開します。 ポスター(PDF 3.1MB) PDFプレゼンテーション(PDF 3.1MB) 対話型プレゼンテーション 高解像度版(QuickTime 11.2MB) 対話型プレゼンテーション 通常版(QuickTime 1.6MB…

分散ファイルシステム/ブロックデバイスをまとめる

昨日KLab勉強会#2の資料を公開しましたが、その中で動的な分散ファイルシステムを設計していると書きました。分散ファイルシステムというのは既にいろいろ存在しているわけですが、情報が分散していてサッパリ分からないので、このあたりでまとめてみたいと…

initrdに全部入れるアイディア

VIVERはやたら高機能化したinitrdですが、initrdの中にWebサーバーから何から何まで入れておけば、initrdだけでWebサーバーになるはず。initrdはブートローダでロードできれば良いので、普通にTFTPサーバーとDHCPサーバーを用意すればネットワークブートも簡…

「KLab勉強会#2」の資料を公開します

6月22日に「KLab勉強会#2」が開催されました。私もVIVERについて発表をさせていただきました。そのときの資料を公開します。 PDF資料 ぐりぐり動く対話型プレゼンテーション(通常版) ぐりぐり動く対話型プレゼンテーション(高解像度版) V-FIELDのデモ ※6…

VIVER 1.0.1リリース

VIVER 1.0.1をリリースしました!http://viver.sourceforge.jp/ HDDにインストールしてあるLinuxをディスクレスブータブルにする まずはデモディスクを試す カーネルを2.6.21.5にアップデート DHCPサーバーをリースタイムによって選択する機能を追加 V-FIELD…

「すべてWeb上にある」までの遷移、Gears、AIR

上記「ホームページ作成ツール」は、iGoogleとは少し違う。iGoogleはWebサービスであり、ローカルPCにはアクセスできない。Googleはおそらく「全部Web上にあればローカルPCになんてアクセスしなくていい」という理想があるのだろうけど、まだまだそこまでは…

余ったホームページを活用するアイディア

Webブラウザを起動したときに最初に出てくるページの方のホームページ。今時、検索エンジンは右上にあるし、ポータルサイトのトップページはごちゃごちゃして目障りだし、ニュースサイトはRSSリーダがあるし、実は皆さんホームページが余っているじゃなかろ…

typoでも動くbash alias

前回に引き続きCUIなネタを。シェルでコマンドを打つとき、長いコマンドは補完を使うので打ち間違えないのですが、「vi」や「ls」などの短いコマンドは補完を使わないのでよく打ち間違えます。特に入力に右手と左手を両方を使うコマンドは、両手の連携が必要…

vimしか使えない

vimを使おう - ウノウラボ vimerとしては、こういう記事を見つけてしまうと黙っていられないわけです。vimerと言っても、私はhjklがどうしても慣れずに矢印キーを使ってしまう軟弱vimerですが。 そんなわけで、私もちょっとしたvimのtipsを紹介したいと思い…

分散ファイルシステム クラス実装計画メモ

1. コネクションプール 現在進行中。ここの実装の良し悪しは性能に多大なインパクトを与えるので、重要。 昨日のエントリで書いたepoll/kqueueクラスを核に実装。 class ASStreamManager { // pimplイディオムで public: void registHandler(uint8_t magic, …