結城浩の「コミュニケーションの心がけ」2013年12月17日 Vol.090
はじめに
おはようございます。 いつも結城メルマガをご愛読ありがとうございます。
* * *
いよいよ明日(12/17)から『数学ガールの秘密ノート/整数で遊ぼう』が書店に並びます。 明日並ぶのはおそらく都内の書店さんで、 都内以外ですと19日ころから店頭に並ぶことになると思います。
いくつかの書店さんでは、結城のサイン本も販売になります。 サイン本がどの書店さんに配本になるかは、結城も知りませんので、 お手数ですが、ご興味のある方は各書店さんにお問い合わせください。 「数学ガール」シリーズを強く推してくださっている大型書店さんが 中心になると思います。よろしくお願いいたします。
◆『数学ガールの秘密ノート/整数で遊ぼう』
http://www.hyuki.com/girl/note2.html
* * *
先日、アメリカのオバマ大統領のスピーチが話題になっていました。 全米の若者に対して、プログラミング(コンピュータ科学)を学びましょう という強いメッセージを含むスピーチです。 ごらんになった方も多いと思いますが、 以下にYouTubeでの動画と、翻訳を載せたサイトをリンクします。
◆President Obama asks America to learn computer science - YouTube
https://www.youtube.com/watch?v=6XvmhE1J9PY
◆米大統領「全ての人よ、プログラミングを!」 - Life is Tech!
http://life-is-tech.com/blog/programming/messagefrompresidentobama-5843
これからの時代、ますますコンピュータ科学が重要な意味を持ってくることは確かで、 優秀な専門家が地球規模の問題解決にあたる必要があるのも確かなことです。 そのためにもこのような若い人へのメッセージを通して「未来」を形作ろうとする姿勢は たいへんすばらしいことだと思います。
もちろんコンピュータ科学がすべてを解決するわけではありませんが、 この分野で能力を開花させる可能性を秘めた人たちに学ぶきっかけを与えることは とても大事でしょう。
これは米国の例になるわけですが、日本でもこのようなメッセージを若い人に向けて発することは 同じように大切だと思います。ここで「オバマさんに比べて我が国のリーダーは……」と嘆くことは 簡単ですが、それはさておき、私たちひとりひとりがそばにいる 「若い人」に良きメッセージを伝えることも大事であると思います。
結城はつねづね「教育現場で若い人に接している先生がた」に深い敬意を抱いています。 そしてそのような先生がたに応援のエールを送りたいと思っています。 先生というのは未来を作る大切なお仕事です。なぜなら、 未来を作る若者に良きメッセージを伝える最前線にいらっしゃるわけですから。
もちろん私自身も、自分の著作を通して、 できるだけ良きメッセージを若い人に送りたいと思っています。
* * *
若い人へのメッセージという広い範囲の話でなくても、 プログラミングを学ぶというのは重要な意味があると思っています。 それは「プログラムを書く」というのがとりもなおさず「言葉で表現する」一つのあり方だからです。
現在、さまざまな手順や複雑で抽象的な構造を表現する方法として、 プログラミング言語ほど有効なものは少ないでしょう。 抽象的なものを表現する言葉としては数式もありますが、 「手順」を表現するのには最適ではないでしょう。
しかもプログラミング言語は単に記述するだけではなく、 それを実際に「動かす」ことができる点がすばらしい。 自分の抽象的な思考を表現し、 さらにそれをコンピュータを使って現実の世界に作用させることができるのです。
そのような表現手段を多くの人が身につけることは 無駄ではないと思います。 全員が専門的プログラマになる必要があるとまでは思いませんが、 基本的読み書きと同じくらいの重みで、 何らかのプログラミング言語に触れる経験は重要であると思います。
* * *
さて、別の話。
IFTTTというツールをご存じですか。 IFTTTというのは、IF THIS THEN THAT(もしコレならばアレ)の略だと思うのですが、 要するにたくさんのWebサービスやメールなどを柔軟に結びつけるサービスのことです。
・もし週末のお昼になったら、こういう文面のツイートを行う。
・もしこういうハッシュタグのツイートを行ったら、それをEvernoteに保存する。
・もし朝の7時になったら、今日の天気を自分宛にメールする。
こんなふうに、複数のサービスを関連づけ、 自分の好みのサービスを作り上げるためのサービスです。
結城はこのIFTTTを使って、週に何回か自動的に結城メルマガの宣伝をツイートするようにしています。 決まった曜日の決まった時刻に決まった文面のツイートをするという処理をIFTTTで行っているのです。
先日ブログで見かけた中に「自分のツイートをEvernoteに保存する」というレシピ (IFTTTではルールを料理にたとえてレシピと表現します)がありましたので試してみました。 ライフログとしてTwitterは有効ですが、 ツイートついでにEvernoteへの書き込みもやってしまおうということですね。 結城は以下のブログを参考にしました。
◆Evernoteとツイッターをつなぐ@myen機能が終了へ。利用している方は移行作業を
http://lifehacking.jp/2013/12/sending-notes-to-evernote-from-twitter/
この他にも、
IFTTT レシピ
や
IFTTT Evernote レシピ
などのキーワードを使って検索すると、 便利な使い方がたくさん見つかるようです。 自分のネット生活を自動化するのに便利なサービスですのでお試しください。
こういうサービスでちょこっと何かを動かすというのも、 非常に単純ではありますが、プログラミングに近い活動ですね。
* * *
結城は普段MacBook AirのVimというテキストエディタで原稿を書いています。 原稿を依頼されるとき「分量の指定」があるのが普通です。 技術評論社のSoftware Designなどの雑誌向けの連載原稿では、 一行の文字数と連載記事に割り当てられた行数が決まっているので、 LaTeXの設定をそれにあわせ、 誌面ぴったりの分量(もしくは数行オーバー)で原稿を送るようにしています。 数行オーバーにするのは、後から「書き足す」よりも「削る」方が楽だからです。
先日、CodeIQ MAGAZINE向けに原稿を書いたのですが、 そのときに2000文字程度でという依頼を受けました。 文字コードがShift_JISの場合には日本語の文字が1文字二バイトなので 計算が楽だったのですが、UTF-8の場合には1文字のバイト数がさまざまなので、 計算がちょっとやっかいです。
少し調べてみたところ、 UNIXで標準的に使われている文字数カウントプログラム wc にオプション -m をつけると、 きちんと「文字」単位でカウントしてくれることがわかりました。 原稿ファイルを sample.tex だとすると、コマンドラインから、
$ wc -m sample.tex
と入力するだけで文字数が表示されます
LaTeXの場合には組版用のコマンドを除去する detex という コマンドを併用したほうがいいかもしれません。この場合には、
$ detex sample.tex | wc -m
と入力すると文字数が表示されます。
文章を書くための統合環境のようなソフトを使えばもっと楽に文字数計算ができるのかもしれませんが、 結城はこういう基本的なソフトを組み合わせて「作る」方が性にあっているようです。
* * *
で、CodeIQ MAGAZINEに書いた原稿ですが、 それは「CodeIQの問題をどのようにして作成するか」を自分なりにまとめた文章です。
この文章そのものは以前、この結城メルマガに書いた文章を再編集したものですから、 ごらんになった方もいらっしゃると思います。
結城メルマガと違う点は、 たくさんの方が挑戦した「ナムドット問題」の問題文と解説文を閲覧できるようにした というところです。結城がどのような問題をどのような形でCodeIQに出題しているのか、 そして挑戦者に対してどのような解説文をフィードバックしているのか、 そのPDFをダウンロードできますので、ご興味のある方はご覧ください。
◆「結城浩さんのCodeIQ問題は、なぜ面白いのか?」を7つのポイントで解説!
https://codeiq.jp/magazine/2013/12/3455/
* * *
英国の国立図書館である大英図書館(The British Library)が100万点以上の画像をFlickrで公開しました。 しかも、料金無料で自由に利用できるとのことです。すばらしいですね。
◆The British Library - Flickr
http://www.flickr.com/photos/britishlibrary/
◆A million first steps - Digital scholarship blog
http://britishlibrary.typepad.co.uk/digital-scholarship/2013/12/a-million-first-steps.html
◆朗報!大英図書館が100万点以上の画像を無料公開、明治維新前後の日本も
http://newclassic.jp/archives/4547
* * *
さて、そろそろ結城メルマガを始めましょう。
今回のメインコンテンツは「再発見の発想法」で、 Synchronous(シンクロナス)というキーワードをめぐってのあれこれをお話しします。
また「本を書く心がけ」では「自動化で量と戦う」というお話をしましょう。 こちらは「数学ガールの秘密ノート」の第三弾『数学ガールの秘密ノート/丸い三角関数』の執筆で、 図版をどう作成するかという話題です。
どうぞお楽しみください!
目次
- はじめに
- 再発見の発想法 - Synchronous(シンクロナス)
- 本を書く心がけ - 自動化で量と戦う
- 次回予告 - 数学ガールの特別授業