日本語で報告されたnpmのバグを修正した話

Forkしたリポジトリの有効活用を始めたんですが、少しずつissueで質問や要望を頂き始めてます

qiita.com

その中で、最初に報告されたのがこちら。東アジア文字幅の幅をスペース2つ分に設定している一部のOSで発生していて、回避策はプログレスバーのオフしかないというバグです。

github.com

patchとして取り込まれた修正に関する記事はこちら

qiita.com

f:id:watilde:20160311194702p:plain

さて、今回のバグ。自分は全て英語のPC環境にしてるので気付かなかったんですが、同様に、マルチバイト文字を普段使っていない生活圏の人たちもまた気付いてなかったバグだったんじゃないかと思います。よくよく考えてみれば、ローディングをかっこ良くするためだけにマルチバイト文字って使うべきではないんですよね本来は。それをメインで使っているユーザーだった多くいるはずなので。このように、日本語話者だからこそ気付けること・提案できることって実はいっぱいあると思ってます。熱量を伝えるまでがissue報告・提案となるので。

また、patchを書いた後にTwitterで "npm プログレスバー" で調べてみたら多くの人が同じ現象を発見していたこと分かりました。びっくり!実際の修正は、5ファイルくらい読んで5コミットくらい読んで5行の実装とテストコードを追加するだけのものだったので、慣れていればすぐ終わる内容。でも、自分の環境では発生しない問題が起きていることに気付くのは難しい。なので、

疑問や要望を思いついたり、バグの発見をした際には、Twitterにつぶやく手をちょっと止めてGitHubで教えて頂けたら嬉しいです😊

github.com

かわりに調べて回答を用意したり、必要なら翻訳して報告したり、そのままpatchを書いて取り込んでもらうようにコンタクトを取ったりします :)


// 報告してくれた @ginpei_jp さん ありがとうございます〜

技術は目的じゃなくて手段って考え方がわりと好き

最短ルートで効果的に目的を達成するためには良い手段を選べるようになっておくことが大事になるので、つまり手段となりうる技術を自分なりに見極めて習得しておいた方が良いっていう意味になる。自分の場合は、ベンチマークにしているサイトが使ってる技術とか、開発効率を向上させるための新しいデザインパターンツール、すぐに使えて今後すぐ有用な技術になりうる新仕様とか。何をやるべきかなんて答えがないので自分で見極めなきゃいけないし、それって楽しい :3

だから、技術は目的じゃなくて手段って考え方がわりと好き。

技術以外の分野、デザイン、ファイナンス、マーケティング、法律、組織デザイン、とかでもモチロン同じことが言えるけど、広く学ぶだけの興味がないんだったら専門分野はそうありたいですね :/

手段は知らなきゃ選べない

オランダ移住前後の英語学習とか

去年の10月からオランダに移住し、英語での生活にシフトして4ヶ月が経ちました。ちょっと英語学習について書いてみようかなぁと思い立ったので投下します。

大枠は @shibataism さんの記事に超賛成なので、多くはそこから汲み取って頂ければと思います。

shibataism.hatenablog.com

で、自分なりにこれが効果あったなぁというのをちょこっと書いてみます

音読

TechCrunchの記事を、噛まずにできるだけ早く言う練習をしました。これは持論なので根拠何もないんですが、自分が話せるスピードより速い速度のリスニングは困難じゃないかっていう理由。今では意味知らない単語が多くても、わりと止まらずに音読できるようになりました。音楽をかじってる人だとあるあるってなってくれると嬉しいんですが、自分が技術的に弾けない曲の耳コピってすっっっごい時間がかかったりしますよね(しない?

平行して自分で話したのを録音して聞いて、どこかネイティブっぽくないかっていうのをgoogle translateの入力した単語を話してくれる機能と比較して練習っていうのもやっていました。どの発音が省略されるのか、どういうイントネーションになるのか、みたいなのが身になったんですが、最近は飽きちゃってやってません。。たまにどこの訛り?って聞かれるんですが、Google Translateだよって答えてます(^o^

独り言

これは東京にいた頃からやっていて癖になっているんですが、自問自答をよく帰り道とかに英語で言っていました。ビデオ・電話の面接を受けていたときは自己紹介や受け答えの練習を、仕事で悩みがあった場合は自分で自分に相談して自分で答える、っていうのをボソボソ言っていました。こういうときなんて言おう?っていうのをググッて、それを何回もやる、たまにいじわるな質問をする、っていうのをやってたんですが、そういう病気あったら怖い。危ない人と思われそうだけど、これは今でもやってます。。

動画

ポケモンを最初は見てたんですが、今はNetflixで映画かドラマで同じのを何度も見てます。オススメは断然 Black Mirror っていう短編ドラマで、世にも奇妙な物語の現代版って感じで超面白い。あとはNode.js関連のカンファレンスやコミッターのミーティング、Node Upとかを聞いてます。分からないところがあってもスルーして止めずに見るのが飽きないコツな気がします。真面目な人はディクテーションとかしたら伸びると思うんですが、自分には続かないので料理しながらボケーっと話の流れを追うくらいで精一杯。

覚えたそばから使う

知らない表現が出たら、その日のうちに4人くらいに試すっていうのをやってます。最近だと、 npm社のForrestさんが書いた do some spelunking とか、なんとなくカッコいいなぁと思ってミーティングとかチャットで使ってみました。

github.com

みんな特に目立ったリアクションしてくれないんですが、意味が通じるっていう体験は単純に嬉しい。3回目言ったくらいで覚えられて、次の日はちょっと考えれば思い出せるくらいになるかなぁと思います。

英語を勉強してるって考えない

英語を勉強してるって考えると、相手の発言を一文字一文字がんばって聞こうとして疲れちゃうので、コミュニケーションしてるって意識的に考えるようにしました。そう意識しはじめてから、いま言ったのはこういう意味だよ、それってこういう意味?って言い換えがやりやすくなったような気がします。

英語学習アプリ

今まで続いたものがなかったんだけど、先々週くらいに同僚に紹介してもらった Hello Talk っていうlanguage exchangeのためのアプリが意外と続いてます。オランダ語を片手間で勉強して代わりに日本語を教えているんですが、合間合間に英語で話すのできっと勉強になってます。

HelloTalk - Talk to the World

話のネタ

日本に旅行にいく人が自分の周りには多くて、今年だけでも4人が予定立ててます。人気!そこで同僚や友達から、オススメな季節やら食べ物やら場所を聞かれます。この話題は、おそらくどこに行っても使える武器なので日本に関するネタは独り言で練習しておくと良さそう。

先々週くらいにNodeschool London行ったときは、技術的な話題やお酒の話がわりといけたのでかなり楽しめました。英語そのものより、共通の話題がどの程度あるかっていうのが何より大事だなぁと何回も感じてます(‘A


こんな感じかな・・・。ヨーロッパの人たちの会話、勇気を出して笑いを取りにいくのが楽しいのでチャットとか軽い会話は快適なんですが、やっぱり飲み会とかの英語は早いしハイコンテキストだしディープだし本当につらい。まだまだ道のりは長い。