Android tabletのadware

適当にアプリケーションをインストールさせている
Asus TF201というAndroid tabletがあるのだが、それにadwareが入って
しまったらしくて、鬱陶しくて仕方がない。
そこで、駆除してみることにした。

最初は、
avast! Mobile Security
https://play.google.com/store/apps/details?id=com.avast.android.mobilesecurity
というのを入れて一通りスキャンしてみたのだが、このソフトウェアは
adwareは検出してくれないらしく、何も検出されなかった。

そこで、次に
Dr. Web アンチウイルス Light (free)
https://play.google.com/store/apps/details?id=com.drweb
というのを入れてみると、結構な数のadwareが検出された。

これで、鬱陶しいのがなくなると良いのだけれども。

第1種衛生管理者

第1種衛生管理者の資格を取ろうと思い立った。
そこで、定番らしいテキストを購入して、昨日届いた。

まだ、あまり見ていないけれども、まあ、仕事にも役立つということで。

MacBook Air 11-inchのキーボード到着

今日帰ると、MacBook Air 11-inch mid 2012用のキーボードが到着していた。
パンタグラフも痛んでいたので、キートップと一緒に交換した。

これで快適。

追記
中国の北京から発送された荷物だった。

USB-RS-232C変換ケーブルの仕様

qnap TS-110にNetBSDを載せられないかと思って調べていると、
http://www.cyrius.com/debian/kirkwood/qnap/ts-119/
というページを見つけた。
Debian GNU/Linuxをインストールしようという話だ。
ざっと読んでみて分かったのは、シリアルコンソールがないと
辛そうだと言うこと。

http://www.cyrius.com/debian/kirkwood/qnap/ts-119/serial.html
によると、PHR-4というコネクターまでは用意してあるようだ。
実機は、データを新NASに移行中で開けられない。

で、USB-RS-232Cの方はと言うと、3.3Vだとのことなので、
http://akizukidenshi.com/catalog/g/gM-05840/ TTL-232R-3V3
を勧められた。
手元には、ADM3202ANと書いてあるICもあるのだが、配線するための
半田ごてを買うことを考えると、このケーブルを買った方が安い。
まあ、結局半田ごては、必要になるのかもしれないが、最初の工作
として、今回のは敷居が高いというか、本題から離れ過ぎてしまう。

手元にもUSB-携帯電話ケーブルがいくつかあるので、
これまた紹介された
http://www.geocities.jp/aesthetic_music/memo/scon.html
で、適合するか調べてみた。
すると、SUNTAC PS64P1、SOURCENEXT SSCPUV303Cともに5Vとのことで、
使えないことが分かった。

TS-110の本体を開けてみて、TTL-232R-3V3をコネクター部品と一緒に購入するかな。
でも、実際に見てみてでないと選べないので、日曜日に秋葉原を
通った時に秋月に行けば良かった。

MacBook Airのキーボードの右commandキーをCtrl(control)キーにする

壊れてしまったMacBook Airのキーボードだが、カーソルキーが使えなくなったので、
ctrl+nとかの使用頻度が非常に上がって来た。
となると、左にしかctrlがないのが不便になって来る。

そこで、これまでのcaps lockを左ctrlにするのに加えて、右commandを
ctrlにしたので、書いておく。

xevによると、右commandキーは、Super_Rであり、単純にSuper_Rをcontrolの
グループに加えるという方策を取ることにした。

% cat ~/.Xmodmap
! Make Super_R as Ctrl
remove mod4 = Super_R
add control = Super_R

として、startxし直したが、有効にならない。
いろいろ試してみて、助言もいただいて、

/etc/X11/xorg.confでCaps Lockをctrlにしていたのを無効にした上で、
同じことを~/.Xmodmapですることにした。

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbOptions" "ctrl:nocaps"
EndSection

としていたのを、

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
# Option "XkbOptions" "ctrl:nocaps"
EndSection

にし、~/.Xmodmapは以下のようにする。

% cat ~/.Xmodmap
! equivalent to ctrl:nocaps in xorg.conf
remove Lock = Caps_Lock
add Control = Caps_Lock
keysym Caps_Lock = Control_L

! Make Super_R as Ctrl
remove mod4 = Super_R
add control = Super_R

/etc/X11/xorg.confと干渉するとか、良くないよな…

ちなみに、キーボードはさきほど出荷されたとのこと。

Apple MacBook Air 11-inch mid 2012のキーボード

買って半年も経っていないのに、キーボードのキートップが
破損してしまった。Apple storeに持ち込んでみたが、保証は効かず
16000円強かかるとのことで、店員の人にウェブで探してみては
どうかとアドバイスをいただいた。

http://www.powerbookmedic.com/MacBook-Keys---Individual-Key-Keycap-p-16959.html
には、MacBook Air 11-inchのもののバラは売っていないっぽい。

http://www.ifixit.com/MacBook-Parts/MacBook-Air-11-Inch-Mid-2011-Upper-Case-with-Keyboard/IF108-018
は修理に出すより高い。

と言うことで、ebayで探すことにした。
ifixitによると、mid 2012と2011は同じキーボードだそうだ。

一番リーズナブルな値段だったのが、これ。
http://www.ebay.com/itm/Fast-Ship-Replacement-US-Layout-Keyboard-for-Macbook-Air-A1370-11-11-6-2012-11-/170969518016?pt=PCA_Mice_Trackballs&hash=item27ce93cfc0

私のMacBook AirはUSキー配列なので、こういう時に便利だ。

しかし、買って半年で破損してしまうとは、残念だ。

もし日本語配列のものを探しているのであれば、
http://www.hanashin-world.com/SHOP/0151780.html?prd=google_ps&bid=56000000
が候補になったのかなと思う。

私の破損したキーは日本語配列でも一緒かもしれないが、他のキーの破損
も起きるかもしれないと考えると、一式持っておくのも良いのかもしれない。

一週間くらいで届くかな?

Open sourceなGroupware softwareの比較

某所に置いているGroupwareを比較した文書は、他の駄文よりも
アクセスが多いようなので、更新が簡単なこっちでまとめ直してみる。

まず、使っているのは、open sourceではないもので、GroupSession 4.1.0。
http://www.gs.sjts.co.jp/v4/index.html
から入手できる。
Javaで書かれており、apache-tomcat6を使って設置する。
sourceは公開されているが、open sourceではない。
私はJavaも分からないので、修正することもないし気にしない。
かっちりとした作りで、使いやすい。
外部のデータベースサーバーを使ったり、LDAPと連携したりというのは、
無料版ではできない。まあ、sourceはあるのでJavaの分かる人ならば
そう難しいことではないのかもしれない。


使ってみたのものとして、Aipoがある。
http://www.aipo.com/
からdownloadできる。
GPL v3なopen sourceと言うか、free softwareなグループウェア。
ちょっとふわっとした作りの所もあるが、version 7になって
ちょっと良くなったかも。
なんか使い方が良く分かっていない人がいるようなのだが、
pkgsrc/www/aipo/MESSAGEの通りやれば良いはず。
PostgreSQLを使っており、大規模に展開しても、
パフォーマンスが落ちることはないのかな。


他にはJoruri Gwがある。
http://joruri.org/
からdownloadできる。
Joruri Gwは、他のJoruriシリーズより導入実績があまりないようだ。
古いバージョンでは、LDAPと連携するとloginできなかったので、
使用をあきらめた経緯がある。ものはとても良い。
自前で認証機構を持っていないも同然なので、LDAPの導入が不可欠である。
userminとかでpasswordを変更できるようにしないといけないのも、
ちょっと敷居が高いかもしれない。
最大の問題は、Ruby on Railsで書かれていること。
Ruby on Railsのソフトウェアはpkgsrcに入れようとすると、
gemのバージョンの要求の問題などでうまく維持できない。
なので、あまり試す気がなくなってしまう。


Feng Officeも良い。
http://www.fengoffice.com/web/
ただし、サイボウズのような複数人の予定を日本人好みに上下に並べて
表示する機構がないので、導入の支障になるかもしれない。


他にもeNote for Communityがあるのだが、更新されていない。
ほかにも、英語メインで良ければ、いろいろある。

他にも日本語のものがあれば教えてください。

ISC dhcpdを使って固定IPアドレスの割り当てを簡単にし、bindにDDNSも設定する

今まで、/etc/hostsに記入して、ホスト名の解決をしてきたのだが、
仮想マシンが多いのでマシン数が多いのもあって、
それぞれのマシンで同期するのが面倒になっていた。

今回、三菱電機 MITSUBISH ME R7150-100というHP 9000/715/100のOEM機を
いただいたので、それでNetBSD/hp700を動かしてみるのにdhcpdが
必要になった。そこで、かねてから思っていた、以下のようなことを
実施することにした。
ここでは、最初の2つのみ記載する。

* MACアドレスを見て、いつも同じIPアドレスをDHCPで振り出す。
* bindのDDNS機能を使って、HDCPで振ったホスト名とIPアドレスを正引き逆引きできるようにする。
* netbootさせるためのBOOTPの設定

DHCPサーバー、DNSサーバー(bind)を動かすのは、NetBSD/cobalt 5.2とする。
他のNetBSD 5.2でも全く同じである。


# ISC DHCPDで固定IPアドレスの割り当てをする。

## 自分を固定IPアドレスを使うように設定する。
これは私の場合には改めて実施した訳ではないのだが、
DNSサーバーと言うことで、自分自身のIPアドレス等を
DHCPで設定するのは楽しくないので、/etc/rc.confに以下のように
設定しておく。

hostname="nickel.elements.tetera.org"
ifconfig_tlp0="inet 192.168.81.249 netmask 0xffffff00"
defaultroute="192.168.81.1"

本当は、/etc/ifconfig.tlp0や/etc/mygate、/etc/mynameを使うのだろうが、
見通しが悪くなるような気がして、私は使っていない。
これらを使うのも、今回の設定ができれば、機会はなくなってしまうが。

この辺が分からなければ、
http://www.netbsd.org/docs/network/index.html
を読めば良いと思う。


## /etc/rc.confにでDHCPDを起動するように設定する。

dhcpd=YES
dhcpd_flags="-q tlp0"

と/etc/rc.confに追記する。NetBSD/cobalt 5.2を動かしているCobalt Qube 2は
プライマリとセカンダリの2つのイーサネット・ポートを持っている。
私はプライマリにしかUTPケーブルをつないでいないので、
プライマリであるtlp0を使うように指定した。


## 空の/var/db/dhcpd.leasesを用意する。
DHCPDの起動には、/var/db/dhcpd.leasesが必要であり、ないとエラーが出て
起動できない。

# touch /var/db/dhcpd.leases

として、空(サイズ0)のファイルを作っておく。

## /etc/dhcpd.confを作成する。
/etc/dhcpd.confはデフォルトでは存在しないようである。
間違って/etc/dhcpcd.confに追記しないこと。
私は最初困惑した。

# vi /etc/dhcpd.conf

として、以下のような内容を入力する。
#を付けてコメントを付けておくので、そこは入力しなくても良い。

# DHCPで割り当てるホスト名のドメイン名を指定する。
# bindの方と合わせておかないといけない。
option domain-name "elements.tetera.org";

# DDNSを有効にする。
ddns-updates on;
# DDNSでbindに登録しに行くようにする。
ddns-update-style interim;
# 固定IPアドレス(下のfixed-address)の際にもDDNSに登録しに行くようにする。
update-static-leases on;

# 標準のIPアドレスのリース時間。適当に変えたら良い。
default-lease-time 604800;
max-lease-time 604800;

# HP 900/715/100のnetbootでBOOTPを使うので有効にする。
allow bootp;

# DHCPで配信するDNSサーバーのIPアドレスを指定する。
option domain-name-servers 192.168.81.249;

# 192.168.81.0/24が我が家のネットワークなので、それを指定する。
subnet 192.168.81.0 netmask 255.255.255.0 {
# 固定IPアドレスは192.168.81.101以降にするので、その前は動的IPアドレス
# 割り当てをするようにする。fixed-addressの値がこのrangeの範囲に
# 入っているとエラーになる(DHCPDは起動はするが)。
range 192.168.81.2 192.168.81.100;
# DHCPで配信するサブネットマスクを指定する。
option subnet-mask 255.255.255.0;
# DHCPで配信するデフォルトルーター(デフォルトゲートウェイ)を指定する。
option routers 192.168.81.1;
# DDNSに登録する時に使うドメイン名を指定する。
# Windowsのようにホスト名を返してくるものには必要ないはずであるが、
# dhclient bge0のようにホスト名を指定しない場合に対応するために
# 必要になる。dhcpcdを使えば良いのかもしれないが…
ddns-domainname "elements.tetera.org";

# 正引きのホスト名を登録する先を指定する。
# 最後のピリオドに注意。
zone elements.tetera.org. {
primary 127.0.0.1;
}

# 逆引きのホスト名を登録する先を指定する。
# 最後のピリオドに注意。
zone 81.168.192.in-addr.arpa. {
primary 127.0.0.1;
}

# 固定IPアドレスを割り当てるマシンの情報を指定する。
host calcium {
# MACアドレスを記載する。
hardware ethernet CC:CC:CC:CC:CC:CC;
# 割り当てる固定IPアドレスを指定する。
# 上にも書いたが、動的割り当ての範囲に含まれないように注意する。
fixed-address 192.168.81.241;
# DDNSで正引きを登録する際に使うホスト名を指定する。
ddns-hostname "calcium";
# 以下は、netboot用の設定。
filename "SYSNBSD";
next-server 192.168.81.249;
option root-path "/export/hp700/root";
}

# NetBSD機の設定。
host tellurium {
# MACアドレスを指定する。
hardware ethernet DD:DD:DD:DD:DD:DD;
# 割り当てる固定IPアドレスを指定する。
fixed-address 192.168.81.118;
# DDNSで正引きを登録する際に使うホスト名を指定する。dhcpcdを使えば不要に
# できるのように思う。
ddns-hostname "tellurium";
}

# Windows機の設定。ホスト名が報告されるので、改めて指定はしない。
host niobium {
hardware ethernet EE:EE:EE:EE:EE:EE;
fixed-address 192.168.81.108;
}

}


# DNSサーバー(bind)の設定

$ cat /etc/named.conf

# $NetBSD: named.conf,v 1.5.2.1 2011/01/16 13:00:02 bouyer Exp $

# boot file for secondary name server
# Note that there should be one primary entry for each SOA record.

options {
directory "/etc/namedb";
# DNSSECは設定しないので、エラーが出ないように無効にしておく。
dnssec-enable no;
dnssec-validation no;
dnssec-lookaside auto;
managed-keys-directory "keys";
allow-recursion { localhost; localnets; };

#
# This forces all queries to come from port 53; might be
# needed for firewall traversals but should be avoided if
# at all possible because of the risk of spoofing attacks.
#
#query-source address * port 53;
# ISPのDNSサーバーを指定する。これはso-netの例。
forwarders {
202.238.95.24;
202.238.95.26;
};
};

# RNDCを使う時は設定する。今回は使わない。
controls {
inet 127.0.0.1 allow { localhost; } keys { RNDC; };
inet 192.168.81.0 allow { 192.168.81.0/24; } keys { RNDC; };
};
include "/etc/namedb/rndc.key";

# 192.168.81.0/24のネットワーク向けの設定をinternalというviewで指定する。
view "internal" {
# bindにアクセスできるIPアドレスの範囲を指定する。127.0.0.1を忘れないこと。
match-clients {
127.0.0.1;
192.168.81.0/24;
};
# ここは、bindのデフォルトのまま。
zone "." {
type hint;
file "root.cache";
};
# ここは、bindのデフォルトのまま。
zone "localhost" {
type master;
file "localhost";
};
# ここは、bindのデフォルトのまま。
zone "127.IN-ADDR.ARPA" {
type master;
file "127";
};
# ここは、bindのデフォルトのまま。
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" {
type master;
file "loopback.v6";
};
# 自宅ネットワークの正引きの情報を指定する。
zone "elements.tetera.org" {
type master;
file "elements.tetera.org";
# DDNSで登録するのは、127.0.0.1からだけとする。
allow-update {
127.0.0.1;
};
};
# 自宅ネットワークの逆引きの情報を指定する。
zone "81.168.192.in-addr.arpa" {
type master;
file "81.168.192.in-addr.arpa";
# DDNSで登録するのは、127.0.0.1からだけとする。
allow-update {
127.0.0.1;
};
};
};


正引きのと逆引きゾーンファイルを書く。これは、DDNSでホストを登録に成功すると
勝手に書き変わる。
ここでは、DHCPD/DNSサーバーとファイルサーバーのみ固定IPアドレスで指定しておく。
# 動作確認していないので、これで合っているかは確証がない。
# おかしかったら他のサイト等を見たら良い。

$ cat /etc/namedb/elements.tetera.org

$TTL 3600 ; 1 hour
elements.tetera.org IN SOA nickel.elements.tetera.org. root.nickel.elements.tetera.org. (
8 ; serial
3600 ; refresh (1 hour)
900 ; retry (15 minutes)
3600000 ; expire (5 weeks 6 days 16 hours)
3600 ; minimum (1 hour)
)
IN NS nickel.elements.tetera.org.

nickel IN A 192.168.81.249
silicon IN A 192.168.81.214


$ cat /etc/namedb/81.168.192.in-addr.arpa

$TTL 3600 ; 1 hour
81.168.192.in-addr.arpa IN SOA nickel.elements.tetera.org. root.nickel.elements.tetera.org. (
7 ; serial
3600 ; refresh (1 hour)
900 ; retry (15 minutes)
3600000 ; expire (5 weeks 6 days 16 hours)
3600 ; minimum (1 hour)
)
IN NS nickel.elements.tetera.org.
214 IN PTR silicon.elements.tetera.org.
249 IN PTR nickel.elements.tetera.org.


# bindとDHCPDを起動する。

# bindの起動をする。

/etc/rc.confに以下のように書き加える。

named=YES

その上で、bindとDHCPDを起動する。

# /etc/rc.d/named start
# /etc/rc.d/dhcpd start

エラーがないか、tail -f /var/log/messageとでもして見ておくと良い。
エラーがないようであれば、DHCPでIPアドレス等をもらいに行ってみる。
成功したら、fixed-addressで指定したIPアドレスが割り当てられると
同時に、/etc/namedb/*jnlというバイナリーファイルが生成される。
また、この時ゾーンファイル(テキストファイル)も更新される。

電子メールでtwitterに投稿する

このブログの記事も電子メールで投稿しているのだが、
twitterも電子メールで投稿できる。

かつては、twtr.jpドメインでそういうサービスがされていた
ように思うのだが、いつの間にかアナウンスもなしに
終ってしまったように思う。
今は、サードパーティーのサービスしかないようで、
今回はTwitter CounterのTwittermailサービスを使ってみることにした。

http://twittercounter.com/pages/settings/twittermail
で、ランダムに設定された電子メールアドレスが表示されるので、
そこに送れば良い。写真を添付しても良いとのこと。

クライアントの表示については、Twittermailと表示されて欲しい所だが、
The Visitor Widgetと表示される。
tweet数の制限とかは分からない。

P.S.
この記事を消してしまったので、復活させた。

電子メールでtwitterに投稿する (2)

かつてtwtr.jpに電子メールでtweetするサービスがあったと書いたが、
http://blog.jp.twitter.com/2010/01/blog-post_26.html
にあるように、携帯電話からtwtr.jpにログインすると、
各種設定の中に、投稿用の電子メールアドレスが表示される。
前に把握した時から変わってしまったので、サービス自体がなくなった
と勘違いしてしまった。

また、携帯電話のキャリアの電子メールアドレスから投稿しないと
駄目なようだ。PCで使っているISPの電子メールアドレスから
送ったが、tweetできなかった。

まあ、PCからの時は、twittermailを使うようにしよう。

P.S.
クライアントはKeitaiWebと表示されるように変わっている。
前は電子メール経由であることが分かるようになっていたはずだが。

MPEG 2.5

MPEG 2.5と言う表記を見掛けたのだが、どういうものか理解できなかった。 /usr/pkgsrc/audio を以下のように検索すると、 /usr/pkgsrc/audio/libmad/DESCR に、MPEG-2 extension to Lower Sam...