仕事でいやいやながらPowerShellやってる感じなのだがメモ。
AD をいじろうとしてたら以下のエラー
Get-ADGroup : Active Directory Web サービスが実行されている状態で既定のサーバーを検索することはできません。
AD Web サービスなるものが動いているのでエラー発生というので
止めようと思ってサービス画面起動したら起動してない。
起動させたらエラー出なくなった。メッセージ逆じゃんかよ…
あとさ、言語のメッセージを日本語で出すなって。 ググれないじゃんかよ。
クソMS
2011年12月19日月曜日
2011年12月6日火曜日
OpenID 勉強ちゅ
OpenID まるっきり完全素人なので勉強中。
OpenID Authentication 2.0 仕様
http://openid.net/specs/openid-authentication-2_0.html
OpenID を説明したページ等を見ると、よく Claimed Identifier の
URL を入力してその ID をもって IdP に認証を伺うということが
書いてあるが、OpenID を実装したサイトとかでは既にそういうこと
やっておらず、Google とか Facebook とか IdP を選ばせるだけに
なっているのが多い。
2.0 でこの方法が定義されたらしく、Claimed Identifier の他に
OP Identifier というおそらく利用したい OP(IdP) のIdentifier
を入力しても良いということになったらしい。以下に詳しい。
http://www.atmarkit.co.jp/fsecurity/rensai/openid05/openid02.html
こんなたわいないことでも、私にとっては目鱗だったのでメモメモ。
OpenID Authentication 2.0 仕様
http://openid.net/specs/openid-authentication-2_0.html
OpenID を説明したページ等を見ると、よく Claimed Identifier の
URL を入力してその ID をもって IdP に認証を伺うということが
書いてあるが、OpenID を実装したサイトとかでは既にそういうこと
やっておらず、Google とか Facebook とか IdP を選ばせるだけに
なっているのが多い。
2.0 でこの方法が定義されたらしく、Claimed Identifier の他に
OP Identifier というおそらく利用したい OP(IdP) のIdentifier
を入力しても良いということになったらしい。以下に詳しい。
http://www.atmarkit.co.jp/fsecurity/rensai/openid05/openid02.html
こんなたわいないことでも、私にとっては目鱗だったのでメモメモ。
2011年11月18日金曜日
サーバからの Certificate Request
SSL クライアント認証のフローで、サーバからの Certificate Request
のところでサーバ側が許可する CA のリストとか送ってるのかどうかを
調べたのでメモ。
RFC2246 7.4.4. Certificate request に以下が記述されており、CA の
DN のリストを送信している模様。
のところでサーバ側が許可する CA のリストとか送ってるのかどうかを
調べたのでメモ。
RFC2246 7.4.4. Certificate request に以下が記述されており、CA の
DN のリストを送信している模様。
struct { ClientCertificateType certificate_types<1..2^8-1>; DistinguishedName certificate_authorities<3..2^16-1>; } CertificateRequest; :(snip) certificate_authorities A list of the distinguished names of acceptable certificate authorities. These distinguished names may specify a desired distinguished name for a root CA or for a subordinate CA; thus, this message can be used both to describe known roots and a desired authorization space.
http://www.ietf.org/rfc/rfc2246.txt
2011年11月16日水曜日
BIG-IP Virtual Server の SNAT Pool の Auto map
BIG-IP の Virtual Server の設定で SNAT Pool を Auto map にすると
その Virtual Server の Resource に該当するノードからのパケットが
Virtual Server の IP アドレスに自動に変換される。
今まで SNAT Object をわざわざ作ってたんだけど、こりゃ便利かも。
今まで知らなかったのが存した気分でござる。
その Virtual Server の Resource に該当するノードからのパケットが
Virtual Server の IP アドレスに自動に変換される。
今まで SNAT Object をわざわざ作ってたんだけど、こりゃ便利かも。
今まで知らなかったのが存した気分でござる。
2011年10月31日月曜日
PayUpPunk で iPhone 3GS で SOCKS 通信
会社の方に PayUpPunk なる iphone アプリを教えてもらった。
JB 無しでテザリングが出来るとのこと。私は既に JB 済みで MyWi ユーザ
なのだが、どんなものかと思い 85 円だし買ってみることにした。
ちょっといじってみたところ、どうやら NAPT するのではなくiphone 側に
SOCKS proxyを立てているということらしい。なので、クライアントアプリ
側が SOCKS に対応していないと駄目。通常のブラウザならフツーは対応し
ている(まぁ nc 使えばそいつをさらに proxy にして socks しゃべらせ
ることは出来る)。Windows はよくわからんが OS レベルで Proxy 設定が
出来るので、そういうの意識しなくて良いのかな?
で、PayUpPunk を使ったテザリングということで Web にはいろいろ人柱
手順が出ているが、要は AdHoc で iPhone とクライアントを Wifi 接続し、
クライアントの socks proxy 設定を iPhone の 8888 ポートにすれば良いだけ。
PayUpPunk は「IOU」というモードで立ち上げ。
ちなみに、Firefox は about:config で「network.proxy.socks_remote_dns」
がデフォルトの false のままだとローカルで名前解決してしまうので、
これを必ず true にする。
私の iPhone 3GS <=> Firefox 3.6(on Gentoo) で試したところ、まぁうま
く通信できたのだが、PayUpPunkをバックグラウンド状態にすると通信出来
なくなってしまう。うーんこれだとちょっとツライので、私は MyWi に戻
ります。
しかしこれよく App Store の審査通りましたね。今まで Web Proxy のアプ
リとか OK でしたっけ? それとも SOCKS が穴だったとかかな。
JB 無しでテザリングが出来るとのこと。私は既に JB 済みで MyWi ユーザ
なのだが、どんなものかと思い 85 円だし買ってみることにした。
ちょっといじってみたところ、どうやら NAPT するのではなくiphone 側に
SOCKS proxyを立てているということらしい。なので、クライアントアプリ
側が SOCKS に対応していないと駄目。通常のブラウザならフツーは対応し
ている(まぁ nc 使えばそいつをさらに proxy にして socks しゃべらせ
ることは出来る)。Windows はよくわからんが OS レベルで Proxy 設定が
出来るので、そういうの意識しなくて良いのかな?
で、PayUpPunk を使ったテザリングということで Web にはいろいろ人柱
手順が出ているが、要は AdHoc で iPhone とクライアントを Wifi 接続し、
クライアントの socks proxy 設定を iPhone の 8888 ポートにすれば良いだけ。
PayUpPunk は「IOU」というモードで立ち上げ。
ちなみに、Firefox は about:config で「network.proxy.socks_remote_dns」
がデフォルトの false のままだとローカルで名前解決してしまうので、
これを必ず true にする。
私の iPhone 3GS <=> Firefox 3.6(on Gentoo) で試したところ、まぁうま
く通信できたのだが、PayUpPunkをバックグラウンド状態にすると通信出来
なくなってしまう。うーんこれだとちょっとツライので、私は MyWi に戻
ります。
しかしこれよく App Store の審査通りましたね。今まで Web Proxy のアプ
リとか OK でしたっけ? それとも SOCKS が穴だったとかかな。
2011年10月20日木曜日
2011年9月9日金曜日
emacs php-mode の color
M-x list-faces-display で Face 名調査
php-mode は font-lock-*
M-x list-color-display でカラー名調査
(set-face-foreground 'font-lock-comment-delimiter-face "dark slate gray")
とか。
php-mode は font-lock-*
M-x list-color-display でカラー名調査
(set-face-foreground 'font-lock-comment-delimiter-face "dark slate gray")
とか。
2011年8月23日火曜日
dedexer
apk の中の dex を逆コンパイル = dedexer
[ROOTED] Rooting An Acer Iconia A100
http://forum.xda-developers.com/showthread.php?t=1213014
[ROOTED] Rooting An Acer Iconia A100
http://forum.xda-developers.com/showthread.php?t=1213014
2011年8月10日水曜日
RHEL流儀で学認Shibboleth
ちょっとわけあって NII の学認なるサービスの SAML IdP の設定を
している。Shibboleth 使って SP を提供しているサービス。
で、以下に Linux に IdP をインストールする手順が詳しく書いて
あるんだけど、どうも野良っぽい雰囲気が気になる。
http://www.gakunin.jp/docs/fed/technical/idp/install/idpInst1
今回は CentOS5 にインストールしているので、RHEL 流儀にやって
みることにする。動作の責任は持ちません。OSのインストールは割愛。
openjdk 利用
している。Shibboleth 使って SP を提供しているサービス。
で、以下に Linux に IdP をインストールする手順が詳しく書いて
あるんだけど、どうも野良っぽい雰囲気が気になる。
http://www.gakunin.jp/docs/fed/technical/idp/install/idpInst1
今回は CentOS5 にインストールしているので、RHEL 流儀にやって
みることにする。動作の責任は持ちません。OSのインストールは割愛。
openjdk 利用
- jdk のインストール。
# yum install java-1.6.0-openjdk
- tomcat のインストール
# rpm -ivh http://mirrors.dotsrc.org/jpackage/5.0/generic/free/RPMS/jpackage-release-5-4.jpp5.noarch.rpm
# yum install tomcat6
- shibboleth-idp のインストール(適当なディレクトリで)
# wget http://www.shibboleth.net/downloads/identity-provider/latest/shibboleth-identityprovider-2.3.3-bin.zip
# unzip shibboleth-identityprovider-2.3.3-bin.zip
# cd shibboleth-identityprovider-2.3.3
# sh install.sh # 対話式のところは適当に。
# chown tomcat /opt/shibboleth-idp/{logs,metadata}
# cd /usr/lib/jvm/jre/lib/ext
# ln -s /opt/shibboleth-idp/lib/shibboleth-jce-1.1.0.jar
# cd /var/lib/tomcat6/webapps
# ln -s /opt/shibboleth-idp/war/idp.war
/usr/lib/jvm/jre/lib/security/java.security に以下 1 行を追加。
security.provider.9=edu.internet2.middleware.shibboleth.DelegateToApplicationProvider
/etc/sysconfig/tomcat6 に以下の 1 行を追加。
JAVA_ENDORSED_DIRS=/opt/shibboleth-idp/lib/endorsed
- proxy_ajp の設定
/etc/httpd/conf.d/proxy_ajp.conf に以下を追加。
ProxyPass /idp/ ajp://localhost:8009/idp/
2011年8月9日火曜日
Virtuozzo コンテナ内で MASQUERADE
vz.conf の IPTABLES に iptable_nat と ipt_MASQUERADE を追加したんだけど、
コンテナ内で以下の MASQUERADE が効かない。
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
、、、と思ったら VZ のカーネルが古かった。最新に vzup2date したら出来た。
しかし、効かなかったときの現象が不思議なもので、HN で tcpdump で該当パケット
を監視すると、急に ping が飛んだりなんて感じだった…
コンテナ内で以下の MASQUERADE が効かない。
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
、、、と思ったら VZ のカーネルが古かった。最新に vzup2date したら出来た。
しかし、効かなかったときの現象が不思議なもので、HN で tcpdump で該当パケット
を監視すると、急に ping が飛んだりなんて感じだった…
2011年7月13日水曜日
ICONIA A500 rooted & ad-hoc & http proxy メモ
ICONIA A500 を買った。手元の iPhone 3GS JB済みと MyWi したかったのだが、
Android3.0 は Wifi の Ad-Hoc 接続が不可能のようだ。
Web で調べるも、rooted する必要ありとのこと。もう少し遊び倒してから rooted
したかったが仕方ない。ICONIA 本体で以下からGingerBreak-v1.20.apkを落とす。
http://forum.xda-developers.com/showthread.php?t=1055354
「アプリケーション->提供元不明のアプリ」をチェック。
で、落としてきたGingerBreak をクリックして実行。すると勝手に再起動されて
rooted された模様。
で今度は wpa_supplicant を Ad-Hoc 対応のものにする必要があり、以下から
そのバイナリを ICONIA 本体にダウンロード。
wpa_supplicant_xoom_wifi_adhoc.zip
http://forum.xda-developers.com/showthread.php?t=1033314
zip の中には、system/bin/wpa_supplicant のバイナリがあるので、これを
ICONIA 本体の /system/bin/wpa_supplicant にコピーする必要がある。
ICONIA にターミナルが入ってなかったので Android Terminal Emulator なるもの
を入れた。で、/sdcard/Download にある上記 zip ファイルを解凍して wpa_supplicant
をコピーしようと思ったら cp コマンドがない。ネットにつながらない環境
になってしまったところでやっていたので、仕方ないので cat でやった。
# 本来は busybox を入れるのが筋なのだろう。
su
mount -o remount rw /system
cat /system/bin/wpa_supplicant > /system/bin/wpa_supplicant.orig
cat /sdcard/Dowload/wpa_supplicant_xoom_wifi_adhoc/system/bin/wpa_supplicant > /system/bin/wpa_supplicant
ICONIA を再起動したら Ad-Hoc な ESSID が見えた。(*)が付いてた。
あと、ちょっとわけあって http proxy を通す必要があったのだが、Android3.0
はなんと http proxy の設定が無い…
Webで調べたら 3.1 からは可能なようだ。3.0 の場合は ProxyDroid なるものを
入れると自前で透過 Proxy を設定してくれるらしい。iptables をゴニョゴニョ
してるんだろう。詳しく見てない。
なので入れた。Socks5 の Proxy も使えたので、今は手元の Socks proxy とつな
いで幸せな環境となった。
2011年7月7日木曜日
Salesforce の SOAP API で OAuth
なんやら Salesforce の API は REST のやつでないと OAuth が使えないという
噂を聞いて REST API でやってたんだけど、どうやら SOAP の方でも OAuth の
accessToken が使えるらしい、というか使えた。
通常 X-SFDC-Session で渡している sessionId を OAuth の accessToken に置き
換えるだけで行けてしまった。
以下をヒントにした。
Using OAuth 2.0 with the SOAP API
http://blog.sforce.com/sforce/2011/03/oauth-and-the-soap-api.html
噂を聞いて REST API でやってたんだけど、どうやら SOAP の方でも OAuth の
accessToken が使えるらしい、というか使えた。
通常 X-SFDC-Session で渡している sessionId を OAuth の accessToken に置き
換えるだけで行けてしまった。
以下をヒントにした。
Using OAuth 2.0 with the SOAP API
http://blog.sforce.com/sforce/2011/03/oauth-and-the-soap-api.html
2011年7月4日月曜日
2011年6月24日金曜日
REUDO RBK-2200BTi で Android 3.0 on Transformer TF101
本日 Transformer が来たので、RBK-2200BTiを認識させようとしたところ
ペアリング段階で認証キーを入れる画面が出ない。
Web で調べたところ 0000 で行けるみたいなのでやったらうまくいった。
以下のページがヒント。
http://www.transformerforums.com/forum/asus-transformer-help/1671-tf101-tethering-se-w995-via-bluetooth-inet-access.html
ペアリング段階で認証キーを入れる画面が出ない。
Web で調べたところ 0000 で行けるみたいなのでやったらうまくいった。
以下のページがヒント。
http://www.transformerforums.com/forum/asus-transformer-help/1671-tf101-tethering-se-w995-via-bluetooth-inet-access.html
2011年5月11日水曜日
Local portage overlay
Gentoo で自前の .ebuild を emerge するにはローカルの Portage を作る必要がある。
Gentoo に乗換えてから日の浅い私はぐぐって以下のドキュメントを発見した。
HOWTO_Installing_3rd_Party_Ebuilds
http://www.gentoo-wiki.info/HOWTO_Installing_3rd_Party_Ebuilds
/etc/make.conf に自前の Portage のディレクトリを記述。
PORTDIR_OVERLAY="/path/to/my/portage"
Gentoo に乗換えてから日の浅い私はぐぐって以下のドキュメントを発見した。
HOWTO_Installing_3rd_Party_Ebuilds
http://www.gentoo-wiki.info/HOWTO_Installing_3rd_Party_Ebuilds
/etc/make.conf に自前の Portage のディレクトリを記述。
PORTDIR_OVERLAY="/path/to/my/portage"
その下に category/program/ というディレクトリを作成し、その下に .ebuild を配置。
「Manifest」ファイルも同じところに配置。
んで emerge --sync する。
会社ごっこ
何だろ、最近身近なところで所謂「会社ごっこ」をよく見るようになった。
「会社ごっこ」でググったらこんなのあった↓。いいこと言うなぁ。
会社を絶対潰さぬ極意とは?「組織にしない」
http://www.kigyoukeizoku.com/2010/02/post_41.html
----------- 以下抜粋 -----------
「会社ごっこ」とはどのような現象かと言うと数人の部門であってもそれぞれに順列を付け仕事の範囲をその順列に応じて区別して結果的にはトータルで言うと生産性がダウンしていると言うようなことです。
(中略)
このような場合、「顧客第一」から「会社都合第一」の方向に流れやすいのです。
「会社ごっこ」でググったらこんなのあった↓。いいこと言うなぁ。
会社を絶対潰さぬ極意とは?「組織にしない」
http://www.kigyoukeizoku.com/2010/02/post_41.html
----------- 以下抜粋 -----------
「会社ごっこ」とはどのような現象かと言うと数人の部門であってもそれぞれに順列を付け仕事の範囲をその順列に応じて区別して結果的にはトータルで言うと生産性がダウンしていると言うようなことです。
(中略)
このような場合、「顧客第一」から「会社都合第一」の方向に流れやすいのです。
2011年4月26日火曜日
証明書から公開鍵を取り出す
証明書から公開鍵を取り出す
openssl x509 -in saml.crt -pubkey -noout
man x509 には -pubkey っつーオプションが見当たらないんだけど…
openssl x509 -in saml.crt -pubkey -noout
man x509 には -pubkey っつーオプションが見当たらないんだけど…
2011年3月29日火曜日
pecl でERROR: `phpize' failed
pecl install とかすると、以下のエラー。
ERROR: `phpize' failed
Web には結構情報もあり、php コンパイル時に sigchild を有効にしてると
発生する模様。丁度先日、仕事で php 使ってとある fork しまくりのコマン
ド作ったときに sigchild する必要があったのでこれは外せない。
古い情報だけど以下発見。
Workaround for PEAR/PECL Failure with Message “ERROR: `phpize’ failed”
http://kai.mactane.org/blog/2009/05/11/workaround-for-pearpecl-failure-with-message-error-phpize-failed/
ここにあるパッチを PEAR/Builder.php に当てて回避。まぁこれでいいや。
Xoom でUSB DVD player
Motorola XOOM で USB ポートに直接 DVD drive を挿して DVD Video の再生
ができないか調べたが、おそらく無理のよう。
以下によれば、Motorola はユーザに movie を購入させたい意向があるとのことで、
自前の DVD を再生するには、あらかじめ XOOM のフォーマットに convert して、
ファイルとして本体内に取り込む必要があるっぽい。
How to Put/Get DVD movies to Motorola Xoom tablet for watching
http://dvdrippingsoftwares.com/convertdvd/dvd-to-xoom.html
ができないか調べたが、おそらく無理のよう。
以下によれば、Motorola はユーザに movie を購入させたい意向があるとのことで、
自前の DVD を再生するには、あらかじめ XOOM のフォーマットに convert して、
ファイルとして本体内に取り込む必要があるっぽい。
How to Put/Get DVD movies to Motorola Xoom tablet for watching
http://dvdrippingsoftwares.com/convertdvd/dvd-to-xoom.html
2011年2月16日水曜日
gentoo で Bluetooth
我が Thinkpad X61 + gentoo で Bluetooth キーボードを使おうと思い現在格闘中。
まず、以下を参考にしてみたが、どうも古いらしく bluez-libs やら bluez-utils
などというパッケージは存在しない。
http://www.gentoo.org/doc/ja/bluetooth-guide.xml
以下でツール関連をインストール。
emerge bluez
bluez-4.82 が入った。
そして上記 URL に書いてある hcid なるデーモンを探したがそんなものはない。
どうやら bluez-4.x はだいぶ違うようだ。
インストール後、hciconfig してみるも no output。何も表示されない。
/proc/acpi/ibm/bluetooth はちゃんと存在してて中身は以下でちゃんと enabled。
status: enabled
commands: enable, disable
おかしいな。で、いろいろ調べたところ、結局 hci なドライバが入ってなかった。
事前に.config は確認してたんだけど、BT_HCIBTUSB が not set だったのを見逃
していた。これは以下 URL を見て気づいた。
http://en.gentoo-wiki.com/wiki/Lenovo_Thinkpad_T61p
仕方なく genkernel --lvm --menuconfig all してしばらく待った。
再起動後、hciconfig -a すると見えた。
hci0: Type: BR/EDR Bus: USB
BD Address: 00:1F:3A:DE:5F:DE ACL MTU: 1017:8 SCO MTU: 64:8
UP RUNNING PSCAN
RX bytes:11816 acl:0 sco:0 events:384 errors:0
TX bytes:642 acl:0 sco:0 commands:45 errors:0
Features: 0xff 0xff 0x8f 0xfe 0x9b 0xf9 0x00 0x80
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: 'localhost-0'
Class: 0x480100
Service Classes: Capturing, Telephony
Device Class: Computer, Uncategorized
HCI Version: 2.0 (0x3) Revision: 0x212b
LMP Version: 2.0 (0x3) Subversion: 0x41d3
Manufacturer: Broadcom Corporation (15)
あと、いろいろ調べてる際に Fn+F5 で Bluetooth を on/off 出来るような設定&スクリ
プトを見つけたので入れてある。
~$ cat /usr/local/sbin/bluetooth-toggle
#!/bin/bash
cat /proc/acpi/ibm/bluetooth | awk '{ print $2 }' | while read line;
do
if [ $line == "enabled" ]; then
echo disable > /proc/acpi/ibm/bluetooth
else
echo enable > /proc/acpi/ibm/bluetooth
fi
break
done
~# cat /etc/acpi/events/default
: (snip)
#event=.*
#action=/etc/acpi/default.sh %e
event=ibm/hotkey HKEY 00000080 00001005
action=/usr/local/sbin/bluetooth-toggle
んであとは acpid と hald が自動起動されることを確認。さらに bluetooth も
自動起動の仲間入り。
rc-update -a bluetooth boot
まず、以下を参考にしてみたが、どうも古いらしく bluez-libs やら bluez-utils
などというパッケージは存在しない。
http://www.gentoo.org/doc/ja/bluetooth-guide.xml
以下でツール関連をインストール。
emerge bluez
bluez-4.82 が入った。
そして上記 URL に書いてある hcid なるデーモンを探したがそんなものはない。
どうやら bluez-4.x はだいぶ違うようだ。
インストール後、hciconfig してみるも no output。何も表示されない。
/proc/acpi/ibm/bluetooth はちゃんと存在してて中身は以下でちゃんと enabled。
status: enabled
commands: enable, disable
おかしいな。で、いろいろ調べたところ、結局 hci なドライバが入ってなかった。
事前に.config は確認してたんだけど、BT_HCIBTUSB が not set だったのを見逃
していた。これは以下 URL を見て気づいた。
http://en.gentoo-wiki.com/wiki/Lenovo_Thinkpad_T61p
仕方なく genkernel --lvm --menuconfig all してしばらく待った。
再起動後、hciconfig -a すると見えた。
hci0: Type: BR/EDR Bus: USB
BD Address: 00:1F:3A:DE:5F:DE ACL MTU: 1017:8 SCO MTU: 64:8
UP RUNNING PSCAN
RX bytes:11816 acl:0 sco:0 events:384 errors:0
TX bytes:642 acl:0 sco:0 commands:45 errors:0
Features: 0xff 0xff 0x8f 0xfe 0x9b 0xf9 0x00 0x80
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: 'localhost-0'
Class: 0x480100
Service Classes: Capturing, Telephony
Device Class: Computer, Uncategorized
HCI Version: 2.0 (0x3) Revision: 0x212b
LMP Version: 2.0 (0x3) Subversion: 0x41d3
Manufacturer: Broadcom Corporation (15)
あと、いろいろ調べてる際に Fn+F5 で Bluetooth を on/off 出来るような設定&スクリ
プトを見つけたので入れてある。
~$ cat /usr/local/sbin/bluetooth-toggle
#!/bin/bash
cat /proc/acpi/ibm/bluetooth | awk '{ print $2 }' | while read line;
do
if [ $line == "enabled" ]; then
echo disable > /proc/acpi/ibm/bluetooth
else
echo enable > /proc/acpi/ibm/bluetooth
fi
break
done
~# cat /etc/acpi/events/default
: (snip)
#event=.*
#action=/etc/acpi/default.sh %e
event=ibm/hotkey HKEY 00000080 00001005
action=/usr/local/sbin/bluetooth-toggle
んであとは acpid と hald が自動起動されることを確認。さらに bluetooth も
自動起動の仲間入り。
rc-update -a bluetooth boot
2011年1月28日金曜日
read -r で IFS で定義しているデリミタを
メモ。
read で読み込むデータ内に IFS で定義しているデリミタ文字があった
場合は、その文字をバックスラッシュでエスケープして read のオプショ
ンに -r をつけると良い。
read で読み込むデータ内に IFS で定義しているデリミタ文字があった
場合は、その文字をバックスラッシュでエスケープして read のオプショ
ンに -r をつけると良い。
2011年1月27日木曜日
mew で Multipart/Alternative を見る
単なるメモ
'-' マーク Multipart/Alternative で Text/Plain が同梱されてない
もしくは空のメールは、":" で中身展開、"," でテキスト表示。
いやしかし、昨今のEメールの形式は以前の常識(マナー)を無視していて、
Gmail やら Outlook やらもう好き勝手にやってる感じ。
describe-variable
'-' マーク Multipart/Alternative で Text/Plain が同梱されてない
もしくは空のメールは、":" で中身展開、"," でテキスト表示。
いやしかし、昨今のEメールの形式は以前の常識(マナー)を無視していて、
Gmail やら Outlook やらもう好き勝手にやってる感じ。
describe-variable
2011年1月20日木曜日
pack() unpack()
どうも perl の pack(), unpack() がいつまでたっても身につかない。
初歩的すぎる話題だけどいつもなんだかんだで調べちゃう。だから恥ず
かしいけどここにメモっておく。
例えば Hex の "5a" なんてのは "Z" だけどこの変換を行うには以下。
$bstr = pack("H*", "5a");
第二引数が Hex だよんてことを第一引数で定義してる。第一引数の
種類はリファレンスで調べて。この部分の *は後に続く文字列の数
でもよい(*は最後までという意味) 。例えば上記の場合 "H1" なん
てしちゃうと、はじめの "5" だけをバイナリ変換しちゃうので 0x50
のバイナリ表現が $bstr にはいっちゃう("P"という文字だけど)。
で、unpack はその逆で、バイナリ文字列を Hex 表現等にしたりする。
だから上記の結果の $bstr を unpack("H*", $bstr) なんてすると、
"Z" の Hex 表現の "5a" が得られる。
ちなみになんで pack とか unpack の話題だったのかというと、slappasswd
で得られるパスワードを base16 にしたかったのです。
この場合は、slappasswd で得られる文字列は base64 なのでこれを
デコードしてバイナリ化、んでそれを unpack("H*", )すれば base16
な表現が得られるというわけ。
初歩的すぎる話題だけどいつもなんだかんだで調べちゃう。だから恥ず
かしいけどここにメモっておく。
例えば Hex の "5a" なんてのは "Z" だけどこの変換を行うには以下。
$bstr = pack("H*", "5a");
第二引数が Hex だよんてことを第一引数で定義してる。第一引数の
種類はリファレンスで調べて。この部分の *は後に続く文字列の数
でもよい(*は最後までという意味) 。例えば上記の場合 "H1" なん
てしちゃうと、はじめの "5" だけをバイナリ変換しちゃうので 0x50
のバイナリ表現が $bstr にはいっちゃう("P"という文字だけど)。
で、unpack はその逆で、バイナリ文字列を Hex 表現等にしたりする。
だから上記の結果の $bstr を unpack("H*", $bstr) なんてすると、
"Z" の Hex 表現の "5a" が得られる。
ちなみになんで pack とか unpack の話題だったのかというと、slappasswd
で得られるパスワードを base16 にしたかったのです。
この場合は、slappasswd で得られる文字列は base64 なのでこれを
デコードしてバイナリ化、んでそれを unpack("H*", )すれば base16
な表現が得られるというわけ。
2011年1月13日木曜日
2011年1月5日水曜日
登録:
投稿 (Atom)