[トップ][ノート][編集履歴][一覧][最近の更新][->English]

Memo

メモ。生活の知恵。

Memo/tar-or-make-installworld

でも,無理やり installworld せず(事前に DESTDIR 指定してよその directory に installworld しておいた上で,その中身を)tar 使って / から上書きする,ってのは,それ普通に installworld するのと何がどれくらい違うのだろう...

libcが入れ替わってmake自身が動かなくなることがあります。 シングルユーザでtarするとファイルの展開がtarの実行で完結するので少しだけ安全。

libcがきちんとbumpされているなら問題になることは無いと思います。

OpenBSD/Memo/dump-cd-image

Category of OpenBSD

CDをファイルに変換するには、ddを使うのが常道なのだけど、

 # dd if=/dev/cd0c of=image.iso

としてしまうと、読み込みが止まらなくなってしまうので、次のようにするとよい。

#!/bin/sh

cdd=/dev/rcd0c
s=`/sbin/disklabel $cdd | /usr/bin/grep "bytes/sector:" | /usr/bin/sed 's/.* //'`
sc=`/sbin/disklabel $cdd | /usr/bin/grep "sectors/cylinder:" | /usr/bin/sed 's/.* //'`
c=`/sbin/disklabel $cdd | /usr/bin/grep "cylinders:" | /usr/bin/sed 's/.* //'`

echo "$s bytes/sector $sc sectors/cylinder $c cylinders"
dd if="$cdd" of=image.iso bs="$sc"x"$s" count="$c"

ねた元


  • /dev/rcdでないといけない。訂正。

Memo/captcha

巷ではcaptchaと呼んでいるらしい(Wikipedia:Captcha, Google:captcha)。

completely automated public Turing test to tell computers and humans apartの略なんだって。 こんなところでチューリングテストの話題が。へー。

OpenBSD-cvs:ports/graphics/p5-GDとAPIが違うみたいなのでいじってみた。 このバージョンだとアルファブレンドできないっぽいな。

--- captcha.pl.orig     Sun Sep 25 09:36:47 2005
+++ captcha.pl  Sun Sep 25 09:48:12 2005
@@ -23,8 +23,9 @@
     my $im = new GD::Image($width, $height);

     # 背景色と文字色
-    my $bg = $im->colorAllocateAlpha(255, 255, 255, 127);
+    my $bg = $im->colorAllocate(255,255,255);
     my $fg = $im->colorAllocate(0, 0, 0);
+    $im->transparent($bg);

     # TrueType fontで文字を描画
     my @bounds = $im->stringFT($fg, $font, 9, 0, 0, 14, $string);
@@ -37,11 +38,11 @@

     # 出力用画像を別に作り、元画像から文字の部分のみをコピー
     my $outim = new GD::Image($owidth + 2, $oheight + 2);
-    $outim->colorAllocateAlpha(255, 255, 255, 127);
+    $outim->colorAllocate(255, 255, 255);
     $outim->copy($im, 1, 1, $srcx, $srcy,  $owidth, $oheight);

     # 画像をファイルへ出力
-    my $png_data = $outim->png(9);
+    my $png_data = $outim->png;
     open (OUT, ">$png_file") or die;
     binmode OUT;
     print OUT $png_data;

sf:jocrの腕試し。 昔MSが配っていたcour.ttf(今はsf:corefontsとして再配布中)で試してみた。

$ ls test?.png | xargs -L 1 gocr -m 124 -C ".0123456789@abcdefghijklmnopqrstuvwxyz"
t l___d i nt _ __ n_t
__tc_0n0_.dcyt . 0c_0
intec_estin0_.dsit.c0m
rle6__e_.dm0c_e .inf0
tc_0utle_.di__ .my.ti_

さすがに字が小さ過ぎてダメ。 14pointにすると、

$ ls test?.png | xargs -L 1 gocr -m 124 -C ".0123456789@abcdefghijklmnopqrstuvwxyz"
...

お、全部認識した。

しかし、絵で認証すると著しくアクセシビリティが落ちそうだ。 本家captcha版なんてもっとクネクネしてるし、 画像自体もdpi固定なので、閲覧者にページの見栄えを強制することになりそう。 最低でも音声サポートと人力ヘルプセンターは必須か。

あ、画像関連はSVGで、という手もありか。

人間が認識できて、機械に認識できないことがある、 という仮定がそもそも微妙な気がする。

参考:

Memoに関する全てのエントリ