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

GNU PIC 実行環境構築

GNU PIC の実行環境を構築する。pic は、Making Pictures With GNU PIC や Troff resources の pic セクションが参考になる。Troff resources の pic セクションに、ps ファイルがあるけど、ps2pdf で pdf ファイルにしておくと便利。 2011-02-24 文字の滲み…

diredでファイルの一時バックアップ

バージョン管理するほどじゃないときに、ファイル名.YYYYMMDD-hhmm~でバックアップする。原始的だけど、便利だから仕方ないね。 ;; 一つのファイルまたはマークされたファイルのバックアップ (defun my-dired-backup () (interactive) (let* ((files (dired-…

Graphvizでオブジェクト図

Graphvizでオブジェクト図を書く。図案は ダイアグラム別 UML徹底活用 (翔泳社) より一部引用 図 Graphvizでオブジェクト図 // -*- coding: utf-8-unix -*- digraph sample { graph [fontname = "monospace", fontsize = 10, ranksep = 1, nodesep = 1]; nod…

dired で ファイルを選択状態でエクスプローラを起動

dired でだいたいのことはできるけど、 Windows だと エクスプローラ を使って操作する必要がたまにある。dired から エクスプローラを起動できるようにしておく。/select オプションは、ファイルを選択した状態でエクスプローラを起動できるので便利。この…

引数で与えたファイルを一つずつ処理する

一つ一つのファイルに何かコマンドを適用するというのをよくやるので、楽にできるようにしておきたい。each_args.sh #!/bin/sh # 引数の一つ目で実行するコマンドを与えて、二つ目以降の引数に適用する。 # example # each_args.sh 'zip `basename $1 .txt`.…

yasnippet と anything-c-yasnippet の起動をタブに統一

yasnippet, anything-c-yasnippetのまとめエントリー - IMAKADO::BLOG で、yasnippet と anything-c-yasnippet の起動方法が別々になっているのをタブに統一したい。タブを押したとき、 yasnippet で候補があったら、yasnippet を実行 yasnippet で候補がな…

org-mode を毎日使う

org-mode は良いツールであることに間違いないが、高機能すぎてやる気がおきなかったし、手を出したあと時間が経つとすっかり使い方を忘れていた。このところ、org-mode に関する情報が再びでてきた。 org-mode は何年かに一回ぐらい話題になっていたので、…

C-e を 2 回連続して実行したら、行末を trim する

http://d.hatena.ne.jp/kitokitoki/20100131/p4 を見て、似たようなのが 設定ファイルにあるので貼っておく。自分で作ったのか、どっからか引用したのか忘れた。sequential-command.el のほうが便利か? ;; 行末に飛ぶ。連続で実行したときは、後ろについて…

Graphviz でシーケンス図

Graphviz でシーケンス図を書く。UML のシーケンス図に活性化というのがあるが、Graphviz では無理か ? 図 Graphviz でシーケンス図2010-02-01 修正。よりシンプルに digraph sample { graph [fontname = "monospace", fontsize = 10, rankdir = TD]; node […

C プログラミングでの 設定ファイル読み込み

Windows だと iniファイルを GetPrivateProfileString などで読めるが、 C 単体だとそんなのない。 C で ini ファイルのパーサを作るか、何かライブラリを入れるしかない。そこで、 ini ファイルの変わりにシェルスクリプトと環境変数を使うことを考える。設…

pthread で タイマスレッドの実装

pthread で 指定したタイムアウト時間にコールバック関数を実行するタイマスレッドを実装。 nanosleep で 10ms 毎に起床しタイマアウトをチェックする。起床タイミングは nanosleep の性能 によるので、古い Linux とかだと正確に 10ms にならない。 10 ms …

pthread で itron ライクな sng_msg と rcv_msg (例)

http://d.hatena.ne.jp/l1o0/20100119/1263910139 の使用例 #include <mbox_test.h> #define NUM_OF_THREAD 3 void test_example_init() { int ercd; int i; u_int mbox_ids[NUM_OF_THREAD]; ercd = init_mbox_table(); if (E_OK != ercd) { fprintf(stderr, "init_mbox_t</mbox_test.h>…

nanosleep の精度

nanosleep が pthread のスケジューリングポリシーと優先度で違いが出るか実験。結果は、変わらない(当たり前?)。それより、 10 ms の nanosleep からオーバヘッド 1ms 程度以内 で復帰できるとは最近の Linux は精度があがってる。 #include <stdio.h> #include <stdlib.h> #in</stdlib.h></stdio.h>…

pthread で itron ライクな sng_msg と rcv_msg (ソースコード)

pthread で itron ライクなメッセージ機能の実装の続き http://d.hatena.ne.jp/l1o0/20100118/1263812821メモリブロックは malloc 使用。リングバッファをメールキューとして、リングバッファのアクセスを mutex でガード。 pthread_cond_signal で送信通知…

pthread で itron ライクな sng_msg と rcv_msg

pthread で itron ライクなメッセージ機能の実装。とりあえずヘッダファイル。メールボックスの数は NUM_OF_MBOX 、メールキューの大きさは NUM_OF_MSG で決め打ちにした。 #ifndef _MBOX_H_ #define _MBOX_H_ #define _GNU_SOURCE #include <stdio.h> #include <stdlib.h> #inc</stdlib.h></stdio.h>…

Graphviz で凡例付き配置図

Graphviz で凡例付き配置図を書く。 図 Graphviz で凡例付き配置図 digraph sample { graph [fontname = "monospace", fontsize = 10]; node [fontname = "monospace", fontsize = 10]; edge [fontname = "monospace", fontsize = 10]; // node node [shape …

Graphvizで配置図

Graphvizで配置図を書く。 図 Graphvizで配置図 digraph sample { graph [fontname = "monospace", fontsize = 10]; node [fontname = "monospace", fontsize = 10]; edge [fontname = "monospace", fontsize = 10]; // node node [shape = box3d]; deployme…

Graphvizで凡例付きクラス図

Graphvizで凡例付きクラス図を書く。図案は ダイアグラム別 UML徹底活用 (翔泳社) より引用 図 Graphvizでクラス図 digraph sample { graph [fontname = "monospace", fontsize = 10, ranksep = 1, nodesep = 1]; node [fontname = "monospace", fontsize = …

Graphvizでクラス図

Graphvizでクラス図を書く。図案は ダイアグラム別 UML徹底活用 (翔泳社) より引用 図 Graphvizでクラス図 digraph sample { graph [fontname = "monospace", fontsize = 10, ranksep = 1, nodesep = 1]; node [fontname = "monospace", fontsize = 10]; edg…

Graphvizで凡例付きステートチャート図

Graphvizで凡例付きステートチャート図を書く。凡例に色々入れすぎたな。 図 Graphvizで凡例付きステートチャート図 digraph sample { graph [fontname = "monospace", fontsize = 10, rankdir = TD, compound = true]; node [fontname = "monospace", fonts…

Graphvizでステートチャート図

Graphvizでステートチャート図を書く。 図 Graphvizでステートチャート図 digraph sample { graph [fontname = "monospace", fontsize = 10, rankdir = TD, compound = true]; node [fontname = "monospace", fontsize = 10]; edge [fontname = "monospace",…

メール送信時に宛先とサブジェクトを確認

Mewでメール送信時に宛先とサブジェクトをミニバッファに表示して、チェックを促すようにした。 (defun my-mew-send-check () (let ((subject (mew-header-get-value mew-subj:)) (to (mew-header-get-value mew-to:)) (cc (mew-header-get-value mew-cc:)) …