@kyanny's blog

My thoughts, my life. Views/opinions are my own.

今週は不調だった。仕事は重たいタスクを複数抱えてスループットが低かった。英語もいまいち身が入らず、レッスン後メッセージ返信も、また数日分溜めてしまっている。余暇の時間も、みたくもなかった業界人事情報などを見てしまってイライラしたり。この週末は普段と違うイベントがあるので、忙しくなるけどリフレッシュしたい。

不調の原因にお腹の調子の悪さがある気がしてきた。記録してないけど先週あたりから便の回数は3、4回ときにそれ以上と多く、状態もいまいちでガスも多い。これはここ数回のエンタイビオで同じパターンなので、効果が薄れ出してきたということかもしれない。手の打ちようがないので、ただなるべく食生活への気配りを調子良いときよりも意識しながらやり過ごすしかない。

Bizmates Program: Level 3 Rank C Lesson 9: Drawing conclusions

ミスターヒップホップと。こんばんは!元気?「おう、聞いてくれてありがとな。お前は?」元気だよ、忙しい一週間だったけどようやく金曜日だね TGIF 「だな、でなんで金曜の夜だってのに家にいるんだ?パーティーとか行かないの?」はは、パーティーするほど友達いないし、あと真面目な話すると covid-19 の陽性者数がめっちゃ増えてきてるからね。とここで「俺には theory がある」と言い出して、fury と聞き間違えて(あ、その単語は知ってるぜ、映画もあったよねフューリー。怒りって意味だ。しかしこんなもったいつけた切り出し方をするなんて、一体何に怒っているっていうんだ?コロナ対策に一言物申したいとか?)ほうほう、とか聞く姿勢になったらチャットに書かれたのが theory で、(なんだ全然違うじゃーん)、というひとり恥ずかしい聞き間違いがあった。

theory の話。「そもそも theory とはなんだ?」苦し紛れになんか言ったけどうまく説明できず。「フィリピンの covid-19 感染者数は 5000/日 くらいだが、なぜ日本は万を超えるほど多くまで増えてて、なぜフィリピンは少ないんだとおもう?」「フィリピンは検査の数が少ないんだ。たとえば一日の検査数が 6000 で陽性が 5000 だとしよう。陽性率は 83% もあるが、陽性者数の絶対数は 5000 だ。一方日本は検査数もとても多い。六十万以上とか。だから絶対数に注目すれば二十三万人の陽性者数は大きな数だが、割合に注目すると 33% くらいだ。ではなぜフィリピンは検査数を減らしたのか?経済を優先するためだ。今回の日本政府と同じくフィリピン政府も緊急事態宣言とか何もアナウンスはしてない。けど陽性者「数」が多くなると人々は怖がって外出しなくなり、経済に悪影響が出る。そういうことだ」という、なかなか真面目な話を聞いた。

「で、週末の予定は?」日曜は日帰りで金沢へ行くんだ、ちょっと用事があってね、という話をしたり(詳細割愛)。「金沢って富山の近くだったよな、寒いんじゃないのか?」東京よりは寒いと思うけど、新潟や富山ほど雪は降らないんじゃなかったかな。とかとか色々話して半分くらいというか 15 分近く雑談だった。

Lesson 9 の「Act からだな」あ、えーと昨日 Try の二つ目までしかやってないので、三つ目のマーケットシェアのグラフから再開だと思う。「わかった。ところで drawing conclusion ってどういうことだ?」えーとそれはグラフや数字という事実に基づいてどういうアクションを起こすべきなのかの提案ということです。「オーケー、drawing conclusions ---> driving a point; making recommendation ってことだ。driving a point って何かわかるか?」うーんわからない、drive って自動車の運転って意味じゃないよね?「はは、いい guess だけど違うな。driving a point = proving something だ」(proving もわからなかったのでこっそり辞書を引く、「証明する」なるほど!)「では三つ目のグラフだ、マーケットシェア、うちの会社は三位だな、さて conclusion は?」えーとマーケットシェア拡大のためにシェアが大きい競合二社のお客さんに営業しに行ってシェアを奪うべき(steal とか言ったけど苦し紛れ、多分もっと別の言い方がある)、あーあと広告ですね、他社の広告を調査して、似せた広告を打つ。二社のシェアが高いのは宣伝の効果が出てるからだと仮定して、じゃあ宣伝手法を真似れば彼らのお客さんからも注目を得られるのでは。「なるほど面白いアイデアだな」という感じで、英語スピーキングとしてはあんまり言葉が出てこなくてメタメタ気味だったけど、咄嗟の思いつきにしては我ながら面白いアイデアを言えた。

Act では「例によって PDF を開け、そして何か一つグラフを選べ」直前の予習で二つ選んで大急ぎでざっと考えておいたのが功を奏した、英語・日本語・バイリンガル社員数の pie chart を選択(二つ目には Taro Sato's English Skills の radar chart を用意してた)。見ての通りバイリンガルが 15 人しかいない、海外進出でビジネスを成功させるにはバイリンガルを増やすべき。日本人に英語を教えるのを提案する。外国人が日本語を学ぶのは難しいし、日本語は日本の会社しか使わないので。「ありがとう、好奇心から聞くんだが、日本人が英語を・外国人が日本語を学ぶ上で難しいのはどんな部分だと思う?」まず文法構造が違うこと、次に日本語学習者にとっては文字が漢字を含めると一万以上あるのはきつい「日本人も全部は覚えてないんだろ?」当然!ひらがな・カタカナの見分けがつかないって話もよく見聞きした。あと、日本人にとって英語のリスニング・発音は難しい、特にアメリカ英語でリンキングとか多用されてるのは発音も聞き取りも大変。「日本語の難しさにはこんなエピソードがある。俺が前に日本人の友達に『日本語でとてもフォーマルな言い方で愛してるってなんていうの?』と聞いたら『私はあなたを愛しています』英語なら I love you で3語、スペイン語は te amo だ。短い。日本語は長すぎる!」ははは「あと日本語は『ありがとう』の言い方もカジュアルからフォーマルまで 15 種類くらいあるんだろ?」あーははは、いくつあるか知らないけど確かにそのくらいありそう。

という感じでおしゃべりしながらレッスン終了、「次は Lesson 10 レビューだ」割と大変なシリーズだったけどようやく終わった、いやレビューがあるからまだ終わってないが。次のシリーズは何だっけ、早く次へ進みたい気持ち。

Lesson 9 まで終わり、次は Lesson 10 から。明日はミスターサーヴェロで Assist Lesson という名の雑談を予約した。ツール終わったねという感想を改めて語り合う。最近は元気な彼とのおしゃべりがちょっと癒し。ミスターヒップホップも夜遅くに一枠あったが、お気に入りトレーナーのプロフィール見たりしてて少し時間が経ったらもう予約されてた。さすが人気トレーナー。

  • theory
  • theory = idea that explains something
  • drawing conclusions ---> driving a point; making recommendation
  • driving a point = proving something
  • only 15 employees are bilinguals

Slack のスレッドのスクリーンショットを半自動で撮影する

Slack のスレッドが嫌いな理由その 3: スレッドのスクリーンショットが撮りづらい。長いスレッドはそれだけで嫌なものだが、スクリーンショットの撮影は気が遠くなるほど面倒くさい。伝家の宝刀 Google Chrome デベロッパーツールの Capture full size screenshot / Capture node screenshot もうまくいかない。Slack をブラウザで開いても、full size screenshot はスレッドをスクロールせず、画面に表示されていない HTML ノードは DOM から消えるので node screenshot も効果なし。

そこで、スレッドを一画面ずつスクロールしながら順番にスクリーンショットを撮影するプログラムを開発した。macOS 用。

いくつかコツがある。

  • プログラム実行前に Slack のスレッドを開き、スレッド内のテキストエリアではない部分をクリックして activate しておく(フォーカスを当てておく)こと。でないとうまく画面スクロールできない。
  • Slack.app を画面いっぱいに表示しておくこと。画面全体のスクリーンショットを撮影するので Slack.app の面積が小さいと周辺の余計な部分も撮影されてしまって撮影後の画像が見づらくなる。

スクリーンショットの撮影には macOS にインストール済みの screencapture コマンドを使っている。Slack.app の操作(画面のスクロール)は osascript 経由で AppleScript でやっている。最後に撮影したスクリーンショットを縦に連結するのに convert コマンドを使っていて、これは ImageMagick をインストールする必要がある。

gist.github.com

AppleScript 版も作った。というかこちらを先に Script Editor.app で作り、シェルスクリプトで書き直した。

画像を縦に連結してるのは一覧性のため。複数の画像を一枚ずつ見るよりも、一枚のでかい画像をスクロールするほうがスレッド内の会話を追いやすい(はず)。

デモ動画では分かりやすさのために OK・Cancel ボタンをマウスでクリックしているが、キーボード操作でも可。RETURN で OK、ESC で Cancel 扱いになる。

一番下までスクロールし終わったことをプログラムで判定するのが面倒くさそうだったので、一枚撮影するごとに人間の判断を仰ぐ、という仕組みにした。なので半自動(semi-automatic)。

カッとなって作った系のあれだが、実際に使ってみると、連結画像は馬鹿馬鹿しいほど巨大でとてもみられたもんじゃない。境界線ドラッグでスレッドの表示領域(横幅)を広げておけば多少はマシになるかも。あと、Slack.app のヘッダ領域とか Thread という小見出しが連結した画像にいちいち含まれるので、スレッド部分だけ切り出したとしてもアプリ上で読むのと同じような体験にはならない。一定間隔で同じパターンのノイズが現れる様は広告っぽい。

スレッド内のテキストを全部コピペするほうが(ゴミが混ざるが)速いし検索もできて便利だと思う。コピペは改ざんしてないことの証明が難しそうなので、証拠保全とか「言った言わない」で揉めたときの保険として使う場合はこのスクリプトも役に立つかもしれない。

お気に入りポイントは、毎回ダイアログのボタンを押してあげないといけないところで、よくある「人間が機械に合わせてあげないといけない」シュールさが気に入っている。しかもわざわざそれを自作したわけで、単純作業が嫌で効率化したかったはずなのにもっと単純な作業をするはめになって一体おれは何をしているんだろう、と哲学的な気持ちになれる。

Bizmates Program: Level 3 Rank C Lesson 9: Drawing conclusions

上品なカメルーン人と。昨日は外食に出かけたら店が混んでて(ってほど客多くもなかったが元々食事が出てくるのが遅い店)時間までに帰れるか微妙だったので 30 分切ってたけどキャンセルし、翌日の同じ時間に同じ人が予約できたので実質一日ずれた感じ。

冒頭で昨日のキャンセルを謝って、「何が君をそんなに忙しくさせるんだい?」仕事が多いのといくつか難しい仕事を抱えてて云々とひとしきり愚痴を聞いてもらってしまった。愚痴なので細かくは書かない。今日は仕事でもうまくいかないことやわからなくてイライラすることが多かったし、仕事以外でもあまりみたくない「けまらしい」情報を見てしまったりとかで低調だった。

Lesson 8 の Act から。ここは予習でストーリーを考えてあったのでそれを読むだけ。しかし PDF をブラウザの別ウィンドウで開いてると MyStage が一切見えないので相手の表情がわからない。ここも Skype に劣る部分がまた。それでも MyStage を使うけど。野球チームの成績の推移のグラフを選び、「最初のシーズンはベテラン選手が引退したのでボロ負けだった、次のシーズンで監督(supervisor of baseball team ってなんていうの?「コーチ」なるほど、というやりとりがあった)を交代して、まだ弱かったが少し良くなった。次のシーズンはハイライトで、勝利数もホームラン数も最高だった。次のシーズンは有力選手がライバルチームのオファーを受けて移籍したので調子を落とした。最後のシーズンは盛り返した、これはシーズン 2 で交代した新監督が大卒の freshmen をじっくり訓練して良い選手に育ってきたおかげ。というストーリーを話したら「素晴らしい、今までこんなふうに説明する人はいなかった」とべた褒めされた。チャットには refinement として「short and concise」な言い換えフレーズがたくさん書かれていた。

Lesson 9 に移ってサクサク進み、Try も number of hires と sales & costs の両方について結論を述べるのをやって、「次回は Act から」と言われたが今回も三つ目のグラフをやっていないがいいのか?まあ次のレッスンの時自己申告すればいいか。

Lesson 9 の Try の sales & costs まで終わり、次は market share から。明日はミスターヒップホップを予約した。

  • I have had a pretty tight schedule lately.
  • I asked for his input on responding to queries from customers. However, he gave me a good chunk of information and data to process, which added to the load of work I already had on my hand.
  • Lesson 8: Telling it like a story // ACT PART
  • As you can see, season 1 was a complete sham
  • Coach
  • We had six wins and four losses. pronounced as [ laws-is ]
  • we had a cohort of inexperienced freshmen from college
  • Lesson 9: Drawing conclusions
  • Chart 1 (Number of new hires): What we need to do now is to reconsider our method of recruiting. I strongly urge you to clarify the requirements for applicants so that we can attract the right type of applicants.
  • Chart 2 (sales vs Costs 2009-2011): We must focus our attention on controlling costs. My suggestion is to review your expenses and find areas that can be reduced.
  • proceed with the ACT PART.

このウェブサイトがすごい 2022: 鳶嶋とびしま工房こうぼう(Tobishima-Factory)のAppleScript用語説明(Dictionary)

鳶嶋工房 / AppleScript / Dictionary(リファレンス)

何がすごいって、その奇抜なレイアウト。

縦に細長いレイアウトで、スクリプト制作時に並べて邪魔にならないようにしています。スクリプトの学習や制作に活用下さい。

初見では何言ってるのか意味がわからなかったが、Script Editor.app を並べてみて理解した。確かに便利。

このウェブサイトを作った人は、実際に自分で AppleScript を書くときに自分のウェブサイトをリファレンスとして使っていて、「邪魔にならない絶妙なサイズ」がこれだったのだろう。ある意味、ホームページの理想の形の一つだと思う。