今年のMozilla翻訳コミュニティ界隈を勝手に振り返る

この記事はMDNとかをみんなで編集!翻訳! Advent Calendar 2017 - Adventarの 25日目の記事です。
昨日はic_lifewoodさんのアクセシビリティ/XUL アクセシビリティリファレンス - Mozilla | MDNでした。

さて、このアドベントカレンダーもいよいよ最終コーナーとなりました。
立ち上げ人として、今年のニュースを振り返ってみたいと思います。

7月。Mozilla JapanがWebDINO Japanに変わった!
発足記念パーティとかにも行ってないのでアレですが、Mozilla Corp.とは異なっていることが明確になったのだと捉えています。
一般社団法人 WebDINO Japan — ブラウザーの先へ、ウェブの最先端を切り拓く。
Mozilla JapanはなぜWebDINOに?瀧田佐登子さんに聞くMozilla・オープンソースコミュニティ、そしてWebの未来 | HTML5Experts.jp

11月。意欲作の Firefox Quantum がリリース
とにかく爆速という触れ込みの Firefox Quantum がリリースされました。
Add-on がChrome互換の拡張機能しかサポートしなくなって、一部悲鳴も有りましたが、このサクサク感はなかなかのものです。これまで取り組んできたe10s(マルチプロセス技術)が身を結んだのでしょうか。
Chromeよ、さらば。ベストブラウザーの座は「Firefox Quantum」に交代だ:『WIRED』US版レヴュー|WIRED.jp

あとは Firefox OS が B2G OS と名を変えて、もともと私に「MDNの編集しませんか?」と誘ってくれたパンダのアイコンの人はG○○gle社に行っちゃいました。。万物は流転する。

次はコミュニティネタを行ってみようと思います。
5月。コミュニティのチャットツールがSlackになる
これも流行り廃りなのか、MLというかGoogle Groupsへの投稿がめっきり減りましたね。#general が作られたのは5/2のできごとのようです。古くからの人と最近の人とがごちゃまぜになっててなんか新鮮ではありますw Mozilla コミュニティの活動に加わりたい、情報を得たい人は入室自由ですのでドウゾ。
Slack

9月。OSC 2017 Tokyo/Fall でのハンズオン
昨年につづき2回目の開催になりました。
個人的な事情で昨年は参加できなかったのですが、チューター6名に対して参加者8?名。内容はそれなりに満足してもらったのかと思います。今後は翻訳を学びたい人、技術を学びたい人のグループ分けができると良いかもしれません。
オープンソースカンファレンス2017 Tokyo/Fall - オープンソースの文化祭!

12月。Advent Calendarが満員御礼
昨年は書き手が不足していたようですが、今年はいつメンの皆さんが頑張って繋げることができました。この勢いを次にもつなげたいですね。
https://adventar.org/calendars/2553

クリスマスも終わりました。私は地方住みなのでふだんはオンラインの繋がりですが、たまにオフラインでいろんな刺激を得るのは楽しいです。
では、また活気のあるコミュニティライフを!

MDNの翻訳お役立ちツールがメチャクチャ便利な件

この記事はMDNとかをみんなで編集!翻訳! Advent Calendar 2017 - Adventarの 23日目の記事です。
昨日はhmatrjpさんのMDN Web Docsでした。
明日はic_lifewoodさんのアクセシビリティ/XUL アクセシビリティリファレンス - Mozilla | MDNです。

まず、MDNはこれまでMozilla Developer Networkの略だったんですが、もう少し他のWeb標準全体を扱うものとして
MDN Web Docs という名前に変わっています。
MDN Web Docs について - MDN プロジェクト | MDN
ChromiumやEdgeなどの仕様をもらって、クロスブラウザー問題を軽減したいという思いがあるようです。詳しくは次の記事でも。
Mozilla、Microsoft、Googleがブラウザ横断Webドキュメントネットワーク構築で協力 - ITmedia NEWS

さて本題。
MDNの翻訳をしていると、とても便利な編集環境だ!と思う反面、めんどくさい面もあります。
良い面

  • Githubアカウントでログインしたら、ブラウザー画面ですぐに編集できる
  • 単に編集するだけでなく、編集履歴とかもMDNエディター上で見られる

悪い面

  • 英語版(en-US)がデフォルトなので、MDN内のリンクに対しても手作業で日本語(ja)に変える必要がある
  • ページを分類するタグの概念があるが、翻訳時には英語版のものを引き継いでくれない
  • 見出しにアンカーがついているが、見出しを翻訳するとアンカーも翻訳されてしまう(アンカーへのリンクは英語のまま)のでページ内リンクがうまくいかない

この悪い面(とにかくメンドイのです)は翻訳モードに入っていた思考を分断させちゃいます。なんかいちいちマウス操作で単純作業するのも悲しいです。Firefox拡張機能の仕様が変わってVimperatorのサポートがなくなった時と同じ悲しみです。
ところが、こんなメンドイ作業を自動化してくれるツールをコミュニティのunaristさんが作ってくれました!!あなたは神か!?

_人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人_
> https://github.com/mozilla-japan/translation/tree/master/MDN <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

これをセットアップすると(詳しくはリンク先の「インストール」にて)上に書いた悪い点がすべて解消します。
ストレスフリーな作業ができること請け合いです。騙されたと思って使ってみてください。わりと荒削りな面も残っていますが、もちろんPull Requestや要望なども受け付けています。

クリスマスも近づいて来ました。
それでは、楽しいWeb開発ライフを!

すごい広島に現地参加した

この記事はたまに広島 Advent Calendar 2016 - Adventarの 21日目の記事です。
昨日は24motzさんの「つくれば工房」で MicroPython 体験会 – nishimotzの日記でした。
明日はblew48さんの広島駅で時間が少しある場合 - 48's diaryです。

さて、ことしは広島で1週間の研修に行く機会があったので、すごい広島147()に初のリアル参加してきました。
すごい広島は水曜日に開催されています。そして自分は鳥取県で請負の仕事している(お客さんは殆んど県内)ので、こういう機会がないとなかなか行くことができません。

去年のアドカレすごい広島で覚えたこと - Uemmra3のフルスタックエンジニア?日記にも書いた通り、我馬にもいくことができました。

ただ以前Firefox OS勉強会でお世話になった胡町のコワーキングは営業をやめてました。代わりにこの日は別のコワーキングへ。地元の米子市にはネカフェや作業可能なカフェはあるのですが、やはりこういう専用スペースがあるのはいいですね。コミュニティの醸成にも役立つ気がします。リモートでコミュニケーション取るのとはまた違う雰囲気があります。
去年Firefox OS勉強会の主催スタッフ化したむじんくんは、広島でAtlassianユーザーグループを立ち上げてました。エネルギッシュ!
やりたい人がやりたいことをやる、そんな広島の人たちと、これからも刺激を与えあいながら過ごしていきたいです。

クリスマスもすぎてしまい、もうすぐ新しい年です。
来年もまだまだ挑戦していきたいですね。では。

baserCMSのワンラインインストール+起動の解説

昨日の記事(酔っ払ってからbaserCMSをインストールしてみた - Uemmra3のフルスタックエンジニア?日記)で、baserCMSをインストールできました。

ただ外谷さんがこちらで(http://bluestyle.publog.jp/archives/67963814.html)書いているように、ユーザー寄りの方や初心者の方の参加が求められています。そうした方にはチンプンカンプンなものになるかもしれません。
つまり昨日の記事でインストールできた事実は良いのですが、それだけだと不親切な気がします。なので、kaburkさんの記事(http://blog.kaburk.com/tools/oneliner_install_basercms4.html)に対して、少し解説を書くことにしました。

元々のコマンドはワンラインになっています。

git clone git@github.com:baserproject/basercms.git; ./basercms/app/Console/cake bc_manager install "http://localhost:8080/" "sqlite" "admin" "password" "webmaster@example.org" --host "localhost" --database "basercms" --data "bccolumn.default"; php -S localhost:8080 -t basercms/app/webroot

で私の場合はこれをWindows上のGit Bashで実行したのですが、UNIXライクOSのシェルの機能として、「;」で複数行のコマンドを連続させる機能を利用しています。
例えばtestというディレクトリを作って移動するのをワンライナで書くと、次のようになります。

mkdir test; cd test

ワンライナはコピペが簡単なのですが、解説するにはそれぞれのコマンド単独の方が良いと思いますので、1コマンドずつ説明しましょう。

1コマンド目

git clone git@github.com:baserproject/basercms.git;

baserCMSは、githubというインターネット上のリポジトリ(ソースコードなどの置き場)に保管されています。このコマンドでは、githubからソースコードを取得します。
なおこのリポジトリはウェブブラウザーからも見ることができます(GitHub - baserproject/basercms: baserCMS : Based Website Development Project)。

2コマンド目
2コマンド目を整理して書いてみます

./basercms/app/Console/cake bc_manager install
"http://localhost:8080/"
"sqlite"
"admin"
"password"
"webmaster@example.org"
--host "localhost"
--database "basercms"
--data "bccolumn.default";

元記事にも記載のあるこちら(コマンドインストール | baserCMS - 国産オープンソース!フリー(無料)でコンテンツ管理に強いCMS)がコマンドリファレンスです。このコメント(#より右がコメントです)を付けてみると、おぼろげながら理解が進むのではないでしょうか。

./basercms/app/Console/cake bc_manager install
"http://localhost:8080/" # サイトURL
"sqlite" # DB種類
"admin" # 管理システムログイン名
"password" # 管理システムログインパスワード
"webmaster@example.org" # 管理者メールアドレス
--host "localhost" # DBサーバホスト名
--database "basercms" # DB名
--data "bccolumn.default"; # 初期データのパターン

実際私も正確に理解しているのではないですが、DB(データベース)サーバと、管理システムをインストールしている、ということがわかります。
あと「cake」というのは、CakePHP(PHPのWebアプリケーションフレームワーク)のコマンドだと思います。詳しくはCakePHPの解説書、解説をご覧ください。

3コマンド目

php -S localhost:8080 -t basercms/app/webroot

インストールが終わったので、実行します。
PHPの簡易ヘルプを出すと、次のようになります。

$ php --help

Usage: php [options] [-f] [--] [args...]
php [options] -r [--] [args...]
php [options] [-B ] -R [-E ] [--] [args...]
php [options] [-B ] -F [-E ] [--] [args...]
php [options] -S : [-t docroot]
php [options] -- [args...]
php [options] -a

-a Run interactively
-c | Look for php.ini file in this directory
-n No php.ini file will be used
-d foo[=bar] Define INI entry foo with value 'bar'
-e Generate extended information for debugger/profiler
-f Parse and execute .
-h This help
-i PHP information
-l Syntax check only (lint)
-m Show compiled in modules
-r Run PHP without using script tags
-B Run PHP before processing input lines
-R Run PHP for every input line
-F Parse and execute for every input line
-E Run PHP after processing all input lines
-H Hide any passed arguments from external tools.
-S : Run with built-in web server.
-t Specify document root for built-in web server.
-s Output HTML syntax highlighted source.
-v Version number
-w Output source with stripped comments and whitespace.
-z Load Zend extension .

args... Arguments passed to script. Use -- args when first argument
starts with - or script is read from stdin

--ini Show configuration file names

--rf Show information about function .
--rc Show information about class .
--re Show information about extension .
--rz Show information about Zend extension .
--ri Show configuration for extension .

この

php [options] -S : [-t docroot]

がここで使っている引数ですが、

php -S localhost:8080 -t basercms/app/webroot

では、Webアプリケーションサーバーのアドレスがlocalhost、ポートが8080
でドキュメントのルート(置き場所を指定する)がbasercms/app/webroot、になっています。

ちょっと初心者向けの説明をすると、
Webアプリケーションサーバーを情報を表示・操作するお店の店員さんだとします。お店がどこにあるかを指定しているのが -S の直後の引数です。そのうち、localhostとは自分自身の場所を指し、ポートはさしずめ窓口やカウンターのようなものです。つまり、あなたがインストールしたPC自身の、8080という窓口からアクセスできるようになります。そして、トップページの情報を置いている場所はbasercms/app/webrootになります。アクセスしてきたユーザーの要求に対して、店員(Webアプリケーションサーバー)は、最初はbasercms/app/webrootという棚から情報を取って、そこにあるマニュアルに沿って(PHPプログラムを解釈して)お客さん(ユーザー)に返事をする。そんな流れでしょうか。

まとめ
1行に連結されていた3つのコマンドを順に説明しました。

  • githubからのソースコード取得(ダウンロード)
  • 取得した環境を用いたbaserCMSのインストール
  • Webサーバーの起動

というステップに分かれていました。当然ですが、次回起動するには3ステップ目だけを実行すればよいですね。

ではあなたもステキなbaserCMSライフを!ビバ!

酔っ払ってからbaserCMSをインストールしてみた

12/22 コマンド解説のリンクを追加
この記事はbaserCMS Advent Calendar 2016 - Adventarの 19日目の記事です。
昨日は…いらっしゃいませんが、14日目はkaburkさんのhttp://blog.kaburk.com/tools/oneliner_install_basercms4.htmlでした。
明日はGaryutenさんのbaserCMS4の管理画面リニューアルの進捗報告の代わりのこれまでの流れ報告 | 我流天性 がらくた屋です。

さて、baserCMSのインストールがまだ終わっていません。

kaburkさんのインストール記事を読んで、小躍りしながら着手しました。環境は以下

OS: Win7(32bit) SP1 Prof.
CPU: Core i5 3470
Memory: 4GB
Supplier: Hewlett-Packard

ふだんは Excel, Word, PowerPoint、あとはSylpheed(win)でメールチェックしたり、自社サイトをGruntでデプロイしたりするマシンです。

何が起こっているのか?Gitが動かない??

$ git clone git@github.com:baserproject/basercms.git; ./basercms/app/Console/cake bc_manager install "http://localhost:8080/" "sqlite" "admin" "password" "webm
aster@example.org" --host "localhost" --database "basercms" --data "bccolumn.default"; php -S localhost:8080 -t basercms/app/webroot

Cloning into 'basercms'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
sh.exe": ./basercms/app/Console/cake: No such file or directory
Directory basercms/app/webroot does not exist.

sudoが効かないので、(StackOverflow)http://stackoverflow.com/questions/22767885/msysgit-sudo-like-commandを見て、Ctrl+Shiftを押しつつ起動したりしてるけど、同様なメッセージ。

心が荒んだ時は、やっぱり笑いが必要だ。
福岡は東京にない魅力(明太子)で溢れている。株式会社キャッチアップのオフィスを訪問しました。 | 東京上野のWeb制作会社LIGを見て、落ち着きを取り戻す。
福岡の明太子もラーメンもウマいのである。

git clone だけでやってみよう!

$ git clone git@github.com:baserproject/basercms.git;

Cloning into 'basercms'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Google先生はヒントをくれるハズ。
git for windows利用時のgithub接続にPermission denied (publickey)が出た時の対応 - Qiitaを見てみて、

mkdir /c/Program\ Files/Git/etc/ssh/
vi /c/Program\ Files/Git/etc/ssh/ssh_config

として、

$ git clone git@github.com:baserproject/basercms.git;

Cloning into 'basercms'...
Enter passphrase for key '/c/Users/soumu2501.DAINICHI-GIKEN/.ssh':

パスフレーズって何だったっけ?
どうもGithub Desktopをアップデートした時に設定された模様。。
目的はcloneなので、HTTPで試す。

$ git clone https://github.com/baserproject/basercms.git

Cloning into 'basercms'...
remote: Counting objects: 68191, done.
remote: Compressing objects: 100% (92/92), done.
remote: Total 68191 (delta 21), reused 0 (delta 0), pack-reused 68096
Receiving objects: 100% (68191/68191), 45.29 MiB | 1.50 MiB/s, done.
Resolving deltas: 100% (42962/42962), done.
Checking connectivity... done.
Checking out files: 100% (2904/2904), done.

アッサリと解決
そして残りの行を実行する。

$ ./basercms/app/Console/cake bc_manager install "http://localhost:8080/" "sqlite" "admin" "password" "webmaster@example.org" --host "localhost" --database "basercms" --data "bccolumn.default"; php -S localhost:8080 -t basercms/app/webroot

c:\wk_uem\baserCMS>echo "immutating Un*x"
"immutating Un*x"

c:\wk_uem\baserCMS>echo off
Welcome to baserCMS v4.0.1 Console

                                                                                                                            • -

App : app
Path: c:\wk_uem\baserCMS\basercms\app\

                                                                                                                            • -

勝った(むしろWindows環境のGitとの戦いに)

私にうってつけのインストール記事を書いてくれたkaburkさんにはただただ感謝しかありません

手元でできただけだと、他の人の参考にならないのでは?
というわけで、追加でkaburkさんのコマンドの解説をしたいと思います。
baserCMSのワンラインインストール+起動の解説 - Uemmra3のフルスタックエンジニア?日記に書いています。

クリスマスも近づいて来ました。コーポレートサイトに適したbaserCMSを使って、企業サイトをリニューアルしてみませんか?
現在4:45。私は寝ます…zzz
では。

鳥取県の元ITエンジニアから見た松江の良し悪し

この記事は松江移住ITエンジニア Advent Calendar 2016 - Adventarの 14日目の記事です。
昨日はTomokazu Hondaさんの本田 智和 - この記事は「松江移住ITエンジニア Advent Calendar 2016」 9日目の記事です。... | Facebookでした。
明日はHitoshi Hasumiさんの[未公開:title]です。
本田さんとはコミュニティのイベントでたまにお会いします。こんなキャリアを送られている方だったとは!あと今年のOSCしまねで聞いた本田さんのLTのテンションが好きですw

自己紹介
さて、私は松江市のある島根県の隣、鳥取県(鳥取は島根の右!)出身で、今はUターンして住んでいます。2年前に帰省して以来、米子市などでIT勉強会を主催しています。(そのへんの話は鳥取県でのIT勉強会のこれまでとこれから - Uemmra3のフルスタックエンジニア?日記に)そんな近所の私から、松江の良いとこ悪いとこを簡単に紹介しようと思います。

松江のいい所(エンジニア用)
Rubyの父Matzが住んでるし、行政の後押しがあって、地方なのに関わらずITコミュニティが盛んなところがすごいです。
実務的に松江駅から徒歩1分のオープンソースラボが無料で借りられるのがすごいですね。また島根大学や松江高専があるので、学生もコミュニティに入りやすいのが良いです。

松江のいい所(非エンジニア用)
のんびりしている所ですかね。松江市の時刻表をご覧ください(えきから時刻表 駅時刻表)
特急を除くと、1時間1〜2本です。2〜3分おきに電車の来る都会とは違います。こういう状況なので通勤するにも商業施設などに行くにも、自動車がある方が便利になってきますね。交通インフラの話では、飛行機で、米子空港出雲空港から羽田へ1時間ほどで飛べます。松江尾道線というハイウェイができて、広島方面へのアクセスも便利になりました。

出雲弁ズーズー弁で田舎っぽいです。仕事中はたぶん標準語っぽいので話されるでしょうけど、そのへんのおじいちゃん、おばあちゃんはバリバリのズーズー弁でしょう。ちょっといい加減なタヌキっぽい人が多いですが、私は好きです。

松江城はすごいです。堀川遊覧船はなかなかテンションあがるらしいです(乗ったことない)。あとは車でフォーゲルパーク(鳥の公園)や島根県立美術館、安来の大原美術館などにドライブ行くのもいいですね。あと温泉も多数あります。松江から最寄りは玉造温泉でしょうか。

松江の悪い所
良くも悪くもコミュニティが狭いので、ぼっちが好きな人には向いてないのかも。あとはコミュニティの他の人とケンカしたりすると、完全に避けるのは難しくなるかな。まぁ都会とかでも同じことですが、いきおい距離は近くなりますね。

高所恐怖症の方に、松江城はおススメしません。子供の頃に登って下を見下ろしてしまい、泣いた記憶があります。

冬は寒いです。雪が降ります。よく滑ります。車に乗る方は、冬タイヤ(いわゆるスタッドレス)が要ります。

おわりに
クリスマスも近づいて来ました。いきなり移住ってのはハードル高いと思うので、まずは松江に来てみてはいかがでしょうか。では。

OSC広島でFx0は人気だった

この記事はFirefox OS / B2G OS Advent Calendar 2016 - Adventarの n日目の記事です。
昨日はic_lifewoodさんのADB Helper | らいふうっどの閑話休題でした。
明日はic_lifewoodさんのADB Helper | らいふうっどの閑話休題です。

さて、11月に3回ほどOSCに行ってきました。最後のOSC広島では、前日のコンシンカイがあり、LT駆動していた学生さんと、酒飲みのオッサンOSCの常連達が交わるという場がありました。

そこで、嫁と同時に機種変したFx0を披露したところ、「カッケー」とかいう賛辞をいただきました。Fx0は確かにトランスルーセントなところがカッケーと思います。

ただ、ハードウェアとしてのオープン性よりも、オープン Webを牽引する存在としてのカッケー(cool)さがあると思っていました。コミュニティベースのB2G OS




クリスマスも近づいて来ました。

では。