2010/04/30(金)電子機器の設計についての聞いた話

とある電子部品メーカーにつとめる友人から聞いた話。

大手のメーカーとかでもその部品の使い方がよくわかってないんだそうな。仕様・周辺温度とかだけ気にして、内部の仕組みとかをしらないからおかしな設計をしてしまう。

仮にモーターだとすれば、モーターに定型の駆動回路(MOSスイッチ等々)を付け加えたやつをがつんとくっつけてあとは知らない。回路設計を終えると、実装設計はノータッチ。実装のとこを考えて回路が設計されてないから熱設計や設計面積などで問題が出るけど、そういうところまで気にしてない。モーターをそんな位置形で固定するなよという失敗をする。

アマチュアの工作は回路を設計して、基板に実装して、ケースに入れるところまで考えて作るモノだけど、プロの世界ではそこが細分化されているため回路設計・実装・ケーシングを別々の人が担当して、それぞれ自分のところしか知らないからどうしょうもないって話でした。*1


物作りの現場で大域的な見方をする人が少ないって話は以前から聞いてましたけど、国内大手メーカーとかでもそういう現象起こってるらしい……。

なんだかなあ。

*1 : 古い技術者はそういうところを知っているのだけど、最近は若いエンジニアとかはそこまで気を配ってくれないんだって。

2010/04/29(木)久しぶりに電気屋

久しぶりに電気屋さんに行ってきました。店頭で商品眺めると、今どんな感じになってるかわかって面白いです。

先に言っておきますが何も買ってません(苦笑)

FinePix F80EXR

なんか新機種が出てた。

項目F200EXRF80EXR解説
CCDサイズ○1/1.61/2大きい方がノイズが少ない
光学ズーム5倍○10倍倍率高い方が便利
フィルム換算f=6.4mm~32mm○f=5.0mm~50.0mm左の値が小さい方が広角
開放F値F3.3(W)~F5.1(T)F3.3(W)~F5.6(T)小さい方がレンズが明るい

受像素子の世代自体は一緒みたいで、最上位機種のF200EXRのCCDのサイズを小さくして10倍対応にしたのがF80EXRの模様。特徴をあげると。

  • より広角になっている
  • ズームが5倍→10倍になっている
  • 筐体が小さくなっている(薄くなっている)。

ズームよりも広角は重要です。部屋いっぱいまで後ろに下がっても全体が入りきらないって経験がある人は多いでしょう。その代わりFinePixのウリである低ノイズ性能は低下してると。*1

あまり良いところがないF80EXRのように見えますが、実際に触ってみたらとワイド端(一番広角)での画面歪みがとても少ない。撮影画面自体に水平ラインが表示されて綺麗に揃うのでこれはナイスと思ったんですが、色々調べてみると画面端で揃う代わりに中央で狂うらしい 。なんだ残念。*2

*1 : 撮影画像の比較レビューがあるといいのですが、ネット上ではみつかりませんでした。

*2 : このせいで画面の安定度が悪くなっている(レンズ口径の大きいカメラと比較すると顕著に分かる)。あとF値がF3.3なので、せっかくの高感度を生かし切れない。5倍ズームなんて要らないからF2.8で1/1.6型+3倍(広角)ができるならほしい。

HDDレコーダー RD-S304K

まだ買ってないHDDレコーダーです

47000円でポイント7000円ぐらいでした。だいぶ安くなってます。下位機種のRD-E3022Kの方が高いという謎の現象が起きてました。

現在まったく何も録画できない状況で不便は不便なのですが、むしろTV離れしてるからそれはそれでいいのかというのがあり、価格チェックだけしてる。現状で十分安いんだけど(たぶん底値に近い)買う踏ん切りがなかなか付かない(苦笑)

ATH-A2000X

また視聴してきた。よくできてるなあ。密閉なのに密閉っぽくないA2000Xと、開放型なのに開放っぽくないAD2000で似たところはあるなあと感じましたが、店頭のデモじゃよくわからなかった。

スピーカーアンプのちらっときいてきたけど(PMA-2000???)、スピーカーが悪いのかセッティングが悪いのか高域がいまいちで中域も若干くもる。まあメーカー製の(聴覚)F特のフラットさ自作では到底敵わないところですけど。

もっとも、ちゃんとしたオーディオコーナーのある巨大電気店とかじゃないと聴き比べは難しい。

2010/04/12(月)最近買ったもの、もらったもの

ごぶさたの更新です。サーバトラブルのために今年はエイプリルフールに何もできなかったのがちと悲しいですね。

無事復活したことですし、もう少し更新できるようにがんばります。

最近買ったもの

minitakka01.jpg

ホチキスの一種ですが、壁や木材にに打ち付けるホチキスです。家を建てる現場のおっちゃんが「プシュ! プシュ!」と板を柱に打ち付けているのをTVとかでみたことある人もいるかと思います。あれは空気圧で釘やホチキスを打ちつけているのですが、これは手の力でホチキスを打ち付ける道具です。何に使うかはイラスト参照。

DIYな人は持ってると結構重宝する工作道具です。ホームセンターで1000円ぐらい。ただし使い方を間違えると洒落にならない凶器になるので取り扱い注意(汗)


これを探しにホームセンターにいったらなかなか見つからないで苦労しました。工具コーナーを2週して、釘のコーナーも2週してみつからない。電気工具やら、木材コーナーも回ってみるもののみつからない。

30分以上歩きまわった挙句「まさか?」と思って事務用品コーナーに行ったらおいてありました。……絶句。これを事務用品(事務ホチキスの一種)に分類する店員の思考を小一時間問い詰めたい(汗)

最近もらったもの

友人から某国おみやげをもらいました。

ripo01.jpg
ripo02.jpg

個人的に爆笑(よく意味のわからない人はこの辺参照)。

パチもんじゃありません、本物です(汗)

とりえず部屋にオブジェとして飾っておきます(笑)

2010/04/05(月)Linuxなリモートサーバを自動バックアップ

LinuxやFreeBSDのリモートサーバを自動的にバックアップする仕組みを構築したときのメモ。

基本戦略

  1. リモートサーバ上の特定ディレクトリを1日1回程度自動バックアップする。
    • バックアップには tar を使う。
    • 定期実行には crontab を使う。
  2. 手元のサーバにも、バックアップのコピーを自動で送り込む。

最初sftpを使おうと思ったのですが(参考資料)、ftpのようにputのみの許可にできないのでやめました。ftpでも良いのですが、今更(この時代に)ftpのサービスなんて起動したくない。

色々考えた結果。

  • 手元サーバにWebDavを入れて、PUTメソッドでファイルを送り込む。
  • 転送ファイルの秘匿が必要なときは暗号化する。

使用ツールの選定

WebDav(HTTP PUT)を実行できるツールを探すのにひと苦労しました。cadaverというツールが有名なのですが、対話的プログラムなので自動化全く向かない。色々探していると、ndという小粒なツールを発見。ありがたいことです。*1

ファイルの暗号化には openssl コマンド。

リモートサーバ内にもバックアップを保存するので、古いバックアップを削除するためのツールとして tmpreaper(tmpwatchの代わり)を使用しました。

# apt-get install tmpreaper
# apt-get install nd

手元サーバ

Apache に mod_dav と mod_dav_fs を入れました。

*1 : スクリプトとかで書いても大した手間じゃないですが、パッケージ化されている方が何かと楽なので。

リモートサーバへの仕込み

まず次のスクリプトを仕込み ~/bin/backup.sh として保存しました。

#!/bin/sh
#-------------------------------------------------------------------
# Automation backup script
#-------------------------------------------------------------------
TMPREAPER=/usr/sbin/tmpreaper

DIR=~/backup
DATE=`date '+%Y%m%d'`
FILE=$DATE-public_html.tar.gz

# 30日経過したファイルを削除
$TMPREAPER -m 30d $DIR

cd ~/
tar zcf $DIR/$FILE.tmp public_html/

# OpenSSLを使用してファイル暗号化
openssl enc -e -AES256 -k 'PASSWORD' -in $DIR/$FILE.tmp -out $DIR/$FILE
rm $DIR/$FILE.tmp

# 手元サーバに送り込む
nd -p $DIR/$FILE http://(local-server)/davput/$FILE

~/backup は chmod 700 としておきます。

自動実行させるため、crontab -e として組み込みます。

# m h  dom mon dow   command
0 4 * * * ~/bin/backup.sh

手元サーバの設定

Debian系(Ubuntu)を前提として話しますが、他サーバの時は適当に読み替えてください。

  • 保存場所 /home/dav/davput

まずWebDavを有効にします。

# cd /etc/apache2/mod-enable/
# ln -s ../mods-available/dav.load
# ln -s ../mods-available/dav_fs.load
# ln -s ../mods-available/dav_fs.conf

続いて dav_fs.conf を編集します。

Alias /davput /home/dav/davput
<Directory "/home/dav/davput">
        DAV             on
        AllowOverride   None
        Options         None

        order deny,allow
        deny  from all
        <Limit PUT>
                order deny,allow
                deny  from all
                allow from 127.0.0.1
                allow from (リモートサーバのIP)
        </Limit>
</Directory>

リモートサーバのIPに対してPUTのみを許可します。GETなどを許可するといらぬデータ盗用を招きかねないので注意。より強固にするならパスワードもかけると良いでしょう。

保存場所である /home/dav/davput を www 権限で書き込みできるようにしておきます。

# chmod 700 /home/dav/davput
# chown www-data:www-data /home/dav/davput

テスト

リモートサーバに入り、backup.sh を手動で叩きます。エラーがでず、手元サーバおよびバックアップディレクトリにアーカイブがおかれていれば成功です。

まとめ

手元サーバにはバックアップファイルがたまり続けるので、定期的に削除するか、tmpreaperをcrontabに仕込むと良いでしょう。

tmpreaperのメモ

tmpwatchを使おうとしたらそんなパッケージは無いと怒られたので。

debian系だと /usr/sbin/tmpreaper にたぶん入る。

# 最終更新日時で10秒経過したものを削除
$ /usr/sbin/tmpreaper -m 10s ~/dir

# 最終更新日時で10分経過したものを削除
$ usr/sbin/tmpreaper -m 10m ~/dir

# 最終更新日時で10時間経過したものを削除
$ usr/sbin/tmpreaper -m 10h ~/dir

# 最終更新日時で10日経過したものを削除
$ usr/sbin/tmpreaper -m 10d ~/dir

VirtualHost対応のため curl を使う 2019/07/22

ndコマンドは VirtualHost に対応していない(Hostヘッダを送信しない)ので、curlに変更しました。

curl -s -X PUT -H "Host: example.com" -T $DIR/$FILE http://example.com/davput/$FILE >/dev/null