Hatena::ブログ(Diary)

間違いだらけの備忘録

人生の目的:
仕事と趣味を通して、世の中を変える。そのために、この人生(時間)を楽しむ
尊敬する言葉:
生存適者
目的のために、有効ならば、手段を選ばずつまり、本末を転倒しない

イベント備忘録:

5/19 PyCon mini oosaka (仮)
5/25 CELF #65 (仮)
5/31-6/2 PyCon APAC in SG https://twitter.com/pyconsg/status/950163865613971457 (仮)
6/9(金) Koedo@akasaka (仮)
6/20-22 https://events.linuxfoundation.org/events/open-source-summit-japan-2018/ (仮)
7/14-7/16(金-日) Pyhack冬山 (仮)
7/29-8/5(日-日) https://wiki.debconf.org/wiki/DebConf18 (仮) https://debconf18.debconf.org/accounts/login/
8/10-12 C94(金-日)(仮)
8/11-12 https://2018.coscup.org/ (仮)
9/8(土)10:00 品川駅(仮)

2008-02-29

[]逆アセンブル

objdumpを使うのがよさそう。

http://d.hatena.ne.jp/sodex/20070620/1182284035

AT&T形式(gas)形式の表示となるが、ELF形式もそのまま扱えるようだ。

$ objdump -d /lib/modules/2.6.18-6-686/kernel/net/ipv6/ipv6.ko | head

/lib/modules/2.6.18-6-686/kernel/net/ipv6/ipv6.ko:     ファイル形式 elf32-i386

セクション .text の逆アセンブル:

00000000 <ipv6_opt_accepted>:
       0:       53                      push   %ebx
       1:       89 d3                   mov    %edx,%ebx
       3:       8b 90 54 01 00 00       mov    0x154(%eax),%edx
       9:       66 83 7a 44 00          cmpw   $0x0,0x44(%edx)

参考

http://memo.wnishida.com/?date=20040430

[]x86アセンブラニーモニック

Solaris 10 Software Developer Collection >> x86 Assembly Language Reference Manual

http://docs.sun.com/app/docs/doc/817-5477/enmzx?l=ja&a=view

Solaris 10用の様だが所詮アセンブラなら(大枠)一緒。

...CLCの説明がSLCの説明になっていた...

http://mirror.href.com/thestarman/asm/index.html

http://mirror.href.com/thestarman/asm/asmhelp.zip

pentium(i586まで)HELPファイル形式だがわかりやすい


Intel 64 and IA-32 Architectures Software Developer’s Manual, Volume 2A: Instruction Set Reference, A-M

http://download.intel.com/design/processor/manuals/253666.pdf

Intel 64 and IA-32 Architectures Software Developer’s Manual, Volume 2B: Instruction Set Reference, N-Z

http://download.intel.com/design/processor/manuals/253667.pdf

本家

2008-02-28

2008-02-25

[]convmv

ファイル名の文字コード変換

http://tuyoshi.adam.ne.jp/blog/nr/item_659.html

--nosmart  ignore if files already seem to be UTF-8 and convert if posible

UTF-8として解釈される場合でもコンバートする指定

未評価

2008-02-23

[]技術者は1円の金も稼がない

http://www.nurs.or.jp/~ogochan/essay/archives/977

「会社の稼ぎ」という観点で見れば、技術者なんているだけムダなのだ。それをまず認めなければならない。それが資本主義社会の中にある営利法人を理解する第一歩だ。そして、そのことを理解をしていなかったら、いいように使われるだけだ。

ふむ。

「会社というものの仕組」とか「売上における技術者の位置」というものをまず考えてみるべきだ。「欧米と比較して技術者の給与が相対的に低い」ということを問題視するのは、本来団結するべき従業員の間に

部門間闘争を起こしてしまうだけだ。

素敵すぎ

この手の「分断戦略」は「体制側」の常套手段だ。本来団結するべき人達が反目しあうように誘導して団結をさせないという事象は、非常によく見られる。

(中略)

「本当の敵」は共通していたりするわけだが、そこから目を逸らさせ闘争エネルギーを向けさせないために、「分断」をする。「敵は分断させ相互に戦わせる」というのは、兵法の基本だ。

正論

[]

http://sengoku.blog.klab.org/archives/64796023.html

「能力を上司が正当に評価してくれない」と不満に思っている場合、 十中八九その上司は、 「求める能力を部下が持っていない」と不満に思っている

うーむ。

会社に雇ってもらった場合、 配属された部署の上司が「換金してくれる人」になります。 もちろん上司が一人でお金を稼いでくるわけではありませんが、 技術者から見れば、 自身の能力に対して評価し給料を決めてくれるわけですから、 自身の能力を「換金してくれる人」と言ってもいいでしょう (正確に言えば、換金してくれる人たちの集団の窓口的存在ですね)。

ところが、ここに一つ問題があります。 技術者に得手不得手があるのと同様、 「換金してくれる人」にも得手不得手があります。 技術者からすれば、 私はこんなに優れた能力を持っているのに、 どーして換金してくれないんだと思うのと同様、 「換金してくれる人」からすれば、 私はこーいう技術ならお金に換えられるのに、 どーしてそういう技術を持っている人がいないんだと思っていたりします。

ほー。

自身の技術を上司が換金してくれなかったとしても、 そんなことは確率からいえば 「よくあること」

ふむ。

より多くの人にアピールすれば、 それだけ「運命の人」にめぐりあう確率は高まります。 「この分野にかけては誰にも負けない」という得意分野を持っている人は、 より多くの人へ、 部署内だけでなく社内全体へ、 社内だけでなくより広い世界に対して、 どんどんアピールしていって欲しい

正論だ。

2008-02-22

[]Workstation 6.0.1 looking at wrong partition and not finding enough space

Workstation6.0.2も同様の現象だった。

http://communities.vmware.com/message/757471#757471

"The current amount of free space on the hard disk (14.4 GB) is not enough to create the specified disk file: WinXPPro.vmdk. Please choose a different location or specify a smaller disk size."

As a workaround change to the directory (cd ) where you want the VM to stored.

Use vmware-vdiskmanager to create a virtual disk

vmware-vdiskmanager -c -s 20GB -a ide -t 0 WinXPPro.vmdk

上記を参考に作ったが、V6形式のDiskのようで

V5互換のvmには接続できなかった。

The selected virtual disk is incompatible with this Workstation 5.x virtual machine.

Adding this disk will make this virtual machine incompatible with older VMware products

うーむ。

[]Serverメモリ設定

パフォーマンスチューニング。

http://d.hatena.ne.jp/tikuta/20060207#1139332987

デフォルトの設定だといくつかのVMは自動的にスワップアウトされます。しかし、VMがスワップアウトするととても動作が重くなるのでVMは物理メモリ上のみに展開し、スワップさせないようにします。

VMware Consoleのメニューから「Host」->「Settings」を開きます。

「Host Settings」の「Memory」タブを開き「Additional Memory」に「Fit all virtual machine memory into reserved host RAM」を選択して「OK」を押します(この作業はroot権限が必要です)。

当然同時利用可能なVMの数は減るかもしれませんが、スワップが起きているVMはもっと使いものになりません。(と、個人的には思うのですが。)

同感。

2008-02-21

[]ppdファイル

PPDファイルの構造

http://www10.atwiki.jp/gleaning/pages/23.html

PPDファイルの入手について

http://www10.atwiki.jp/gleaning/pages/23.html

Ubuntu 7.10でRicoh CX3000を使ってみる

http://d.hatena.ne.jp/ksmemo/20080210/p1

2008-02-18

[]カーネルパニック時にrebootさせる

http://d.hatena.ne.jp/rs6000moe/20060301#p1

カーネルパニックを起こした場合、自動的に10秒後再起動を行うようにします。

この値が0の場合、リブートを行わずhaltしたままになります。

(当然、誰かがリブートしないと/var/crashにcoreが出力されません)

# echo 10 > /proc/sys/kernel/panic

oopsやBUGが発生した場合、カーネルパニックを起こすようにします。

この値が0の場合、システムは操作を継続しようとします。
# echo 1 > /proc/sys/kernel/panic_on_oops

めも

[]screenで自動ログ採取

$ mkdir screen.log
$ cat .screenrc
logfile /home/user/screen.log/screenlog.%n-%H-%y%m%d-%c:%s-%t
log on
deflog on

めも

[]screenログの削除

find screen.log/ -mtime +30 -print0 | xargs -0 rm -rf

2008-02-16

[]/etc/apt/sources.list.d

http://arika.org/diary/20060220#p01

DebianのAPTでも/etc/apt/sources.list.dが参照される

/etc/apt/sources.list.d以下にsources.listと同じ書式のファイルをfoo.listというファイル名*1で置いておくと読み込んでくれる。

へー

[]Kernel作成(make-kpkg)高速化

環境変数のCONCURRENCY_LEVELに数字を入れておくと並列makeをしてくれるようだ。

man make-kpkg

If defined, this environment variable sets the concurrency level of make used to compile the kernel and

the modules set using -j flags to the sub make in the build target of make-kpkg.

力技より良さそう。

未検証


参考

ccache な make-kpkg

http://blog.11n.jp/archives/205

time CONCURRENCY_LEVEL=4 MAKEFLAGS="CC=ccache\ gcc" fakeroot make-kpkg -append_to_version -3-noch-i686 -revision=1 -initrd kernel-image -config menuconfig

http://distcc.samba.org/faq.html

make-kpkg with distcc?

How to compile the debian kernel with make-kpkg using distcc?

Use the CONCURRENCY_LEVEL environment variable eg make-kpkg kernel_image CONCURRENCY_LEVEL=4 after installing distcc into a masquerade directory.

Implementation-Agnostic Support for Alternative Compilers: ccache, distcc, etc.

https://bugs.launchpad.net/ubuntu/+source/devscripts/+bug/182942

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=460719

[]ccache

http://www.gentoo.org/doc/ja/handbook/handbook-x86.xml?part=2&chap=3

ccacheは高速なコンパイラーキャッシュです。 プログラムをコンパイルすると、中間結果をキャッシュするので、同じプログラムを再コンパイルしたときはいつでも、コンパイル時間は大いに減少します。 この結果、普通のコンパイルでは5〜10倍のコンパイル時間の高速化となります。

[]静音化

http://cyberlib.enterbrainz.com/1177125314.html

vi /etc/vimrc
以下を追加
set visualbell

めも

[]静音化

http://cyberlib.enterbrainz.com/1177125314.html

vi /etc/inputrc

# do not bell on tab-completion
#set bell-style none
↓
# do not bell on tab-completion
set bell-style none

めも

2008-02-15

[]人間は外からの力では変われません。

http://blog.webshark.co.jp/informal/?p=128

言わずに後悔したこと。言って後悔したこと。

そして言ったからって何も期待してはいけません。

ゼロ期待でOKです。


人間は外からの力では変われません。

自分から変わろうとしないと変化はおきません。

(中略)

外からの力で人間が簡単に変化するなら俺は今ごろオトンの外圧で市役所で働いてます(笑)

素敵〜

[]crashのps stat

crash/task.c

        if (state == _RUNNING_) {
                sprintf(buf, verbose ? "TASK_RUNNING" : "RU"); valid++;
        } else if (state == _INTERRUPTIBLE_) {
                sprintf(buf, verbose ? "TASK_INTERRUPTIBLE" : "IN"); valid++;
        } else if (state == _UNINTERRUPTIBLE_) {
                sprintf(buf, verbose ? "TASK_UNINTERRUPTIBLE" : "UN"); valid++;
        } else if (state == _ZOMBIE_) {
                sprintf(buf, verbose ? "TASK_ZOMBIE" : "ZO"); valid++;
        } else if (state == _STOPPED_) {
                sprintf(buf, verbose ? "TASK_STOPPED" : "ST"); valid++;
        } else if (state == _DEAD_) {
                sprintf(buf, verbose ? "TASK_DEAD" : "DE"); valid++;
        } else if (state == _SWAPPING_) {
                sprintf(buf, verbose ? "TASK_SWAPPING" : "SW"); valid++;
        }

めも

[]ボールペン型MP3レコーダー

http://www.thanko.jp/mp3pen/

めも

2008-02-13

[]AMD64レジスタ

http://hp.vector.co.jp/authors/VA003988/asm2.htm

RIP:命令ポインタ(64ビット)

64ビットの汎用レジスタはRAX,RCX,…で、下位半分が従来のEAX,ECX,…に相当する。

めも

[]AT&T 構文とIntel 構文

http://www.ibm.com/developerworks/jp/linux/library/l-gas-nasm.html

AT&T 構文と Intel 構文ではソース・オペランドとデスティネーション・オペランドの順序が逆です。例えば下記のとおりです。

Intel: mov eax, 4

AT&T: movl $4, %eax

AT&T 構文では即値オペランドの前に $ が付きますが、Intel 構文では付きません。例えば次のとおりです。

Intel: push 4

AT&T: pushl $4

AT&T 構文ではレジスター・オペランドの前に % が付きますが、Intel 構文では付きません。

めも

2008-02-12

[][]vm.drop_caches

http://www.thinkit.co.jp/free/tech/23/10/

sysctl -w vm.drop_caches=1

約1GBのファイルの読み取りで、約1GBほどページキャッシュに蓄えられた後、vm.drop_cachesの設定により、メモリが開放されています。

ほほー。

参考

http://chiji.atnifty.com/topics/?p=16

echo "3" > /proc/sys/vm/drop_caches

1・・・ページキャッシュのみを解放

2・・・ダーティページとinodeキャッシュを解放

3・・・ ページキャッシュとダーティページとinode

を解放

実行前にsyncを実行したほうがいいらしい。

2はいいとして、1と3をしたら直後にパフォーマンス悪くなりそう・・・

ふむ

必要容量分のファイルを/dev/zeroから作成して消すという方法もあるらしい。

未検証

[][]pdflashデーモンのパラメータ

http://d.hatena.ne.jp/takaochan/20071119

最も効果のあるパラメータは"vm.darty_ratio"の値を小さくし、Writeback処理を頻繁に、かつ優先度を高く実行させるように設定すること

ほー

[][]ラージページ

http://www.thinkit.co.jp/cert/tech/23/10/3.htm

ラージページはそれ専用に利用され、スワップの対象外となっていますので、ラージページを利用することにより、結果的にスワップされなくなります。

なお、ラージページを利用するためには、Linux側で利用可能になっている必要があります。/proc/meminfo内のHugePages_Total/HugePages_Free/Hugepagesizeの設定を確認してください。

へー

2008-02-11

[][]日本にはUNIX互換OSに関してはパワーユーザーしかいない

http://slashdot.jp/bsd/comments.pl?sid=389919&cid=1294935

あのですね、日本にはUNIX互換OSに関してはパワーユーザーしかいないんじゃないかとすら思えるんですね。

(中略)

入門者向けのLinux雑誌や本があまりパッとしない、その一方でオライリーの本が受け入れられているという文化なんですね。

デスクトップはもちろん、サーバやエンベデッドでも、サポートがあるという理由でWindowsが採用されているのが日本です。

「自己責任」というソフトウェアは、マニアックな人にしか受け入れられないんだなーと思いましたですよ。

自分で修正するのではなく、サポートという名の他人による保証を欲しがるのだよな。

それが幻想だとしても。

2008-02-10

[]Winscp用ssh秘密鍵生成

http://www.cc.tsukuba.ac.jp/WinSCP/PuTTYgen/index.html

OpenSSH等で作成したSSH2用の秘密鍵をWinSCP3で利用する場合は、PuTTYgenを利用して一度だけPuTTYgenの書式に変換(import機能)しておく必要があります。

PuTTYgenのメニューバーで[Conversions]の[Import key]を選択します。

[File]-[Save private key]

で作成されたppkファイルをWinscpで使用する。

[]libncurses5-dev

カーネルのmake menuconfig時に

make[2]: *** [scripts/kconfig/lxdialog/checklist.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [scripts/kconfig/lxdialog/inputbox.o] Error 1
make[1]: *** [menuconfig] Error 2
make: *** [menuconfig] Error 2

のようなメッセージの対処。

ncurses-devの実体のパッケージのようだ。

2008-02-06

2008-02-05

[]OpenOffice Impressでのスライドマスターの作成と流用

http://www.gfd-dennou.org/library/cc-env/design_templete/

作成

ダウンロードした OTP ファイルを開く.

「ファイル」⇒「ドキュメントテンプレート」⇒「保存」を選択する. すると「ドキュメントテンプレート」ウインドウが表示されるはずである.

「新しいドキュメントテンプレート」にテンプレート名を入力する.

スライドマスターの流用

新規作成の際に使用する際には, 「ファイル」⇒「新規作成」⇒「プレゼンテー ション」を選択し, プレゼンテーションウィザードで「テンプレートから」を 選び, 次のページで先に作成したテンプレートを選びます.

既に別のテンプレートを使用している場合には, 以下のようにテンプレートを 差し替えます.

「書式」⇒「ページスタイル」を選ぶ.

「ページスタイル」ダイアログが表示されたら, 「マスターページを取り替える」にチェックをつける.

「読み込み」ボタンをクリックする.

「ページスタイルの読み込み」ダイアログが表示されたら, 差し替えたいテンプレートを選択し, 「OK」をクリックする.

「ページスタイル」ダイアログで,使用したいページスタイルを選択して 「OK」をクリック.

めも

2008-02-04

[]debuginfo

http://wtnb.mydns.jp/blog/?wl_mode=more&wl_eid=3853

1.debuginfo付パッケージ準備

2.coreを生成するように設定。

unlimit -c unlimited

3.セグメンテーションフォルト(core dumped)

4.coreを生成したパッケージのdebuginfo付パッケージをインストール

5.gdbでdebug版バイナリを使って調査。

bashの場合の例

gdb /usr/lib/debug/bin/bash.debug core.プロセスID


debuginfoファイルを生成させない

$HOME/.rpmmacros

%debug_package %{nil}

未検証


debuginfoパッケージの自動削除例

rpm -qa | grep -- -debuginfo- | xargs rpm -e」みたいなことを書いたスクリプトをcron.dailyの下に置いておく

未検証


CentOSのdebuginfoパッケージ

http://debuginfo.centos.org/

[]Windows Server 2003 をデスクトップOSとして使うまとめWiki

http://www24.atwiki.jp/server2003/pages/4.html#id_bab388b8

DirectXの機能を有効にする

ファイル名を指定して実行->dxdiag->ディスプレイタブ->DirectXの機能3つを全て有効

へー

未検証

2008-02-03

2008-02-02

[]Returnil Virtual System

http://www.oshiete-kun.net/archives/2008/02/returnil_virtual_system.html

「Returnil Virtual System」を有効にすると、システムパーティション(Cドライブやレジストリ)への全ての書き換えが仮想化される。このため、仮に危険なexeやActiveXを踏んでも、実体システムの書き換えが行われなくなる

へー

未評価

動画ホスティングサービス比較

http://lovelove.rabi-en-rose.net/blog.php?n=362

へー

しょぼいカレンダー

http://cal.syoboi.jp/

めも

[]mAgicAnime.NET

アニメ専用の録画管理ソフト

http://members2.jcom.home.ne.jp/kurusugawa/mAgicAnime/

しょぼいカレンダー対応

めも

WUXGA 高解像度ワイド液晶ディスプレイ選び

http://miyahan.com/me/report/computer/070125_WUXGA_LCD/

めも

2008-02-01

[]o:pタグ

http://office.microsoft.com/ja-jp/help/HA010549981041.aspx

<o:p></o:p> タグは、Word で段落記号として扱われる文字を表します。

Microsoft Office HTML Filter を使用すると、Microsoft Word 2000 または Microsoft Excel 2000 で Web ページを作成したときに設定された Office 固有のマークアップだけを削除できます。

めも

未検証