タグ

ブックマーク / 0xcc.net (10)

  • 普通のやつらの下を行け: C でバックトレース表示 - bkブログ

    普通のやつらの下を行け: C でバックトレース表示 普通のやつらの下を行けの第2回として、今回は glibc の関数を使って C でバックトレース (スタックトレース) の表示を行ってみます。 バックトレースとは バックトレースとは、大ざっぱに言うと、現在の関数に至るまでの道筋です。たとえば、次の Ruby プログラムを実行すると、 1 / 0 の行で例外が発生して、バックトレースの表示とともにプログラムは異常終了します。 def foo 1 / 0 end def main foo end main この例では main から foo を呼び foo の中の 1 / 0 の部分で例外が発生しています。 % ruby divide-by-zero.rb divide-by-zero.rb:2:in `/': divided by 0 (ZeroDivisionError) from div

  • JavaScript でソートアルゴリズムを可視化 - bkブログ

    JavaScript でソートアルゴリズムを可視化 JavaScript でソートアルゴリズムを可視化するプログラムを書いてみました。元ネタは Jon Bentley による ソートアルゴリズムを可視化する Java アプレットです。 アルゴリズム 要素数 動作確認は Firefox 2, IE 7, Opera 9 で行いました。要素数は最大で200まで選べますが、かなり重くなるので遅いマシンで実行すると危険です。 English version is also available. ソースコード: sort-animation.js 解説 X軸が配列の添え字、Y軸が配列の要素の値を示しています。最初に要素がランダムに並んでいる配列 (値に重複なし) を作って、それを各種のソートアルゴリズムでソートする様子をアニメーションで表示します。 ただし、要素のあらゆる変更に対して毎回表示を更新し

  • 私の情報整理術: 捨てる派の情報整理術

    捨てる派? 捨てない派? 情報整理術は興味の尽きないトピックです。誰もが何かしらのこだ わりを持っているため、ひとたび議論が始まると、自分はこうやっ てる、俺も昔はそうやっていたが駄目だった、などと始まって収拾 がつかなくなります。これはちょうど誰もがうまいラーメン屋につ いて一家言を持っているのと似ています。 私の観察によると、ある種の人たちが情報整理術について議論を始 めると永遠に平行線で終わるようです。それは「捨てる派」と「捨 てない派」です。 捨てる派によれば、「物理的なものにしろ電子的なものにしろ、い らないものはどんどん捨ててしまえばよろしい。不要なものがたく さんあるから必要なものが見つかりにくくなるのだ。第一、ものが 少ない方が気分がすっきりする。昔から、墓場まで情報は持ってい けないと言われているではないか」ということになります。 一方、捨てない派によれば「必要か不要か簡

    larker
    larker 2006/05/12
    ものが少ない方が気分がすっきりする
  • Ruby, Pythonで並列に逆引きを行う - bkブログ

    Ruby, Pythonで並列に逆引きを行う ウェブサーバのログを解析するときなど、IPアドレスからホスト名を引く処理 (逆引き) を大量に行いたいときがあります。DNS への逆引きの問い合わせには場合によっては数秒待たされることがあるため、大量の IP アドレスをひとつづつ順に処理していくとかなり時間がかかります。 記事では Ruby または Python でマルチスレッドで並列に逆引きを行う方法を紹介します。 Ruby の場合 Ruby で逆引きを行うには socket ライブラリを使う方法と、Resolv ライブラリを使う方法があります。マルチスレッドで並列に逆引きを行うには Resolv ライブラリを使う必要があります。 socket ライブラリを使った場合、 Socket.gethostbyaddr か Socket.getaddrinfo を使って逆引きを行います。これらは同

  • Jockey で Linux のプログラムの実行を記録・再生する - bkブログ

    Jockey で Linux のプログラムの実行を記録・再生する Jockey は Linux のプログラムの実行を記録・再生するツールです。システムコールと一部の CPU命令をフックして実行時の入出力をログに記録することによってプログラムの再生を実現しています。主にデバッグ用途に使います。 インストール Jockey は Debian パッケージになっていないため、ソースコードからビルド・インストールしました。事前に ruby, boost, zlib などをインストールしておく必要があります。 記事を執筆している時点で Jockey の最新版は 0.8.1 です。手元の Debian GNU/Linux の環境ではこのようなパッチを当てる必要がありました。ビルド・インストールは普通に ./configure && make && sudo make install を実行すれば OK

    larker
    larker 2006/01/23
    Jockey は Linux のプログラムの実行を記録・再生するツール
  • Epeg で JPEG ファイルのサムネイルを高速に生成する - bkブログ

    Epeg で JPEG ファイルのサムネイルを高速に生成する Epegは JPEG ファイルのサムネイル (縮小画像) を高速に生成するライブラリです。JPEG に特化した手法でサムネイルの処理を行うため、内部的に画像をビットマップに伸張せず、高速かつ少ないメモリで処理できるのが特徴です。 インストール Epeg は Debian パッケージになっていないようなので、ソース (ダウンロード) からインストールしました Epeg は内部的に libjpeg を使っているため、Debian GNU/Linux では sudo apt-get install libjpeg62-dev で事前にインストールしておく必要があります。 Epeg そのものは ./configure && make && sudo make install でビルド・インストールできます。 サンプルコード Epeg の

    larker
    larker 2006/01/20
    Epegによるサムネイル画像の高速作成
  • mobileimap: an IMAP-based web mailer for mobile phones

    What's mobileimap? mobileimap is an IMAP-based web mailer for mobile phones. Using mobileimap, you can access your IMAP mailbox from mobile phones such as i-mode and au in Japan. mobileimap runs as a stand-alone HTTP server instead of a CGI script. What's new 2004-06-09: mobileimap 2.5 Released! 2003-04-08: mobileimap 0.1 Released! The initial version was released. Screenshots The following screen

  • いやなブログ: 読解いやな法則: 横着をするための労力を惜しんではいけない

    読解いやな法則: 横着をするための労力を惜しんではいけない 読解いやな法則の第3回です。今回は、プログラマに当てはまりやすい法則である「横着をするための労力を惜しんではいけない」を取り上げたいと思います。 以前に、横着プログラミングという連載記事の第1回で次のような言葉を紹介しました。怠惰は発明の母であるという主張です。 私は必要が発明の母だとは思わない。私の意見では、発明とは怠惰から、おそらくはまた、まさに無精から生じるものである。面倒を省くために。 -- アガサ・クリスティ 一方、 Perl の作者である Larry Wall は「プログラマの三大美徳は怠惰・短気・傲慢である」と述べています。怠けるためにプログラムやドキュメントを書くのはプログラマにとって最大の美徳である、とのことです。 このような先人の知恵を元に「横着をするための労力を惜しんではいけない」という法則は生まれましたが、

  • 横着プログラミング 第6回: chatty: 小うるさい端末

    最終更新日: 2002-09-18 (公開日: 2002-09-18) Unix Magazine 誌に 2002年1月号から 2003年2月号にかけて連載し ていた記事の元の原稿です。 才気に富んだことは個人が行うのが通例であり、信じがたきバカ さ加減は大抵組織に帰されるものである。 -- Jon Bentley *1 役に立たないソフトウェアを作るのが好きだ。面倒な作業を楽にす る横着ソフトウェアもいいが、たまには人を呆れさせるくだらない ソフトウェアを作るのも楽しい。 以前に私が開発した cdbiff*2というソフト ウェアは、メールが届くと PC の CD-ROMドライブが開いてメール の到着を通知するという役に立たないものであったが、そのくだら なさが受けて予想外の好評を得た。今回は、そうした役に立たない ソフトウェアの 1つである、小うるさい端末 chatty*3 を紹介する。

  • 横着プログラミング

    このページでは Unix Magazine 誌に 2002年1月号から 2003年2月号にかけて連載し ていた記事の元の原稿を公開しています。 目次 第1回: Unixのメモ技術 (2002年 1月号) 第2回: Migemo: 日語のインクリメンタル検索 (2002年 2月号) 第3回: 履歴マニア (2002年 3月号) 第4回: ttyrec: 端末を録画再生するツール (2002年 4月号) 第5回: QuickML: 超お手軽なメーリングリスト (2002年 5月号) 第6回: chatty: 小うるさい端末 (2002年 7月号) 第7回: zphoto: ズーミングするオンラインアルバムを作るツール (2002年 8月号) 第8回: pdumpfs: 毎日のスナップショットを保存する (2002年 9月号) 第9回: Sary: Suffix Array のライブラリとツー

  • 1