Toy と帽子と ADP BE

主にプログラミングに関わる話をゆるくエモくやっていきます

読書感想文『えいごのつぼ』

出会い

英語の勉強法をいろいろ調べていく中でこの本を紹介しているブログがありました。 そこで紹介されていた

「英語を始める」ということは「英語のある人生を選ぶ」ということ

というフレーズにビビッときたので読んでみました。

結論からいうと、期待に違わぬいい本でした。とくにこれから英語を始めようかどうか悩んでいるような人にとても効くんじゃないかなと思います。

どんな本?

見開きの右ページに格言のようなもの(この本では「つぼ」と表現されている)が、左ページにその解説が載っています。英語を身につける上で著者が大切だと思うことが全編に渡って書かれています。

感想

私はすでにいろいろ調べた上で英語の学習を始めてしばらく経っているので、どちらかというとすでにたどり着いている情報の再確認であることのほうが多かったのですが、この本の一番の想定読者と思われる、これから英語を始めようという人にとっては非常に役立つ考え方がたくさんあると思います。

私にとっても、目から鱗の考え方がいくつもありました。

  • 英語は英語、リスニングもスピーキングもない
  • 「日常会話」から始める必要はない
  • 聞く力は一番ネイティブに近づきやすい
  • 間違えることは大きな経験になる
    • 一度恥をかいたことは二度と忘れない

などなど。

これ以外にも、もっと具体的なアドバイスもたくさんあります。

  • とにかく聞く、声に出す
  • 続ける、反復することがなにより大事
  • 発音よりアクセント
  • 結論を最初と最後に書く

などなど。

まとめと余談

私はとある目的のために英語の勉強を始めました。そのために TOEIC の点数が必要でした。その時点で、英語はただの手段でした。

もともと勉強熱心なタイプではないため、じわじわとしか伸びず特にリーディングとスピーキングはほとんど進歩しませんでした。 そのため、心を入れ替えて少し前からTOEIC の点数に拘泥せずにひたすら聞いてひたすら話すトレーニングに全振りするようにしました。 いつのまにやら、本職のエンジニアとしての勉強もそこそこに英語の学習・トレーニングに多くの時間を費やすようになっていました。手段だったはずの英語がいつしかあたかも目的のようになってしまっていて、これでいいのだろうかと悩むこともありました。

そうこうしているうちに、最初の目的となった話はなかったことになりました。

それでも私は英語の勉強を続けています。むしろ以前より必死で。 周囲の英語話者とコミュニケーションが取れるようになったり、英語で提供されている情報にもっと気軽にアクセスできるようになるために。

英語がもっと手軽に扱える手段になったとき、そここそが、今の自分にとっての「スタート地点」だと思うので。 まあ、ベタなまとめ方をすると「英語のある人生を選んだ」ということですね。

リピーティング用の音声ファイルを作る

Overview

英語のトレーニング法の一つにリピーティングというものがあります。お手本を聞いたあとに自分でそれを繰り返して発声するというやつです。

で、それ用に用意された、センテンスごとに間隔が空けられた音源がある場合はいいのですが、リピーティング用に作られた教材でもない限りそのようなものはまずありません。 なので、自分でいちいちポーズしながらリピーティングするか、音源を加工して自分が発声するための間隔を開ける必要が出てくるわけです。

リピーティングを始めた当初は自分でいちいちポーズしていたのですが、そんなことをしているとその作業に気を取られて全然英文が頭に入ってこないため、全くトレーニングになりません。

そんなわけで、一念発起して音声ファイルを加工することにしました。

用意するもの

今回は audicity というソフトウェアを使いました。 これを選んだ理由は、大した理由はなくググって上に出てきたからだけです。*1

インストール方法

私の環境は Xubuntu なので

$ sudo apt install audicity

でインストール完了しました。

Windows の人はインストーラーをダウンロードしてきて実行すればいいと思います。

実践

起動

まずは起動しましょう。(当たり前)

こんなウィンドウが開きます。

f:id:mdstoy:20181024231934p:plain

ファイル読み込み

続いて編集したい音声ファイルを開きます。 File -> Open から、編集したいファイルを選択です。

選択すると、こんな感じ。

f:id:mdstoy:20181024232619p:plain

編集

範囲選択

マウスカーソルを I ビームにして*2、「ウィンドウの波形を表示している部分」で「間隔を入れたい場所」から「最後」までをドラッグして選択状態にします。

右側の水色の部分が選択された範囲です。ルーラーには選択範囲に矢印が表示されるので、そこでも確認できます。

f:id:mdstoy:20181024233028p:plain

なお、間隔を開けるのが息継ぎごとだけでいい場合は、波形を見るだけでだいたいどこで区切るべきかわかるので問題ないと思います。 しかし、一文が長い場合とか節単位などで区切りたい場合もあると思います。その場合は、実際に再生して位置を確認して、いい感じの場所で(!)切ってください。 なお、ソフトの機能を駆使すれば「いい感じの場所」を厳密に定めることもできるかもしれませんが、私は面倒なので目分量でやってます。*3

切り取り

Ctrl+x で切り取ります。

f:id:mdstoy:20181024233855p:plain

貼り付け位置選択

波形表示部分で、貼り付けたい場所の始点をクリックします。表示上はその場所に縦線が入ります。

言うまでもないですが、今回の目的はリピーティングなので、手前のセンテンスの長さ + α の間隔を取ります。

f:id:mdstoy:20181024234510p:plain

貼り付け

Ctrl+v で貼り付けます。

f:id:mdstoy:20181024234610p:plain

あとは、上記の編集作業を必要な数だけ繰り返せば OK です。

保存

File -> Export -> 保存したい形式(だいたい mp3 だと思いますが)を選んで、保存したい場所とファイル名を指定すれば OK です。 元ファイルを上書きしないように注意しましょう。(予めファイルをコピーしておくのもいいでしょう)

ソフトの終了

なお、audacity を閉じると以下のようなダイアログが出ますが、上記手順でエクスポート済みなので保存はせずに "No" で問題ありません。

f:id:mdstoy:20181025001551p:plain

まとめ

これで、快適なリピーティングができるようになるはず!!

なお私は、実際にファイルを編集する作業とこのブログを書く作業に時間を費やしたため、今日はトレーニングができませんでした・・・。

*1:歳をとるとそのへんにこだわりというのものがなくなってくるのです。(どうでもいい)

*2:起動時はそうなっているので、特に作業はいりません。変更はツールバーでできます。

*3:歳をとると(以下略

親からうけた恩は子に返す

私が親から受けた教えの中で一番印象に残っているものが

「親から受けた恩は親に返すのではなくてお前の子供に返してあげればよい」

という言葉です。今でも意識している私の中の大切な考え方です。実践できているかどうかはさておき・・・。

これは親子の間にだけ成立する考え方ではなくて、例えば仕事上での人との関わりにおいてもそういうことがあるのかなぁと最近意識するようになりました。


長いこと生きていればお世話になった人はそりゃたくさんいます。その中でも特に、私の魂を救済してくれたといってもいいレベルでお世話になった人も一人や二人はいるわけです。

そんな人たちに対して直接恩を返したい、少しでもお役に立ちたい、と心から思うのですけど、自分の力不足だったりなんだったりでその想いを遂げることはできずじまいでいます。それがただ申し訳なくて心苦しくて悲しくて。

その人たちは恩を着せたり見返りを求めようとしていたわけではないのだろうと思います。 なので、私の恩を返したいという思いはそもそも的はずれであるのでしょう。

でも、私がその人たちから何か大切なものを受け取ったことも紛れもない事実です。それを直接返すことには意味はなく、叶わない願いなのならば、せめて他の誰かに受けた恩を返すというか、分配することができればいいのではないか、むしろそうするべきなのではないかと、少しずつ思えるようになってきました。

はたして私にうまくできるようになるのだろうかという問題はさておき・・・。

「Geeks Who Drink in Kyoto」に行ってきました

nulab.connpass.com

に行ってきました。

個人的に印象に残ったことをメモしています。全体を網羅しているわけではないのでご容赦を。

開催前

大宮通りの路地裏に佇むヌーラボ京都事務所が会場です。ぬ印ののれんも含めて外観がどうみても呉服屋にしか見えないと思ったら、実際に元呉服屋の事務所だったそうです。正直入るのに数秒とまどったレベルでしたw

入ったら入ったで暖かく迎えて頂き、畳なのでどこでも座ってくださいって、まるで友達の家に遊びにきたかのような感覚に襲われました。 そして、ほんわかまったりしていたら「元」ヌーラボの染田さんの挨拶でイベントがスタートしていました。

Orpening Activity

ハカルス 菊本知美さん

京都の CHO 室

メインの?エクササイズの前に、CHO の取り組みなどを聞かせていただきました。体の健康ももちろん心の健康も重視しているとか、ハカルスには老人が多いので気を使うとか、Python はわからないけど Marathon はわかるとか、硬軟織り交ぜた楽しいお話でした。 そして、まずはハカルスだけではなく京都の IT スタートアップ企業の CHO 室を目指していくのだそうです。

エクササイズ

そして、机などを移動させて、エクササイズに突入。序盤のストレッチあたりではまだ「おおお」っていう感じだったのですが、最後の上下運動が(多分ほどんどの参加者の予想を超えた)質と量だったので会場全体が(もちろん私も)「ひえぇぇぇー」ってなってました。

Hacarus on Twitter: "みなさんをヒィヒィ言わせてしまいました!#GWD_Nulab… "

Talk

ヌーラボ 金悠さん

資料はこちら

speakerdeck.com

研修として DIY をやる

仕事ではないことに真剣に取り組むことでそれぞれの個性があぶり出されて、結果的にお互いのことがよく知れるようになるとのこと。仕事じゃないことなので各人がやりたいようにやりだすため、普段隠れていた性格などが見えてくるようになるそうです。 事務所を作るとかそういうレベルになるとさすがにどこでも誰でもができるようなことじゃないので、例えばチームでゲームで遊んでみるとかをやってみるのはいいかもしれないと思いました。

また、知らないことに取り組むことで試行錯誤をせざるを得なくなり、未知の課題への対策ができるようになるのだとか。そして、課題へトライした結果がうまくいかなくても、その失敗はみんなでカバーできるに気づけるとのこと。

しょぼい英語でもそれなりに伝わる

これについては普段から思うところがあって、下手な英語は基本的には伝わらないんですよ。実感としてそれは本当にそうです。

ただ、伝える側の伝えようとする熱意と受け取り側の受け取ろうとする意志が噛み合えば、上手い下手や(言語として)通じているいないはあまり関係なくなって「しょぼい英語でもそれなりに伝わる」ようになるのだと思っています。だから、きっとその場はお互いの意志が噛み合っていたのではないかなー、と。

Nota 洛西一周さん

お金は WWW からやってくる

「お金は WWW からやってくる世代」だそうです。拾いに行くのではなくて、やってくる。時代じゃなくて世代。なんかすごい。(←語彙) あと「未来に生きて自分が必要なものを作る」とか。自分に対する自信とそれを支える能力がないと出てこない発想でやっぱりすごい。

リモートワーク

リモートワークを、現実をバーチャルに実現するものと捉えると失敗するとのこと。これはリモートワークによって実現したいものが何なのかによっても結論が変わってくるんじゃないかと思いました。確かに現実をそのまま置き換えようとしてもうまくはいかないだろうなという感覚があります。

一方で、洛西さんも言及されていましたが、例えばあとで登壇された粕谷(だいくしー)さんなんかはまたちょっと違った感想を持たれているのではないかと。( 以前別の場所で発表されていたリモートワークの話を聞いた印象として https://speakerdeck.com/daiksy/kanjava-remote)

ともあれ、リモートワークはまだまだ試行錯誤が必要だし、リモートワークに必要とされるものは条件によって違うということなのでしょうね。

ハカルス 染田貴志さん

資料はこちら

speakerdeck.com

初っ端から「皆さん酔っ払ってらっしゃるので(私の発表から)持って帰るものもないかと思いますが〜」とぶちかましてくる染田さんw

個々のメンバーが気持ちのよい道具を使うことが大事

当たり前といえば当たり前のことなんですけど、じゃあそれが実践できているところがどれだけあるかというとなかなかないんですよね。 金融系などのお固いところだと外部ネットワークに一切繋げないという環境もまだまだあるでしょうし、ソフトウェアのインストールなども自由にはさせてもらえなかったりするし、個人所有のキーボード持ち込み禁止なども地味に辛い。極端な例だとコーディングするのにメモ帳かワードパッドの二択(つまり Windows に標準でインストールされているものだけ)を強いられる現場の話なども聞いたことがあります。

とにかく、こういうことを公に発信されるだけでもありがたいし心強いです。

ベストプラクティスから学ぶ、でも違うことをする勇気を持つ

スライドのタイトルからして「よそはよそ、うちはうち」で、人と同じことをしても仕方ないし面白くない、と。 また、コミュニケーションを楽しく・意識的にふざけるとか、「仕事がつまらないのは自分のせい、面白い仕事は自分で作る」などとも言われていて、とにかく能動的に自分を面白い場所にもっていくことが大事だということですね。

なんというか、発表全体からベンチャーとしての気概をひしひしと感じました。

はてな 粕谷大輔さん

Mackerel 200 週リリースの舞台裏についてのお話。

当たり前のことを当たり前に

リリースの定義は、ユーザーにとって価値のある機能に限るとのこと。 今自分が関わっているサービスも、バグフィックスやユーザーに見えない部分の改善も含めれば最近は結構な数のリリースをしていますが、ユーザーにとって価値のある機能を安定してリリースし続ける、それも 4 年間もというのはちょっと気が遠くなる話ですね。 これを質量を保って続ける秘訣は、運用の自動化、継続的インテグレーションなど当たり前のことを当たり前にやるとのこと。

また、Mackerel は一部が OSS 化されていて、その部分に対するユーザからのコントリビューションも 200 週リリースの中に含まれているそうです。言葉にすると簡単なことですが、それは、サービスがユーザーに必要とされていてかつ愛されていないとなし得ないことだと思います。

このあともまだまだ話は続きそうだったのですが、今回は縮小版ということで続きはデブサミ関西で、とのことw

event.shoeisha.jp

今見たら、「残席わずか」らしいですよ!

ギルドワークス 中村洋さん

タックマンモデル、インセプションデッキ、ドラッガー風エクササイズ、Working Agreement などアジャイルなツールのお話。

チームから二人抜けたからといって安易に二人補充すればいいというものではない

タックマンモデルのに関連した話で、新しく人を迎え入れるということは関係性を一から作り直さなければならないということだから数を合わせれば OK というはなしにはならないということ。

確かに、新しい人が入ったからといっていなくなった人の「代わり」ができることはないですね。能力的な上下のことじゃなくて、フォローできる範囲という意味で人間を単純に入れ替えるなんてことはできないです。

ワークショップだけやっていてもだめ

常にチームの目標をすり合わせて修正していかなければならないとのこと。

まとめ

京都にそういう企業を育てる土壌があるのか、それとも今回発表された人たちがたまたま京都に集まっただけなのか、それはわからないですが、私も人生で一度くらいはそのような空間で働いてみたいと、一サラリーマンエンジニアは心から思ったのでした。

最後になりますが、会場提供のヌーラボ様、登壇者の皆様、会場・オンラインを含めた参加者の皆様、お疲れ様でした&ありがとうございました。本当に楽しかったです!!

「Spring 5 & Spring Boot 2ハンズオン」に行ってきました

kanjava.connpass.com

に行ってきました。

株式会社カサレアルの多田さん (@suke_masa) によるハンズオンです。

資料はこちら

初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー

GitHub - MasatoshiTada/spring5-boot2-handson: Spring 5 & Spring Boot 2ハンズオンの資料です。準備手順はこちら→

また、

Spring 5 & Spring Boot 2の初心者向け入門ハンズオンを公開しました

これを見れば独習も可能だと思いますので、興味のある方はぜひどうぞ。

直接的に得たもの

Spring Boot の役割と Spring 自身の重要性

Spring Boot はSpring の機能の一部をあらかじめまとめているものであって、 Spring を超える何かではないということ。 要は PC のパーツをバラバラに買ってきて自分で組み立てるか、組み立て済みのものを買うかのような違いだと思います。(ほんまか?) 多田さんは「出来合いのもの」という表現をされていました。 なので、Spring Boot を使っているからといって Spring そのものの知識が不要になることはない し、Spring Boot を使わないときにくらべて開発そのものが楽になるわけではない(スタート地点は違うけど)ということです。

ハンズオンはまず Spring Boot なしの状態から始まってありの状態に進んでいくのですが、Spring Boot ありの演習までたどり着くと

こうなります。ツイートでは面倒なので「おおお!!」で済ませましたが、つまり Spring Boot がいかにいろんなことをしてくれていて、いかに楽をできるかが実感できたというわけです。

日本語で読めるリファレンス

これはぶっちゃけ意外だったんですけど、Terasoluna はほとんど素の Spring なので(SIerフレームワークにありがちな魔改造をされていないと解釈)、そのリファレンスは Spring のものとして十分有用なのだそうです。 今まではググって Terasoluna のドキュメントが出てきたら「それちょっとちがう・・・」と思っていたのですが、今後はちょっと気をつけてみてみようかと思いました。

間接的に得たもの

自分が今、何のために何をやっているのか

ハンズオンの教材自体は、多田さんいわく独習でも躓かずにすむように引っかかりポイントを敢えて排除されているそうで、本当にサクサク進むので油断しているとただの流れ作業になりそうになります。もちろん Spring を理解するためにハンズオンに参加しているので、いろんなことを考えながら演習を進めないといけないのです。それが再認識できたのは個人的に収穫でした。

純粋に楽しい

わたしは結局ひたすら黙々と課題をこなしていたのですが、二時間あまりの間黙々とプログラミング作業できる事自体がそれはそれは幸せな時間でございました。 もうそういう時間がなかなか自分の意志だけでは作りにくいお年頃なんで、色んな意味で。

締め

多田さん、会場提供のサイボウズ様(ほんと、いつ行ってもめっちゃ綺麗)、関ジャバのみなさま、参加者の皆様お疲れ様でした & ありがとうございました。

感情の話

「好き」も「嫌い」も、感情は正しい判断を阻害することが多い。

「好き」は判断を鈍らせる。

「嫌い」は判断を早まってしまう。

じゃあ感情なんて排してしまえばよいのかといえば、ある意味ではそうで、ある意味そうではなくて。 僕が今までに「すごいなー」「かなわんなー」と思わされた人たちは皆、感情を(実際に持ってる持ってないは別として)理論的に道具として利用できる人たちだった。感情に動かされることなく、必要とあらば感情を利用して人を動かすことのできる人たち。

じゃあ自分もそうすればいいじゃん、って言われそうだし、過去に当時の上司に「Toy さんならそれくらいできるでしょ」って言われたこともあるけど・・・。

できないんだよなぁ。だってにんげんだもの

自分の感情、直感を無視して結果として成功するよりは、仮に失敗したとしても自分の感覚を大事にしたい。残念ながら私はそんな人間である。あと、感情を抑えて行動すると、あとで強烈な反動が来ることが多い。適当に昇華させることができない。困ったもんだ。 さらに困ったことには、私は非論理的な思考をことさら嫌う人間でもあるということ。なんなんでしょうね、本当に。

Ubuntu をバージョンアップしたら StepMania が動かなくなったときにすること

2020-08-15 追記

以下の記事はXubuntu 18.04のときに書いたものですが、Xubuntu 20.04でも同様のエラーが出るので、同様の対策をすればOKでした。

なお、あらたにlibmad0とlibjpeg62でも同様のエラーが出るようになっていますが、これらは標準のリポジトリに含まれているので、特に新しくリポジトリを追加する作業なく、apt installすればOKです。

症状

Ubuntu をバージョンアップしたあとで StepMania を起動したら・・・

stepmania: error while loading shared libraries: libva.so.1: cannot open shared object file: No such file or directory

こんなメッセージが出て動かなくなった場合の話。

原因

Ubuntu 18.04 では(私の環境は Xubuntu ですが多分同じ)、すでに libva1 が提供されていません。

$ sudo apt install libva<TAB>
libva2                    libvala-0.40-0            libvaladoc-data           libvalidate-yubikey-perl  libvamsas-client-java     libvanessa-logger-dev     libvanessa-socket-pipe    libvariantslib-ocaml      libvar-pairs-perl
libva-dev                 libvala-0.40-dev          libvalapanel0             libvalidation-class-perl  libvanessa-adt1           libvanessa-logger-sample  libvarconf-1.0-8v5        libvariantslib-ocaml-dev  libva-wayland2
libva-drm2                libvaladoc-0.40-0         libvalapanel-dev          libvamp-hostsdk3v5        libvanessa-adt-dev        libvanessa-socket2        libvarconf-dev            libvarnishapi1            libva-x11-2
libva-glx2                libvaladoc-0.40-dev       libvalidate-net-perl      libvamp-sdk2v5            libvanessa-logger0        libvanessa-socket-dev     libvariable-magic-perl    libvarnishapi-dev

対処法

提供されていたバージョンのリポジトリから libva1 をインストールすればいいのです。

$ sudo add-apt-repository "deb http://jp.archive.ubuntu.com/ubuntu/ xenial universe"
$ sudo apt update
$ sudo apt install libva1

これで動くようになっているはずです。

動作を確認したら、古いリポジトリは削除しておきましょう。

$ sudo add-apt-repository --remove "deb http://jp.archive.ubuntu.com/ubuntu/ xenial universe"

以上です。