2015年10月20日火曜日

minttyでpingを使うと文字が化けてしまう

先日、
minttyでのショートカット
http://www.sakashita-net.jp/2015/10/mintty.html
で書いたように、WindowsでUnixのシェル環境を使うために、以下を参考にGit for Windowsをインストールして使っています。 
msysgit で日本語を使いたい
http://qiita.com/kumazo@github/items/2169e1ee7be278f82b94
今度はpingなどのWindowsのコマンドを実行すると、その出力文字列が化けてしまうことに気が付きました。Windowsのコマンドの文字列はShift JIS、minttyが扱う文字コードはUTF-8であるためです。
設定ではうまくできないようで、pingにaliasを設定する必要があるようです。
以下のページを参考にして設定することで、最低限のことはできるようになりました。
gnupackでCygwin導入した時に最初にすること
http://proger.blog10.fc2.com/blog-entry-119.html
利用したのは以下の設定です。
minttyの設定をUTF-8に変更して困るのは、Windowsコマンド(ipconfig等)の出力の文字化けです。標準Cygwin環境もデフォ ルト文字コードがUTF-8なので同じことになります。対策として標準出力をUTF-8に変換するラッパーを通すようにします。
文字コード変換にはiconvを使えばいいのですが、gnupackのデフォルトでは入っていないので、予めapt-cygでlibiconvをinstallしておきます。その上で、.bashrcに以下のようなaliasを設定すればOKです。
(~/.bashrc)










function wincmd() {
    CMD=$1
    shift
    $CMD $* 2>&1 | iconv -f cp932 -t utf-8
}
alias ipconfig='wincmd ipconfig'
alias netstat='wincmd netstat'
alias netsh='wincmd netsh'
alias cscript='wincmd cscript'
他に、必要な物があれば同じような感じで追加すればOKです。
Git for Windowsではiconvは含まれていたので、追加のインストールは不要でした。

2015年10月19日月曜日

minttyでのショートカット

WindowsでUnixのシェル環境を使うために、以下を参考にGit for Windowsをインストールして使っています。
msysgit で日本語を使いたい
http://qiita.com/kumazo@github/items/2169e1ee7be278f82b94
非常に便利になりましたが、一つ、不満がありました。Git for Windowsの端末エミュレーターminttyでコピー/ペーストのショートカットが、Ctrl-Ins/Ctrl-Insになっていることです。Surface Pro 3のキーボード- Type CoverではInsキーがないので入力できないのです。
困っていると、以下のページを見つけました。
CygwinのMinttyでコピー・ペースト
http://takuya-1st.hatenablog.jp/entry/20121217/1355748608
この記事のように、OptionsのKeyの項目で、Ctrl+Shift+Letter shortcut のチェックを付けると、
Control + Shift + v
などのキーボードショートカットが使えるようになりました。

2015年10月12日月曜日

WindowsでEmacsふうのキー操作にした場合のCtrlキーの割り当て

先日、
Windows 10(64bit)でEmacsふうキーバインドにする
http://www.sakashita-net.jp/2015/10/windows-1064bitemacs.html
で、keyhacというツールを使ったことを書きました。設定は、
Windows の操作を emacs のキーバインドで行うための設定 (keyhac版)
http://www49.atwiki.jp/ntemacs/pages/25.html
を利用しました。
Emacsふうキー操作とWindowsのショートカットの割り当ては、どうしてもぶつかってしまいます。そのため、上記の設定では、以下のように解決しています。
Windows のキーを入力する方法は以下の4通りが可能となっています。
  • 本設定で置き換えしていないキーは、Windows 本来のキーがそのまま入力される。(Ctrl-C など)
  • 右の Ctrlキー(RC-)や右の Altキー(RA-)と組み合せて入力する。
  • LC-q を入力した後にキーを入力する。(この場合、LC-q の後に入力する Ctrlキーや Altキーは、左右どちらのものでも構いません。)
  • Ctrlキー + [A-Z] の入力に限るが、Shiftキー(S-)と併せて入力する。(今回追加した設定。操作性が良いので追加しました。)
 私は、Windowsのショートカットを利用する場合には、右Ctrlキーを使っていたのですが、残念なことに私が使っているSurface Pro 3のキーボード、Surface Type Cover(英語配列)では、右Ctrlキーがありません。そこで、レジストリ設定で、
  • Caps Lockキーを左Ctrlキーに
  • 左Ctrlキーを右Ctrlキー
に割り当てています。
レジストリ設定は以下のようです。
REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,1D,E0,1D,00,1D,00,3A,00,00,00,00,00
この設定については、次の記事を参照してください。
[無変換]キーに[Windows]キーを割り当てる
http://news.mynavi.jp/column/winxp/181/

2015年10月7日水曜日

Surface Pro 4の周辺機器

Surface Pro 4が発表されました。
「Surface Pro 4」発表――Skylake搭載で30%高速化、12.3型で薄型・軽量化、指紋センサーなど【詳報】
http://www.itmedia.co.jp/pcuser/articles/1510/07/news049.html
この中で気になったのは新しく発表された周辺機器がSurface Pro 3でも使えるのかということです。
使えると書かれているのはドッキングステーションです。
コンパクトなドッキングステーション「Surface Dock」
DiplayPort×2、USB 3.0×4、イーサネットポート、オーディオ出力を備える新しいDockも登場。Surface Pro 4およびSurface Pro 3で利用できる。接続は充電用のSurface Connectを利用する。 
マイクロソフトのサイトでも以下のように書かれており、 使える可能性が高いようです。
Tech specs
  • Works with Surface Book, Surface Pro 4, and Surface Pro 3
https://www.microsoft.com/surface/en-us/accessories/surface-dock
キーボードについてはSurface Pro 3で使えるとは書かれていません。
「Surface Pro 4 Type Cover」は指紋センサー搭載モデルも
Surface Pro 4向けにType Coverも「Surface Pro 4 Type Cover」として新しくなった。隣接する各キーに隙間があるアイソレーションキーボードとなり、5点タッチ対応のタッチパッドはSurface Pro 3のType Coverと比べて40%大きくなった。本体サイズは295(幅)×217(奥行き)×4.65(高さ)ミリ、重量は285グラムだ。カラーバリエーショ ンはBright blue、Black、Blue、Red、Tealの計5色。
大きさは、Surface Pro 3と同じようです。
Surface Pro 3 Type Cover
https://www.microsoft.com/surface/ja-jp/accessories/surface-pro-typecover
インターフェイスの互換性があれば使えそうですが、記述はありません。
Tech specs
  • Works with Surface Pro 4
https://www.microsoft.com/surface/en-us/accessories/surface-pro-4-type-cover
以下の記事では互換性があるかのように読めますが、はっきりしません。 
フットプリントそのままに12.3型液晶を採用。さらに薄く軽くなった「Surface Pro 4」
http://pc.watch.impress.co.jp/docs/news/20151007_724453.html
別売のタイプカバーは、Surface Pro 3との互換性を維持しつつ、19mmのキーピッチと1.3mmのストロークを確保。薄型化されているが、パンタグラフ式の機構を採用し、打鍵感も高めた。 バックライトも内蔵。タッチパッドは4割面積を大きくし、5点タッチに対応。また、Windows Helloによる生体認証対応の指紋センサー内蔵モデルも用意する。
生体認証対応の指紋センサー内蔵モデルが使えるとよいなぁと思って、もう少し調べてみたところ、互換性があるという記述を見つけました。
Microsoft Surface Pro 4 Type Cover (Black)
http://www.microsoftstore.com/store/msusa/en_US/pdp/Microsoft-Surface-Pro-4-Type-Cover/productID.325723100
ここでは
Supported platforms
Surface Pro 3
Surface Pro 4
とはっきり書かれています。 指紋センサーのほうはどうかと思ってみてみると、
Available colors
Black
Blue
Bright Blue
Red
Teal
Onyx (Black, with Fingerprint ID)
で単に1つのバリエーションとして扱われています。はっきりとした記述はありませんが、インターフェイスの大きな違いはなく動作するのかもしれません。

続・マイナンバーの取り扱い

先日、マイナンバーについて以下のようなことを書きました。
マイナンバーの取り扱い
Q. 学会などの研究会でお願いしているアルバイトの方々に報酬を支払う場合、マイナンバーの扱いはどのようにすればよいのでしょうか。
A. 日払いのアルバイト(9300円/日未満)は対象外。
http://www.sakashita-net.jp/2015/07/blog-post.html
謝金については以下に解説がありました。
麹町法人会マイナンバーセミナーQ&A
(2016年2月4日時点で参照できなくなっていました)
http://www.koujimachi.or.jp/%E3%83%9E%E3%82%A4%E3%83%8A%E3%83%B3%E3%83%90%E3%83%BC%E3%82%BB%E3%83%9F%E3%83%8A%E3%83%BCQ%26A%28150623%29.pdf
以下に該当部分を引用します。
Q: 公益法人で、開設している口座の講師に謝礼を支払っている。(1)該当講師からマイナンバーを取得すべきは、翌年1月に税務署に法定調書を提出する対象者(所得? 又は税額?で5万以上の講師)のみで良いか。 (2) 28年1月に作成する法定調書にはマイナンバーを記載しなくてもよいか。
A: 個人番号の提供を求めることができるのは法定調書の作成・提出に必要な場合に限ります。そして、税法上、同一人に対するその年中の報酬等の支払金額が五万以下であれば調書を提出しなくてもよいとされているので(所得税法施行規則84条Ⅱ四)、質問者の理解の通りで結構です。なお、「(所得? 又は税額?」ではなくて、「支払金額でみて5万円以上」なのでご留意下さい。
上記のページが参照できないので、以下が参考になると思います。
マイナンバーに関するQ&A_2015年8月19日
http://e606.com/index.php?QBlog-20150819-1
所得税法施行規則については以下で参照できます。
所得税法施行規則
(昭和四十年三月三十一日大蔵省令第十一号)
http://law.e-gov.go.jp/htmldata/S40/S40F03401000011.html
以下に該当部分を引用します。
第八十四条  居住者又は内国法人に対し国内において法第二百四条第一項各号(報酬、料金等に係る源泉徴収義務)に掲げる報酬若しくは料金、契約金又は賞金(法第二百 四条第二項各号に掲げるものを除く。以下この条において「報酬等」という。)の支払をする者は、法第二百二十五条第一項第三号(報酬、料金等の支払調書) の規定により、その報酬等の支払を受ける者の各人別に、次に掲げる事項を記載した調書を、その支払をする者の事務所、事業所その他これらに準ずるものでそ の報酬等の支払事務を取り扱うものの所在地の所轄税務署長に提出しなければならない。
 その支払を受ける者の氏名又は名称及び住所若しくは居所又は本店若しくは主たる事務所の所在地
 その年中に支払の確定した報酬等の金額(広告宣伝のための賞金については、金銭以外のもので支払われる場合には、令第三百二十一条(金銭以外のもので支払われる賞金の価額)の規定により計算した金額)
 前号の報酬等につき源泉徴収をされる所得税の額
 報酬等の法第二百四条第一項各号に規定する区分
 その他参考となるべき事項
 前項の場合において、次の各号に掲げる場合に該当するときは、当該各号の規定に該当する報酬等に係る同項の調書は、提出することを要しない。
 同一人に対するその年中の法第二百四条第一項第三号に掲げる診療報酬、同項第四号に掲げる職業拳闘家、外交員、集金人若しくは電力量計の検針人の業務に関する報酬若しくは料金又は同項第六号に掲げる報酬若しくは料金の支払金額が五十万円以下である場合
 同一人に対するその年中の法第二百四条第一項第八号に掲げる広告宣伝のための賞金の支払金額が五十万円以下である場合
 同一人に対するその年中の法第二百四条第一項第八号に掲げる馬主が受ける競馬の賞金の全部につきそれぞれの一回に支払うべき金額が令第二百九十八条第一項(競馬の賞金に係る控除額)に規定する金額以下である場合
 同一人に対するその年中の前三号に規定する報酬等以外の報酬等の支払金額が五万円以下である場合

keyhacのMac版

先日、
Windows 10(64bit)でEmacsふうキーバインドにする
http://www.sakashita-net.jp/2015/10/windows-1064bitemacs.html
で、keyhacというツールを使ったことを書きました。よく見てみると、Mac版も提供されていました。
Keyhac の Mac OSX 用 Beta 1
Pythonを使ったキーカスタマイズツール、Keyhac のMac版 Beta 1を用意しました。
http://craftwave.blogspot.jp/2014/09/keyhac-mac-osx-beta-1.html

現在は動作するようになった - Microsoft Surface Pro 3に接続したBluetoothキーボードの反応が悪い

先日、以下のようなことを書きました。
Microsoft Surface Pro 3に接続したBluetoothキーボードの反応が悪い
いろいろと設定をしてみたのですが、反応が悪い状態になることがあり、納得できる状態ではありませんでした。

その後、何回かSurface Pro 3のドライバなどのアップデートがあったためか、これを書いている時点(2015年10月7日)では、新たに設定を加えることなく、うまく動作しているようです。設定としては、デバイスマネージャーでMarvell AVASTAR Bluetooth Radio Adapterについてだけ、プロパティから「電源の管理」タブを選び、
「電力の節約のために、このコンピューターでこのデバイスの電源をオフにできるようにする」
のチェックを外しています。

2015年10月6日火曜日

Windows 10(64bit)でEmacsふうキーバインドにする

WindowsでEmacsふうのキーバインドで操作するために長らくxkeymacsというツールを使っていました。しかし、Windows 8/8.1/10あたりから動きが不安定になり、どうしようかと思っていました。

今日になり、ふと思い立って新しいツールがないか探してみたところ、keyhacというツールを見つけました。以下のWWWページの解説に従って設定したところ、それらしく動いているようです。
keyhac
https://sites.google.com/site/craftware/keyhac-ja

Windows の操作を emacs のキーバインドで行うための設定 (keyhac版)
http://www49.atwiki.jp/ntemacs/pages/25.html

2015年10月2日金曜日

FreeBSDでメールやテキストメモをPostScriptプリンタに印刷する

FreeBSDでメールやテキストメモをPostScriptプリンタに印刷するツールとして、古くからの友人である歌代さんのa2ps.plを使っていました。
ftp://ftp.sra.co.jp/pub/lang/perl/scripts/utashiro-scripts/
http://utashiro.hatenablog.com/
ただ、作られたのが古いため、新しいバージョンのperlでは改造なしに動かすことが難しくなってきました。

いろいろと調べてみたところ、e2psが代替になりそうです。
ubuntu u2psの代わりにe2psを使う
http://arakanoj.com/ubuntu-u2ps%E3%81%AE%E4%BB%A3%E3%82%8F%E3%82%8A%E3%81%ABe2ps%E3%82%92%E4%BD%BF%E3%81%86-3169.html
a2psの代わりにe2ps
http://hgw09.exblog.jp/21925627
さっそく、/usr/port/japanese/e2psでmake installとして、使ってみました。
$ pkg info ja-e2ps
ja-e2ps-4.34
Name           : ja-e2ps
Version        : 4.34
Installed on   : Fri Oct  2 07:32:29 JST 2015
Origin         : japanese/e2ps
Architecture   : freebsd:9:x86:64
Prefix         : /usr/local
Categories     : print japanese
Licenses       :
Maintainer     : ports@FreeBSD.org
WWW            : UNKNOWN
Comment        : Text file to postscript converter (with Japanese support)
Options        :
        DOCS           : on
Annotations    :
Flat size      : 77.7KiB
Description    :
E2ps formats each named file for printing in a postscript printer; if
no file is given, e2ps reads from the standard input. The format used
is nice and compact: normally two pages on each physical page, headers
with useful information (page number, printing date, file name or
supplied header), etc.
e2psというぐらいなので、日本語のコードとしてはEUCしか対応してません。そこで、シェルスクリプトを使い、オプションはe2psのままで入力をnkfコマンドで変換するようなコマンドを作りました。
#!/bin/sh
E2PS=/usr/local/bin/e2ps
LPT=${PRINTER-lp}

while [ $# -ge 1 ]
do
    case "$1" in
        '-l'|'-l2'|'-l4'|'-lv4'|'-p'|'-p2'|'-p4'|'-pv4'|'-a7'|'-b4'|\
            '-le'|'-ohp'|'-box'|'-nh'|'-e'|'-j')
            ARGS="$ARGS $1"
            shift
            ;;
        '-af'|'-abf'|'-abi'|'-siz'|'-afw'|'-afh'|'-kfw'|'-kfh'|\
            '-ls'|'-line'|'-tm'|'-bm'|'-lm'|'-rm'|'-date'|'-page' )
            ARGS="$ARGS $1"
            ARGS="$ARGS $2"
            shift 2
            ;;
        '-head' )
            HEADER="$2"
            shift 2
            ;;
        '-P' )
            LPT="$2"
            shift 2
            ;;
        '-h'|'--help'|'-v'|'--version'|'-fl'|'-lib' )
            $E2PS "$1"
            break
            ;;
        -*)
            echo "Unknown option: $1"
            break
            ;;
        *)
            FILES="$FILES $1"
            shift
            ;;
    esac
done

if [ $FILES ]; then
    for FILE in $FILES
    do
        if [ "$HEADER" ]; then
            nkf -e $FILE | $E2PS $ARGS -P $LPT -head "$HEADER" > /dev/null 2>&1
        else
            nkf -e $FILE | $E2PS $ARGS -P $LPT -head "$FILE" > /dev/null 2>&1
        fi
    done
else
        if [ "$HEADER" ]; then
            nkf -e | $E2PS $ARGS -P $LPT -head "$HEADER" > /dev/null 2>&1
        else
            nkf -e | $E2PS $ARGS -P $LPT -head "$FILE" > /dev/null 2>&1
        fi
fi

JAL国内線でエコノミーのみの航空便があった

先日、JAL(日本航空)で羽田-伊丹間の航空便を見ていると、おもしろい便があることに気が付きました。2015年10月3日のJAL124便(伊丹→羽田)です。 機体が767でエコノミー席しかありません。


通常、JALの767の座席はクラスJとエコノミーで、機体によってはこれにファーストクラスが加わります。不思議に思い予約をして座席指定をしてみました。



座席指定画面を見てみると、クラスJの座席はあるのですがエコノミーで予約できるようになっています。同様なことがないかと思って、見てみると、2015年10月2日のJAL125便(羽田→伊丹)はファーストクラスとエコノミーという、こちらも不思議な構成です。


こちらも、同じようにエコノミーでクラスJの座席に座れるのでしょう。
国際線で、プレミアエコノミーの設定がない路線に、プレミアムエコノミーの座席がある機体が割り当てられた場合、上級会員は、エコノミーでもプレミアムエコノミーの座席に座れるということは聞いたがことがありますが、JALの国内線では初めて気が付きました。

その後、たまたま大阪で用事があり、この便に、実際に搭乗しました。すると、修学旅行の団体客がおられました。推測ですが、修学旅行の方でエコノミーの席が利用されてしまうため、一般客向けのエコノミーの座席数が不足するため、Class Jの座席を開放したと思われます。