僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
夕食後にFreeBSD5.xのモジュール化の現状に付いてとか、IRCの次世代プロトコル とか、深夜にふさわしくなさそうな濃いテーマが続く。夢うつつで 聞いてたので、↑やってしまった。
$ time wget -q ftp://ftp.kuzuore.com/pub/LinuxPersonalWorkstation.pdf real 0m50.586s user 0m0.010s sys 0m0.070s
午後はレンタカーのハンドルをとって、三国峠を越えた。
無線LANの恩恵を享受しつつぼんやり。して午前を潰す。
tdiary-modeを入れてみた。
tdiary-mode.elとhttp.elをコピーし、.emacsを編集。
(setq load-path (append (list (expand-file-name "~/work/lisp") ) load-path) ) (load "tdiary-mode") (setq tdiary-diary-list '(("my 1st diary" "URL") ))
早速書き込みテスト。ミニバッファに"SUCCESS"。
しかし、それにしても、JISキーボードのWindowsXPは
(自分が多少慣れたつもりの)ASCIIキーボード+Emacsと
相性わるすぎ。半角/全角キーが邪魔。
CapsLockキーいらね。Ctrl押しにくい、"@"や"`"
や、"""が押しにくいetc.
一旦DEVをdownしてから。
一応動くけど、なんか黒いな。
dhcpでアドレスを取り、dhclientを切り、IPアドレスを 外し、ifconfig し、再びdhclientする。 dhcpサーバから付与されるIPアドレスは、その都度違うものになった。
ちなみに、ip(8)ではどういう 書式になるのか、というよりも できるものなのか、さらっとman読ん で適当に打鍵した だけではよく分からない。
Note
のVirtualBOXもういちど。入れ忘れたものがないか確認したが、何も忘れてはいない、筈。
qt-x11-free-3.3.8bを再度入れ直してみる。アーカイブのINSTALLに目を通し、
QTDIR、PATH、MANPATH、LD_LIBRARY_PATHを指定し、./configure -PREFIX hogehoge -threadでmake。
なかなか終らない...
3月17日のLFSも、結局うまくいかず、もういちど最初からじっくり。
現在6.15(GCC-4.3.3)。
いまどきのMacのブートがどうなっているのか
正直のところまだ良く分かっていない。
が、何とかそれらしい800x600のデスクトップが立ちあがり、
ネットにも繋がった。音も出てる。
無線はまだ試してないけど。
さしあたり目についたことと言えば、 firewallの分厚いことか。
$ sudo iptables -nL -t filter Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ctstate \ ESTABLISHED ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 ctstate \ RELATED input_ext all -- 0.0.0.0/0 0.0.0.0/0 input_ext all -- 0.0.0.0/0 0.0.0.0/0 input_ext all -- 0.0.0.0/0 0.0.0.0/0 LOG all -- 0.0.0.0/0 0.0.0.0/0 limit: \ avg 3/min burst 5 LOG flags 6 level 4 prefix \ `SFW2-IN-ILL-TARGET ' DROP all -- 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy DROP) target prot opt source destination LOG all -- 0.0.0.0/0 0.0.0.0/0 limit: \ avg 3/min burst 5 LOG flags 6 level 4 prefix \ `SFW2-FWD-ILL-ROUTING ' Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 Chain forward_ext (0 references) target prot opt source destination Chain input_ext (3 references) target prot opt source destination DROP all -- 0.0.0.0/0 0.0.0.0/0 PKTTYPE = broadcast ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 4 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8 DROP all -- 0.0.0.0/0 0.0.0.0/0 PKTTYPE = multicast DROP all -- 0.0.0.0/0 0.0.0.0/0 PKTTYPE = broadcast LOG tcp -- 0.0.0.0/0 0.0.0.0/0 limit: \ avg 3/min burst 5 tcp flags:0x17/0x02 LOG flags 6 \ level 4 prefix `SFW2-INext-DROP-DEFLT ' LOG icmp -- 0.0.0.0/0 0.0.0.0/0 limit: avg \ 3/min burst 5 LOG flags 6 level 4 prefix `SFW2-INext-DROP-DEFLT ' LOG udp -- 0.0.0.0/0 0.0.0.0/0 limit: avg \ 3/min burst 5 ctstate NEW LOG flags 6 level 4 prefix \ `SFW2-INext-DROP-DEFLT ' DROP all -- 0.0.0.0/0 0.0.0.0/0 Chain reject_func (0 references) target prot opt source destination REJECT tcp -- 0.0.0.0/0 0.0.0.0/0 reject-with tcp-reset REJECT udp -- 0.0.0.0/0 0.0.0.0/0 reject-with \ icmp-port-unreachable REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with \ icmp-proto-unreachable
-verbose な --numeric --list も置いておこう。
(define (whats f1 ) f1) gosh> (whats "foo") "foo" (define (whatis . f2) f2) gosh> (whatis "bar") ("bar")
適当に検索 して Common LISP(GNU CLISP 2.49 (2010-07-07))。
[1]> (eq 'a 'A) T [2]> (eq 'a '|A|) T [3]> (eq 'a '|a|) NIL [4]> (eq 'a 'a) T
よく分からない。
ちなみにscheme (Gauche scheme shell, version 0.9.1)。
gosh> (eq? 'a 'A) #f gosh> (eq? 'a '|a|) #t gosh> (eq? 'a '|A|) #f gosh> (eq? 'a 'a) #t
"+", "*" の引数は0個以上、"/", "-"は一つ以上。
gosh> (+) 0 gosh> (*) 1 h> (/ 1) 1 gosh> (- 1) -1
実数から浮動小数演算。それから。
gosh> (exact->inexact (/ 2 5)) 0.4 gosh> (quotient 5 2) 2 gosh> (remainder 10 3) 1 gosh> (modulo 10 3) 1
debian/ubuntuは /bin/sh が dash だから
あまり拡張機能を当てにできない時がある。
また
参考にしたページ。
// 標準出力と標準エラー出力をおなじファイルに。 $ time factor `echo 2^62-1|bc` 1>all 2>&1 $ cat all 4611686018427387903: 3 715827883 2147483647 84.96user 0.00system 1:24.96elapsed 99%CPU \ (0avgtext+0avgdata 1788maxresident)k 0inputs+8outputs (0major+87minor)pagefaults 0swaps
// 標準出力と標準エラー出力を違うファイルに。 $ time factor `echo 2^62-1|bc` 1>st.txt 2>se.txt $ cat st.txt 4611686018427387903: 3 715827883 2147483647 $ cat se.txt 85.19user 0.00system 1:25.19elapsed 99%CPU \ (0avgtext+0avgdata 1880maxresident)k 0inputs+8outputs (0major+90minor)pagefaults 0swaps
ssh -X して入った画面で iceweaselを起動させて あれこれするうちに、こんなのが出ていた。
.d8888b. 888 888 d88P Y88b 888 888 Y88b. 888 888 "Y888b. 888888 .d88b. 88888b. 888 "Y88b. 888 d88""88b 888 "88b 888 これは開発者向け のブラウザ機能です。Facebook機能を有効にするためまたは誰かの アカウントをハッキングするために、ここに何かをコピー・貼り付 けするように言われた場合、それは第三者があなたのFacebookアカ ウントへのアクセスを得るための詐欺・不正行為です。 "888 888 888 888 888 888 Y8P Y88b d88P Y88b. Y88..88P 888 d88P "Y8888P" "Y888 "Y88P" 88888P" 888 888 888 888 詳細はhttps://www.facebook.com/selfxssをご覧ください。
端末のCOLUMNSをうんと伸ばしてと。
$ echo $COLUMNS 296
.d8888b. 888 888 d88P Y88b 888 888 Y88b. 888 888 "Y888b. 888888 .d88b. 88888b. 888 "Y88b. 888 d88""88b 888 "88b 888 これは開発者向... "888 888 888 888 888 888 Y8P Y88b d88P Y88b. Y88..88P 888 d88P "Y8888P" "Y888 "Y88P" 88888P" 888 888 888 888
データ転送テストのためのダミーデータ。
前に書いた気がするが。
#!/bin/bash for x in `seq 5` do mkdir test${x} cd test${x} for y in `seq 5120` do dd if=/dev/urandom of=${y}.img bs=`echo "$RANDOM * 128" | bc` count=1 done cd ../ done
$ for x in `seq 10`; do ls -alFh ${x}.img ; done -rw-r--r-- 1 user group 1.4M 3月 20 09:31 1.img -rw-r--r-- 1 user group 2.7M 3月 20 09:31 2.img -rw-r--r-- 1 user group 1.1M 3月 20 09:30 3.img -rw-r--r-- 1 user group 99K 3月 20 09:30 4.img -rw-r--r-- 1 user group 2.2M 3月 20 09:30 5.img -rw-r--r-- 1 user group 402K 3月 20 09:31 6.img -rw-r--r-- 1 user group 1.9M 3月 20 09:32 7.img -rw-r--r-- 1 user group 3.2M 3月 20 09:31 8.img -rw-r--r-- 1 user group 3.2M 3月 20 09:29 9.img -rw-r--r-- 1 user group 394K 3月 20 09:30 10.img
フォルダ5つも、5120個のファイルも、ランダムサイズの128倍も、
すべて適当。目標は結果的に約50GBになることくらい。
あと、$RANDOMはshには無いようだ。
data$ du . -h|tail -n1 51G .
最前にこしらえたデータをあちらからこちらへ、こちらからあちらへ。
$ time scp -qr data $USER@$NAS:/$FOLDER $USER@$NAS's password: real 19m52.890s user 5m5.218s sys 2m6.654s
# time scp -rq data $USER/$DIRl: real 16m12.785s user 9m22.112s sys 3m54.381s
片方はLinuxコマンドが限定的に使えるNAS。
パフォーマンスの劣るNASからPCに送信するほうが
遅いかと思っていたが、この結果は逆だった。
添付のピンをはんだ付けして、
RasPiBに繋いでみた。
何も反応がないと思ったら、ジャンパをショートさせることを忘れていた。
写真のとおりにショートして
やり直し。
RasPiを意識して作られているらしく、一発で動く。
$ sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- 41 -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
プログラムの方は、また次回にできるかどうか。
少し
検索して、
それらしいのを見つけた。
早速 git clone させて貰う(♡)。
Subfact_ina219.pyを編集して、アドレスを書き換える。
# =========================================================================== # I2C ADDRESS/BITS # ========================================================================== __INA219_ADDRESS = 0x41 # 1000000 (A0+A1=GND) __INA219_READ = 0x01 # ===========================================================================
手元に転がっていた抵抗器(91オーム)をUSBに噛ませてみる。
$ sudo python ina219_example.py Shunt : 5.160 mV Bus : 4.992 V Current : 51.000 mA
この計測値から抵抗を求めると、約97.9オームになる。
手元の機材は、長いこと放置していたから、適当に錆びているはず。
pythonにしても、sleep(1)にしても、浮動小数点が指定できること は知らなかった(man 1 sleepには明記されている)。
$ time for x in `seq 5` > do > echo $x > sleep 0.02 > done 1 2 3 4 5 real 0m0.107s user 0m0.005s sys 0m0.002s
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。