低温調理器を買ってみた

家電Watchの記事を読んだんですよ。

料理好きのテンションが上がる! 本当に美味しく仕上がる、魔法のような「真空低温調理器」にベタ惚れ!(家電watch)

で、触発されてしまいまして。だって美味しそうなんだもの。

でも、高い!

5万円超えだよ。それにそんなにローストビーフなんて作んねぇよ。肉じゃがの方が好きだよ。でも買った! なぜなら面白そうだから。

我が家にはこういう動機で買ったいろんなものが場所取ってて困ってるんですけど (ヌードルメーカー、使ってないな・・・)、しょうがないよね。うん。

というわけで、さっそく届いた低温調理器。開封して、ひとしきり眺めた後、肉を買いにちょっと離れた大きなスーパーまで。牛肩ロース塊。でかい。1600円。うち何人家族だよ。でも買った! なぜならこれぐらいでかくないと面白くないから。

こういう方針で生きてると、いろいろ良くないこともあるんですよ。知ってます。しょうがないよね。うん。

帰宅後、おもむろに肉に塩とこしょうをすり込み、付属のシーラーで真空パックにし(なぜかこれだけで旨そうに見える。お土産物感が出たw)、いざ調理開始・・・しようと思ったら、うちには適合する鍋がなかった。

記事を見てもらえばわかるんですけど、このでっかい水筒みたいなアルミの部分を鍋に差し込んで、下1cmは余裕がなくちゃダメなんですね。取説には20cm必要って書いてあるんですけど、なんとなくうちにあるフィスラーの圧力鍋なら大丈夫かなーと思ってたんです。ダメでした。寸胴がないとダメと思ってもらっていいです。しかし、肉はもうパックしちゃったし、気持ち的に我慢できないし。しゃーない、もう一度大きなスーパーに自転車を走らすぞ。暑いぞ。ちくしょー。

しかし、寸胴ってそんな売ってないのね。今時の4人家族ぐらいの家庭でそんなの必要ないもんね。うーん・・・米びつとか、麦茶入れるみたいなポットとかならあるけど、大きさやら耐熱やらに疑問が・・・。あ、これはいけそう・・・うーん、高いぞ。でも買った!

現品限りで安くはなっていたけどやっぱり高いパスタ鍋(・・・てこれ、よく見たらヘンケルスじゃん。そら高いわ)を5000円でご購入する私。ローストビーフを食べるためになんだかすごく散在しているけど大丈夫なのか。恵比寿のロウリーズまで食べに行った方がだいぶ安いんじゃないのか。まあ、いいか。面白そうだし。

疑問を振り払いながら5000円の鍋を担いで帰宅。本体と鍋を合体し、水を注いでスイッチオン。細身の鍋ということもあってみるみる水温があがります。ローストビーフだと58℃に設定するんですが、ものの10分もかからずに適温へ。良い鍋だけあって(?)、鍋は熱々だけど取っ手は熱くならなくて偉いぞ。

温度が設定温度になったらアラームが鳴るので、肉をぼちゃっと漬けて50分。引き上げてフライパンで焼き目をつけて、ちょっと休ませ・・・た方が本当はいいんですけど、お腹がすいたからすぐに切っちゃう。どばーっとあふれる肉汁。断面は美しいピンク色。こ、これは旨いに決まってるでしょう。赤ワインが必要でしょう。セコイア開けちゃえ・・・やばいぞ。一体このローストビーフはいくらになっているんだ。まあいいか。面白かったし!

というわけで驚異の散在マシーンは散財欲と食欲とガジェット欲と知的好奇心を満たし、それと引き換えに財布から諭吉を何人も拉致していったわけですが、ちょっとしか後悔していないよ。まあ、とにかく美味しかったです。

他には何が作れるのか良くわからないんですけど、とりあえず新たに買った鍋の本来の用途はパスタをゆでることなので、今度はパスタを作ろうと思います(笑)。同じ失敗をする方が多いのか、Amazonには鍋とセット販売があるので、リンクはそれを張っときますね。

| | Comments (0) | TrackBack (0)
|

ワイルドなワイルドカード処理

週末、仕事上の知人と酒を飲みました。プログラマの鉄板ネタとして「最近見たヒドいコード」という話題がありますが、そういえばとそこで話したネタをここにも書いておきます。

よくある社内業務のWebアプリを思い浮かべてください。自分が処理する事案を検索するために、例えば案件番号を入力できるとしましょう。そして、案件番号にはワイルドカードが使えるとします。例えば、「ABC*」と入力すると「ABCA90」と「ABCD70」が表示されるけど、「ABEF30」は表示されないとか、そういう奴です。よくありますよね。

で、この画面がすごく遅い。別段他に難しい処理をしているわけではなく、ワイルドカードを指定すると遅い。ちゃんとワイルドカード処理をすると結構大変なので、前方一致だけ(つまり、案件番号の先頭が何かということしかワイルドカードで指定できない)でいいよという話だったんですが、もしかしていろいろとやっちゃってるんでしょうか。

担当者に聞いてみると、「いや、タンバリンさん、いろいろとか無理です。前方一致で精一杯」という回答。えー?

前方一致の処理は単純です。入力された文字列をS1、比較対象の文字列をS2とすると

  1. S1の末端から「*」を取り除く
  2. S1の1文字目とS2の1文字目を比較する
  3. S2の2文字目とS3の2文字目を比較する。これをS1の最後の文字まで繰り返す

JavaだとstartsWith()というようなメソッドがありますから、1文字ずつ比較する必要すらないです。んー、何がそんなに難しいのか。

というわけで、コードの中を見てびっくり。こんな処理になっていました。

  1. 文字列の集合SGを用意する
  2. SGに「*」を加える
  3. S2の1文字目と「*」を連結してできた文字列をSGに加える
  4. S2の1文字目と2文字目と「*」を連結してできた文字列をSGに加える。これをS2の最後の文字まで繰り返す
  5. S1がSGに含まれるかチェックする

斬新です。そしてワイルドです。そして確かに前方一致だけじゃなかったらすごく難しそう。「『ABCDE』にマッチするワイルドカードの集合」を取得する・・・?えーっと、そもそも、その集合って有限かな。「*」が連続してはいけないというルールがあれば、有限になるか。うーん・・・

驚きに満ちた職場からお伝えしました。現場からは以上です。

| | Comments (0) | TrackBack (0)
|

表現を圧しようとするものを、私は許さない

また、大変に残念な動きが出ております。

ヤフーの若いエンジニアが、ジェンダーについてセンシティブな話題を扱いそこねたとして怒られています。

「女性エンジニア少ない問題」を解決するために、機械学習で男性エンジニアを女性に変換する

まず、断言しておきますが、彼の講演にはまったく問題になるところはありません。単に、周囲の読解力に問題があるだけです。その詳細についてはtwitterに連投しちゃったのでここでは割愛します。気になるなら下の発言以降のツイートを見てくんさい。

ここで言っておきたいのは、twitterなどの公の場で、こういう発言をしてはいけないという2つの点についてです。彼の講演自体ではなく、彼についての批判で目に余るものがあったためです。

まず、1つ目。常識的なことを言いますよ。

あなたが、あるいは誰かが不快になるからという理由だけで、誰かを罰しようとしてはいけません。

不快な発言と問題ある発言は違います。多くの問題のある発言は不快でもあるので、ごっちゃにしてしまううっかりな人が多いようです。また、企業や政治家が「誰かを不快にしたり、傷つけてしまったのなら謝罪したい」ということをいうので、不快にしたり感情的に傷つけたりすることが罪であるような捉え方をしているおっちょこちょいな人もいるようです。

しかし、ある特定の個人・団体・集団に対する侮辱や、差別的な発言のような明らかな問題のある発言と、下品で不愉快な言動は区別されるべきです。どちらを批判することも、不快感を表明することも、それはもちろんかまいません。

しかし、発言を封じようとしたり、刑事的や社会的な罰を与えようとしたり、発言者の正当な権利を侵害しようとしたり、それを希望するようなことを言ってはいけません。それでは、その発言の方が問題のある発言です。それは言論の自由や、思想・信条の自由という基本的人権を奪うことだからです。

今回の例で言えば、彼から今後の講演の機会を奪おうとしたり、彼を失職させようとするような発言は、断固として許されるべきではありません。そのような発言をしたものは、深く反省して欲しいと思います。もちろん、「そんな奴はtwitterを止めろ」なんていいませんけどね。

2つ目。小学生に言うようなことを言いますよ。

誰かの言動のちょっとした齟齬や不整合をあげつらったり、悪意や思い込みを持って意図を曲げて批判したりしてはいけません。

要するに、よく知りもしない他人の言動なんだから思いっきり「良く解釈して」あげるべきです。あげ足を取ったり、推測で批判したり、議論の中心ではないことで全体を評価したりしてはいけません。

今回のことで言えば、例えば「女性エンジニアは男性エンジニアのやる気を出すためにいるんじゃねーよ」という批判ですが、彼はそんなこと言ってません。「いや、こういう論旨の組み立てなんだからそういうことになるだろう」と言われるかもしれませんが、それはあなたの読解力の問題、あるいはユーモアというものの仕組みを理解していない故の誤解です。

そもそも、言ってもないことを批判してはいけません。彼は、「女性エンジニアがいると、男性エンジニアはやる気が出る」と言っているだけです。男性エンジニア全員かと言われればそうではないでしょうが、少なくとも男性エンジニアである彼のやる気はでるのでしょう(ちなみに私もでます)から、この文章は事実です(もちろん、一人の判例をもって逆の文を事実と認めることもできます。論理的に不完全な文だからしょうがない)。「女性エンジニアがいないと、やる気がでない」とも言っていますが、これは「女性エンジニアがいないと、(いる場合に比べて)やる気がでない」と言っているとすれば、これは最初の事実から論理的に導かれることに過ぎません。

これを「女性エンジニアがいないと、やる気が出ない(から、女性エンジニアは男性エンジニアのやる気を出すように振る舞うべきだ)」とか、「女性エンジニアがいないと、やる気がでない(から、女性エンジニアはその目的のために必要だ)」とか解釈するのは、無理のある推論とまでは言いませんが、あくまで推論です。仮にそう思ったとしても、「まあ、彼のことをよく知っているわけでもないし、そういう意図じゃなかったかもしれないし」と思うのが正しい大人です。彼自身や、周囲の同僚が「そういう風に解釈する人もいるかもしれないよ」と言ってあげるのは良いことですが、そうじゃない人がこの点について批判するのは不適当です。それは完全にマナー違反です。

ただし、個人的な解釈によって不快に感じた人が不快感をフィードバックすることは良いことだと思います。「そういう言い方をされると、ちっとイラっとするな」というリアクションはアリです。ただし、それだってこの彼をできるだけ傷つけないように行われるべきです。だって、そうでしょう。彼によって傷つけられた人が、なぜ彼を傷つけるようなリアクションを返すのか。「講演の記事を読みました。難しくてちゃんとは理解できなかったのですが、そんなことができるのかと感銘を受けました。ただ、・・・」と礼儀正しく伝えるべきです。礼を失してると感じられた、プライドを傷つけられたと思った人が、相手に対して礼を失したアクションをとったら台無しです。これもごっちゃにする人がいるのですが、感想であっても感情のままにぶつけてはいけないのです。「個人の感想」と「感情的な反応」は別です。

まとめます。まず、問題のある発言(事実でない・特定の個人を侮辱している・差別的な内容を含む)ではないものを断罪してはいけません。批評・批判することはかまいません。ただし、発言した内容ではないこと、例えば拡大解釈や推論を論拠に批評・批判してはいけません。そして、いかなる場合にも個人の感想を表明することは自由ですが、相手に伝えるのであればマナーを守るべきだし、twitterのような公共の場では、それは相手に伝わるのだという前提に立つべきです。

最後に。なぜこんなことを書いているかと言えば、表現者の抱える負担を下げることが、結果的に社会を良くすると思っているからです。このように脇が甘いだけで本質的に一切の問題がない表現が世の中にでないようにすることを私は望みません。誰しもが発信できる時代だからこそ、我々は発信においては慎重でなくてはならないし、受け取るときには寛容でなくてはなりません。発信できる情報を持っている人は、どんどん発信しましょう。それがIT革命の素晴らしい点です。その際に、いささかのユーモアを含ませることは、とても素晴らしいことです。ユーモアは本質的に他者を傷つける表現と無縁ではあり得ませんが、それを上手に送ったり受け取ったりできてこその大人です。

そして、このように問題のない表現の細かな点をつついて萎縮させることにより、そもそも批評や批判を相手にしないような厚顔の輩の発言だけが世の中に出回り、世にフェイクニュースが蔓延り、世の中が少しずつ悪くなっていく。そのような動きを私は望みません。この世が自由と寛容と礼節の行き届いた良い世界になっていくことを望みます。長寿と繁栄を。

| | Comments (0) | TrackBack (0)
|

Oculus Go

アーリーアダプター層には一通り行き渡った感があるOculus Go。私も買いました。

本家サイトしか買えない状態で「なんだよー、Amazonから買わせてくれよー」って思いましたが、英語で(というか、ローマ字で)住所を入れなきゃいけない以外はとても簡単。支払いもPayPalが使えるので、クレジットカード情報とか入れる必要ありません。オーダーして1週間もかからずに届いて、こりゃ素晴らしい。さすがっすね。

Oculus Goはざっくり言えば、VR用ヘッドセットにスマホを内蔵したものです。今までのVRヘッドセットは、プレイステーション4やパソコンに接続して、それらの機器で作った映像を観る機械でした。Oculus Goでは映像を作る機械もヘッドセットに入れてしまったので、ヘッドセットにケーブルを全く挿さなくても映像が見られます。素晴らしい。

で、何ができるのかですが、各レビューサイトを見てもらえば分かる通り、一番の売りが「寝っ転がってNetflixが見られる」なので、あんまり大したことはできません。うん。

とは言うものの、それ以前のVRヘッドセットは使うまでの準備があまりにも大変でした。PSVRも持ってますけど、流石にNetflixを観るためにPSVRを使おうとは思いません。言ってみれば、テレビに繋ぎっぱなしのゲーム機と、押し入れにしまい込まれているゲーム機ぐらいの差があります。これだとスポっとかぶるだけなので、毎日でも使うかも・・・。いや、常時スキューバダイビングするときのゴーグルつけるぐらいの違和感はあるので、暑くなってきたら辛いかもだけども。

なんだよ、そんなのNetflix観るだけならテレビでもパソコンでもスマホでもなんだっていいだろって思いますよね。違うんすよ。ソファーにリクライニングした状態で見られるんですよ。プラネタリウムを見に行ったと考えてください。あれって天井のドームに映像を写すのでおもいっきりリクライニングした状態で映像を観るじゃないですか。あの姿勢で映画見られるんですよ。これね、家でやろうと思ったらけっこう大変ですよ。当たり前だけど、テレビは水平位置にしか置かないから。

さて、ただのヘッドマウントディスプレイ(HMD)としてかなり使い勝手のいいOculus Goですが、せっかくなのでVRもちょっとだけ試してみました。ゲームはPSVRでやるからいいとして、OculusっぽいのはFacebook 360です。Facebookに上げられたVR動画や360°写真を見られるもので、海外のニュースサイトなどはかなり360°カメラを持っていっているみたいで、いろいろとあります。その中にF1の公式が上げている動画があって、今どきはF1マシンのノーズの上に360°カメラを載せていることがあるみたいです。

これはかなり楽しくて、前を見ていると視界いっぱいに広がるオンボード映像で、それはそれでかなり楽しいんですけど、後ろを振り向くとドライバーのヘルメット(と、その上にHALO)が見えます。おおぅ、これはセンセーショナル。クラッシュした瞬間なんかだと、どこにどうあたったのかが、はっきりとわかります。当のドライバーより。スペインのグロージャンと、モナコのルクレールのクラッシュが上がってます。F1ファンはこれを観るために2万円ちょい払ってOculus Goを買うのは、アリです。まあ、グロージャンのスピンは周りがタイヤスモークでまっちろなのでなんもわからんのですが、むしろわからないからすごーく怖いです(笑)。あと、VRは関係ないですけど、おんなじようにF1が提供している動画として、リアルタイムでドライバーズパレードのトレーラー上でのインタビューとか出てました。なんだよ、こんなところで見られるのか。英語わかんないけど。

他にも結構いろんなものがありますが、「その場にいる感じ」とか「決定的瞬間をいろんな角度から」みたいなのは総じて楽しいです。飛行機のアクロバット飛行とかずーっと見ちゃう感じです。逆にストーリーがあるものは難しいわけで、スターウォーズの外伝映画「ソロ」のプロモーションVR動画があって、それはランド・カルリシアンとハン・ソロがサバック(でいいんだっけ?要するに賭け事の一種です)をやっているシーンで、テーブルの真ん中にカメラがあるので、前を向くとランド、振り向くとハン・ソロが座っていて、私ごしに会話していると。落ち着かんわ(笑)。

あとは、VRチャットが評判いいみたいですが、これは友達がいないとできないので試してません。でも、VRチャットはちょっち怖いっすな。

いや、どういう意味かって言うとですね、当然、試してみるわけじゃないですか。アレですよ、アレ。dmmの肌色が多いやつっすよ。で、もうなんつーか、すっごい近いのですっごいんですけど、むしろ思いっきり近づかれると生理的な拒否反応があるんですよ。要するに気持ち悪いの。おっぱいが近づいてくる分には最高なんですけど、顔が近づいてくるのはちょっと嫌。で、ですね。女優さんだとある意味完全に「エロい対象」として精神性を切り離していられるんで逆に平気なんですけど、これ、かなり抽象化したアバターだったとしても、中の人がいると感じられたらやばいですよ。バーチャル空間で物理的に接近されたら、心理的な動揺はかなりあると思います。でも、そこの意識の差ってたぶん共通認識ができるまではかなりバラバラだから、トラブルになるでしょうね。

ネット上の人間関係ってそれでなくても結構難しいものですけど、VRチャットはそれをまた大きく違う次元に持っていく感じがしますな。リアルの肉体的距離感から心理的距離感のフィードバックされる感情の整合性の問題であるとか、リアルのノンバーバル・コミュニケーションの文法のうち、VR空間で可能なものと不可能なものの選別があるために、それがリアルの文法へも影響してしまう問題(例えば、頷くとか首をかしげるとか、VR空間で意識的にさせるモーションをリアルでも自分の肉体に意識的にさせ始めることによる仕草とその文法の変化とか)であるとか、新しいいろんなことがありえる気がします。

で、Oculus Goだと、まあVRチャットのためだけにでも買えないこともない値段で、おそらくは気の合った仲間でVR空間で遊ぶのはかなり面白いでしょうから(ワールドカップの試合を一緒にみるだけで相当面白いと思います)、いろんな出来事が起きるんじゃないでしょうかね。ま、でも試してみないわけにはいかない気がするので、周りで誰か他に買ったらちょっと試させてもらうと思ってます。問題は私のFacebookがほぼ死にアカウントだってことなんだけども(笑)

| | Comments (0) | TrackBack (0)
|

飛行機の中で映画を観る

2月の後半は福岡に出張していました。

福岡となると、さすがに飛行機での移動となります。自宅から羽田空港は混雑しまくりの電車に揺られての1時間。苦痛です。一方、福岡は地下鉄で10分で天神まで出られて、あとはバスでどこにでもGo。最高です。通勤ラッシュはないし、食い物は旨いし、球場は近いし、最高だな、福岡。

で、土日は家に帰っていたので、足かけ3週間。3往復したわけですが、今回、機上では映画を観ることにしました。

飛行機の中こそ、去年、広告のお姉さんが可愛いからという理由で買った赤いSonyのノイズキャンセルヘッドホンの出番。で、どうせずっとヘッドホンをしているのなら、動画を観ていればいいかなーと。普段、録画消化を優先してなかなか観られない見逃してた映画なんかを観る時間にしようと思ったわけ。Amazon PrimeとNetflixはどちらもダウンロードが可能なので、iPadにダウンロードしました。ちなみにiPhoneはヘッドホンジャックがないのでこの用途には使えないです。iPadぐらいのサイズがあれば、機内で観るには十分過ぎる大きさでした。ずっと手で持っているのが辛いぐらい。

こんなもの観ました。

  • 「グランプリ・ドライバー」(マクラーレン・ホンダのドキュメンタリー)
  • 「ゴースト・イン・ザ・シェル」(実写)
  • 「イミテーション・ゲーム」
  • 「帰ってきたヒトラー」
  • 「バイプレイヤーズ」
  • 「攻殻機動隊 arise」
  • 「GODZILLA 怪獣惑星」

マクラーレンのドキュメンタリについては、感想を書きました。

「ゴースト・イン・ザ・シェル」については、押井さんや神山さんの「攻殻」についてのリスペクトはあるんだな・・・というか、あのアニメのシーンをやりたいんだなってのはわかるんですが、それ以外に出てくるセットやガジェットがあまりにかっこ悪く、そして、テーマは原作の思索のはーるか下のレベルに留まっていて、こりゃだめだ感が凄い。褒めるところがない。あ、ビートたけしのしゃべりが批判されてましたけど、普通に聞き取れましたよ?少なくとも吹き替え版では。

「イミテーション・ゲーム」は、面白かった。カンバーバッチはハマってはいるんだけど、「シャーロック」や「スタートレック」で見せた役とあんまり変わらない印象です。IT業界にいるものとして、もちろんアラン・チューリングの名前は、「チューリング完全」や「チューリング・テスト」などの言葉とともによく耳にするので、ぜひとも観ておきたかった映画で、観てよかったと感じました。

「帰ってきたヒトラー」は、これはなかなか難しい作品。「ヒトラーが現代に飛ばされてきて、『過激なコメディアン』としてドイツ人にウケたり、ウケなかったりする」というネタなんですが、おそらくこの映画を撮っている様子をそのまま劇中に使ってるんですよね。なので、すごくメタな作品だし、ドキュメンタリーっぽくもある。例えば、「ヒトラーが現代のナチ党を受け継ぐと評している政治組織を訪問して、お前らはなっとらんと叱咤する」というシーンがあるんですが、たぶん出演しているのは本物なんですよ。で、ヒットラーの格好した役者に「なっとらん」とか怒られるんですが、まあ、向こうも苦笑するしかないですよね(笑)。で、基本的にはギャグなんだけど、ものすごく深いところを慎重に突っついてます。これ、ドイツ人にしかわからんだろうなというネタもすごく多いんだろうと思うんですが、観て損はないです。

「バイプレイヤーズ」は大杉漣さんを偲んで。1話みたらそうとう面白かったので、Milueと一緒に観たいと思います。

「バイプレイヤーズ」の1話のあと、「攻殻arise」を1話観ました。面白いけど、難しい(笑)。以前、一度観ているんですが、レベル上げしながらみたら全然わからなかったのでもう一度観ました。これも機会を作って最後までみたいです。

虚淵玄つながりで、「怪獣惑星」も観ました。こっちはなんか普通にSF。エクソダスなSF設定がすごく面白くて、アクションもすごくて、満足。しかし、最初から最後まで状況が絶望的過ぎて、逆に登場人物たちに共感できない。こんな状況で「ゴジラやっつけよう」とか思うかな?

というわけで、飛行機もたまに乗ると良いものだし、数年前だったらけっこうめんどくさかった機内での映画鑑賞もすごく楽になったことが実感できて、有意義でした。

| | Comments (0) | TrackBack (0)
|

良いコードとは何かを伝える

ずっとインフラ系のSEとして活動してきたので、システム開発プロジェクトでコードを書く用になったのは、ここ5年ぐらいのことです。私がやるからには、テストを書かないなんてあり得ません。というか、別に私がどうのこうのというような話じゃなくて、テストは書くよね、普通。

とはいうものの、「プログラム開発経験あり」という触れ込みの開発者をパートナーから集めても、実際にテストを書いたことがあるという人は極々、まれ。となると、教えねばなりません。教える方法としては、コードレビューしかありません。もちろん、ガイドとかそういうものも書くんですけど、しょせんはあるモデルケースに過ぎません。実際のところは書いてきたコードを、「こういう時はこうするのだ」と添削して返さないと本当の意味では伝わりません。

いやね、じゃあ私はそういう教育を受けたのかっていうと、そうじゃないんだけども。単に好きだから雑誌やら書籍やらWebサイトやらで得た知識が、渾然一体となったものなわけで。でも、それをみんなに求めるわけにはいかんからね。

で、そんな活動を今のプロジェクトで半年ぐらいにわたって続けてきたわけです。「一度はタンバリンにコードを突き返された奴しかコミット権限をやらないからな」と言って(笑)。その結果、年末の評価で言われたのが、「レビューを明確な基準がなく、主観的にやっている」という指摘です。ちゃんと基準を明確にして仕事せいと。お前の好き・嫌いで決めてるんちゃうんかと。

わからんでもないけども、どうにも納得がいかん。コードレビューと聞くと、あたかも私が合否の判定をしてるみたいに受け取られているみたいなんですが、目的は教育なんですよ。実際にやってみてもらって、そして、自分もやってみせて、ほら違うでしょ。こっちがいいでしょ、とやらないと伝わらないからやっているだけで。そーゆーことじゃねーんだよなー、理解されてねーなー・・・と上司からの評価を得られずにふてくされる日々。

そんなとき、ajitofmというポットキャストの第17回を聞いていて、ほぼ日でやっていた濱口秀司さんの対談について触れられているのを聞いて、腑に落ちました。

この対談、私も読んでいたんですけど、中で出てくる図が本当に秀逸なんです。

どういう図なのかは、是非対談を読んで欲しいんですが、教育ではこの4象限のそれぞれを全て伝えなければならないと。で、どのプロジェクトでもTODOリストやチェックリストなどの「文書化できるWHAT」と実装ガイドや操作手順書のような「文書化できるHOW」については準備するし、作って展開することについて一生懸命考えるんだけど、スキルとカルチャーについてはもの凄く手薄か、あるいはまったく考えてないことが非常に多いのです。

その理由の大きい部分は、プロジェクトメンバーが基本的には一期一会で、時間のかかる教育はコストパフォーマンスが悪いということがあるんですが、それでも半年とか、1年とかの期間があるのならば上の図の右半分をどうメンバーに伝えていくかを考えなくちゃいけない。そして、それをやる方法の1つがコードレビューだということです。

システム開発の現場におけるスキルやカルチャーの重要性は、わかっている人はすごくわかっているんですが、取り上げられることがあまりないトピックではあります。わかっている人はわかっているので、例えばアジャイル開発宣言では「自己組織的なチーム」という言葉でそれを取り上げてますし、スクラムマスターはチームのカルチャーを醸成することに非常に腐心することになります。

となると、「コードレビューを明確な基準の下で行え」という指摘は、私のやろうとしていることとまったく相容れないことだってことです。だって、明確に文書化できないものを伝えることが目的なんだもん。やっていることは「良いコードとは何か」ということを、「私の価値基準」で伝えていることだからです。そりゃどんなコードが良いコードかってことを文書で書くことはできる(出来るから、その文書を通じて私が学べたわけだし)けれども、やったところでそれはもうあるし。要するに「リーダブルコード」ぐらい読んでからプロを名乗れよってことなんですけどね。

例えば、ある条件A(cond_a)とB(cond_b)があって、その組み合わせによって違う処理をするというコードを、チームメンバーがこう書いてきたりするわけです。

if(cond_a) {
    if(cond_b) {
        // AかつBのときの処理
    }else{
        //AだけどBじゃないときの処理
    }
} else if(cond_b) {
    // AじゃないけどBのときの処理
} else {
    // AでもBでもないときの処理
}

コードを書き慣れている人なら、気持ち悪いですよね。

if(cond_a) {
    if(cond_b) {
        // AかつBのときの処理
    }else{
        //AだけどBじゃないときの処理
    }
} else {
     if(cond_b) {
         // AじゃないけどBのときの処理
    } else {
        // AでもBでもないときの処理
    }
}

こうなっていて欲しい。ただ、条件Aや条件Bの性質によっては上のコードが自然な場合もなくはない。たぶん。これを「同じ条件はおなじインデントの位置で調べろ」とかいうルールにすることはおそらく間違っていて、もっとメタな視点からの指摘じゃないとダメなわけです。しかしまあ、上みたいなコードを書いてくる人に読みやすいコードを書くように指導することは、正直、どうやったらいいのかわからないんですけどね。読みづらいって思ってないかもしれないし。となると、「良いコード」を浴びせまくるしかないのかなと思うわけで、レビューしかないぞと。

どうやって、プログラマのスキルやカルチャーを育成するかはホント難しい話なんですが、これがないとどうにもならんので、評価はされないけどこういう活動を続けていくしかないと信じてます。

でも、評価されてないと続けらんないんだけどね。うむー。

| | Comments (0) | TrackBack (0)
|

最近はいろいろと高い・・・という感覚

30歳手前ぐらいの若手から中堅に入りかけたぐらいの男の同僚と40もとうに過ぎた私で昼飯を食いに行って飯を食っている途中に「最近、いろいろと高いですよね、食い物とか」と言われまして。

物価の変動ってふと足を止めて考えてみないとよくわからないものだし、地方によっても差があります。しかし、およそ外食費を考えるとまったく高くなっている印象はありません。だいたい、ここ20年ぐらい、外でランチをとれば700円から1000円弱。確かに今の職場は高めについてると思いますが、東京日本橋界隈を標準と取って良いとも思えません。

安くですませようと思えばコンビニのお弁当やファーストフードもあります。コンビニ弁当なんてどんどん安くなって、どんどん美味しくなってるし、むかしはランチの後、喫茶店でコーヒーを飲んで300円とか400円とか払ってましたが、それより旨いコーヒーがコンビニで買えてしまう世の中です。

おそらく、ウチの会社の現地の本拠地がある場所だと、米国本社はもちろん、欧州のどの国でもたぶん外で1000円を下回る額でランチは取れないと思います。上海はご飯は安かったけど、猛烈にコーヒーが高かったしね。

という感覚なので、「えー?そうかなあ」というと、「絶対そうっすよ。マックとかめっちゃ高くなったじゃないですか。吉牛とかも」と。

いやいやいや、やっすいじゃん、マクドナルド。オレら子供のころは、お昼にマクドナルドで食べるって言ったら大喜びだったよ。ビックマック、普通に今より高かったし。吉野家も、「キン肉マン」見てどんな食い物なんだろうと夢膨らませてたころ、普通に400円ぐらいする食い物だったからなあ・・・。「いや、タンバさん、オレら学生の頃、ハンバーガーとか60円すよ。だから食ってたんすよ」

そうか、それがマクドナルドのイメージになっちゃってるのか・・・吉牛も300円以下のイメージがついちゃっているのね。価格を下げるって怖い。そして、やはり価格の基準の持ち方が年齢が10年違うと大きく違っていて、今の30歳ぐらいは日本の物価が最も下がりきった頃にお金を使い始めた世代なので、今のこの状態でも「物価は高くなって、生活は苦しくなった」と思ってしまうものなんですな。

同じように日本を生きてるつもりでも、意外と見えてる世界って違うもんなんですねぇ。

| | Comments (0) | TrackBack (0)
|

eRemote

相変わらずAmazon Echoでリビングの照明を付けるのに四苦八苦しています(笑)

で、リビングの照明を全部Hueに変えて(高かった)、他に何をさせようかと思っても、ナニモできず。とりあえず、Fire TVの対応待ちなんですよねぇ・・・。Googleさん方面はChromecastに繋がるらしいですよー(チラッ)。まあ、いいですけど。

で、飽きてきたので、今度はeRemoteというものを買ってみました。これはスマホで制御する学習型リモコン。この学習型リモコンというものも私は昔から好きです。

で、今回のポイントはこれをAmazon Echoから制御するってこと。ところが、今は制限があって、Echoで制御でからいうのは、照明のみ、らしい。

もっとも、学習型リモコンですからどんな機器のリモコンだって覚えられます。要は、「ON/OFF/UP/DOWNの4つのコマンドセットのみのテンプレート」だけを制御できるってことです。なので、電源のON/OFF程度の制御でよければ何でもかんでも「照明」として定義してしまえばいいということ。

で、テレビをつける・消す、エアコンをつける・消すはできるようになりました。夜寝るときに照明も含めて一気に消せるので便利・・・さて、あとこの部屋にリモコンで制御できる機器は何かな。AV機器のリモコンは複雑すぎて声で操作するには向かないし。うーん・・・

| | Comments (0) | TrackBack (0)
|

Milueのお誕生日ディナーは、「あてなよる」コピー

最近はNHKの番組しか観ていません。NHKは面白いですなあ。スピード感が全然違うんですよね。民放は大したことない番組にわんさか出演者が出て、話がもっちゃりもっちゃりしか進まないので退屈しますが、NHKはプルンと密度の高い番組を作ってくれます。いやあ、民放の番組がスピード感でNHKに歯が立たない状況がやってくるとは、時代は変わったものです。

そんなNHKの番組の中で、面白く観ているもののひとつが「あてなよる」。「きょうの料理」でもおなじみの大原千鶴さんがテーマを決めて酒の肴、いわゆる「酒のあて」をつくり、そこにソムリエの若林英司さんがワインだけではない、様々なお酒を添える。そんな番組です。毎回、美味しそうなんだ、これが。

それはともかく、1月14日は相方であるMilueの誕生日。お祝いは何が言い、どこかレストランでも予約しましょうか・・・と言ったところ、正月なんやかんやで食べ過ぎたし、別にいいよと。なんかあなたが美味しいもの作っておくれよ・・・とこうきました。

とは言っても、やってみたい料理のネタってのももうあんまり無いんですよね。大概のものは作れるようになりましたし・・・と、そこでMilueが「あてなよるのつぶつぶの会で、あられを衣にした海老フライがあったじゃない?あれが食べたい」と。なるほど。

それ、おもしろいね。むしろ、「あてなよる」の1回分、まるっとやってみましょうか。

というわけで、レシピのページの「第十二夜  つぶつぶで呑(の)む」 を観ていただきたい。これをやりますよ。

とはいいましても、なかなかその通りにはいきませんが・・・

一品目は、「焼き豆腐たらこバターのせ」

レシピだとエンドウ豆を焼いてのせることになってますが、好みで塩ゆでした空豆に変更。豆のサイズアップに伴って、豆腐も大分大きく切りました(笑)。たらこバターは、もう何に付けて食べても美味しいと思います。

お酒は

一代弥山スパークリング。まあ、泡は合わせやすくて良いですな。

二品目は、「海老のあられ揚げ」

海老と、こんにゃくの炊いたものにお茶漬け海苔に入っているようなあられを衣としてつけて揚げたものです。案外しっかりついてます。口に入れると感触が面白い。

お酒は川越が誇るCOEDOビール。IPAスタイルの伽羅です。酸味はほとんど感じず、ぐっとくる苦みが旨い。

三品目は、

塩すき焼き。レシピでは山菜でということでしたが、時期的にも地域的にも手に入る見込みはないので、ブロッコリーとアスパラでやりました。その2つと牛肉とトマトの組み合わせは鉄板なわけで、まずいはずがないです。

お酒は、鳳凰美田のWINE CELLというワイン酵母で作ったお酒。弥山とはうってかわって華やかな甘み。美味しいです。

四品目は「あていちご」

水切りしたヨーグルトに柚子胡椒をいれたディップでいちごをいただきます。レシピ通りだとちょっと物足りなかったので、クリームチーズとオリーブオイルを少し足してます。お酒は、ほぼ日の生姜シロップと芋焼酎を合わせたものの水割り。炭酸水買ってくるのを忘れました(笑)。

最後は失敗。「餅チーズ」

レシピでは串に刺して炙れって書いてあったんですが、串がなかったので、アルミホイルの上に油を引いて、チーズを包んだ餅をのせてトースターで加熱したところ、見事に破裂しました(笑)

あわせるお酒は、アルザスのゲヴュルツトラミネール。実は、前日の残りです(笑)。

いや、なかなか面白かった。面白かったけど、材料と開封された酒が大量に余りました。これはちと贅沢な遊び過ぎますな。へたしたら、ちょっとしたレストランに行くよりも高くついてるかもしれん・・・

| | Comments (0) | TrackBack (0)
|

附高吉本教官特別授業が開催されたのである

私の母校、大阪教育大学附属高校平野校舎の理科室が改築(なの?よくわかってない^^;)されることになり、とっくに退官された恩師の吉本和夫教官が同窓会の場で「片付けて」と言われたと。まだ私物置きっぱなしなのですか?(笑)

で、後輩の21期生が手伝いに行ったそうなんだけど、その時に「せっかくだから無くなる前にこの教室で授業をしてもらえませんか」と頼み、「そらおもろいがな」と先生も受諾。我々が現役の頃に若手の理科教官だった方(バスケ部の顧問をしていただいてた、あの方です。いや、別に名前を伏せることもないのかもしれないが)が現在の副校長ということもあり学校からも許可をいただけて(ありがたいことです)、開催の運びとなりました。お正月に(笑)。

吉本先生から、「生物部のOBにも声をかけてやってくれるか」と言っていただいたため、私にも連絡が来ました。遠方に住んでいることもあって、生物部のOB会にも全然参加できてないんですが、正月なら帰省も兼ねて出られます。それに、同窓会はまたあるかも知れないけども、私が吉本先生の授業を聞く機会は間違いなくこれが最後でしょう。万難を排して参加しましょう。実は正月に実家帰るの珍しいのよ、あたし。なんせもう小学4年生になった姪にお年玉渡したの、今年が初めてだったからね(笑)。

吉本先生は、附高を退任後に阪大院の理学研究科と協力して、高校・大学の連携実習などをやっておられるそうです。吉本和夫でググると、Z-sceという団体のサイトが引っかかるので、興味がある方はご覧下さい。そういえば、以前、吉本先生とばったりあって聞いたことはあったなあ・・・えーっと、うわ、10年前のことか。ブログに書いておくって大事だなあ。

そんなわけで、2018年1月3日、天王寺でまろくんとかずやくんと待ち合わせて、平野へ向かいました。教育実習以来かなあ。20年ぶりだ。懐かしい生物室や準備室を見たりして、いよいよ授業開始。集まった(元)生徒は50名以上。教室は満員です。14時に始まって、17時まで。吉本先生、しゃべくりまくりです。

実は授業に先立ち、アンケートを取られています。テーマは「生きる力について」。んー、なんだろう。えーっと、スターウォーズの新シリーズの完結を楽しみにしてまして、再来年の年末までは生きていようと思っていますけども、そういうこと・・・ではないですよね?

アンケートの段階ではよくわからなかったんですけど、授業のテーマは「生きる力」について。最近の生徒さんは、生きる力がないんですと。いやいや、生きる力って何ですか。実は、学習指導要領に定義があるんだそうです。文科省のサイトを見ると、指導要領の理念がまさに生きる力の育成だそうですけど、上手くいってるようには思えないと。で、文科省のいう生きる力はいくつかあるんですけど(サイト見て下さい)、ここで問題にするのは「思考力」。問題発見能力であったり、問題解決能力であったり、そういうもののことです。

なんかね、思考が楽しめないんですと。考えることは辛いことなんですと。全身の8割が理屈っぽさで出来ている(残りは脂肪)あたしには「思考することが辛い」って言われても、さっぱり理解できません。でも、確かに仕事でそういう傾向について感じることはあるんですよね。

よく、新人さん(だけと言い切れないところが辛いところですが)から、「丹原さん、○○って△△じゃないんですか?」という質問のされ方をします。そもそもなんで"isn't it?"の形で聞いてくるんだよってのもあるんですけど、そういうことを聞かれた場合、基本的には私は「どうして?」と聞き返します。すると、「違うのか・・・」という顔をして帰っていってしまうんですね。そういう態度を取ったら、そこから丹原さんの説教タイムが始まるわけですが(周囲からは「またやってるわ・・・」という顔をされてるんですけど)、こういうのは訓練の問題なのでやらざるを得ない。

そもそも、仕事の場合は正解がない質問であることも多いわけで、「丹原さん、○○を△△にしたいのですが、どうお考えですか?」と聞いてこいという話です。その場合も私の返事は同じで「どうして?」と聞き返し、当然「かくかくしかじかで、△△が適切だと考えるからです」「うん。妥当な考え方だと思う。同意する。それで進めてみてくれ。何かおかしなことになったら教えてね」と仕事は進むんですが、こういう当たり前のやりとりで思考のプロセスをちゃんと話せない奴がかなり多いんです。

基本的に、私たちより新人の方が総じて優秀であるはず(そうでないならば、私たちが入ったことにより会社は没落したということになるわ)で、能力は感じるんですが、単に言葉遣いの問題というレベルではなく、ものを考える習慣がないんじゃないかと感じるんです。ウチらの仕事はよりにもよってコンピュータを使う仕事ですから、バルカン人並みに耳が尖るぐらい論理的でないと困るんですが、「論理的でないと困る」ということ自体を理解できてない感じすらあります。

私の属するプロジェクトは微積分や行列演算ができないと困るという職場ではないですが、三平方の定理の証明をきちんとした日本語で書ける程度の数学力は必要です。だって、プログラムを書くって、ロジックを書き下すことだから。プログラミング言語の文法を覚えれば誰でもプログラムを書けると思ったら大間違いで、日本語で書けない奴はプログラミング言語を使っても書けないか、ロクでもないものを書いて足を引っ張るかのどちらかです。

じゃあ、私はなんでそれが出来るのかといえば・・・附中、附高時代の授業やその他の活動できちんと教えられたということもあるだろうし、もちろん、大学院時代は研究室で「論理的じゃないとフルボッコ」という環境で仕事をしていたわけで、その間に培われたものだと思うんですけど、正直、自分が受けた以外の教育って体験していないわけで、何故かはよくわかんないんですよね。なので、出来ない理由もよくわからない。

もちろん、そういった科学的な思考って誰にでもできるというわけではなく、むしろアメリカ西海岸ではITエンジニアの給料は高騰しまくっているし、広くSTEM教育(Science, Technology, Engineering and Mathematics)の重要性が認識されてることは、裏返せばちゃんとした思考力を武器に活動できる人材は日本もアメリカも限られていることを示しているんです。

じゃあその思考力、思考することを楽しいと思う習慣をどうやって付けていくかということを念頭に置いて行われているのが、Z-Sceが行っている「科学的キャリア教育」だと。実際、何をしているのかというと、高校生に3日間、のべ24時間以上かけて遺伝子組み換え実験をやらせるんですって。あー、大腸菌の形質転換実験ね。制限酵素のBamH1ね。懐かしー。やった、やった。電気泳動、L培地。懐かしいなあ。

まあ、よく考えたらそんなもんを物理系の私が懐かしいと思うのはなんでだっつー話なんですが、もちろん吉本先生の薫陶の賜です。要するに、25年前に附高でカリキュラム吹っ飛ばして高校生に分子生物学を教え、進路指導という名の下に課題への取り組み方、教え学びあう姿勢、向上と適正について生徒に取り組ませていた吉本先生は、退官後もやっていることは本質的には変わっていなかったということでした。大学受験の進路指導がね、いまや人生の進路指導になっております(笑)。

「とにかくね、実習をジャイアントインパクトと呼んでますけどね。衝撃をうけるわけですよ、高校生が。実験、めちゃむずかしいからね。考えてもわからない。周りは徐々に理解していくなかで自分がわからないと焦ります。夜寝られないっていう子もいますよ。わかったら泣く子もいるからね。で、阪大生のチューターと問答しながら考えて、わかったーとなったらすごい達成感よ。『生きてきてよかったです』いいよるよ。ホンマか、大丈夫かこれまでの人生、とんでもはっぷんやなってなモンけど、それぐらい衝撃なんですよ。で、そうやって変わっていく高校生を見て、大学生も目の色が変わります。理学部の学生っていっても最近は目が死んでますからね。でも、自分が人を感動させたってなったら、目が輝きます。たまらんよ、そら。その大学生をみて、高校生は『こんな先輩になりたい!』って勉強するんですわ」

懐かしいでしょ、この口調(笑)。

しかし、新人の数学的素養のなさに嘆いている我が身を振り返ってちょっと恥ずかしい感じはしました。吉本先生なら3日で変えられるって仰ってるわけですよ、要するに。それを「アカンな、最近の若者は」と言っているだけの自分が恥ずかしい。いや、もちろん吉本先生はプロ中のプロ。教育大附属の教官といえば教科教育法の研究者、つまり教師の教師みたいなものですから、比べるのもおこがましい感もあるんですが、それにしたって、じゃあ、お前の専門のIT技術やプログラミングスキルをテーマに同じことはできないのかといわれれば、生物で出来てプログラミングで出来ない理由はないし、17歳相手にできて23歳相手にできない理由もない。うーん、冷や汗がにじみます。

うーん、取り組み方を変えてみようかな。元旦に書いたアーティクルではしたり顔でプロジェクトメンバーのスキルについて「悩んでます」みたいなこと書きましたけど、「お前がどーにかせーよ」っていう話ですよ。しかし、どうしようかな。本気で数学の授業でもしようかな(笑)。

あ、ちなみに吉本先生が医学部の先生に、入試で数学の配点が多すぎる、もっと生物の力を見た方が良いのではないかという話をしたときに、「数学は入試の王様だ」という話をされたんだそうです。つまり、論理的思考の訓練ができているか。吉本先生流に言えば「論理的思考のシナプスができているかどうか」を測定するには数学の力をみるのが一番手っ取り早いと。逆に数学以外でどうやってその力を測定したら良いのか教えてくれと言われたんだそうです。なるほどなー、数学大事だよなー。数学で学んだことをそのまま活かすってことじゃなくて、ちゃんと勉強したことがあるか、同じような論理思考を学んで咀嚼して理解できる力があるか、が大事です。

ちなみに、「Software Design」という古くからある業界誌の2017年12月号の特集タイトルは「ITエンジニアと数学」でした。IT技術者がどんどん足りなくなるって言われてるんですけど、じゃあ、誰でもいいかというとそうじゃなくて、確実に必要なのは科学的思考力のあるエンジニア、ぶっちゃければ数学が出来るエンジニアなわけで、とにかく吉本先生がやっているような「科学的キャリア教育、つまり「科学的思考力を付け、目的意識を持った学習を通じて、生きる力に変える」教育って、すごく求められている現状があるのは間違いない。どうなんだろうなあ、この先。日本の教育変わるんすかねぇ・・・STEM大事だと思うよ。

その他、吉本先生のお話は様々に渡りました。授業で取ったノートはアップしておきますが、当日聞いてない人はなんのこっちゃわからないでしょうから、参加した方向けです。新年早々、いろいろと考えさせられる授業でした。うーむ。ともあれ、ひととき高校生に戻ったようで楽しかったです。幹事の21期生の皆様に感謝です。

| | Comments (0) | TrackBack (0)
|

より以前の記事一覧