Entries from 2006-10-01 to 1 month

衝動

Hey Bulldogを静かな部屋で良いスピーカで聞きたい!(もしくはQC3で)

関数型言語の勉強にSICPを読もう - (80) 5章 - レジスタ計算機での計算(295-319ページ)

しばらくサボっていたので反省して一気に読み進める。 ちょっと難しいところにさしかかったので、まとめて読んだ方が忘れなくて良い。 レジスタ計算機は、仮想的な話なのだけどコンピュータの奥底を眺めているようで不思議な気持ち。 5.1.2 レジスタ計算機の…

C-t が被った

elscreenの prefixの C-tと gtags の pop の C-t と自動繰り返し検出機能の C-t が被った。 誰か助けて。

某スーパークリエータ

100円ショップで買ったベルトをしているらしい。 親近感がわきます!*1 *1:実話

記憶

最近、人と話していて「XXXについてXXXと日記で書いてましたよね。」と言われたときに、「そんなこと書いたっけ?」と思うことが良くある。 家に帰って検索すると確かに書いている。 自分の日記なのに他人の方が詳しいってのはどうなのかと思う。 記憶力がや…

pipe実装中

pipe を実装していたのですが、とんでもないことに気付きました。 Monaのシェルからは「|」が入力できない*1。 今までスクリプトを実行させてテストしていたので気付くのが遅れました。 で、ふと思ったのです、「別に | じゃなくて良くね?」と。 それを某IR…

「_」って何だ?

今日某コードを移植しようとしていたら printf (_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);「_」という謎のシンボルが。 何だろうなぁと思ったら、gettext のエイリアスだということを教えてもらいました。 なるほど。一つ賢くなった。 参照:Gett…

デマングル

C++

公開ハックで c++filt というツールを知った。 nobita% c++filt _Znw operator newおぉ!

勝手build

ChangeLogの更新時には make が動かないようにした。 これ以上、対象が増えるならば禁止リストを保持しよう。

Mona 公開ハックに行ってきた

TinoさんとBaysideさんとIさんが主催する「Mona公開ハック」に参加してきました。 趣旨は↓こんな感じ。 BayGCを1日で作り上げることを目標にTinoとbaysideが開発に励みます。 【追記】GCについてはWikipedia-j:ガベージコレクションを参照してください。 そ…

Bose Quiet Comfort3

今日Apple storeに行って、Quiet Comfort3なるものを発見。 試聴してみたら、うわってくらい良い音。 しかもサイズが小さいのが良い。 なんとかお金を工面して買いたいと決心。 そろそろTriportを卒業だな。 バイトでもするか(ぉ。The Apple Store (Japan) …

C/C++の debug print をEmacsでサポートするのないかな?

こういう Emacs Lisp はないだろうか? 例えば以下のような文脈で dword size = monapi_read_stdin(buffer, 256);デバッグのために size がいくつか?を見てみようってことは良くあると思います。 多くの人はこの程度の事であれば、デバッガを使わずに print…

pipeっぽいプロトタイプ

現在 Mona で標準入出力をきちんと実装しようということでいろいろ実験しています。 今日は pipe っぽいプロトタイプを実装してなんとか動きました。 pipe は今のところ一つしか使えません。 いろいろと実装上の課題が見えたので Wiki の方にまとめよう。

世に対して思う事

今日奥さんが「森博嗣のブログを結構読んだのだけど、あなたと似ているね。」と言われた。 どこが?と聞き返すと 「世に対して思っている事とか」との事。 ほめられているのか呆れられているのかは分からないが、言いたいことは分かる気がする。

Emacs reverse-region

小ネタです。 1.hoge 2.hage 3.hige M-x reverse-region 3.hige 2.hage 1.hoge今日実際に使いました。

標準入出力実装中

[done]branches/mona-stdio [done]プロセスサーバがプロセスのstdin/stdoutのハンドルを持つ [done]プロセスを起動時に stdin/stdout を指定できるようにAPIを拡張する [done]stdin から read するAPIを作る [done]stdout へ write するAPIを作る 簡単なプロ…

ラテンアメリカンの人からメールがきた

OS

最近ちょくちょく英語でMona関係のメールが来るのですが、自称OSマニアな人から以下のものを勧められました。 SciTech Software, Inc - Better Ideas, Open Solutions. Backbone - a GNUstep-based desktop environment Greg Haerr's Nano-X Window System P…

番組表で動画再生

はてなRSSの番組表モードで、動画がその場で再生できるようになりました。 動画のサムネイルにカーソルをあてて再生ボタンを押すと再生されます。 はてなRSSのサンプル 2006年10月11日の番組表で実際に見られます。

svn:ignore

Emacs Lispを lisp ディレクトリに放りこんでおいて、Subversionでバージョン管理をしています。 その際に byte-compile された *.elc なファイルたちは当然バージョン管理下には置きません。 なので svn status などしたときにこいつらは無視して欲しくなり…

GNU GLOBALが symlink をfollowしてしまう

GNU GLOBAL を -a オプションで使うと absolute path でファイルの情報が返ってきます。 その際に、symlink を展開してしまうので Emacs で symlink のファイルを編集しているときに M-t で開いたファイルだけパスが変わってしまいちょっと困っています。 明…

Emacs Lispから非同期に外部プロセスを起動する

mona-build.elのおかげでEmacsでソースコードを編集時に自動でMonaがビルドされるようになりました。 次に面倒なのがQEMUの起動です。 Alt-Tabでターミナルに移動して、ctrl-p Enter。たったこれだけなんだけど面倒!。 自動ビルドが成功したら、自動でQEMU…

任意のはてなRSSキーワードが作れるようになりました

機能変更、お知らせなど - はてなRSS日記 - 任意のはてなRSSキーワードを作れるようになりました

C-c q で QEMU起動は問題が

C-c q で QEMU起動は tiarra の終了とキーバインドがかぶる。 こういう場合は 共存できるようにする(tiarraのときは終了にバインド) キーバインドを変える のどちらかだな。前者で賢い方法があるかもしれないので明日調べよう。

MinGWで gcc4.1.1環境を作る

環境 いまはパッケージで入れた gcc 3.4.4です。これを新しくします。 nobita% uname -a Linux nobita 2.6.15-26-386 #1 PREEMPT Thu Aug 3 02:52:00 UTC 2006 i686 GNU/Linux nobita% gcc --version gcc (GCC) 4.0.3 (Ubuntu 4.0.3-1ubuntu5) nobita% /usr/…

Mona 0.3.0alpha8 リリース

本日、Mona OSプロジェクトは Mona 0.3.0alpha8 をリリースしました。 大きな変更点は以下の通りです。 ネットワーク対応の一環として簡易ブラウザが追加されました VFSに対応したファイルサーバの完全書き換えをしました ソースツリーがSubversionに移行し…

あなたの話はなぜ「通じない」のか

最近Monaプロジェクトで議論をする際に 自分の言いたい事が伝わっていない 相手の言いたい事が分からない 議論の本筋と違う所へと話がそれてしまう などがあって力のなさを感じていました。 議論の方法論でも学ぼうかといろいろ聞いてみたところ id:naoya が…

「邪魅の雫」と「εに誓って」

「邪魅の雫」 京極堂の人は本当に久しぶりですね、発売日でもめたときは心配しましたが良かった良かった。 前回のアレはすぐにネタが分かってしまったのですが今回は最後の方まで楽しめました。 京極堂の蘊蓄が少ない 最近の作品は榎木津に頼りすぎじゃない…

dot files

dot files (.emacs, .zshrcとか)を Subversion できちんと管理するようにした。 シンボリックリンクを張るスクリプトも合わせて書いた。 これで安心。

find -name "*.cpp" | xargs grep 'hoge'

zsh

find -name "*.cpp" | xargs grep 'hoge' find -name "*.pm" | xargs grep 'hoge' find -name "*.h" | xargs grep 'hoge'というコマンドがやっと手に馴染んできて良く使うようになったので .zshrcに function として以下のように登録した。 function fxg() {…

delete this; はアリか

昨日 ChangeLog にメモっていたのに日記に貼るのを忘れていた。 カーネル側のMutexインスタンスをを複数のプロセスが共有していている状況があり、Mutexインスタンスの破棄タイミングをコントロールするために自前でリファレンスカウンタで管理しようと思い…