本を読む

読書やコンピュータなどに関するメモ

bash 4.3の新機能リストを訳してみた

 bash 4.3がリリースされたので、NEWSファイル(新機能リスト)からbash 4.3の新機能の部分を訳してみました。

「Q.E.D.」47巻、「C.M.B.」25巻

 人気ミステリーコミックシリーズが今回も2冊同時発売。

 以下、ネタバレに気をつけているつもりだけど、未読の方は念のためご注意を。

 「Q.E.D.」は「陽はまだ高い」と「坂道」の2編を収録。

 書きおろしの「坂道」が特によかった。ストーリーは、親の離婚により母親の故郷である海辺の町に転校していって、そこから芸能界にデビューしたアキちゃんの話。……いや本当だってば。不安と友情、そして坂の上から見える景色が、ビビッドかつ爽やかに描かれている。水原さんもいつもより生き生きした感じ。青春だなあ。

 読者への挑戦みたいなタイプの本格ミステリーというわけではないんだけど、伏線がうまく決まって話をドラマチックに盛り上げる小気味よさは、まさにミステリーというところ。ストーリーも読後感も全然違うけど、そういった作りの点では46巻の「巡礼」を連想した。

 「陽はまだ高い」は、数学テーマモノ。NP問題を狂言回しに、バリ島での盗難事件を追う犯人探しの話だ。研究所長のギーデル博士が何を考えているのかがずっと謎めいて描かれているのが印象的だった。

 「C.M.B.」は、「掘り出し物」「バッグストーリー」「その朝、8時13分」「香木」の4編を収録。

 「掘り出し物」は、いつもの同級生たちが、観光地を外れた辺鄙なペンションで“宝”を探す話。博物ネタは、ネタバレになるので伏せておく。

 「バッグストーリー」は、社長のお伴で買いつけにフィレンツェを訪れた輸入雑貨会社のかけ出し社員が、頑固なカバン職人と森羅君に関わるストーリー。少しずつしみ出してくるもろもろの感情。これもまたひとつの青春だなあ。あの故郷どこだろう。博物ネタは、「神曲」と「考える人」。

 「その朝、8時13分」は、毎日変わらない生活を送るサラリーマン青年が、不思議なシチュエーションに巻き込まれていく話……ということでいいかな、詳しいことは避けるけど。何が起きているか自体が謎という状態が展開していって一気に結末に。これはやられた。

 「香木」は、美人師範目当てで香道教室に通う三バカトリオが幽霊騒動に巻き込まれる、ドタバタコメディタッチのエピソード。最後のラストはお約束。博物ネタは、香木をはじめとする香関係のいろいろ。

libskkにSKK-JISYO.Lの式をぜんぶ実装してみた

 「仕事PCでfcitx-skkを使い始めた」で書いたように、先日libskkのソースを眺めた。で、辞書にある式を一部サポートしていることを知った。

 各種SKK実装では、たいていSKK-JISYO.Lという辞書ファイルを使っていると思う。このSKK-JISYO.Lは、もともとEmacs上のSKKのためのもので、「プログラム実行変換」機能のための項目を含んでいる。プログラム実行変換というのは、辞書の候補として通常の単語でなくEmacs Lispの式を書いておき、候補を表示するときに式を評価する機能だ。たとえば、「now」はこんな感じ。

now /ナウ/(current-time-string)/(substring (current-time-string) 11 16)/(substring (current-time-string) 11 19)/

 この式が候補として表示されるときは、現在の時刻の文字列になっているという寸法だ。

 Emacs上のSKK以外では、Emacs Lispインタプリタを積んでいないので、式がそのまま単なる文字列となってしまう。ただ、libskkでは、ごく一部の式だけど対応する枠組みができていた。

 というわけで、SKK-JISYO.Lにある式を抽出して、(たぶん)ぜんぶ実装してみた。まだ実験段階。

 結局、Lispインタプリタもどきを再実装してるんだけど。

 ちなみにハマったのは、Emacs Lisp版を参考に時刻関係の処理を実装したら、単体テストではうまくいくのに、libskkに組み込んだらうまくいかなかったこと。悩んだあげく、ロケールの影響のようだったので、SKK-JISYO.Lにある式やEmacs版が想定しているasctime()形式を自前で実装した。

仕事PCでfcitx-skkを使い始めた

 1月にUbuntu 13.04がサポート期間を終了したので、仕事などメインで使っているPCをようやくUbuntu 13.10にアップデートした。仕事以外にも使ってるけど。このエントリーを書いたりとか。

 仕事環境ではibus 1.5だと自分の使い方には合わないので(ちょい使いなら別に問題ない)、fcitx+fcitx-skkを使い始めた。で、バグとかを修正してあまり問題なく使えている。開発している方々には、半年前に言えよと言われそうだけど、ごめんなさい。

 とりあえず、GitHub上のupstreamにマージされたプルリクが2件、検討中が1件。あとpoの訳をtransifexから数本投稿した。

(1)タイピング方式が反映されない問題

 fcitx-skkは、ibus-skkから分離された変換コアのlibskkをバックエンドに使っている。libskkではローマ字などの入力の定義を「タイピング方式」としてカスタマイズできる(参考:「Ubuntu 12.10のibus-skkでローマ字ルールをカスタマイズする」)。が、fcitx-skkではその指定が起動時に反映されないという問題があった。

 ちょろっとソースを見たら、fcitx-skkの設定ファイルからタイピング方式名を読み込んで設定したあと、もう一度「Default」タイピング方式で内部を再設定していたので、後者のコードを削った。それをプルリクしてマージされた。

(2)変換が学習されない問題

 何度か変換しても、変換した結果が候補順で前に来なくて、元の候補順のままという問題があった。これ、fcitx-skkからlibskkまで追いかけて、ibus-skkのコードとも比較しても、2日ぐらい原因がわからず。ふと見てみたら、デフォルトの設定で、システム辞書がユーザー辞書より優先順位が高くなっていた。コロンブスの卵というか迂闊というか。手動で優先順位を入れかえたら学習結果が反映されるようになったので、デフォルトの設定を変更し、プルリクしてマージされた。

(3)Ctrl-J問題

 libskkでは、プレエディット文字列が空のときに確定のキーを打つと、その文字自身を入力する扱いになっている。その挙動の部分で、ibus-skkではデフォルトの確定キーであるCtrl-Jをハードコーディングで無視するようになっている。

 このibus-skkでやっている部分に相当するコードをfcitx-skkに追加してプルリク。メンテナの人は、「事情はわかったけど、これはlibskkで対応することだよね」ということで、自らlibskkにissueを投稿してくれていた。インプットメソッド側でハードコードするのは美しくないし、一方でライブラリとしては汎用性の問題があるしということで、うまい解決は難しいだろうなあと思う。

追記2014.4.2:気がついたら、(3)にlibskkが2月に対応していて、fcitx-skkでも3月にCloseになっていた。

IIJmio meeting #2に参加

 IIJmio meeting #2に参加してきました。ガジェット&SIM好きの人が集まって、濃い感じで盛り上がりました。

 以下、会場でとったメモほぼそのまま。

開場(堂前さん)

IIJmioとIPv6の話(宮本さん)

  • インターネットとは
  • 通信プロトコルとは
  • インターネットプロトコル(IP)とは
  • IPアドレスとは
  • IPv4アドレス
    • 43億個
    • 世界の人口より少ない
    • すでに一部地域で枯渇している
      • IANA、APNIC、RIPE
    • アドレスの移転
      • いろいろ大変
  • 枯渇対策
    • プライベートアドレス、シェアードアドレス、NAT、CIDR
    • IPv6
  • IPv6の注意点
    • IPv4と互換性はない
    • デュアルスタックか、どこかでIPv6-IPv4変換をする
  • エンドユーザーは意識する必要はない
    • 事業者は価格や品質が劣化するのを避ける
  • IIJmioのモバイルネットワーク
    • NTTドコモのMVNO
    • 相互接続
  • LTE対応端末はIPv6インターネット接続できる
  • IPv6接続シーケンス
  • Create Session Request
    • 端末からのAttach RequestをもとにSGWからPGWに送られる要求
    • パラメータPDN TypeがLTE端末により生成
      • IPv5、IPv6、IPv4v6
  • Create Session Response
    • Create Session Requestに対する応答メッセージ
    • パラメータの一つとしてPAA
  • 64で割りあてられる
    • ルータはNDAの実装が必要
  • PAA
    • 端末のリンクローカルアドレスはこれをもとに生成される
  • Androidで使う
    • 設定 - モバイルネットワーク - アクセスポイント名から、IPv4/v6を設定
    • ただしほとんどのドコモ端末では設定が使えなくなっている
  • iOSではIPv6を使えない
    • PDN Typeを指定するインターフェイスがない
  • MNOキャリアのIPv6取り組み状況
  • VoLTEのタイミングで対応するのではないか?(個人的予想)

みおぽんAPI対応アプリをビルドしてみた(堂前さん)

  • IIJmioの推しポイント
    • クーポンのオンオフが自在にきりかえられる
    • クーポンを翌日に繰り越せる
  • クーポンスイッチアプリ「みおぽん」
  • いろいろ要望はある
    • 自動オフとか、ウィジェットとか
    • 対応できていない
  • 非公式アプリがけっこうある
    • アプリ開発者と仲良くしたい
    • もっと安全にアプリを作れるようにしたい
  • API以前はみんなHTMLをがんばって解析
    • デザインを変えると動かなくなったり
    • 実際にIIJmioのサポセンに問い合わせがきた
  • mioIDとパスワードをアプリに入力
    • 危険
  • 突然のみおぽんAPI
    • 内部でも本当に突然だった
  • APIのいいところ
    • 通信手順を定めた
      • REST
    • アプリから操作可能なのをクーポン関連に限定
      • IDとパスワードを入れるのをIIJmioのみに
    • アプリ異常動作時の対応が可能に
      • アプリが暴走したらIIJmioがデベロッパIDで制限
  • できることは3つ
    • クーポンのON/OFF
    • クーポン残量確認
      • 契約プランも確認できる
        • 先々週、ひっそり機能追加
    • 通信量確認
      • 注意:最大数時間、反映が遅れることがある
  • さっそく対応アプリが登場
    • 5〜6個
      • Androidアプリ
      • iOSアプリのサンプルスース
      • Perlスクリプト
        • API公開当日に登場
      • Rubyスクリプト
        • 設定ファイルにIDとパスワードを書く仕様は望ましくない(emasaka注:すみません、変更します)
  • 10分で作ってみる
  • Chromeの機能拡張
  • Android用のサンプル
    • Javaベースだがほとんどの機能がJavaScriptなので流用
  • manifestファイル
  • 本物のみおぽんのアイコンをちょっと使う(笑)
  • デベロッパIDを取得してソースに書き込む
  • Chromeにあわせる
  • できた

技術基準適合証明(技適)と3G/LTEバンドの話(佐々木さん)

  • MVNOなのでこの手の話はあまり得意ではない
    • 端末を作ったことはないので
  • 技適
    • SIMフリーの端末の話でよく出る
  • 技適がなぜ必要か
    • 携帯電話は無線機
    • 無線機には原則として免許が必要
      • 局免、従免
        • 車検と運転免許のようなもの
    • 携帯電話事業者が包括免許を持っている
      • 特定無線局
      • 電波法27条の2 項目一
    • 技適をとっていないと特定無線局ではない
  • 技適をとるには
    • 技術的な基準を満たしていることを証明してもらう
  • 無線バンド
    • 周波数の話がCMに出てくるという不思議な事態
  • 周波数には限りがある
  • 国際的にルールを作る
    • 数年前は国によって通信規格すら違った
  • 国内で利用されている周波数バンド
    • W-CDMA
    • LTE
  • 周波数が同じでもBandの定義が違うと使えない
  • 端末ごとに使える周波数が違う
    • 技適の情報から
  • Nexus7(2013)で検索してみる例
    • 型式は「K009」
    • Band1でしか使えない
  • 周波数の優劣
  • 総務省となか良くやっていきたい

フリートーク(Q&A)

  • Q:BIGLOBEの「ほぼスマホ」みたいなパッケージングをどう考えるか
    • A:われわれが3キャリアのように端末をリリースしつづけるのは現実的ではない
    • SIMフリー端末の事業者さんと水平分業
    • われわれが音声をやるならIP電話
      • 通常の音声サービスは110番とか109番とか大変
      • 音声は要望に対して検討していきたい
  • Q:みおぽんの機能。電話番号の名前がローカルだが共有できないか。ファミリープランで複数あるとき、クーポンを共有できないか
    • A:すぐには答えられないが検討
  • Q:海外から日本にくる人。契約しないと使えない。1週間とか使いやすいプリペイドとか
    • A:プリペイドは限定的にある。Nexus 7に付いてきた、とか。再チャージを検討中。期限は課題だが、1週間で使い放題というのは難しい
  • Q:IPv6とv4。利用状況
    • A:GoogleはほぼすべてIPv6対応。端末側はまだまだ。Androidで設定を変更している人は少ない
  • Q:日本通信が値下げ。IIJmioは
    • A:答えづらい質問(笑)。これまで何度か値下げしてきた。準備ができたら。
  • Q:IPv6の話をする理由
    • A:IIJとしてはIPv6であたりまえだと思っている。10年後にもインターネットを使いたいよねと。10年前に今のオフィスに引っ越して、社内すべてIPv6に。
  • Q:SIMカードの商売はうまくいっているか
    • A:IR資料以上のこと以上は(笑)。感覚としてはいい感じ(笑)
  • Q:ドコモ以外のMVNO
    • A:いちおうイー・モバイルのものもある。
  • Q:ソフトバンクやKDDIは
    • A:常々聞かれるが、相手があることなので言えない
  • Q:個人向けモバイルサービスのいきさつ
    • A:IIJは創立21年。個人向けISPも19年ぐらいIIJ4U。2008年からMVNO。
    • 転機はLTEかな。
  • Q:競合いろいろ。技術的に
    • A:2年たって技術的に追いつかれてきた。引きつづき、より使いやすい、導入しやすいように。キャッチアップできないところにサービスを広げる。
  • Q:HLRの開放
    • A:HLRの開放は政策の緊急提言にもりこまれたが、直前に消えた。HLRの開放でユーザーにどんなメリットがあるか、話をしていきたい。業界各社で温度差がある
  • Q:クーポンを使いきると200kbpsに制限。この数字はどこから
    • A:最初は128だった。競合他社が100だったので128にした。上げるときに、192にしようとしたが、エンジニア以外に不評だったので200に。
  • Q:通信開始直後の数秒速い、みたいな工夫。今後
    • A:アイデアについては、あっても言えないが。最初の数秒というのは固定インターネットでの経験から。
    • 低速モードはペナルティではないので、そこでも快適に使えるように。
  • Q:制限の数字より遅いところもあれば、IIJはそれより速い
    • A:スピードテストアプリは、どこの時点の平均かで値が変わる。最初のピークだけ見れば速く見える。われわれとしては快適に使えればいい、ということで。
  • Q:要望。法人向けに格安プラン
    • A:パックで買っていただければ安いプランも。営業にご相談ベースで。
    • 法人はいろいろな使い方。たとえばM2M用は単価は安い。
  • Q:技適はメーカーがとる? 包括免許はSIMカード? 関係
    • A:包括免許はSIMカードのキャリア。包括免許のSIMを技適通ってない端末に入れるとアウト
  • Q:IIJ SIMの場合、免許はドコモ?
    • A:そのとおり
  • Q:速度制限。IPv6/v4それぞれで200kbps?
    • A:技術的には分けられるが、それはしていない。合計で200kbps。
  • Q:外国人向けサービスが出ないのは、包括免許や技適の問題?
    • A:技適は法律なので遵守。外国人向けサービスは、業界全体として考えていかなければならない。ドコモまかせではなく、あるべき法制度として。

おまけ

 じゃんけん大会で、冒頭で書いた特殊モバイルルーターをいただいてしまいました。

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly