僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
パシフィコ横浜: 横浜市内に建っていて馬鹿でかく豪勢なことを除くと、 利点は何もない。
なんとなくわかったり首ひねったり。
流石に知人はゼロ。別の部屋にはwideな人が集合していたらしいが。
pingを返すようにする。これでウザいアタックがまた増える。だろう。
分りやすかったり面倒だったり眠かったり興味深かったりと、波があった。 最前列にはDebianな人が多かった模様。平日の午前、午後の時間を一万円 払える人...は、かなり限定されている。
OSSのガラパゴス...?そんな話なんてあったっけ。
12/3も後一時間の現在、既に忘れかけている。資料を引っ張り出して、
載ってない事を確認した。
リンク先をよく見ると記事の日付が12/1の午前2時だ。見ている訳がない。
Digest認証を有効にして、WinXPの無線LANでFirefox経由で 書き込みテスト。
メール遅すぎ。なぜだ。
$ grep -i " dec " Mail/inbox/MYMAIL Date: Wed, 01 Dec 2004 08:08:55 +0900 (JST) Wed, 1 Dec 2004 08:10:36 +0900 Wed, 1 Dec 2004 08:09:53 +0900 for; Wed, 1 Dec 2004 08:08:50 +0900
からの定例メールは届かなかった(crontabが変?)。原因究明は明後日か、 その次か...
は、こんな感じになっていた。
時刻 ログ 2004/12/01 00:13:36 PPP-IPCPの確立 [メインセッション] 2004/12/01 00:13:27 PPP-LCPの確立 [メインセッション] 2004/12/01 00:13:10 PPPoE セッション開始成功 [メインセッション] 2004/12/01 00:13:10 PPPoE AC発見成功 [メインセッション] 2004/12/01 00:13:10 PPPoE セッション開始失敗 [メインセッション] (失敗、リトライが延々と続く) 2004/12/01 00:06:43 PPPoE ACエラー [メインセッション] 2004/12/01 00:06:42 PPPoE セッション開始失敗 [メインセッション] 2004/12/01 00:06:38 PPPoE AC発見成功 [メインセッション] 2004/12/01 00:06:38 PPPoE セッション停止(自分から) [メインセッション] 2004/12/01 00:06:38 PPPの切断(相手からの切断) [メインセッション]
朝食をとりながらAirHで接続。sshでもずいぶん遅く感じられる。 こんな帯域でspamをpop3するのは何とも馬鹿馬鹿しい。
仮想環境での2038年問題の追試もすこし。
ruby-1.8.3を入れて、システムの時刻を
狂わせてから、例のカレンダースクリプトを
実行してみた。
現状のlinuxで実行する限り、
2038年問題からは逃げられないようだ。
1901 年 12 月 14 日 日 月 火 水 木 金 土 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
RSSを収集してるっぽい。
まだ使ってなかったが、そろそろ試用するか。
NetBSD(2.0.2)でも2038年問題。同じくqemuの仮想環境より。
結果はlinuxと全く変らない。
2038年1月19日午前12時14分07秒(JST)の次が
1901年12月14日午前5時45分52秒(CJT)になった。
PPCのetchで適当にdebuild。
ぎごちなくmanして色々試したが、即席で用意した、
ホスト名ともユーザ名とも関係ない、ドメイン名も食い違った
秘密鍵をスクリプトは見てくれない。
さしあたり入ればいいさ、と
debuild -i -us -uc -b に逃げる。
dpkg -i して入っただけ。その先はまだ。
apt-get install すると、回復不能なデータ損失の可能性ありとの警告表示が。
"upstream says it only works for 32-bit little-endian systems."を 無視して突っ込んだが、PPCにはNTFSなパーティションなどない。無意味だった。
このあいだ試して
それっきりにしていた
ntfs-3gはだいぶ新しくなっている、かもしれない。
Plamo-4.21のInspiron6000に入れてみる。fuseを入れてからmake install。
# ntfs-3g /dev/sda1 /media/winxp fusermount: mount failed: No such device Failed to create FUSE mount point. Retry to create FUSE mount point ... fusermount: mount failed: No such device Failed to create FUSE mount point. Unmounting /dev/sda1 ()
まだ路は遠い。
クァッガとは、絶滅した南米のシマウマのこと、らしい。
quagga-0.98.6をmake install。起動するにはquaggaというユーザ、グループを
つくり、/usr/local/etc/zebra.conf を用意する。
あと、quaggaが書き込み可能なpidファイル置き場を
用意する必要があった(/var/runがデフォ)。でないと、
$ sudo /usr/local/sbin/zebra -d bind: Permission denied $ head -n1 /etc/group root::0:root, quagga, zebra $ sudo chmod 775 /var/run $ sudo /usr/local/sbin/zebra -d ; echo $? 0
Inspiron6000に入れる。SCSI を外すと/dev/sdaを扱えなくなり、 起動中にKernelPanicになった。
Plamoとafterstepに組み込み、Xを起動してメニューから呼び出せるよう設定。
ソースツリーにできたout/release以下を$HOMEの下にコピーし、~/.xinitrcにPATHと
LD_LIBRARY_PATHを設定する。同時にvboxdrv.koをmodprobeし、VboxSVCも起動するように
する。
そしてafrerstepのメニューに追加。
ようやく普通に起動できるようになった。
businesscard向けのイメージを使ったEtchもなかなか入らなかったが、
FreeBSDはさらに面倒だった。
例のごとくbootonlyなディスクを貰ってきてNet経由で入れようと思っていたが、
こっちはどうもうまくいかない。結局disc1で最小構成にして
やっと。
おっと、haltしたらすぐ仮想マシンを切らないと、親環境のCPUパワーを果てしなく
喰い潰す。気を付けねば。
やっぱりPlamoにはPlamoが似合うなぁ:-)
と思ってたら何時の間にかディスクが満杯...orz
scim-anthyでブログに書いていたら、手が滑ってかな入力になってしまった。
scim-setupを起動してキーバインドを確認し、HHK2を色々打鍵してみたが、
どうしてもローマ字入力に戻せなかった。
該当しそうなキーバインドをすべて消して、Xを再起動させる。やれやれ。
ブログに書いた本を図書館に返してから新大阪へ。
puredataについてぐぐったのは、現地に着いてから。
古本屋の趣のある喫茶店で待っていると、のがじゅん氏と島本氏が現れた。
puredataについてひとくさり。WindowsXPしか、今の自分に用意された
動作環境はない。
Plamoに入れるだけで果てるかも。
近くのうどんやにて歓談。のがじゅん氏とともに帰宅。
他のFUSEほどあっさりとは入りそうにない。libsmbclient.hが
見えず、/usr/includeの下に置いてやると、今度はバージョンが古いと
ほざく(3.0.27aなのに)。
続きは月曜以降とするか。
なんとか最後まで漕ぎつけた。しかし、自分のカーネルでは
やはりUSBから起動できなかった。
例によってDebianから間借りして、動作確認。
やり方自体は、bc とあまり変わらない。
もう少し、「らしさ」を出したいけど。
1 to: 100 do: [: x | (x \\ 15) == 0 ifTrue: [Transcript show: 'fizzbuzz'; cr. ] ifFalse: [ (x \\ 5) == 0 ifTrue: [Transcript show: 'buzz'; cr.] ifFalse: [ (x \\ 3) == 0 ifTrue: [ Transcript show: 'fizz'; cr. ] ifFalse: [ Transcript show: x printString; cr. ] ] ] ]
チュートリアル
や、
昨年十一月の記事を読み返してなんとか。
剰余の演算子が "\\" であることは、知らなかったのか、
それとも忘れていたのか、もはや分からない。
前に 書いていた が、ぜんぜん覚えてなかった。
st> 36rPZ 935 st> 37rPZ stdin:34: Numeric base too large 10 stdin:34: Unexpected EOF while scanning number
デフォルトで2進数から35進数まで対応。代入は ":=" 、 コメントは"comment"、ピリオドが文の区切り。それから。
#!/usr/bin/env gst
a := 5 . (a * a) printNl .
foo := 'bar' . foo printNl
=>
25
'bar'
2行目末尾の . を入れ忘れると、
25 Object: 25 error: did not understand #foo MessageNotUnderstood(Exception)>>signal (ExcHandling.st:254) SmallInteger(Object)>>doesNotUnderstand: #foo (SysExcept.st:1407) UndefinedObject>>executeStatements (foobar.gt:2) ./foobar.gt:3: expected expression
またfizzbuzz。違う方法を思いついたので、python3で。
fizz と buzz と、 fizzbuzz の出力順序のパターンを配列に突っ込んで
どれでもなければ番号+1 を出力するようにしてみた。
fbarray=['','','fizz','','buzz','fizz','','','fizz', 'buzz','','fizz','','','fizzbuzz'] for num in range(0,100): fb = fbarray[num%15] if fb == '': print(num+1) else: print(fb)
python2でも動いた。
引数二つを取る関数は、だいたい中置できるらしい。
Prelude> 30 `max` 20 30 Prelude> 30 `min` 10 10
リストは同じものしか列挙できない。
Prelude> ["foo", "bar", 3] <interactive>:25:16: No instance for (Num [Char]) arising from the literal `3' Possible fix: add an instance declaration for (Num [Char]) In the expression: 3 In the expression: ["foo", "bar", 3] In an equation for `it': it = ["foo", "bar", 3]
"文字列" は、文字の配列である。
Prelude> "foobar" !! 4 'a' Prelude> ["grape", "watermelon", "pineapple"] !! 2 !! 7 'l'
リストの連続。文字列ではダメみたい。
Prelude> [1..5] [1,2,3,4,5] Prelude> [1.1..5] [1.1,2.1,3.1,4.1,5.1]
そしてリスト内包表記。
Prelude> [x `div` 3 | x <- [10..20]] [3,3,4,4,4,5,5,5,6,6,6]
某所にて聞いた
URLから、
githubのソースを
mathematica にコピペ実行。
どのくらい時間が経ったかよく分からないが、
処理が終わるまで、20-30分程度掛かったと思う。
Prelude> head [1,2,3,4] 1 Prelude> tail [1,2,3,4] [2,3,4] Prelude> init [1,2,3,4] [1,2,3] Prelude> last [1,2,3,4] 4
tail とかinitとかlastとかを「無限リスト」に
書くと、いつまでも演算が完了しなくなる模様。
ちゃんと終われるような関数を使う。
Prelude> take 3 [1,2,3,4,5] [1,2,3] Prelude> take 8 [1..] [1,2,3,4,5,6,7,8]
コマンドの流れがなかなか頭に入らなかった。
さしあたりこんなとこか。
ユーザをdockerグループに入れると、スーパーユーザでなくとも
大抵のことはできるようになった。
$ docker search $KEYWORD $ dockr pull $NAME1/$NAME2 $ docker run -it $NAME1/$NAME2:$TAG /bin/bash $ docker ps -a $ docker rename $ID $NAMES $ docker start $NAMES $ docker attach $NAMES
$ docker ps -a を貼ろうかと思ったが 長すぎるのでやめる。
DNS関係用語の用法はたぶん大いに不適切。
レンタルサーバ変更。
零時かそのくらいに移譲先のDNSサーバが変るはずということで、
いつ変るのか、てけとうに確認。
rootからTLD(.net)の権威サーバを探すと、IPv4で
[a-m].gtld-servers.net と、そのIPアドレスの13ノードが返された。
一つのDNSサーバだけ、のべつまくなしに問い合わせしては
DoS攻撃かとも思われたので、約30秒おきに、ランダムにする。
#!/bin/bash LOG=$DIR/log.txt SERV=($GTND_SERVER_1 $GTLD_SERVER_2 ...) for x in `seq 480` do RAND=`echo ${RANDOM}%13|bc` NET_SERVER=${SERV[$RAND]} date >> $LOG echo dotnet server is $NET_SERVER >> $LOG dig @$NET_SERVER $CHANGING_DOMAIN NS \ | grep -v "^;\|^$" >> $LOG echo "" >> $LOG sleep 29 done
入れ替わったのは、
Thu Dec 1 01:51:32 JST 2016 dotnet server is $GTLD_SERVER_1 $CHANGING_DOMAIN. 172800 IN NS $OLD_DNS_SERVER_1 $CHANGING_DOMAIN. 172800 IN NS $OLD_DNS_SERVER_2 Thu Dec 1 01:52:02 JST 2016 dotnet server is $GTLD_SERVER_2 $CHANGING_DOMAIN. 172800 IN NS $NEW_DNS_SERVER_1 $CHANGING_DOMAIN. 172800 IN NS $NEW_DNS_SERVER_2
それ以後、$OLD_DNS_SERVER[1,2]はどこからも返されなくなった。
まともなメールサーバはすでに変更先にメールするようになったが、 spamは依然として古い方に送信してくるようだ。
見てくれなど修正。大きくは変えていない。
と思ったが、昨日の動画は「格差の減少」がグラフに反映されてなかった。
apngはapngasm で末尾に 1 5 とかすると再生コマが少しゆっくりになった。
できないわけではないことを一応確認。
void setup() { println(fact(5)); } int fact(int number){ if (number == 0) { return 1; }else{ return number * fact(number - 1); } }
120
また
下らないPythonスクリプトを思いついた。
配列が変['ぁ', 'あ', 'ぃ', 'い', 'ぅ', 'う',...]だけどいいか。
$ python3 shift.py3 0 親譲りの無鉄砲で小供の時から損ばかりしている。 $ python3 shift.py3 1 親譲るは無鉄砲と小供は時がり損ぱがるじでぅれ。 $ python3 shift.py3 50 親譲てお無鉄砲ぃ小供お時ぽづ損がぽてらあぶで。 $ python3 shift.py3 86 親譲りの無鉄砲で小供の時から損ばかりしている。 $ python3 shift.py3 100 親譲あぼ無鉄砲ふ小供ぼ時すぁ損ますあづぴげぃ。
剰余を利用すれば、範囲内か範囲外かをifで切り分ける 必要がないことに気付く。
標準入力に対応させてみた。さて、ずらす量は どうやって指定したものか。
$ cat botchan.txt |python3 shift.py3 親譲ょに無鉄砲つ小供に時えゆ損ねえょごっぁよ。小学校 と居よ時分学校に二階えゆ飛ば降ょっ一週間へて腰わ抜え ごぜ事ぉゕよ。ですずゐで無闇わごぜづ聞が人ぉゕよえみ 知らど。別段深ぁ理由つみでぁ。新築に二階えゆ首わ出ご っぁぜゆ、同級生に一人ぉ冗談と、ぁがゆ威張だっみ、ず ぐえゆ飛ば降ょよ事ぬ出来ほぁ。弱虫めーぁ。づ囃ごぜえ ゆつゕよ。小使と負びげだっ帰だっ来ぜ時、ぇめさぉ大お で眼わごっ二階きゆぁえゆ飛ば降ょっ腰わ抜えざ奴ぉゕよ えづ云だぜえゆ、ぐに次ぬ抜えげしと飛ゐつ見じほざづ答 ぅぜ。
PS42の内蔵カードリーダ(のドライバ)がいまいち、らしい件。
D40で撮った写真を見ようとして、pcmanfmを開いたら落ちた。
以下、dmesgの一部。
[ 129.562246] FAT-fs (mmcblk0p1): error, invalid access to FAT (entry 0x0009f008) [ 129.562247] FAT-fs (mmcblk0p1): error, invalid access to FAT (entry 0x0009f008) [ 129.563135] attempt to access beyond end of device [ 129.563136] mmcblk0p1: rw=0, want=41689480, limit=31168512 [ 129.563152] show_signal_msg: 12 callbacks suppressed [ 129.563153] loader[1809]: segfault at 7f93bd448000 ip 00007f93d45bd6ff sp 00007f93bd445a18 error 4 in libc-2.28.so[7f93d4483000+148000] [ 129.563158] Code: 17 e0 c5 f8 77 c3 48 3b 15 96 3d 06 00 0f 83 25 01 00 00 48 39 f7 72 0f 74 12 4c 8d 0c 16 4c 39 cf 0f 82 c5 01 00 00 48 89 d1a4 c3 80 fa 10 73 17 80 fa 08 73 27 80 fa 04 73 33 80 fa 01 77
USB type-C アダプタ(UH-C3113W)経由で繋いだカードリーダ(MR3-K012) は安定していた。
テストメールを突っ返したOutlook.com はさらに露骨な対応であった。
status=bounced (host outlook-com.olc.protection.outlook.com[104.47.70.33] said: 550 5.7.1 Unfortunately, messages from [118.27.39.151] weren't sent. Please contact your Internet service provider since part of their network is on our block list (S3150). You can also refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors. [BN7NAM10FT062.eop -nam10.prod.protection.outlook.com] (in reply to MAIL FROM command))
解除申請はできるらしいが。
使ってないとすぐ忘れる。思い出すのに少しかかった。
$ sudo mount -t cifs \ //CIFS_SERVER/SHARE \ /MOUNT_POINT \ -o username=USERNAME,password=PASSWORD,\ UID=host_username,GID=host_groupname,\ vers=1.0
uidとgidを指定してやらないと、スーパーユーザーしか
書き込めない。
vers=1.0はNAS等で必要になることが多い、ようだ。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。