[[FrontPage]] > [[misc]] > [[misc/memo]]


xxd -p -r hexfile | od -A x -t xI -v | xxd -r > binfile


busybox の rmmod は depmod してない .ko を指定すると SEGV する。
process_module -> find_alias が NULL 返して死ぬ。

 1. どんなもの?
 2. 先行研究と比べてどこがすごい?
 3. 技術や手法のキモはどこ?
 4. どうやって有効だと検証した?
 5. 議論はある?
 6. 次に読むべき論文は


 らじる
 ------
 rtmpdump -r rtmpe://netradio-fm-flash.nhk.jp/ --app live \
 --playpath NetRadio_FM_flash@63343 \
 --swfVfy http://www3.nhk.or.jp/netradio/files/swf/rtmpe.swf?ver.2
 --live -o nhk_fm_tokyo.flv
 
 cat some_pipe | \
 gst-launch -v fdsrc ! flvdemux name=demux demux.audio ! \
 queue ! ffdec_aac ! alsasink device=default

 gstreamer
 ---------
 gst-launch filesrc location=hoge.mp4 ! qtdemux name=demux
 demux.video_00 ! queue ! ffdec_h264 ! colorspace ! ximagesink
 demux.audio_00 ! queue ! ffdec_mp3 ! audioconvert ! alsasink


* Xf86 fbdev [#bde3d95c]

http://comments.gmane.org/gmane.comp.freedesktop.xorg/37811

 R/W ラッパーを使う fb ドライバの作り方
 
 参考: http://cgit.freedesktop.org/xorg/driver/xf86-video-vermilion/tree/src/vermilion.c
 
 FB_ACCESS_WRAPPER を ON にしてコンパイルした libwfb
 FB_ACCESS_WRAPPER を OFF にしてコンパイルしたら libfb
 
 wfbScreenInit : fbscreen.c
   wfbFinishScreenInit
     SetupWrapProcPtr setupWrap, FinishWrapProcPtr finishWrap を登録
 
 fbPrepareAccess
   setupWrap にポインタが渡ってきて、
     wfbReadMemory, wfbWriteMemory が更新され、
     それ以降は更新されたラッパー関数が使われる
 
 typedef FbBits(*ReadMemoryProcPtr) (const void *src, int size);
 typedef void (*WriteMemoryProcPtr) (void *dst, FbBits value, int size);
 typedef void (*SetupWrapProcPtr) (ReadMemoryProcPtr * pRead,
                                   WriteMemoryProcPtr * pWrite,
                                   DrawablePtr pDraw);
 typedef void (*FinishWrapProcPtr) (DrawablePtr pDraw);

*bluetooth [#tbebd8b6]

 modprobe ehci-hcd
 modprobe btusb
 modprobe hidp
 modprobe evdev
 
 /usr/local/sbin/hciconfig
 /usr/local/sbin/hciconfig hci0 up
 /usr/local/bin/hcitool scan
 # (power on the keyboard)
 /usr/local/bin/hidd --connect 58:BD:A3:3B:65:EF
 /usr/local/bin/hcitool con
  /usr/local/bin/hidd --show
 cat /proc/bus/input/handlers
 cat /proc/bus/input/devices
 hexdump /dev/input/event0


*暫定 [#f8a1fd9a]

http://www.oracle.com/technetwork/jp/java/javase/overview/index.html

-agentlib:hprof=cpu=times

http://www.02.246.ne.jp/~torutk/javahow2/commandline.html

AVI 参考

http://msdn.microsoft.com/ja-jp/library/cc354259.aspx

| PlayStation 2   | 75M triangles/sec |  |  |
| Adreno 200      | 22M triangles/sec | 133M 3D pixels/sec |  |
| Adreno 205      | 41M triangles/sec | 245M 3D pixels/sec |  |
| PowerVR SGX 530 | 14M triangles/sec | 500M pixels/sec    | Droid |
| PowerVR SGX 540 | 28M triangles/sec | 1G pixels/sec      | Hummingbird(Samsung S5PC110) |



デフォルトリンカスクリプトを出す

LDFLAGS += -Wl,--verbose



http://dsas.blog.klab.org/archives/50908743.html#about_imbn

-pjail:システムコールがシグナルに割り込まれて、ERESTARTNOINTR(513) などで帰ってきたときの処理
--まだ

-その場しのぎで変えたところ
--Sysargs.cpp(arm): 226〜270 コメントアウト
--ProcessManager.cpp: 454〜471
--ReferenceMonitor.cpp: 778
--StackTraceHook.cpp: 81, 85, 表示のレベルを 5 -> 2 にした
--表示用ルーチンに FILE* を渡すようにした
--main に -T オプションの処理を追加した


**ffmpeg メモ [#z6b81ee0]
-ffmpeg でエンコードしたときのビデオ FourCC 一覧表
--確認方法: -f avi で作成してバイナリを見るとわかる。
なおオーディオには FourCC がない。

| FourCC | vcodec 指定 | 意味 |
| 例:XXXX| 例:libxxxx  | 例です |
| FLV1   | flv         | Flash Video / Sorenson Spark / Sorenson H.263 |
| FMP4   | mpeg4       | MPEG-4 part2 video ffmpeg version |
| XVID   | libxvid     | MPEG-4 part2 video xvid version |
| MP41   | msmpeg4v1   | ※1 MPEG-4 part2 video Microsoft variant version 1 |
| MP42   | msmpeg4v2   | MPEG-4 part2 video Microsoft variant version 2 |
| MP43   | msmpeg4     | MPEG-4 part2 video Microsoft variant version 3 |
| MPG1   | mpeg1video  | MPEG-1 video |
| MPG2   | mpeg2video  | MPEG-2 video |
| MJPG   | mjpeg       | Motion JPEG |
| THEO   | libtheora   | Theora Xiph.org(based on On2VP3) |
| WMV1   | wmv1        | Windows Media Video 7 |
| WMV2   | wmv2        | Windows Media Video 8 |

-※1: まともにエンコードできない。全部真っ黒の画。
-※2: ffdshow でデコード確認できず。
--AVI と MS MPEG4 や MPEG2 を組み合わせると、画だけ倍速になってしまう。
なんでだろう??


**一行メモ [#b5cc3706]
***言葉 [#g88be3ca]
: Q.E.D | Quod Erat Demonstrandum(訳:かく示された)の略。
: RASIS | Reliability Availability Serviceability Integrity Security の略。日本語だとそれぞれ信頼性、可用性、保守性、保全性、機密性らしい。(IT 用語辞典より)

HSRP は Cisco 独自の規格。
IETF にはデフォルトゲートウェイの冗長化のために、VRRP というプロコトルがある。

***見つけたページ [#vd9fac4f]
ピアノのクラシック曲の MIDI がある
-http://www.interq.or.jp/classic/matui/midi/3_m_data/3_index.html


**PC 関連のメモ [#g3616feb]
パスワード保存している共有フォルダの一覧
 rundll32.exe keymgr.dll,KRShowKeyMgr

歌まっぷの歌詞
 http://www.utamap.com/showkasi.php?surl=
 http://www.utamap.com/phpflash/flashfalsephp.php?unum=

Aterm の telnet による管理モード
 user: aterm-maintenance-110
 pass: Aterm-Maintenance-119

ようこそに Administrator を表示する
 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
 DWORD 値 Administrator を追加する
 値を 1 にする

ようこそ画面で NumLock を ON あるいは OFF にする
 Run Registry Editor (Regedt32.exe).
 Navigate to HKEY_USERS\.Default\Control Panel\Keyboard.
 Change the value for InitialKeyboardIndicators from 0 to 2.

tasklist でサービスの一覧表示をする
 Tasklist /SVC
Windows XP Professional のみの機能みたい。

マイネットワークに最近使ったファイル共有が勝手に追加されるのを抑止
-[スタート]−[ファイル名を指定して実行] で gpedit.msc を起動します。
-[ユーザーの構成]\[管理用テンプレート]\[デスクトップ] を開きます。
-右側の「マイネットワークに最近使ったファイルの共有を追加しない」をダブルクリックします。
-「有効」を選択して「OK」をクリックします。

Mozilla/SeaMonkey のスプラッシュを消す(引数 -nosplash)
 seamonkey.exe -nosplash

定義済みのマクロ一覧を見る
 gcc src.c -E -dM
-E プリコンパイル時点で止める。~
-dM でマクロ一覧を表示する。~
だったはず。

見ているページの内容を変更する(要 JavaScript)~
 JavaScript:with(document.body)innerHTML=
 innerHTML.replace(/元の文字列1/g,'変換する文字列1').replace(/元の文字列2/g,'変換する文字列2');
 focus();
実際には一行に書かなければいけない。


**Windows XP の検索が遅い [#z2fa8953]
-regsvr32 /u zipfldr.dll
-regsvr32 /u cabview.dll
以上のコマンドで zip と cab をフォルダ扱いする機能を削除する。

**私ので再生しない [#d64132dd]
-regsvr32 /u nvcpl.dll
NVIDIA のドライバを入れると勝手に追加される変なメニューを削除する。

**Windows レジストリについて [#v2f71f5b]
-TCP/IP の設定
--HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\

-ローカル接続なんとか
--HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}
--HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}

-AFD 設定項目(Parameters のキーがない場合もある、その時は作成する)
--HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters
---これの設定項目の詳細については、Microsoft が TCP/IP の資料(Microsoft Windows 2000 TCP/IP 実装の詳細、ホワイトペーパー)に書いていた気がする。



-メモリ管理
--HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro\Session Manager\Memory Management\DisablePagingExecutive(type DWORD)
---0: カーネルの一部を仮想メモリにスワップアウトする。
---1: カーネルは常にメインメモリに置く
--IoPageLockLimit(type DWORD)
---バッファのサイズをバイト単位で指定します。既定値は 512KB
--LargeSystemCache(type DWORD)
---0: Standard ファイルシステムキャッシュ
---1: Large ファイルシステムキャッシュ
---Large にすると、アプリケーション実行用メモリーがスワップアウトされやすくなる。


**exec で第 0引数を指定 [#na288fe2]
 $ exec -a hoge bash
  (別の端末で)
 $ w
  02:07:41 up  3:03,  2 users,  load average: 0.07, 0.07, 0.08
 USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
 user     pts/2    :0.0             01:49   12.00s  0.41s  0.28s hoge
 user     pts/4    :0.0             02:07    0.00s  0.11s  0.04s w
まあ、何の意味もないけど…。


**Sarge の Gnome 2 で JIS 配列を使いたい [#v88e2912]
キーボードの設定でレイアウトに Japanese を選ぶとカナ入力になるが、
他を全て削除すると急にカナ入力ではなくなる。

全て削除してもJIS配列になるときがあるが、毎回ログインするたびに
エラーを表示するのでやかましい。
なんだか、よくわからないが今は使えている…。

Japanese を選択して、他のレイアウトを全て削除すると JIS 配列になるようです。












* -- [#xfaf342e]
*旧突発メモ [#kb5d8ae6]
* -- [#vfe7820d]

CN-MP700VD/CN-SP700VL
NV-SD740DT

http://support.microsoft.com/kb/827745/ja

http://www.cs.wustl.edu/~schmidt/win32-cv-1.html

http://www.horobi.com/tips/SmartLock/

-Boehm GC の Windows でのコンパイル方法
 gc-7.2alpha4>nmake /f NT_STATIC_THREADS_MAKEFILE nodebug=1 all


 LD_LIBRARY_PATH=/usr/local/lib ./ffmpeg -i other.3gp -vcodec wmv2 -r 15 -acodec wmav2 -ar 11025 other.avi  

 ffmpeg.exe -i "e:\a.m2v" -acodec copy -an  -vcodec libx264 -vb 4000000  e:\a.ts

 ffmpeg -i a.flv -vcodec mpeg4 -acodec libamr_nb -ar 8000 -ac 1 -ab 12200 -f 3gp a.3gp








**クロスコンパイル関係 [#wa9ab9bb]

-gcc
--needs autoconf2.13 and automake1.4
-glibc
--configure の env に AUTOCONF=autoconf2.13 とするとエラーにならないが、configure で Warning がでている。。。
-tar
--bg.po で gettext(msgfmt, msgmerge) がエラーになる。ホストの gettext だとエラーにならない?--with-gnu-gettext
-bash-3.2
--msgfilt po/ru.po でエラーになるので、適当に
リネームしてから configure しよう

-Debian のクロスコンパイラ使う場合
 http://psas.pdx.edu/DebianCrossCompilerHowto/
-Glibc のアップデート例
 http://web.kyoto-inet.or.jp/people/m-ito/linux/glibcvup.html




**GCC のオプションメモ [#t9ea803e]

-Uhogehoge
マクロ hogehoge を無効にする。
-E
プリプロセッサ処理のみ行う。
-C
コメントを残す。-E と一緒に使う。
-P
#line コマンドの生成を抑制する。-E と一緒に使う。
-S
アセンブルの手前でとめる。
-c
リンクの手前でとめる。
-O2
最適化レベルの設定。0〜3 くらいまでは大抵のアーキテクチャで有効?
-Wa,--gdwarf2
アセンブラへのオプション
-Wall
便利な警告を有効にする。
-Wdeclaration-after-statement
文の後に宣言を書いたときに警告する。
C++ や ISO C99 ではサポートされている。
ISO C90 や GCC-3.0 より前の GCC でサポートされていない。C で有効。
-Wno-pointer-sign
異なる符号のポインタ型(int * を unsigned int * に渡す)を渡した、
または代入したときの警告を無効にする。C と C++ で有効。
-Wno-trigraphs
トライグラフを使用したときの警告を無効にする。
-Wstrict-prototypes
引数の型を指定せずに関数を宣言した、または定義した場合に警告する。
-ffreestanding
引数をとらないもしくは値を返さない main 関数を許可する。
このオプションは自動的に -fno-builtin を有効にする。
-fno-builtin
勝手にビルトイン関数に展開しない。
ビルトイン関数を使うときは__builtin_という接頭辞を付ける。
-fno-common
-fno-omit-frame-pointer
-fno-strict-aliasing
-fomit-frame-pointer
-g
-isystem
-nostdinc
-o
-MD
-MF
-MP
-MT
-fPIC
-gdwarf-2
-pipe
-shared
-fomit-frame-pointer













Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\TurnOffComputer]
"Type"="group"
"Text"="終了オプション"
"Bitmap"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
  00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,\
  68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,32,00,38,\
  00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\TurnOffComputer\HibernateButton]
"Type"="checkbox"
"Text"="終了オプションに休止状態ボタンを表示する"
"HKeyRoot"=dword:80000001
"RegPath"="Software\\Policies\\Microsoft\\Windows\\System\\Shutdown"
"ValueName"="ShowHibernateButton"
"CheckedValue"=dword:00000001
"UncheckedValue"=dword:00000000
"DefaultValue"=dword:00000000





-colinux 起動用バッチファイル例
 echo off
 
 cd E:\app\colinux
 E:
 
 colinux-daemon kernel=vmlinux mem=512 root=/dev/cobd0 eth0=tuntap cobd0=debian_cobd0.3gb cobd1=debian_cobd1.3gb


-DDR
--AL: Additive Latency
--CL: CAS Latency
--RL: Read Latency = AL + CL
--WL: Write Latency = RL - 1



-http://techon.nikkeibp.co.jp/article/TOPCOL_LEAF/20050518/104776/
 まずはPS3に搭載するマイクロプロセサ「Cell」の動作周波数が3.2GHzであること。

-http://www.watch.impress.co.jp/game/docs/20060329/3dps3.htm
 メインメモリはMIC(Memory Interface Controller)と呼ばれる
 メモリインターフェイスを介してRambusの3.2GHz動作の256MBの
 XDR DRAMと接続される。セッションでは各記憶リソースへのアク
 セスの際のレイテンシーも公開された。
 ・レジスタ:1サイクル
 ・L1キャッシュ:8サイクル
 ・L2キャッシュ:32サイクル
 ・メインメモリ:140サイクル 




**mercurial 関連 [#ia975d1a]

push 可能なリポジトリにする
 # .hg/hgrc
 push_ssl = false
 allow_push = *


PYTHONPATH じゃなくてハードコードで追加
 import sys
 ...
 sys.path.append('/path/to/python/site-packages')

確認方法
 hg showconfig または show でもいいけど


デフォルトリポジトリの変更方法は???

 $ pwd
 /path/to/this_repo
 $ hg show
 bundle.mainreporoot=/path/to/this_repo
 paths.default=/path/to/parent_repo


デフォルトリポジトリ以外から pull するほうほう
 hg pull [--rev revision_number] file://path/to/repository
 オプションは引数の最初に書かないとおかしな動作をする。いまいち!


 hg init
 touch a.file
 hg add a.file
 hg commit -m 'add file a at default branch.'
 
 hg branch branch_a
 touch b.file
 hg add b.file
 hg commit -m 'add file b at branch_a.'
 
 hg update -C default
 touch c.file
 hg add c.file
 hg commit -m 'add file c at default branch.'
 
 touch d.file
 hg add d.file
 hg commit -m 'add file d at default branch.'
 
 $  hg hist
 changeset:   3:ef3debda4a63
 tag:         tip
 user:        katsuhiro
 date:        Wed Jul 13 11:07:49 2011 +0900
 summary:     add file d at default branch.
 
 changeset:   2:fa0a33a27db8
 parent:      0:11f057317415
 user:        katsuhiro
 date:        Wed Jul 13 11:07:48 2011 +0900
 summary:     add file c at default branch.
 
 changeset:   1:5807e0f700d5
 branch:      branch_a
 user:        katsuhiro
 date:        Wed Jul 13 11:07:48 2011 +0900
 summary:     add file b at branch_a.
 
 changeset:   0:11f057317415
 user:        katsuhiro
 date:        Wed Jul 13 11:07:47 2011 +0900
 summary:     add file a at default branch.
 
 hg update -r 2
 touch e.file
 hg add e.file
 hg commit -m 'add file e at unnamed branch(parent is default).'
 
 $ hg branches
 default                        4:1bf31e38d364
 branch_a                       1:49b79737e50c
 
 $ hg heads
 changeset:   4:1bf31e38d364
 tag:         tip
 parent:      2:2fde0f18ac36
 user:        user@host
 date:        Fri Jun 13 11:25:52 2008 +0900
 summary:     add file e at unnamed branch(parent is default).
 
 changeset:   3:f83fdcd4f75c
 user:        user@host
 date:        Fri Jun 13 11:25:52 2008 +0900
 summary:     add file d at default branch.
 
 changeset:   1:49b79737e50c
 branch:      branch_a
 user:        user@host
 date:        Fri Jun 13 11:25:51 2008 +0900
 summary:     add file b at branch_a.


-brances は named branch を列挙する
-heads は unnamed branch も列挙する

-hgweb.config に
 [collections]
 a = repos2/
 b = repos/
 [web]
 style = gitweb

-.hg/hgrc に
 [web]
 style = gitweb
 allow_archive = gz zip bz2

-showconfig で確認できる
 $ hg showconfig
 bundle.mainreporoot=/home/username/reponow
 paths.default=/home/username/repoparent

-todo
--extensions
--hgrc
--hgwebdir
--エクスポートの方法
--公開、内蔵デーモン以外でのアクセス制限
--標準的なツリーの構成は?


**Primary, Secondary の次は? [#h4ebd1f8]
1 primary
2 secondary
3 tertiary
4 quaternary
5 quinary
6 senary
7 septenary
8 octonary
9 nonary
10 denary
11 
12 duodenary
...
20 vigenary


**screen で現在実行中のコマンド表示 [#u50282a2]

-オレオレシェルを使う
 # launch the user build shell
 if [ "$USR_ORG_SHLVL" == "" ]; then
     export USR_ORG_SHLVL=0
 fi
 if [ "$USR_ORG_SHLVL" -ne "$SHLVL" ]; then
     export USR_ORG_SHLVL="$SHLVL"
     exec /home/username/usr/bin/bash-3.2
 fi

-古い bash だと jobs のリストがおかしくなるバグあり。
 $ cat&
 [1] 3222
 $ tail
 [Press Ctrl+Z]
 [1]-  Stopped                 cat
 
 [2]+  Stopped                 return
--zsh 使えよって話ですが。

-参考
--http://www.macosxhints.com/dlfiles/preexec.bash.txt
--http://web.archive.org/web/20060207103240/http://www.nijino.com/ari/diary/?20020614&to=200206141S1

-コード
(コピペするときは echo -n "ESCk${result}ESC\\"; の部分を書き換える、Emacs ならば Ctrl-q ESC で、tty 経由(vi とか?)なら Ctrl-v ESC で入力できる?はず)
 # set debug trace mode
 #set -o xtrace > /dev/null 2>&1
 
 # the debug fook function enabled
 set -o functrace > /dev/null 2>&1
 shopt -s extdebug > /dev/null 2>&1
 
 # Finally, install the actual traps.
 preexec_interactive_mode=""
 PROMPT_COMMAND_AFTER="preexec_invoke_cmd; trap 'preexec_invoke_exec' DEBUG"
 if [ "${PROMPT_COMMAND}" == "" ]; then
     PROMPT_COMMAND="trap - DEBUG; ${PROMPT_COMMAND_AFTER};";
 else
     PROMPT_COMMAND="trap - DEBUG; ${PROMPT_COMMAND}; ${PROMPT_COMMAND_AFTER}; ";
 fi
 trap 'preexec_invoke_exec' DEBUG;
 
 function precmd() {
     :;
 }
 
 # bash 3.0 has a bug. DEBUG function overwrites the jobs list.
 # -- GNU bash, version 3.00.14(1)-release (i386-redhat-linux-gnu)
 function preexec() {
     if [ "$TERM" = "screen" ]; then
         cmd=(`echo $1`);
         case ${cmd[0]} in
             fg)
                 if [ "${cmd[1]}" = "" ]; then
                     result=`LANG=C jobs %+ 2>/dev/null | tr -s ' ' ' ' | \
                             cut -f 3 -d ' '`;
                 else
                     result=`LANG=C jobs ${cmd[1]} 2>/dev/null | \
                             tr -s ' ' ' ' | cut -f 3 -d ' '`;
                 fi
                 ;;
             cd)
                 if [ "${cmd[1]}" != "" ]; then
                     result=${cmd[1]};
                 else
                     result='~';
                 fi
                 ;;
             *)
                 result=${cmd[0]};
                 ;;
         esac
 
         echo -n "ESCk${result}ESC\\";
         return;
     fi
     return;
 }
 
 # This function is installed as the PROMPT_COMMAND; it is invoked before each
 # interactive prompt display.  It sets a variable to indicate that the prompt
 # was just displayed, to allow the DEBUG trap, below, to know that the next
 # command is likely interactive.
 function preexec_invoke_cmd() {
     precmd
     preexec_interactive_mode="yes"
 }
 
 # This function is installed as the DEBUG trap.  It is invoked before each
 # interactive prompt display.  Its purpose is to inspect the current
 # environment to attempt to detect if the current command is being invoked
 # interactively, and invoke 'preexec' if so.
 function preexec_invoke_exec() {
     if [[ -n "$COMP_LINE" ]]; then
         # We're in the middle of a completer.  This obviously can't be
         # an interactively issued command.
         return
     fi
     if [[ -z "$preexec_interactive_mode" ]]; then
         # We're doing something related to displaying the prompt.  Let the
         # prompt set the title instead of me.
         return
     else
         # If we're in a subshell, then the prompt won't be re-displayed to put
         # us back into interactive mode, so let's not set the variable back.
         # In other words, if you have a subshell like
         #   (sleep 1; sleep 2)
         # You want to see the 'sleep 2' as a set_command_title as well.
         if [[ 0 -eq "$BASH_SUBSHELL" ]]; then
             preexec_interactive_mode=""
         fi
     fi
     if [[ "preexec_invoke_cmd" == "$BASH_COMMAND" ]]; then
         # Sadly, there's no cleaner way to detect two prompts being displayed
         # one after another.  This makes it important that PROMPT_COMMAND
         # remain set _exactly_ as below in preexec_install.  Let's switch back
         # out of interactive mode and not trace any of the commands run in
         # precmd.
 
         # Given their buggy interaction between BASH_COMMAND and debug traps,
         # versions of bash prior to 3.1 can't detect this at all.
         preexec_interactive_mode=""
         return
     fi
 
     # In more recent versions of bash, this could be set via the "BASH_COMMAND"
     # variable, but using history here is better in some ways: for example, "ps
     # auxf | less" will show up with both sides of the pipe if we use history,
     # but only as "ps auxf" if not.
     local this_command=`history 1 | sed -e "s/^[ ]*[0-9]*[ ]*//g"`;
 
     # If none of the previous checks have earlied out of this function, then
     # the command is in fact interactive and we should invoke the user's
     # preexec hook with the running command as an argument.
     preexec "$this_command"
 }


**subversion で俺リポジトリ [#y41562aa]
.subversion/config に適当に書く
 [tunnels]
 myssh = $SVN_SSH ssh -p 20022

こまんど
 svn+myssh://localhost/home/katsuhiro/share/svn/

俺フォワーディングとあわせてどうぞ
 ssh atlas -R20022:localhost:22 -f "bash -c 'while :;do sleep 60;done'"

JAVAで学ぶ3D
-http://homepage1.nifty.com/open-prog/java/index.html


**info nm [#me93ef27]
   For each symbol, `nm' shows:
 
   * The symbol value, in the radix selected by options (see below), or
     hexadecimal by default.
 
   * The symbol type.  At least the following types are used; others
     are, as well, depending on the object file format.  If lowercase,
     the symbol is local; if uppercase, the symbol is global (external).
 
    `A'
          The symbol's value is absolute, and will not be changed by
          further linking.
 
    `B'
          The symbol is in the uninitialized data section (known as
          BSS).
 
    `C'
          The symbol is common.  Common symbols are uninitialized data.
          When linking, multiple common symbols may appear with the
          same name.  If the symbol is defined anywhere, the common
          symbols are treated as undefined references.  For more
          details on common symbols, see the discussion of -warn-common
          in *Note Linker options: (ld.info)Options.
 
    `D'
          The symbol is in the initialized data section.
 
    `G'
          The symbol is in an initialized data section for small
          objects.  Some object file formats permit more efficient
          access to small data objects, such as a global int variable
          as opposed to a large global array.
 
    `I'
          The symbol is an indirect reference to another symbol.  This
          is a GNU extension to the a.out object file format which is
          rarely used.
 
    `N'
          The symbol is a debugging symbol.
 
    `R'
          The symbol is in a read only data section.
 
    `S'
          The symbol is in an uninitialized data section for small
          objects.
 
    `T'
          The symbol is in the text (code) section.
 
    `U'
          The symbol is undefined.
 
    `V'
          The symbol is a weak object.  When a weak defined symbol is
          linked with a normal defined symbol, the normal defined
          symbol is used with no error.  When a weak undefined symbol
          is linked and the symbol is not defined, the value of the
          weak symbol becomes zero with no error.
 
    `W'
          The symbol is a weak symbol that has not been specifically
          tagged as a weak object symbol.  When a weak defined symbol
          is linked with a normal defined symbol, the normal defined
          symbol is used with no error.  When a weak undefined symbol
          is linked and the symbol is not defined, the value of the
          symbol is determined in a system-specific manner without
          error.  Uppercase indicates that a default value has been
          specified.
 
    `-'
          The symbol is a stabs symbol in an a.out object file.  In
          this case, the next values printed are the stabs other field,
          the stabs desc field, and the stab type.  Stabs symbols are
          used to hold debugging information.  For more information,
          see *Note Stabs: (stabs.info)Top.
 
    `?'
          The symbol type is unknown, or object file format specific.



**めも [#zf46560b]

-ワークキュー
 INIT_WORK(&dev->task_work, blktest_task_work, dev);
 struct work_struct task_work;

-ブロックデバイス
--request 関数を呼ぶ前にランキューのロック(割り込み禁止)が要る

-Windows
--メモリ不足時に、C ドライブに空きがないとメモリの内容がおかしくなる?
--もしくはメモリの故障か?

-VirturalBox のコマンドライン起動
 D:\app\vbox\VBoxManage.exe startvm "Debian GNU/Linux"

-initrd の再構成
--こんなかんじよ
 cd initrd
 cpio -i --file=../initrd.img
 (編集)
 find . -print | cpio -o --file=../initrd_new.img --format=newc
--gzip 圧縮しても読んでくれるので、容量が気になるなら gzip で圧縮する。
 zcat ../initrd.img | cpio -i
 (編集)
 find . -print | cpio -o --format=newc | gzip -9 > ../initrd_new.img
--boot のパーティションにコピーして grub の設定を更新しませう
 cp initrd_new.img /boot/initrd-hogehoge


-inline asm on gcc
--http://www.mars.sannet.ne.jp/sci10/on_gcc_asm.html
--書式は以下の通り、難しいぞ…
 asm ("アセンブリコード" : 
      "指定文字列"  (出力先変数) : 
      "指定文字列"  (入力用の式や変数) : 
      "内容が破損するので退避したいレジスタ");
--ローカルラベル(1f やら 1b など)
---ローカルでない前方参照ラベルを持つコード片が挿入されると、デバッガは混乱するかも知れません。ラベル名を新しい関数の入り口と受け取るからです。この混乱を回避するために、新しい関数を宣言するときだけローカルでないラベルを使用し、他の用途には使用しないで下さい。これらのラベルへの参照は数値に続き文字b(backward)またはf(forward)からなります。これらのローカルラベルはソースファイル内で再使用されます。参照は与えられた方向(forward/backward)で最も近い同じ番号のラベルを採用します。
--ローカルラベルの例
 2:
 ...
 ...
 jmp 2b #-> jump backward label
 
 jmp 3f #-> jump forward label
 ...
 ...
 3:

-Deep C++
--後半は C# の話になってる、それ以外はなかなか面白かった
--http://msdn.microsoft.com/library/ja/default.asp?~
url=/library/ja/jpdndeepc/htm/deep05182000.asp

-UDF の規格
--http://www.osta.org/specs/pdf/udf260.pdf

-ELF の定義
--http://www.skyfree.org/linux/references/ELF_Format.pdf

-英語の文法の話
--http://eigomanabou.com/index.htm

-OpenWindowStation API
--http://msdn2.microsoft.com/en-us/library/ms684339.aspx

-patch
--元のファイル名 + ".org" という名前のバックアップを残しつつパッチを当てる
--(※)既に同名の .org ファイルがあるときは上書きされるので注意が必要
 patch -p1 -b --version-control=simple --suffix=.org < a.patch

-SSL, SSH などの情報
--http://www.ipa.go.jp/security/rfc/RFC2246-00JA.html
--http://www.coins.tsukuba.ac.jp/~yas/coins/dsys-2002/2003-03-04/index.html
--http://www.atmarkit.co.jp/fnetwork/rensai/cell02/ssl3.html

-ICカードの形式
--接触型(ISO/IEC 7816)
--非接触型
--密着型(ISO/IEC 10536) 通信距離は2ミリまで
--近接型(ISO/IEC 14443) 通信距離は10センチまで
--近傍型(ISO/IEC 15693) 通信距離は70センチまで
--遠隔型 通信距離は70センチ以遠

-stage6 だうそ
--http://video.stage6.com/1181015/.divx

-ちょっと誰でも良いからガンダム撮ってよー!!
--http://blackmage.at.infoseek.co.jp/omake.html

-.NET のネイティブイメージジェネレータの状況を見る
 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen.exe executequeueditems

-見えないドライバを見る
--Windows Optimize Guides
--http://mywebpages.comcast.net/SupportCD/index.html
 Secret - Phantom Devices
 set devmgr_show_nonpresent_devices=1
 start devmgmt.msc
 Instructions - Go to the "Control Panel", "System" icon, "Hardware" tab
 select "Device Manager". Select "View" and Show hidden devices.

-Windows のログオフを高速化する
--User Profile Hive Cleanup Service
--[[ここからダウンロードしましょう:http://www.microsoft.com/downloads/details.aspx?FamilyId=1B286E6D-8912-4E18-B570-42470E2F3582&displaylang=en]]

-エクスプローラのフォルダビューから [マイドキュメント] を消す
--HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\~
CurrentVersion\Explorer\Desktop\NameSpace\
--のなかのどれかを適当に名前変える。
--IEのアイコンの消し方は不明…。
-マイコンピュータ内の [username のドキュメント] を消す
--HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\~
CurrentVersion\Explorer\Shell Folders
--または
--HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\~
CurrentVersion\Explorer\User Shell Folders
--からそれっぽいものを消す?※やったら、おかしくなった。やらないほうがいい。
-マイコンピュータ内の [Documents] を消す
--HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\~
CurrentVersion\Explorer\MyComputer\NameSpace\DelegateFolders
--のなかのどれかを適当に名前変える?

-コンソールのキー割り当ては kbdconfig で設定できる。Debian の場合は dpkg-reconfigure console-data のラッパーらしいけど。
-OpenOffice.org がコンパイルできた。だいたい一日と 4時間かかった。全部の言語を有効にしたせいですごい時間かかった模様…。

-自分で gdb の bt のようなスタックバックトレースを表示させたければ、backtrace 関数と、backtrace_symbols_fd 関数が便利である

-Shift JIS が JIS 規格の参考部分に載った、という記述を見かけた。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS