タグ

ブックマーク / hayamiz.hatenadiary.org (8)

  • GDBで歴史をさかのぼれるように!なりました! GDB 7.0 の新機能Reverse Debuggingを使ってみた - 日記を書く [・w・] はやみずさん

    Twitter上で、@alohakun が言及していた GDB の reverse debugging の機能を使ってみました。 GDB にトレースと逆実行機能入ったのか。 http://www.gnu.org/software/gdb/news/reversible.html http://twitter.com/alohakun/status/4481139191 まずは簡単な使い方を説明したあとに、インストール方法を説明します。 こんなときに便利 「変なこと」が起きている大体の場所がわかっているとき デバッグ中に、大体どこで変なことが起きているかはわかっているけど、細かい場所は特定できていないとき、reverse debuggingが効果を発揮します。 GDBでステップ実行をしていて、「しまった!行きすぎた!」という経験はよくあると思います。こういうとき、今まではプログラムの実行を最

    GDBで歴史をさかのぼれるように!なりました! GDB 7.0 の新機能Reverse Debuggingを使ってみた - 日記を書く [・w・] はやみずさん
    antipop
    antipop 2009/10/01
  • Emacsでサッとメモして自分専用辞書を構築するjot-modeを書きました - 日記を書く [・w・] はやみずさん

    なんか車輪の再発明っぽいけど、自分の用途にフィットしてミニマムなものがみつからなかったので作ってしまいました。 jot-mode とは "単語"と"自分が書いたメモ"を関連付けるためのマイナーモードです。 jot-modeを書こうと思った理由は、code readingをしているときに「あれ、この関数ってなんだっけ」と思うことが何度もあったからです。 gnu globalを使えば、Emacs上で目的の関数の定義にジャンプして調べることができます。しかし、こういうときに欲しいのは「関数の定義」ではなく、「関数の(自分の)理解」なわけです。関数の定義(実装)やその周辺のコメントも有用ですが、「よーするにこういう役割の関数」とか自分の言葉で書いたメモを即座に参照したい。 この問題を解決するためにjot-modeを書きました。jot-itコマンド(デフォルトではM-j)を実行すると、現在カーソルの

    Emacsでサッとメモして自分専用辞書を構築するjot-modeを書きました - 日記を書く [・w・] はやみずさん
  • Blokus Duo - 日記を書く [・w・] はやみずさん

    最近プログラムをまともに書いていないので、練習がてらブロックスデュオをC言語でかいてみた。ブロックスデュオは、ブロックスというゲームの亜種のようだ。1日に3〜4時間ほど?投入して、3日くらいでできました。 http://github.com/hayamiz/blokusduo/tree/master C言語でやるにあたって、汎用的なデータ構造あったほうが楽かなー、つくるのめんどいなー、外部のライブラリ引っぱってくるほどでもないしなー、とか思いながら場当たり的に書いていったので、頻繁にreallocしまくったり、コードを書く量を減らしたいがためにmallocして作ったデータをほとんど使わずにfreeしてみたり、合法手の生成が総当たりだったりと、教育的にはよろしくない感じのコードですいませんすいませんという感じ。 一応、全体的なプログラムの構造としては、後からUIGUIも選べるようにしたり、

    Blokus Duo - 日記を書く [・w・] はやみずさん
    antipop
    antipop 2009/04/15
  • widen-window.el をリリース - 日記を書く[・ _ゝ・]はやみずさん

    Emacsのマイナーモード widen window mode というものを書きました。 これはなに? Emacsで画面を2分割や3分割して作業をしている人は多いと思うのですが、ディスプレイが小さい場合に1つのバッファが表示される領域(Emacsの用語でwindowという)が小さくなってしまい、作業しづらくてイライラする!ということはないでしょうか。 そんなイライラを解決するのが、widen window mode です。 widen window mode を使うと、フォーカスのある window のサイズが自動的に大きくなります。 とりあえずデモを見てもらえば、何が起きるのか一目瞭然かとおもいます。 インストール方法 CodeRepos に最新版をupしておきました。 download widen-window.el インストールするには、winden-window.el を load

    widen-window.el をリリース - 日記を書く[・ _ゝ・]はやみずさん
  • Gaucheでシェルスクリプト的な何かを書くための、キモいツール書いた - 日記を書く [・w・] はやみずさん

    Gaucheってそのままだとシェルスクリプト的なものををちょっと書いたりする用途にはあんまり向いてなくて、普通にシェルスクリプト書いたりruby使ったりしてたんだけど、そろそろgaucheでやりたいじゃん、という気分になってきた。用途からすると、似たようなライブラリを誰か書いていてもいい気がするけれど、調べるのも面倒なので自分で書いてみた。ついでにそのライブラリをデフォルトで利用できる状態にした上に、初期化ファイルを読みこんでgoshを起動するgoshellというコマンドをつくった。 まず、予め使いたいシェルのコマンドを $HOME/.goshellrc に登録する。とりあえず mkdir, ls, wget あたりを登録するときは、こんな感じ。 (define-commands mkdir ls wget) さて、例えば http://foo.com/[000-999].jpg という1

    Gaucheでシェルスクリプト的な何かを書くための、キモいツール書いた - 日記を書く [・w・] はやみずさん
    antipop
    antipop 2008/04/18
    イカすなあ。
  • gdbをEmacsから使う動画 - 日記を書く [・w・] はやみずさん

    gdbを素でつかっている人がいるらしいので、Emacsから使う様子を録画してみた。 zoome版(説明コメントなどあり): http://zoome.jp/hayamiz/diary/1/ YouTube版(画質悪い) 録画について コメントでid:tkngさんに教えてもらったrecordMydesktop(aptで入る)を使ってubuntu上で録画しました。Coding動画の録画はこれがいちばんよいかもしれない。

    gdbをEmacsから使う動画 - 日記を書く [・w・] はやみずさん
  • 最もタメになる「初心者用言語」はScheme! - 日記を書く [・w・] はやみずさん

    最もタメになる「初心者用言語」は Python! - 西尾泰和のはてなダイアリー Schemeなら、えんざんしとかえんざんしのゆうせんじゅんいとかいんでんととか小難しくてよくわらないものがないから、初心者でも安心して簡単にできるよ > < しかもしかも、ループと再帰呼び出しとか2つもいっぺんに覚えなくても、末尾呼出し1つだけ覚えれば両方できちゃうよ!Schemeすごい! Schemeで豊かな表現力を身につける なんだかよくわからないけど、巷のプログラミング言語は * とか - とか ? が変数名とか関数名につかえない。演算子?なにそれ初心者には難しくてわかんない>< Schemeだったら、「それってシンボル?」って聞く関数は symbol? っていう名前にできるよ。 is_symbolとかわかりにくいよね!!!アンダーバーとかタイプしにくくて初心者向けじゃないし!!! 参照透明できれいな心

    最もタメになる「初心者用言語」はScheme! - 日記を書く [・w・] はやみずさん
  • オブジェクトを文字列に書き出す - 日記を書く [・w・] はやみずさん

    twittering-modeのデバッグで、Lispオブジェクトを文字列で書き出せると便利だなーと思って作ったelisp。schemeだとwriteがあったりするんだけど、elispは探してもみつからなかったので自作した。 Lisp interaction modeだとC-jでeval-printできるけど、それでは要素の多いリスト(load-pathとか)は完全に印字できないので、そういうときに便利。 (defun inspect-object (obj) (cond ((stringp obj) (format "\"%s\"" obj)) ((symbolp obj) (format "%s" obj)) ((integerp obj) (format "%d" obj)) ((floatp obj) (format "%f" obj)) ((listp obj) (let ((re

    オブジェクトを文字列に書き出す - 日記を書く [・w・] はやみずさん
  • 1