トップ «前の日(03-23) 最新 次の日(03-25)» 追記

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2005-03-24(Thu) 適当に熱

結局

kernel2.4.29では無線LANが認識できたものの、サスペンドと音声をどうにもできず、 kernel2.6.11.5を入れた。
無線LANも大切だが、サスペンドと有線(?)LANの方が重要だから。

Googleの翻訳

が二通りできてしまった。 原文がまともな英文に見えるかはよくわからないが。 かと思ったら、ブラウザのキャッシュを消して 翻訳をさせるたびに、微妙に違う日本語ができている模様。 適当に保存しておこう。

自分の誤字も見付かった。ドイツ語はGermanらしい。塑像がstateになっていた。

あと、Googleの翻訳エンジンをブラウザでつっつくと、こんなログが残った (これは多分自分のだ)

216.239.36.136 - - [24/Mar/2005:12:29:44 +0900] "GET /mine/about/about.en.html \
HTTP/1.0" 200 1729 "http://translate.google.com/translate_p?hl=ja&sl=en&u=\
http://www.kuzuore.com/mine/about/about.en.html&prev=/search%3Fq%3Dsato%2B\
makoto%2Bkuzuore.com%26hl%3Dja%26lr%3D%26inlang%3Dja" "w3m/0.5.1,gzip(gfe)\
(via translate.google.com)"

ローカルのntpサーバ

は、外に時刻を聞きに行く以外、何も設定しなくていい...らしい。 適当なクライアントから # ntpdate SERVER で通ってしまった。 とりあえず(Macはapple.から聞いているのでほっとく)、 残りは全部そちらから聞くか。ntpというCNAMEをDNSに放りこんだ。セカンダリに 反映されるのは15時位か。
しかし同じntp.confを何回も設定するのは面倒臭い...

kernel2.4.29では

サスペンド効かないな...なんて考えているうちに、 SoftwareSusmendの ページを思い出した。
行ってみると2.4.29に対応したパッチが出ているので早速当ててみる。 make modulesでコケたので、いくつかをカーネルに、いくつかを無効にして 再度再構築。おっと、起動時パラメータに resume2=/dev/hdXXを設定してと。
# echo -n 4 > /proc/acpi/sleep などとすると、すっと眠る。が、 Xが起動しているとハイバネーションに失敗?読み直し、hibernationスクリプト を入れた。しかし、Xが絡むとうまくいかないのは同じ。ACPIを外すと、 サスペンドしてもスイッチが切れず、電源ボタンを押すと切れた。
あと、alsaもいらったが、どうしても音は出せなかった。

navi2chと

monaフォントを再インストール。
これもホッと一息。

コピペはご随意に

$ cat bomb.sh
#!/bin/sh
sh bomb.sh
 
$ sh bomb.sh
.
.
.
bomb.sh: bomb.sh: Too many open files in system
 
$echo $?
126

どうにか

ppp-onでAirHが復活した。

ftpサイトに誘導する筈が

404になってたところを直した、つもり。


2006-03-24(Fri) じけ

gkermit

debianでは唯のckermitはないらしい。と勘違い。

Sarge:~# apt-cache search kermit
gkermit - A serial and network communications package
modemu - Telnet services for communication programs
 
Sarge:~# apt-cache show gkermit
Package: gkermit
Priority: optional
Section: comm
Installed-Size: 116
Maintainer: Masayuki Hatta (mhatta) 
Architecture: i386
Version: 1.0-4
Depends: libc6 (>= 2.3.2.ds1-4)
Filename: pool/main/g/gkermit/gkermit_1.0-4_i386.deb
Size: 39816
MD5sum: d220f978decc0835bc92cee5810396cd
Description: A serial and network communications package
 G-Kermit is a GPL'd kermit package. It offers medium-independent terminal
 session and file transfer. The non-free package ckermit adds connection
 establishment, character-set translation and scripting features.

適当に~/.kermrc書いてgkermitしても、出るのはヘルプメッセージばかり。
顔の節穴を広げて、↑やmanをよくよく凝視するとファイル転送用途 にしか使えないっぽい。
やれやれ。/etc/apt/souces.list の適当なところをコピーしてmainをnon-freeに 変え、apt-get update。

そういえばKNOPPIXにはkermitは入ってない。なんとかせねば。

スイッチON/OFF

kermit ではlineやspeedやcarrier-watchの他に "modem type none" も SETしておくと繋がるらしい。

瓢箪から独楽

独楽じゃなくて駒だが、それはさておき。

man hoge -t するとPostScriptを吐くのか。そうなのか。
iptables-save などをいらったりman したりの間に偶然気づく。

:~$ man 1 ls -t | head
%!PS-Adobe-3.0
%%Creator: groff version 1.10 (jversion 0.99)
%%CreationDate: Fri Mar 24 12:38:34 2006
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
%%DocumentSuppliedResources: procset grops (1.10 (jversion 0.99)) 0
%%Pages: 5
%%PageOrder: Ascend
%%Orientation: Portrait

(少なくともSargeでは)日本語も通った。

目覚めて

Plamo-4.2β2を拾う。まずはqemuに突っ込んでみた。


2007-03-24(Sat) 頭痛で書けない

どっか寿命?

Celeron2Gなホストが、また起動しなくなっている。電源部かどこかが いかれたかも。
こないだ(数日前)は電源コードを抜いて放置していたら いつの間にか直っていたが。

LMS

姫路に走る。学習会場にて半二重の10/100ハブでにわかLANを構築。 AirHとdhcpとiptablesでIP Reachableにする。他4台ほど。

思う存分喚き散らす。 たとえば ライトニングトーク


2008-03-24(Mon) 晴れてた。たぶん

sudo-1.6.9p14 に pam

デスクトップのPlamoは、sudoを上げたことがなかったようだ。
適当に--prefix=/usr で make。removepkg sudo で古いのを 消してから make install。

/etc/suduers を消されて(雛型でもって上書きされて)しまったらしいが、 大した定義はしてないので、まぁいい。
pamを定義しないと認証が全然通らない。
外してもいいけど、逃げてばかりもなんだね。
通らないときのログ(/var/log/messages)が、

Mar 24 23:39:20 host sudo(pam_unix)[7156]: authentication \
failure; logname=$USER uid=0 euid=0 tty=/dev/pts/5 \
ruser= rhost=  user=$USER

これまた適当に/etc/pam.d/sudoをコピペして試す。

$ cat /etc/pam.d/sudo
auth       required     pam_stack.so service=plamo-default
account    required     pam_stack.so service=plamo-default
password   required     pam_stack.so service=plamo-default
session    required     pam_stack.so service=plamo-default

で、その上で sudo ls などやってみた。

Mar 24 23:39:24 $HOST sudo:   $USER : TTY=pts/5 ; \
PWD=$PWD ; USER=root ; COMMAND=/bin/ls
Mar 24 23:39:24 $HOST sudo(pam_unix)[7156]: session \
opened for user root by $USER(uid=0)
Mar 24 23:39:24 $HOST sudo(pam_unix)[7156]: session \
closed for user root

さて、pam(Linux-PAM)のバージョン(pam-0.77-i386-P9)は大丈夫だろうか。
ringサーバのkernel.org/libs/pam/pre/library/を 覗いたら、Linux-PAM-0.99.10.0.tar.gzとかあったりする(14-Feb-2008 00:25)が。


2009-03-24(Tue) 晴れて冷たい風

kernel-2.6.29

Tuz君

起動時 ロゴ目当てにLFSに突っ込んだ。

haXe

なんとなく試す気になった。 Ubuntuへのインストールを参考にして Linux From Scratch SVN にゴリゴリとインストールする。

ocalmをインストールし、続いてhaxeのコンパイラを、そしてneko-vm、それから toolsを入れる。そのためにMySQL-5.1.30を、それからapacheを。
apache-2.2.11は既に入っていたが、途中でapache-1.3xのincludeを欲しがるの ようなので、結局apache-1.3.41も別ディレクトリに入れた。

簡単な*.jsや*.swfを吐く(Webブラウザで見える)のは確認できたが、今はそこまで。


2011-03-24(Thu) はれ?

目の錯覚だそうだ

面白いのをみかけた。テキストベースのものが一番気に入ったが、 画像の一つを加工してみる。

カラーかつ3Dの絵 もなんとかやっつけたかったが、自分の腕とツールでは、ちょっと無理...

<後記>
FlashからMP4に変換。少し違ってしまったが。
</後記>


2013-03-24(Sun) なんとなく晴れていた。風はまだ少し冷たい

clisp

LISPの本を買った。
4ページの性格判定によると、Common Lisp 向きとのことであった。

> (eq (not t) (cdr '(foo)))
T
gosh> (eq? #f '())
#f

まあ、このあたりの違いに騒ぐつもりはあまりない。

if には progn

if の下で複数の処理をするには progn だそうだ。
そういえば、手続き型言語の多くに当然のごとく 用意されてる区切り符号とかインデントとか、 がなかった。

> (if (eq nil t)                                                                                                    
          (progn (princ "foo") (princ "bar"))                                                                           
        (progn (princ "bar" ) (princ "foo")))
barfoo
"foo"

書きやすそうだけど、どうも if は

car と cdr だけじゃないらしい。

とりあえず、car cdr で同じになったものを 付け足しておく。

> (cadr '((1 2 3) (4 5 6) (7 8 9)))
(4 5 6)
> (car (cdr '((1 2 3) (4 5 6) (7 8 9))))
(4 5 6)

cadr は、 carと cdrか。

> (caddr '((1 2 3) (4 5 6) (7 8 9)))
(7 8 9)
> (car (cdr (cdr '((1 2 3) (4 5 6) (7 8 9)))))
(7 8 9)

caddr は、 carと cdrと cdrらしい。

> (cddar '((1 2 3) (4 5 6) (7 8 9)))
(3)
> (cdr (cdr (car '((1 2 3) (4 5 6) (7 8 9)))))
(3)

cddar は、 cdrと cdrと carでいいのかしら。

> (cadadr '((1 2 3) (4 5 6) (7 8 9)))
5
> (car (cdr (car (cdr '((1 2 3) (4 5 6) (7 8 9))))))
5

cadadr は、 carと cdrと carと cdr らしいが、もーわからん。

同じみたいでも同じでない

スクリプト言語によっては、かなり移入されてる気が。

> (setf foo '(1 2 3))
(1 2 3)
> (setf bar '(1 2 3))
(1 2 3)
> (eq foo bar)
NIL
> (equal foo bar)
T
 
> (setf foo2 foo)
(1 2 3)
> (setf foo3 foo)
(1 2 3)
> (eq foo2 foo3)
T

scheme で書けば

リストの要素を数えるCommon Lisp が例題に載っていた。
手習い風に書いてみた。

(define my-length
  (lambda (list)
    (cond
     ((null? list) 0)
     (else
      (+ 1
         (my-length
          (cdr list)))))))
 
gosh> (my-length '(1 2 3 4 5 6))
6

member

シンボルがリストにあれば、それとその後ろすべての リストを返す。
なければ偽を返す。

どっちも似たようなものなんだろうな。

> (member 'foo '(1 2 foo nil t))
(FOO NIL T)
> (member nil '(1 2 foo nil t))
(NIL T)
> (member 3 '(1 2 foo nil t))
NIL
gosh> (member 'foo '(1 2 foo #f #t))
(foo #f #t)
gosh> (member #f '(1 2 foo #f #t))
(#f #t)
gosh> (member 3 '(1 2 foo #f #t))
#f

2014-03-24(Mon) やはり晴れて、ややぼんやり

昨日のLEDに電流計

LED Ampere

を繋いでみた。
繋ぎ方は、

+ ---R1--LED1---LED2--R2--AMPERE--- -
              |
             GPIO

でないと駄目だった。電流計自体のグランドと、 測定用のグランドが内部で共通になっているため、 LED1側に繋ぐと、電気がほとんど抵抗なくそちらに逃げてしまい、 とんでもない電流値になったり、あるいはGPIOがOUTになるまで 全然動作しなかったりするから、らしい。

明るい場所ではLEDが消えているように見える 間に流れている電流は1mAより小さいらしい。電流計はゼロを 表示していた。

LEDとGPIOの間も考えたが、この電流計は 負圧は測れない模様。今は諦める。
というか、そんなことをやってたら電流計(動作電圧4.5V-28V)から出た 電流が共通のグランドからGPIO(3.3V)に流れて Raspiを壊す危険性もあった(!)。


2016-03-24(Thu) 少し冷えてきた

もう少し階乗を

前に書いたかも、はどうでもいい。
以下、gauche。

(define myfact
  (lambda (n)
    (cond
     ((<= n 1) 1)
     (else
      (* n (myfact (- n 1)))))))
gosh> (myfact 100)
93326215443944152681699238856266700490715968264381\
62146859296389521759999322991560894146397615651828\
62536979208272237582511852109168640000000000000000\
00000000
gosh>

EmacsLispで書いた次のスクリプトでは、あまり 大きな数は扱えないかも。

(defun myfact(n)
  (cond
   ((<= n 1) 1)
   (t
    (* n (myfact (- n 1))))))
(myfact 63)
1585267068834414592
 
(myfact 64)
Lisp nesting exceeds `max-lisp-eval-depth'
 
max-lisp-eval-depth
641
 
(setq max-lisp-eval-depth 1000)
(myfact 64)
0

再帰は無理か?

なんとなくLISPの真似をしてみた。

#!/usr/bin/env python
from sys import argv
num = int(argv[1])
 
def myfact(x):
  if x <= 1:
   return 1
  else:
   return x * myfact(x - 1)
 
print(myfact(num))
$ python myfact.py 6
720
 
$ python myfact.py 999 | wc
      1       1    2566
 
$ python myfact.py 1000
Traceback (most recent call last):
  File "myfact.py", line 11, in 
    print(myfact(num))
  File "myfact.py", line 9, in myfact
    return x * myfact(x - 1)
  File "myfact.py", line 9, in myfact
    return x * myfact(x - 1)
  File "myfact.py", line 9, i
.
.
.
  File "myfact.py", line 9, in myfact
    return x * myfact(x - 1)
RuntimeError: maximum recursion depth exceeded

このスクリプトをpython3にかけると、998が限界だった。
エラーで検索して、とりあえずの対応。

>>> sys.getrecursionlimit()
1000
>>> sys.setrecursionlimit(2000)

リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。