おがさわらなるひこのオープンソースとかプログラミングとか印刷技術とか

おがさわらなるひこ @naru0ga が技術系で興味を持ったりなんだりしたことをたまーに書くブログです。最近はてなダイアリー放置しすぎて記事書くたびにはてな記法忘れるのではてなブログに移行しました。

クリエイティブ・コモンズ・ライセンス
特に断りがない場合は、本ブログの筆者によるコンテンツは クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスの下に提供されています。

LibreOffice Advent Resources

この記事はLibreOffice Advent Calendar 2017の8日目の記事になります。

打ち明けた話をいうと明後日はLibreOffice Kaigi 2016.12 *1 でして、まったく発表準備できていないので時間がなく、今回は(も?)手抜きです。

技術系アドベントカレンダー的なものが海外にあるのかどうか不明、みたいな発言をTwitterで見た記憶があるのですが、LibreOfficeを支える非営利団体であるThe Document Foundationでは、クリスマスまでの毎日、ひとつずつの記事を更新する「LibreOffice Advent Resources」というシリーズをThe Document Foundation Blogで連載しています。去年もAdvent Tipsって連載があったので、アドベントカレンダー的に記事を連続投稿するというのは日本に限った話ではないのかな。

今日までの連載を紹介すると:

続きも楽しみですね!

*1:今からでも遅くないので参加をお待ちしてます! 翌日はHackFestもあるよ。

書いたりしたもの(宣伝)

今日は時間がないのですが、取り急ぎ宣伝ですよ。

特集3「Ubuntuで動かすインクジェットプリンター」を書かせていただきました。

細かいフォローをしたいところもあるのですが時間がないのでそれは後日。狭いワンルームマンションにインクジェット複合機4台配置して原稿書きするのはちょっと大変でしたが、ライターあとがきにも書いたとおり、久しぶりに色んなプリンターをいじれて楽しかったです。

書きましたついでにもう一個、ここで紹介してなかったもの。

こんな本も書いてました。実は。

この本についてもまたいろいろフォローしたいことがあるんだけどまた別途。ちゃんと調べてないけど、MongoDBのRubyドライバーの今のインターフェースについて日本語で解説した書籍ってこれ以外にあるのかなあ。

別に買ってくださいというつもりはないですがご購入いただけるのであればアフィリンク使ってもらうと大変に喜びます。

LibreOffice Conference 2016 Brnoの落ち穂拾い

さてさて今年もやってきましたLibreOffice Advent Calendar 2016。この記事はその初日の記事です。

今年は表も裏もレポート書けないんですよねー。なにせ入院してたので。

本当は私が書くはずだったITProさん掲載の表のレポートは、榎さんが立派に書いてくれました(前編 / 後編)。この場を借りてお礼を申し上げます。無茶振りにもかかわらず書いていただいてありがとうございます。

で、今日は何を書こうかな。

お金とかそういう話

ヨーロッパにぶち抜き1週間で滞在するとなると、お金の面が気になる方もいるかなあと思いまして最初にこの話を持ってきました。……って前振りは去年の記事の流用です。

去年も書きましたが、今年もまたLibreOffice Conferenceは無料でした。私は入院しててほぼすべてのイベントをブッチしたのですが(会期前のコミュニティデー夜に開催されたウェルカムパーティだけ出た)、それ以外のパーティの類もすべて無料、お茶もお菓子もランチも無料だったと聞いています。スポンサーさまさまやで。

そんなわけでお値段は行き帰りの交通費と、現地の宿泊費だけになります。

費目 費用(日本円) 備考
航空券 96,910 ターキッシュエアライン 成田-イスタンブール-ウィーン
鉄道 5,000(*) ウィーン-ブルノ
宿泊 19,095 9/5〜9/10 6泊7日
121,005

(*) だったと思うんだけど、忘れてしまいました(^^;

去年に比べるとなんと安いことよ……。オーフスは航空券だけで270,940円だったもんなあ。

今はネットとかで航空券予約もラクショーなので、当然そうすると思うかもしれません。けど、私旅行とか全然しない奴ですしそもそも地理に疎いので、そもそもブルノってどこからどう行くのが便利なのかもわからん。これは窓口でプロに相談したほうがいいなーということで、普通にH.I.Sの銀座本店に行って「ぜんぜんわからんのですがチェコのブルノってところに行きたいです」といって候補を出してもらいました。

このチケットがそこそこ安かったのは日曜日の夜発ってところ(土曜発にすると+5万だったと思う)と、あとイスタンブール経由というのがもしかしたらあるのかも。今年6月末にイスタンブール空港で、ありましたもんね。ええ。それと、チェコプラハ経由とウィーン経由、どちらも鉄道に乗ってる時間は同じぐらいで、でもウィーンのほうが便が多いせいか、少し安かったです。ここらへんは、いろいろ選択肢を持ってるプロの旅行会社に頼ってよかったなーと思うところ。

宿泊は安定のAirBnBです。日本国内だと私、ついお酒とか飲みすぎてよいお客様でいられる自信がなく、AirBnBの利用は躊躇われるのでございますが、海外だと気が張っているのかなんなのか、人とのふれあいがあるAirBnBたのしいなって思うのでした。ただ、今回のように入院騒ぎとか起こしたときには、ホストの善意に頼りきりになるので、リスクはリスクですね。今回のホストさんはすごい親切でよかったですけど。

コミュニティミーティングのお話

メインのカンファレンスについてはキーノートであるState of the Projectしか聞けなかったので(そのときも足が痛くて集中できなかった)、その前日のコミュニティミーティングについて。榎さんのレポートにも書いてありますが、全体のレポートの中の一部という意味ではあまり深入りできないわけですので。

といってもこの日もすでに具合はよくなかったのですべてを記憶できているとは言い難いですが、主な議題としては:

  • 自己紹介
    • 「私は日本から来たNaruhiko Ogasawaraで、主にUI翻訳のリードとかやってるよ」みたいなのを一言二言
    • 内輪受けですみませんが、TDFの秘書的な役割を持っているSophie Gautierという方がおりまして、QAとローカルチームも見てるし、カンファレンス担当でもあるので我々非常にお世話になっているんですが……「Sophie(の役割)はSophieとしかいいようがないね」「そうだね」ってところでみんな爆笑しておりました
  • グローバルのマーケティングについて
    • 特に台湾を始めとする極東マーケットについて
    • マーケティングの電話会議もたまにはアジアから参加しやすい時間にすべきであるみたいな
    • 日本からも参加してくれるよな? と目を見てItaloに言われたので「もちろん」と言ったけどまだ参加したことないですゴメンナサイ
  • ローカライズ
    • 今のプロセスでなにか課題はないか? みたいな話
    • 日本語翻訳コミュニティとしては今のプロセスでいいんじゃない? masterの分離タイミングとかもいいと思うよ?みたいな意見を述べたり
  • コミュニケーション
  • 予算
    • 今年から、各国のNatvie Language Projectそれぞれに予算がつくようになったのですが
    • そもそも税金の処理的にNLPってお金受け取って大丈夫なんだっけみたいな話
    • 例えば旅費補助であれば旅行会社の口座にTDFから振り込む形みたいな方法も取れるよ、みたいな話があった気がする
    • ちょっと難しくてついていけなかったけど
  • MS Office互換?
    • インドから来た人だったかな? が、「なんでLibOはMS OfficeとUIが一致してないんだ」みたいなことを急に吠えた
    • 「教科書的な答え方をすると……パッチはいつでも歓迎だよ」
    • 別にMS Office的なUIにすべきであるともすべきでないとも、決まった結論はないですよ
    • 議論をする場としては、やはりdesignチームなんだろうねーと

私なんかは英語あんまり得意じゃないし、そもそもオープンディスカッションに慣れてないということもあって、なかなか口を出していくのは難しいわけですが、せっかく会議の場にいるので、なんかしゃべりたいなーと思って頑張りました。オフラインの場合、オンラインに比べて身振り手振りも表情もあるので、通じやすいというメリットは生かした方がいいよなーと。

単に講演を聞くだけじゃなくて、こういうディスカッションの場があるのも、カンファレンスの楽しみだったりしますね。

おわりに

なんかうっすい話 and LibreOfficeにあまり関係ないことばかりで申し訳ないです!

まあ、カンファレンス本体に参加してないので、書けることは限られているのでしょうがないですね。でも、行って楽しかったですよ。1年ぶりにいろんな人と(時間は短かったけど)話せたのは、やっぱりよかった。

来年はローマです。観光地なので高くつくんだろうなあ。でも、楽しみです。See you in Rome!

チェコ入院の記録など

ご無沙汰さんです。

ご存じの方はご存知ですが、今年も夏休みを取ってLibreOffice Conference 2016参加のためにチェコに行ってきました。 そして、行きの飛行機の中で発病して、到着した翌々日には病院に行き、その場で入院となって、三泊四日の入院生活を過ごして帰ってきました。

入院は9/7で退院は9/10、その足で鉄道と飛行機で9/11夜に日本に帰ってきて、9/12に病院に行って安静を命じられ、会社を3日追加で休んでお家でヒマヒマしてました。今はまあ、ちょっとまだ完全ではないですが、大分良くなりました。普通に歩けますし仕事もできます。

そんな内容を、9/17の小江戸らぐ #koedolug で発表してきたらまあまあ好評?だったので、せっかくだからまとめることにしました。発表資料はこちら↓。

といっても発表資料に概ね書いてしまったので、まあ雑多な落穂ひろい。あとめっちゃ長いので、お時間がない方は上の資料だけを読むことを推奨。

続きを読む

OSS Gateワークショップ#2にメンターとして参加しました

随分時間が経ってしまいましたが。

3月26日に行われたOSS Gateワークショップ#2というイベントにメンターとして参加してきました*1

oss-gate.doorkeeper.jp

OSS Gateの素晴らしいところは、その目指す姿とか行動指針とか実際の進め方とか(好きなようにやってもいいよっていうと初めての人は却って困るので、むしろやり方をがちっと限定するとか)が決まってて、それがオープンになってて、かつ意見を吸い上げて改善していこうというもので、そういう話について私がここであーだこーだ書くより、サイトとかGithubのプロジェクトページ:

github.com

特にシナリオを読んでもらったほうがいいと思うので省略。

ここではメンターとしての私がどう行動したか、なにを感じたかの話をメモしておきます。

アドバイスしたこと

  • 日本語のドキュメントを読んで??となったときには英語のドキュメントも見てみよう
  • 何かやってみたいなってときにはcontributionってドキュメントにやりかたがないか探してみよう
  • 過去の人のやり方を真似よう(Issue登録とかPull-reqとか)
  • 一つのissue登録やpull-reqは小さな単位(一つのことしかいわない)にしよう

自分はアドバイスしなくて、アドバイスを聞いておおーって思ったこと

  • 会社マシンでgit使うときにはglobal configに汚染?されないように気をつけよう

  • ドキュメントは別のプロジェクトになってることがあるので、念の為確認しよう

取り回しで感心したこと

  • 悩んだり詰まったりしたときはメモだけさせてどう直したら良いかは後で考える。とにかく先に進む。

あえてアドバイスしなかったこと

  • コミットコメントやプルリクエストの英語。「自分ならこうは書かない」とか「経験的にこうしたほうが反応をもらいやすい」とかあったんだけど、ぐっと飲み込んだ。自分の持ってる英語力で作文してみて、それが通じたよ、って体験の方がずっと大事だと思ったから。結果的には正解だったと思う。

次回は5/28だそうです。Rubykaigiの裏番。

oss-gate.doorkeeper.jp

メンタリングを受けたい人、メンターやってみたい人、自分とOSSの関係を問い直したい人とかも参加するといいんじゃないかと思います。メンター側に興味がある人は、OSS GateのGitter oss-gate/general - Gitter に参加するのがよろしいかと。

私自身は、次回はちょっと悩み中……。

*1:まったくどうでもいいけどこの日は私の誕生日でした。

関東LibreOfficeオフラインミーティング ネタ帳

ども。あ、ブログのテーマ変えました。なんでお寿司にしたんだっけ……みたいな。こういう地味なテーマのほうが好き。

さておき。

私が発起人になっている関東LibreOfficeオフラインミーティングというイベントがあります。あ、私発起人であって幹事ではありませぬ。そこんとこよろしく。

Twitterでちょっと話題になってた、「IT系勉強会に来る変な人問題」に絡んで、「勉強会ってあんまり勉強にはならないよね」という、勉強会ムーブメントがすごい盛んだったときに100万回ぐらい聞いた文字列*1 を読んだので、

と書いた。

まあ、自嘲っぽいのは私の性格なんで置くとして。

勉強会(と世の中で呼ばれているもの)に私自身が参加したいというインセンティブは、「勉強」したいわけじゃなくて、ブログとかTwitterとかメディアの中で面白いことを言ってるしてる発表してる人と出会って面白い話を聞くことであって、要はオフ会ですよね、それって。オフ会であるならば勉強になったかならないかではなく、楽しかったか楽しくなかったかで参加した価値を判断すればよいのでは。うん、個人的にはそうしよう。

であれば、自分が発起人であるイベントは、どうどうとオフ会を名乗ろう、とか思ったという話は、何度となくしております。

じゃあその「オフ会」で、できるできないはさておき、どんなネタを取り上げてみたいのか、というのを列挙したので、こっちにもコピーしておきます。

ということで色々やりたいです。賛同してくれる人なんかコメントなり何なりどっかでください。

PS.

これはどうでもいいんだけど、「関東LibOオフ」なのに「LibOKanto」だと逆なのと、とある人名に空目するって指摘を複数人からいただいているので(^^;

*1:本題じゃないですが、こういう言説についてのぼくの立場を書いておくと、セミナースタイルの勉強会で受講側になって勉強できることなんて限られてるのは同意。ただ、「あ、この技術は注目すべきなんだな」「自分で学ぶにはここらへんのキーワードを追っていけばいいんだな」というネタを拾える場としてはいいと思う。そこから先は自分で手を動かして頭を使わないと勉強にはならないよね。多分。逆にいえば他の手段でネタを拾える人はセミナー型の勉強会で聴講なんかしてもあんまおもしろくないのかなとは思います。あと、登壇側になるといろいろ調べるので勉強になりますね。

Frisbyで「リクエストを投げたサービスが突然死した」ことを検知できるか(小ネタ)

ちょっと仕事で調べたのでメモっとく。私HTTPとかあんま詳しくない*1 ので間違いあるかも。

ちょっとしたWeb APIのテストを書いてます。というか、書くために調べ始めました。APIといってもGETでリクエスト投げると適当な応答が帰ってくるだけのシンプルなもの。

必要なパラメータが欠落してたり、異常なパラメータ(例えばintであるべきものに英字が入ってたりとか)のときに、ちゃんと異常時として想定した振る舞いをする

ことを主にテストするという感じですね。

要素技術としてはFrisbyがよさ気かなと思って現在絶賛調査中です。Javascript力が低い自分としても自然にかけてけっこういい感じで、目的は達成できそう。

いろいろ前提すっ飛ばすけど、「異常時に相手側のアプリが突然死したらテスト側はどういう振る舞いになるんだろう」と疑問に思ったので調べてみました。

とりあえず、「あるリクエストを投げると死ぬ」Webアプリを作って、それを叩いてみれば分かるんじゃないかな?と。

そういうアプリをさくっと作りたければSinatraかなーと。こんな感じ。

んでこんなテストを書く。

実行してみると:

$ jasmine-node suicide_spec.js
hello!
.F
Failures:
  1) Frisby Test: suicide test 
        [ GET http://localhost:4567/suicide ]
   Message:
     Expected 500 to equal 200.
   Stacktrace:
     Error: Expected 500 to equal 200.
    at null.<anonymous> (.../node_modules/frisby/lib/frisby.js:493:42)
    at null.<anonymous> (.,./node_modules/frisby/lib/frisby.js:1074:43)
    at Timer.listOnTimeout (timers.js:92:15)
Finished in 0.163 seconds
2 tests, 2 assertions, 1 failure, 0 skipped

お、ちゃんと500として検知できた。

まあ本当は間に色々挟まってたりしてカンタンではないのかなとは思うのですが、それはおいおい詰めていけばよいかなと。

*1:何なら詳しいんだよ、といわれると、また、困るんだけど……。