gnu.org日本語翻訳ミーティング参加

先日、「www.gnu.orgの日本語訳について」のミーティングに参加してきました。最近のFSIJ月例会はMumbleを用いたリモート開催を増やしているので、リアルミーティングは久しぶりです。 当日の配布資料はhttp://git.savannah.gnu.org/cgit/www-ja.git/tree/doc/meeting-2017-01.txtにあります。そちらにもgnu.org翻訳作業への参加方法が書かれていますが、興味のある方はSavannahのwww-jaプロジェクトのメーリングリスト(閲覧は要登録)や、gitリポジトリの参照(こちらはanonymous clone可能 git://git.savannah.gnu.org/www-ja.git)も見てみてください。 個人的な活動 – 機械翻訳 私はこの1年ろくな活動ができていなくて申し訳なかったのですが、以前から考えていた「www-jaをコーパスとして機械学習による翻訳モデルを構築する」という活動に手をつけ始めました。TensorFlowのseq2seqサンプルを若干修正してWMTの代わりに任意のテキストファイルを与えられるようにしたコードは以前作成した(https://github.com/knok/tf-seq2seq-mod)ので、あとはデータセットを作成するだけです。 まずは以下のようなPython scriptを作ってみました。Python2, polib, natto-pyで動きます。 以下のような感じで実行しています。 残念ながら利用可能なGPUを持っていないので、CPU演算のみで処理しています。今のところDebianで深層学習フレームワークがtesting(stretch)入りしているのはCaffe, Theanoの2つだけで、TensorFlowや自分がよく使っているChainerは入っていません。まあこのあたりはupstreamの更新も頻繁なので、あえてパッケージを使わなくともvirtualenv+pipで適時入れるほうが良い気もします。 とはいえ、GPUを使って深層学習を行うということは、ほとんどの場合プロプライエタリなソフトウェアに依存することと等価なので、「gnu.orgの翻訳」ということに限ればむしろCPUのみでの処理の方が望ましいのかもしれません。 自由なコンピューティング 実際、ミーティング当日も自由なコンピューティング環境がより一層損なわれているという話がありました。gniibeさんはChromebookにLibrebootを苦労して入れているようです。 自分もここ数日いろいろとひどい目にあいました。Xbox 360のSmartGlassを使ってみようとしたのですが、Windows 8.1の場合Xbox 360で利用しているLiveアカウントとの関連付けをWindows自身のログインアカウントと紐付けないと利用できないのです。Windows 8以降、Microsoftは極力Liveアカウントでのログインをさせるよう誘導しているのですが、8.1(とおそらく8)でそれが強制されるというのは厳しく、利用を諦めました。ただ、Windows 10ではこの点は改善されているようで、SmartGlassを含むストアアプリはアプリ単位で個別に利用するLiveアカウントを設定したり、そもそもLiveアカウントの必要ないアプリは普通にローカルアカウントのまま利用できるようになっていました。なので、Windows 10マシンでSmartGlassを利用しています。 iPhone, Android端末なども実質iCloud, googleアカウントが必須に近い状態ですが、Windowsも同様の仕組みに倒しているわけで、自由からより通い方向に進んでいるなあと痛感しました。  メンテナ不在問題 現在メンテナが不在なGNU Projectのソフトウェアについていくつか名前が挙げられました。 一つはGNU bisonです。これは割と致命的な気がしたのですが、GCCは4以降独自パーサ(gniibeさんによると、そもそもC++が自由文脈文法でないため)を採用しているとのことなので、案外問題は少ないのかもしれません。メジャーな言語処理系でもbison(yacc)必須なものがぱっと浮かびませんし。 もうひとつはGNUbikだそうです。うーん、これは重要でもないですかね。

Mini Debian Conference Japan 2016参加

2016/12/10に開催されたMini Debian Conference Japan 2016に参加してきました。場所は日本橋のサイボウズオフィス内で、LibreOffice Kaigi 2016と同時開催でした。自分も一応両方に参加するつもりで申し込みも両方にしたのですが、結果としてDebian側の話ばかり聞いていました。 その時の様子はハッシュタグ#debianjpでツイッターを検索するとある程度様子が伺えると思います。自分が参加しているセッションについてはある程度ツイートしています。せっかくなのでMomentsを使ってみようかと思ったのですが、全部のツイートが出てこない上に時系列に並んでいない、並び替えはすべて手動という使い勝手の悪いインターフェースで断念しました。 個人的には音響モデルを含めて自由ソフトウェア実装として作ったバーチャルシンガー徵音梅林(ちおんメイリン)に最もインパクトを受けました。発表は台湾の張正一(Chou Shouichi)さんでした。 発表資料の中でも触れられていましたが、クリプトン・フィーチャーの商用ソフトウェアであるVOCALOIDは作成できる内容に制限があります。初音ミクのEULA(PDF)にありますが、公序良俗に反するなどの歌詞を含めることを禁止しています。現実にはそういった内容のものが作成、公開されているのですが、規約レベルではアウトです。張さんは、ギターを燃やすパフォーマンスの写真などを交えて「音楽活動は自由であるべきだ」と主張されていました。これには強く同意します。 ソフトウェアのベースはWORLD(修正BSDライセンス)というパテントフリーなものを使っているとのことでした。音響モデルもマスコットキャラクターもCC-BY 3.0で配布しています。 残念ながら、まだフロントエンドについては実装がこなれていないようです。デモではWineでVOCALOIDのエディタを利用されていました。まだ日本で利用している例はほとんどなさそうですが、頑張って欲しいと思います。

歌舞伎座.tech 番外編「C++11/14コア言語」出版記念 参加 #kbkz_tech

先日、書籍「C++11/14コア言語」が発売された記念のイベントに参加してきました。 当日の発表はニコニコ生放送でも中継されており、アカウントがあればタイムシフト視聴が可能です。また、内容をツイッター上でツイートしていたので、ハッシュタグ#kbkz_techで検索すればある程度情報を得ることができます。Togetterでも「歌舞伎座.tech 番外編「C++11/14コア言語」出版記念 #kbkz_tech ツイートまとめ」として記録してあります。 私個人のC++に対する理解はあまり深くありません。もっともよく使っていた時期でもLinux Zaurusを使っていた2004~2006年代ごろと10年近く前のことです。当時はgcc 2.95と3.xの移行期にぶつかっていて、ABI非互換の問題を抱えていたことをよく覚えています。Linux Zaurusで閉じた環境だったため、標準ライブラリはほとんど使わずQtのサブセットであるQtEmbeddedばかり使っていました。QtEmbedded自体は今でも電子書籍のKobo方面で利用され続けているようです。 会場では紙の書籍が値引きされて販売されていましたが、私は電子書籍の方を達人出版会で購入しました。紙よりも安価なうえにDRMのないPDFで個人的には満足しています。 書籍の内容はまだ読み始めたばかりですが、きちんと体形だったモダンな仕様を理解していない自分にとってはよさそうな書籍だなあという感触を得ています(メモリーモデルの項目を読みながら)。 この書籍はhttps://github.com/EzoeRyou/cpp-bookにて、CC-BY-SA 4.0で公開されている。誤植を見つけた時、githubのフローに従って指摘が可能なのも便利かもしれません。

第一回 カーネル/VM探検隊@名古屋参加・発表

先週は盆休みで名古屋に帰省していたのですが、ちょうどそのタイミングで第一回 カーネル/VM探検隊@名古屋が開催されるということで、参加と発表をしてきました。 私の発表は「3DSにデータを自動送信したかった」というものです。 簡単に説明すると、Nintendo 3DS上で動作するBASIC処理系であるプチコン3号のソフトウェアキーボードを、USB制御できるBBガンを使って制御しようとしたけどダメだった、という内容です。 3DSのタッチパネルは単純な感圧式なので、BBガンで打ったら反応するだろうと思ってやってみたのですが…パネル面の接触時間が短すぎるせいか、まったく反応しなかったというオチでした。実現できればkernel/vmの名誉ある称号「ベストオブあたまおかしい」も狙えたと思っていたのですが残念です。 参考 カーネル/VM探検隊@名古屋 1回目 第一回 カーネル/VM探検隊@名古屋(前半) #kernelvm 第一回 カーネル/VM探検隊@名古屋(後半) #kernelvm

第120回東京エリアDebian勉強会、2014年11月勉強会参加

先日「第120回東京エリアDebian勉強会、2014年11月勉強会」に参加してきました。 rroonga関連のパッケージをどうにかしようと考えていたのですが、Jornada 720にDebianを入れようとしていた人が来ていたので、そのお手伝いをしました。私自身はJornada 680を持っていて、過去にDebianを入れて使った経験があったので、それが多少役に立ちました。 Jornadaは、今は亡き「ハンドヘルドPC」と呼ばれるカテゴリのデバイスで、キーボードとディスプレイのついた小型PC的なものです。680はsh3が、780はStrongARMが搭載されています。標準OSとしてWindows CEが入っています。 基本的には「Lenny on j720」にあるカーネル、ブートローダー(CE用実行バイナリ)をCFに入れて、適切なカーネルパラメータを設定して起動するだけです。 任意のアプリケーションをインストールできるようにしたかったのですが、その場にあったPCMCIAネットワークカード(Corega PCC-TD)の認識がうまくゆかず、そこまではたどり着けませんでした。 一応、最近のkernelにもjornada 780向けのコード自体は入っていますが、パッケージとして用意されているarm用カーネルでその設定を有効にしたものは現状ありませんでした。コンパイルして動くかどうかもあやしい気がします。 この時代のunstableはLennyだったようで、userlandはLennyのものでした。このころはhotplug周りの仕組みが変化していた時期でしたが、Lennyは既にudevで動いていたようです。/etc/pcmcia/config*にCorega PCC-TDの設定を追加してやればNICも動いたかもしれません。 しかしLennyの頃はアーキテクチャarmとarmelが用意されていたのに対して、それ以降ではarmel/armhfに変わっています。ABIも変わってしまっているので、直接的なアップグレードはおそらくうまくいかなかったことでしょう。 Jornada 780は探せば1万円を切る程度の価格で入手できるようですが、さすがに今から使おうという気にはちょっとなれませんでした。

第116回東京エリアDebian勉強会参加、そしてJessieインストーラBeta1

先の8/23に、第116回東京エリアDebian勉強会に参加してきました。 今回のお題 東京エリアDebian勉強会は、参加に際してなんらかの「お題」が出ます。ここ最近は「もくもく会」と呼ばれる「みんなでその場で集まって、各自が抱えている課題に黙々と取り組む」スタイルが多く、お題の内容は「もくもく会での目標」となることがほぼ常態になっています。 私の目標は KAKASIのローマ字テーブル見直し 積ハードの消化 ECS LivaのeMMCに関する問題 といったあたりを考えていたのですが、当日の午前中にイレギュラーが発生したので、急きょそちらをもくもく会のターゲットにしました。 DELL Latitude E6520購入 日経トレンディネットでDELL Latitude E6520が約4万円で販売という記事をみかけ、急きょ開店直後のPCボンバーへ赴きました。あらかじめスペックはある程度把握していたのですが、店頭で現物も見せてもらえたので、以下の点を評価してその場で購入を決意しました。 1080p フルHDディスプレイ SandyBridge世代だけどCore i7-4200M 今となっては貴重なIEEE1394端子搭載 メモリは最大8GB(もしかしたら16GBいけるかもしれない) eSATA端子搭載 ビデオにNVIDIA GF119内蔵 特に1394はいまだDVビデオカメラを持っている身としては貴重です。今まで使っていた動画配信用のノートPCは液晶を壊してしまったので、これでdvswitch+icecast2でのOgg Theora/Vorbisによる自由ソフトウェアでの動画中継も可能です。 Debianのセットアップ wheezy 7.6 まずは普通に現状の安定板、7.6のインストーラーを試しました。使用したメディアはUSBメモリです。 無線LANで躓く E6520の無線LANデバイスはIntel Corporation Centrino Advanced-N 6205、iwlwifiドライバで動作します。このドライバはnon-free firmware blobが必要なのでhttp://cdimage.debian.org/cdimage/unofficial/non-free/firmware/から取得しておき、インストールメディアにudebファイルを置いておく必要があります。デバイスの認識自体はこれだけでいけました。 問題は接続勉強会の会場はWPA2-PSKな無線LANが来ていたのですが、SSIDとパスワードを入力してもうまくネットワークに接続できませんでした。きちんとログを見ていなかったので、原因はまだわかっていません。再度インストールにトライすれば確認できるだろう、ということでとりあえずこの問題はさておいて、ちょっと前にリリースされたJessie Installer Beta 1を使ってみることにしました。 Jessie Installer Beta 1 次の安定板になるJessieは来年初頭には出るだろうと思われます。まずはbeta 1インストーラーをためし、何か不具合がないかを調べようと試してみました。 無線LANが認識しない いきなりこれです。有線(82579LM e1000e)は普通に認識できました。幸い会場には有線の口とケーブルもあったので、そちらを使ってインストールを続けました。 インストール完了後であれば、firmwre-iwlwifiをインストールすることで無線LANを使えるようになりますが、インストール時にうまく検出できていないのは問題です。 再起動できない wheezy, jessieどちらにも共通していますが、再起動がうまくゆきません。ただしシャットダウンはうまく動きます。それぞれでインストールされるカーネルのバージョンは3.2.0, 3.14.0です。 世代的に枯れたハードウェアだと思うので、BIOSあたりが怪しいのではないかと思っています。バージョンを確認してみると、A00… Continue reading 第116回東京エリアDebian勉強会参加、そしてJessieインストーラBeta1

GnuPG key signの作業をする(signing-party/caff)

先日JNUGの総会へ行ってきて、OpenPGPの鍵の本人確認をしてきました。その後にやるべき作業を、忘備録として記しておきます。 key signの作業を楽にするためのツールはいろいろありますが、今回はsigning-partyパッケージに含まれるcaffを使います。 Package: signing-party Version: 1.1.4-1 Maintainer: Thijs Kinkhorst <thijs@debian.org> Description-ja: 各種 OpenPGP 関連ツール signing-party はあらゆる種類の PGP/GnuPG 関連ツール集で、キーサイン、 キーリングの分析、キーサインパーティの準備用ツールを含んでいます。 . * caff: “CA – Fire and Forget” 鍵にサインしてメールを送信します * pgp-clean: 自己署名以外の全署名を鍵から削除します * pgp-fixkey: 鍵から破損したパケットを除去します * gpg-mailkeys: サイン済みの鍵をその所有者へ単純にメール送信します * gpg-key2ps: 指紋を短冊にした PostScript ファイルを生成します * gpgdir: 再帰的にディレクトリを暗号化するツールです * gpglist: あなたの UID にサインした人を表示します * gpgsigs: GnuPG 鍵の一覧に対してサイン済みの鍵に注釈を付けます… Continue reading GnuPG key signの作業をする(signing-party/caff)

GNUプロジェクトについて知るワークショップ参加

先の「GNUプロジェクトについて知るワークショップ」に参加してきました。私は「自由ソフトウェアによるライブストリーミング」という内容の発表をしました。 当日gniibeさんに指摘を受けたのですが、この発表ではストリーミングに用いるデバイスは民生品の利用を前提としています。 業務用のデバイスではDRMなどがかからないもの多くあり、不自由なテクノロジーに縛られないストリーミングが可能なはずです。

第八回 カーネル/VM探検隊に参加してきた

2013年4月13日、都内で第八回 カーネル/VM探検隊が開催されたので、参加してきました。詳細はGoogle Siteの方を見てもらえば、発表内容や資料が見られます。 個人的に気になったところを書いていこうと思います。 @hiraku_wfs ftraceの解説と最近の動向 ftraceそのもの以上に、debugfsの使い方が興味深いものでした。debugfs(8)ではなく、Greg Kroah-Hartmanが実装した、kernelとuserspaceを橋渡しするためのインターフェースです。mkdirすることでトレース状態のスナップショットをとることが可能、という使われ方をしていました。 ライトニングトーク @boronology CD/DVDのエラー計測 「市販のプレスされたメディアでも結構エラーは出るもの」「むしろ一部の書き込みメディアの方がエラーレートが低いことがある」などなどいろいろと面白い話でした。qpxtoolはDebianパッケージもあるので、試してみたいところです。 @Talos208 フォントとカーネル Vmのあやしい関係 フォントレンダラーのバグをつくことで、OSを落とすことすら可能なフォントデータが作れる、という話でした。過去にFreeTypeでも脆弱性の報告がありましたから、まあそういうこともあるよね、という感じです。今でもlibpngあたりはよく脆弱性が報告されていますから、気を付けたいところです。 @yogata 超簡単!TELNETの話 TELNETの標準プロトコルでも暗号化をサポートしていますよ、という話がメインでした。実際に対応している実装としては、FreeBSDのtelnetがあるようです。Debianのnetkitベースなtelnetにそういう処理はなさそうでした。 驚愕だったのは、source routingをサポートしているというところです。sshの多段接続よりも驚きです。 残念ながら懇親会に参加することはできなかったので、懇親会内でのライトニングトークは聞けませんでしたが、あいかわらず濃いイベントでした。