僕は発展途上技術者

MakerFaire Taipei で ML2Scratch を出展してきました

MakerFaire Taipei で ML2Scratch を出展してきました。今年の海外(アジア) MakerFaire めぐりはこれが最後です。

本エントリーを入れて、これで三部作となります。

» Maker Faire Singapore で ML2Scratch を出展してきました(Maker Faire編)

» Maker Faire Hong Kong に参加し、深センにも行ってきました - MakerFaire HongKong編

台北に到着した翌日が Media Day と School Day(メディア向けおよび学校の生徒向け)であると知らず、準備のための予備日だと思っていたので、一日中観光をしていました。

故宮博物院で、こちらお約束のお肉(肉形石)。iPhone のポートレートモードで撮ったらかなりお宝感がでています。白菜(翠玉白菜)の方はどこかに貸し出し中なのか、今回見ることはできませんでした。

MakerFaire Taipei の会場は「崋山1914 Creative Park」という倉庫だか工場の跡地を利用したお洒落な雰囲気の場所です。

国は違ってもブランドカラーの青が映えるゲートを見ると、また戻ってきた、という感じがします。

今回で3度目となるML2Scratchの展示です。ML2Scratch は、機械学習で画像を認識し、認識結果をScratch(厳密にはScratchX)に送ることで、簡単に機械学習をつかったアプリケーションをつくることができます。

デザインとUIが洗練されて説明しやすくなったML2Scratchに加えて、まだ未完成ながら Posenet + TensorFlow.js のサンプルと ScratchX をつなげたデモも用意しました。Posenet + TensorFlow.js は Javascript だけで目や鼻、耳の位置や腕や肩など体の各部の位置を認識できるので、Kinect などの特別なデバイスを使うことなく通常の Web カメラだけで体の動きを検出できます。

お隣のブースは今回一緒に参加することになった aida さんの機械学習を使って会話する unity-chan。aida さんは中国語が話せるので心強い限りです。今回の旅行で大変お世話になりました。

今回、中国語が少しでも話せたらいいなと思い、Hello Chineseというアプリを使ったりして、台湾に来る前の少しの期間、中国語を勉強してみたのですが、英語で言えば、This is a pen くらいしかわからないまだまだのレベルでまったく話すことも聞くこともできず惨敗でした。しかしながら、台湾の人はほとんどの人が英語を話せたので、デモの説明は全編英語でまったく問題ありませんでした。

香港、シンガポール、そして今回が三度目ということで、説明も慣れてきたこともあり、機械学習を手軽に使える面白さを多くの人にわかってもらえた感触がありました。

学校でプログラミングあるいは Scratch を教えている先生だという方が多く訪れてくださり、あくまで主観ではあるのですが、Scratch を拡張している ScratchX の説明や、機械学習に関する僕の説明に対する質問や反応を見る限り、日本の学校の先生よりもだいぶ理解が進んでいる印象を持ちました。

ML2Scratch に関する説明を印刷したチラシを50枚ほど用意していたのですが、1日目でなくなってしまい、現地のセブンイレブンで追加で50枚コピーしたのですが、それも2日目でほとんどなくなってしまって、これまでの3か国の中では一番反応が良かった気がします。

「こうすればよかったなあ」という反省点は、まあたくさんあるのですが、きりがないので挙げるとすると3つ。

1つは、いつも手抜きしがちなのですが、説明をちゃんと用意することでした。

これはとても良いお手本だなと思ったのが、日本から参加していた「VR どじょうすくい」。どじょうすくいをVRで体験できる、というアイデアは秀逸ですし、作品の完成度が高く、会場でも人気のブースとなっていましたが、掲げられている説明が適格でわかりやすく、次回のための見本にしたいと思いました。

2つ目は、MakerFaire に出るといつも思うことではあるのですが、もっと他の出展者の作品を見たかった。

ざっと見て回った感想ではあるのですが、香港とシンガポールよりもメカニカルな作品が多かった印象です。そういう点では MakerFaire Tokyo により近い感じです。

Scratch + Arduino という組み合わせをみかけることが多く、このテーマでの書籍が出版されているというのが印象的でした。

3つ目は、Twitter のハッシュタグを使い、もっとSNSを有効に使いたいな、ということでした。他の出展者とつながるきっかけになるし、ブログを書く準備にもなるしで一石二鳥となりそう。

次回出展するときには、この3つを改善したいと思いました。

日本お笑い数学協会が主催する「お笑いさんすうライブ」を観にいってきました

CoderDojo 安曇野の濱田さんに、面白いから観に行ってみたらいいよ、と教えてもらった、日本お笑い数学協会が主催するお笑いさんすうライブというイベントに行ってきました。

お笑い芸人でありながら数学の先生というタカタ先生と、数学のおにいさん横山氏のライブだったのですが、開始前からこどもたちのハートをがっちり掴んでいて、ライブ中、こどもたちも保護者の方も笑いが絶えず、非常に面白いものを観させてもらいました。

後半は大人向けの講演だったのですが、タカタ先生のコメントで、数学で凄い人はたくさんいるし、お笑い芸人ですごい人もたくさんいるけど、数学の先生でありながらお笑い芸人となると日本ではたった一人なんじゃないか、という話がとても響きました。

タカタ先生の YouTube のチャンネルはこちら↓

» お笑い数学教師♪タカタ先生

また、「笑う数学」という本も書いています。

笑う数学
笑う数学
posted with amazlet at 18.10.21
日本お笑い数学協会
KADOKAWA (2018-01-27)
売り上げランキング: 188,125

イベント中、おなじ誕生日の人が何人いるか?という誕生日パラドックスを実際に試してみるということで、大人こどもあわせて120人ほどの参加者の誕生日を確認していったら、同じ誕生日の人の組が10組近く出て、3人同じという組も一組できていました。

実際どのくらいの確率なんだろう?と思ってScratchで確認してみたところ、かなり高確率なのに驚きました。


[https://scratch.mit.edu/projects/254329331/]

ラズベリーパイ(Raspberry Pi) + ScratchX を使って micro:bit に天気情報を表示する

micro:bit に天気情報を表示する方法は検索するといくつか見つかるのだが、ラズベリーパイ(RSコンポーネンツのページなどから購入できる)、さらに ScratchX を使った方法はみつからなかったので調べてみた。

ラズベリーパイ上の ScratchX と micro:bit をつなげるには、

» micro:bit を Scratch から操作できる s2m が日本語に対応しました

で紹介した s2m などがあるが、今回は、ワイヤレスで接続することができる jaafreitas/scratch-microbit-extension: BBC micro:bit Scratch extension を使う。

ラズベリーパイでは Raspbian OS を使っているものとし、ターミナルを立ち上げ、

$ sudo apt install nodejs npm

を実行して、Node.js と npm をインストールする。

次に、scratch-microbit-extension のソースをダウンロードし、解凍する。

$ wget https://github.com/jaafreitas/scratch-microbit-extension/archive/master.zip
$ unzip master.zip

以下の通り実行して、extension を起動するまでの準備をおこなっておく。

$ cd scratch-microbit-extension-master
$ npm install

scratch-microbit-extension と micro:bit とが通信できるように、micro:bit 側には専用の hex ファイルをインストールする。

micro:bit に USB ケーブルをつなげ、ケーブルをラズベリーパイの USB ポートに挿す。micro:bit は /media/pi/MICROBIT にマウントされるので、以下のコマンドを実行して、firmware フォルダ以下の makecode-microbit-scratch-extension.hex ファイルを micro:bit にコピーする。

cp firmware/makecode-microbit-scratch-extension.hex /media/pi/MICROBIT/

コピーしたあと、micro:bit のリセットボタンを一度押しておくと、extension と接続しやすくなるようだ。

次に、ラズベリーパイ上で Chronium Web Browser を起動し、アドレス欄に

http://scratchx.org/?url=https://jaafreitas.github.io/scratch-microbit-extension/scratch_microbit.js&lang=en

を貼り付けて、ScratchX の extension を読み込む。

Extension を読み込んでよいのか許可を求めるダイアログが表示されるので、緑のボタンを押して許可すると、More Blocks カテゴリに、BBC micro:bit 用のブロックが追加される。

BBC micro:bit の横に赤丸が表示されており、まだ micro:bit との接続が確立されていないことを示している。

ターミナルに戻り、

$ sudo node index.js

を実行する。以下のキャプチャのように、ターミナル上に connected true と表示され、ScratchX 上では先ほどの BBC micro:bit の横の赤丸が緑色に変われば、接続がうまくいったことを示している。

接続がうまくいかないときには micro:bit のリセットボタンを押すとうまくいくことが多い。

ScratchX 上の「clear display」ブロックをクリックすると micro:bit の LED がまっさらになり、「display ?」のブロックをクリックすれば ? と LED 上に表示されることを確かめる。

micro:bit を USB ケーブルの代わりに電池ボックスなどで給電すれば、ScratchX 上から micro:bit をワイヤレスで操作できるようになった。

次に天気情報を取得するために、天気情報APIに接続する ScratchX エクステンションを読み込む。

» ScratchXを使って天気を取得するブロックを作成

で紹介されていた OpenWeatherMap API から天気情報を取得する ScratchX エクステンションを使わせてもらう。

上記スクリプトを ScratchX から読み込めるように Web サーバーに置く必要があるのだが、ローカルの Web サーバーでもよいので、Node.js の http-server を使う。

scratch-microbit-extension を起動しているターミナルとは別のターミナルを開き、

$ sudo npm install -g http-server

で http-server をインストールする。

適当な場所に myscript.js というファイルを用意し、先述したスクリプトの内容を貼り付ける。ファイルが置かれているディレクトリで、

$ http-server

を実行すれば、localhost:8080/myscript.js で天気情報取得エクステンションにアクセスできる。

ScratchX 上の More Blocks カテゴリを選び、Load Experimental Extension ボタンをクリックして、localhost:8080/myscript.js を Extension URL として入力すれば、以下のように天気情報を取得できるブロックが追加される。

「[ ]の天気を取得」ブロックの [ ] にアルファベットで地名を入力し、クリックすれば、その場所の天気の情報を取得できる。

以下のようなスクリプトを用意すれば、micro:bit の A ボタンを押せば、好きな場所の天気の情報が micro:bit の LED に表示される。

本日の調布の天気は雨、Rain と表示されるようになりました。

たとえば予報を取得するようにエクステンションを改造して、常に表示するようにした micro:bit を傘立ての近くに置いておけば役に立ちそうだ。(ScratchX とそのエクステンションの作り方については、スクラッチャーのためのScratchX入門 - その1 ScratchXとは?で解説している)

ScratchX のエクステンションはいくつも読み込むことができるので、組み合わせればいろいろなことができるし、ラズベリーパイならばどこにでも置いておくことができるので、様々な応用が考えられそうです。

Apple イベントで紹介された、バスケットボールのシュートを自動でトラッキングしてくれるアプリ Homecourt (ホームコート)に衝撃を受けた

先日の Apple イベントでは、iPhone XS や Apple Watch Series 4 の発表がおこなわれました。今回は上位機種へのアップグレードということで小さな進化という印象でしたが、これとは別に特に興味をひいたのは、iPhone XS のカメラの性能をデモするために紹介された Homecourt というアプリでした。

» Homecourt

このアプリ、バスケットボールのシュートを全自動でトラッキングしてくれて、シュートした各位置やその位置ごとの成功率を表示してくれるというもので、すでに公開されており App Store からダウンロードできます。カメラの性能がより良い XS で使うのが良いのかもしれませんが、iPhone X でも使うことができ、近所の公園で試したところ、あまりの素晴らしさにかなりの衝撃を受けたので、その様子を紹介しようと思います。

シュートのトラッキングを行うには、バスケットゴールとシュートを打つ人、そしてコート上ならば3ポイントシュートのラインが全部映る場所に iPhone のカメラを設置する必要があります。理想的には、ゴールの真ん前が良いようですが、試したのは近所の公園で他に遊んでいる人もいるので、僕は、ゴールのななめ前方、コートの外側に三脚を立てて、iPhone を三脚に取り付け立てました。

続いて、アプリ下側のタブバーから、Record を選び、Workout を選択します。

すると、ゴールとボードを含め、四角の枠の中に収めてくれ、という画面が出てくるので、指示通りカメラの向きを調整します。

次に、バスケットボールのコート上でなら、3ポイントシュートやフリースロー用のラインを検知するのかもしれませんが、公園のゴール前にはラインが引かれていなかったので、画面上に表示される仮想的な3ポイントシュートやフリースロー用のラインを指でドラッグし傾きや位置を適当に調整します。

事前の設定に必要なのはこれだけ。三脚さえあれば、iPhone の他には何の機器も必要ありません。

あとは存分にシュート練習をすれば良いだけです。

どこからシュートを打ったか、そしてもちろんゴールしたかどうかを自動でトラッキングしてくれて、シュート成功率などの分析結果をこのような形で表示してくれます。

こちらが詳細な分析結果です。

圧巻なのは、全シュートを自動的にシュート毎に区切ってくれて表示してくれる Shot-by-Shot の画面。

ゴールしたかどうかの結果(赤色のMakeがゴール、青色のMissがミス)とともにシュートごとのシーンを後から再生することができます。ちなみに、筆者はバスケットボールは全くの初心者です。おかしなフォームだとは思いますがご容赦ください。

2本目のショットはゴールをかすめており、パッと見「あれ入ったんじゃ?」と見間違えそうなのですが、ちゃんと機械学習による判定は Miss と判定しており、なかなかの精度だと思います。(これはカメラの性能によるのかもしれません)

Shot-by-Shot の画面では、スローモーションにできたり、プレーヤーにズームしてフォームをチェックできたりと、反省とこれからの改善に役立てることができるんじゃないかと思いました。

他にも今日のハイライトということで、連続してポイントできたシーンなどを自動的に切り取って表示してくれたりします。

さらに面白いのは、タブメニューから Feed を選ぶと、他の上手なプレーヤーの練習の様子も閲覧することができるところです。

こちら3ポイントシュートがかなりの確率で入っているおかたです。

Shot-by-Shot 画面で各シュートの様子も見ることができるので、上手な選手のフォームをチェックして参考にすることもできるのだと思います。

他にも Teams という機能では、仲間と一緒にチームを作ることができ、各々撮影した練習風景をチェックしたり、分析結果を共有して切磋琢磨することができるようです。

毎月300ショットまでは無料で利用でき、それ以上無制限で使いたければ月額の料金が発生するようです。(2018/9/18時点では月額880円)

バスケットボール超初心者の僕でもかなりワクワクするアプリなので、バスケットボールをやっている方にはとてもおすすめなんじゃないかと思いました。

» ‎HomeCourt - The Basketball App on the App Store

学習するデータが増えていけば精度はどんどん上がっていくのかもしれませんし、そのうちフォームなども、ここの部分をもう少し上げていい、といったように自動でアドバイスしてくれるようになるのかもしれません。

機械学習をとても上手く活用しているお手本のようなアプリだと思います。スポーツと機械学習はとても相性が良さそうで、大きな可能性を感じました。

学生時代にアーチェリーをやっていたのですが、当時、矢が当たった場所は自分でスコアカードに手書きで記録していました。そうした記録もこのようにカメラと機械学習をうまく活用すれば、自動で記録できるようになるのかもしれません。(作ってみたい :) )

機械学習を使ってどのようにコート、ゴール、プレイヤーを認識しているかなどの少し詳しい技術的な側面や、このアプリを開発した動機などを紹介している TED の動画があったので最後に紹介しておきます。

サイモン シン・エツァート エルンスト「代替医療解剖」

お金と健康は人生においてかなり大切な2つの要素だと思うのですが、その2つに関して誤った選択・判断をしないためにもこの本は必読だと思います。

代替医療解剖 (新潮文庫)
サイモン シン エツァート エルンスト
新潮社 (2013-08-28)
売り上げランキング: 9,562

エセ科学を徹底的に批判する「カール・セーガン 科学と悪霊を語る」とあわせて、これからまだ長い人生を送る若い人には特に、あるいはお子さんがいる方にもぜひ読んでおいて欲しい。

僕はノストラダムスの予言を高校生くらいまで信じていたし、昔の嘘だらけのテレビで流れていたネッシーや雪男、UFO、宇宙人をなかば信じていたけれど、今はオカルト、占い、血液型といった類のものは一切受け付けないし、無宗教という立場だ。では、何を信じているかと問われれば、「科学」と答える。

そんな僕でも、昨年はじめに首を痛めて、それがなかなか良くならないので、いろいろなことを試してみたのだが、その中で何の抵抗もなし鍼を試してみたのだ。じっさい、鍼をやってもらったあと、何となく良くなった気分になったのだが、本書ではそれ(鍼)がまったく科学的には効き目がなく、プラセボ効果(簡単に言ってしまうと気のせいで良くなる効果)しか期待できないことを暴いている。

詳しくはぜひ、本書を読んでもらいたいのだが、忙しくて読めないよ、という人のために、本書に書かれている知っておいた方が良いことをここに書き留めておく。

  • 瀉血という血を抜く行為が、病気に効くと信じられていて、近代までずっと行われていた。このように一昔前までの医療行為のほとんどは科学的に間違ったものであった。
  • ではなぜ、昔の医者という職業が成り立っていたかという、お医者さんの格好をして(白衣を着るなどほかの人と違う格好をする)これこれこういう治療法があなたには効きますよ、と言われて科学的には何の効果もない行為をおこなってもらったり、あるいは効果のない薬を飲むだけでも、プラセボ効果、つまり気のせいだけで悪いところが回復したり、痛みがうすれる効果が実は人体にあって、その効果が意外とあるからだった。
  • 現代になってようやく科学的な方法で医療行為が効果があるか、あるいは薬が効果があるかがわかるようになった。その科学的方法の代表例が臨床試験であり、薬とニセ薬をAとB2つのグループに与え、有意な差がでれば、その薬は効果があったということ、そうでなければ効果がないと判定できるようになった。このときプラセボ効果を排除するため、患者の方は自分が本物か偽物のどちらをもらっているのかわからないようにしなければいけないし、薬あるいは治療行為を与える方の医者も自分が本物を与えているのかそうでないのかがわからないようにしなければ正確に判定はできない。
  • 鍼は、患者も行為者も自分が本物か偽物のどちらのグループなのかをわからないようにすることが難しかったため、かなり最近までプラセボ効果を排除した臨床試験が難しかったが、技術的に偽鍼(うってるように見せかけて実は刺さらない鍼)を作れるようになってきて近年正確に効果を測れるようになってきており、その結果どうやらプラセボ効果しかないようだ。
  • 本書は、このように丁寧に臨床試験の結果などを比較したり、科学的な検証をおこなっており、その結果、鍼、ホメオパシー(なぜこんなものが欧米では信じられているか謎なくらいトンデモな代替医療だが)、カイロプラクティック、そしてほとんどのハーブに科学的な効果がないことを暴いている。
  • カイロプラクティックまでも批判されているのは驚きではあるが、腰痛に限っては効果はあるのだが、その効果は通常医療と同程度であり、通常医療のほうが安価であるし、また危険性で言えば、通常医療のほうが安全であるということを知っておく必要がある。
  • プラセボ効果があるのなら、鍼などの代替医療でも構わないじゃないかという考えもあるかもしれないのだが、それよりも効果がある通常医療があるにも関わらず、通常はそれよりも高価で、リスクもある代替医療を選ぶという選択は問題であるし、何よりも、それよりも効果のある通常医療があるにもかかわらずそれを排除して代替医療を選んでしまうというのは大問題と断じている。代替医療を信じるあまり、科学的に効果があるワクチンを打つことをこどもに認めない親がこれにあたる。

カイロプラクティックも鍼も何の疑いもなく行っていたのが個人的にはショック。「臨床試験」をキーワードにして、これからは賢明に判断していきたい。

日替わりでドットコムを紹介しつづけた『100SHIKI』が更新終了

なんと、百式が更新終了だそうだ。

これまで毎日更新してきましたが、本日、2018年8月31日をもって更新終了としたいと思います。突然ですが。いままで読んでいただいた皆様、ありがとうございました。

» 2000年から日替わりでドットコムを紹介しつづけた『100SHIKI』

アメリカで働いていた頃は、オフィスに来たらまず百式と asahi.com を読むのが日課でした。日本語の情報に飢えていたのとドットコムやネット界隈、スタートアップという世界への憧れがあったからでした。

そんなある日、百式管理人がサンフランシスコに来る予定で、管理人の独り言コーナーに「近くの方、ぜひご一報を」と書かれていたので、メールをしたのでした。

» ド派手な演出 (Tail Viper.com)

快く会ってくださり、さらにその翌日だったかサンフランシスコにいる起業家の人たちとの飲み会があるので一緒に参加する?と誘ってくれたのでした。

そこで今はメルカリの会長になった山田進太郎さんに出会い、日本に帰国後に、進太郎さんが起こしたウノウに転職することになったのでした。

フリーランスになってからは、開発合宿に呼んでもらったり、「ひとりで作るネットサービス」探訪ではインタビューしていただいたりとずっとお世話になっています。「ドットインストール」では、いまはなくなってしまいましたが添削のサービスのお手伝いをしたり、息子もその添削のサービスを体験させてもらったり。

百式がなかったら、今の僕はなかったと思います。大げさでなく、僕のなかでひとつの時代が終った感があって少しさびしいですが、今後のさらなるご活躍を楽しみにしています。

Maker Faire Singapore で ML2Scratch を出展してきました(Maker Faire編)

» Maker Faire Singapore で ML2Scratch を出展してきました(観光編)

からの続きとなります。

Maker Faire Singapore は Our Tampines Hub という多目的スタジアムもある公共施設で開催されました。

Maker のタグとバッジ。

機械学習で画像を認識し、認識結果をScratch(厳密にはScratchX)に送ることで、簡単に機械学習をつかったアプリケーションをつくることができる ML2Scratch で出展しました。ペットボトルのキャップをテーブル上で動かすことで、Scratch 上のネコを操作したり、あるいは MiP という倒立ロボットを操作できるデモを展示しました。

Yu Ishihara に UI をデザインしてもらい、一気にわかりやすく親しみやすくなった ML2Scratch。

日本からの出展は僕の他は、First Four Notes という会社をやられている由谷さん、渋谷さん。機械学習で振動のパターンを学習して、アクリル板を叩くと、叩いた場所によって違う音を鳴らして、楽器にできるという展示で注目を集めていました。

金土日と開催された Maker Faire Singapore の一日目は School Day ということで学校関係者だけが出展、参加していたりと、Maker Faire Hong Kong 同様、学生や学校関係者が多く参加していました。

日本語を勉強中ということで、何度もブースに訪れてきては日本のことについていろいろ聞いてきた学生さんと仲良くなりました。

彼らのプロジェクト。ゴミを回収したり、ろ過することで池の水をきれいにするロボットだそうです。環境問題に関連したプロジェクトが多く、水の問題、空気の汚染の問題は狭い国土を持つシンガポールの切実な問題のようです。

Maker Faire Singapore は Maker Faire Hong Kong と同じくらいの規模、東工大あるいは未来館でやってた数年前の Maker Faire Tokyo くらいな感じでした。

ML2Scratch の説明をちゃんと理解しながら聞いてくれて、賢そうな人だなあと思ったら Mayor of the North East District of Singapore(シンガポール北東地区の知事)Desmond Choo さんという方でした。若い…

シンガポールもSTEAM教育に対する関心は高く、機械学習というバズワードの効果もあって ML2Scratch を面白いと思ってくれる方は多かったです。「Scratchで楽しく学ぶ アート&サイエンス」も合わせて展示していたのですが、リップサービスもあるのかもしれませんが、英語版はないのか?あるいは出ないのか?と繰り返し何人の人から聞かれました。

Scratchで楽しく学ぶ アート&サイエンス
石原 淳也
日経BP社
売り上げランキング: 17,194

あと、シンガポールでも Scratch2MiP で動かせる倒立二輪ロボットの WowWee MiP はこども達に対して安定の人気でした。

トイザらス WowWee ミートミップ 白
トイザらス
売り上げランキング: 299,712

今回参加できたのは、Maker Faire Hong Kong のときにブースを訪れてくれて、「これ Maker Singapore でやったらウケると思うから出ませんか?」と誘ってくださったスイッチサイエンスの高須さんのおかげです。ブーススペースの確保など色々とアテンドしてくださって感謝いたします。

各国の Maker と仲良くなれるし、訪れた国のことを知ることができるしで、各国 Maker Faire めぐりは楽しいです。今後開催される各国の Maker Faire はこちらで確認することができます。次は、Maker Faire Taipei に参加したい。

» Maker Faire Singapore で ML2Scratch を出展してきました(観光編)

» Maker Faire Singapore で ML2Scratch を出展してきました(Maker Faire編)

Maker Faire Singapore で ML2Scratch を出展してきました(観光編)

» Maker Faire Singapore で ML2Scratch を出展してきました(観光編)

» Maker Faire Singapore で ML2Scratch を出展してきました(Maker Faire編)

Maker Faire Hong Kong に引き続き、Maker Faire Singapore で ML2Scratch を出展してきました。

香港に行ったときに時差が少なくてとても快適だなあと感じたので、しばらくこの時差1〜2時間以内の範囲で行動しようと思い立ち、アジアやオセアニア地域の Maker Faire を制覇していこうと思ったのです。

金土日は Maker Faire で、それより数日前に家族と現地入りして、シンガポールの観光三昧でした。

地震がなく、お金をふんだんにかけることができるからか、ユニークな形のビルが乱立しています。

定番の観光コースということで、ガーデン・バイ・ザ・ベイ。

巨大なガラスのドームの中、人工の滝が流れるクラウド・フォレスト。「天空の城ラピュタ」などのジブリのアニメの世界を連想しました。

こちらは、人工の木「スーパーツリー」。「アバター」の世界のようです。

定番中の定番、マーライオン。

シンガポールは華僑の人達の国というイメージがあったのですが、街を行き交う人達の人種は様々。中国系だけでなくイスラム系、インド系、そしてまれに欧米の人たちもいて、アメリカのような他民族の国なんだなという印象を受けました。

アラブ・ストリートを歩き、巨大なモスク、サルタン・モスクを訪問。残念ながら行ったその日は閉館していて中身は見られなかったのですが、まわりはアラブの雰囲気で、ゼルダの伝説のゲルドの街を連想しました。

どこも整然としており、ガムの国内持ち込み禁止、地下鉄の飲食、ポイ捨ては厳禁(違反すると罰金を取られるらしい)ということから予想はしていましたが、トイレを始めどこも清潔で、いままで訪れた国の中では断トツで綺麗でした。

国全体がディズニーランドのようなテーマパークというか、映画、小説や漫画、ゲームに登場する未来都市のようでした。アジアの雑然とした感じが少し覗いているところもあるのですが、それを人工的に統制、管理している感じでした。

約1週間の滞在中、そういえば一度も警官らしき人を見ることがなく、治安が悪そうな雰囲気をいっさい感じることがなかったのも印象的でした。防犯カメラはいたるところにありましたが。。

シンガポールの人たちも全体的にとても親切で、国全体は清潔で、治安も良いと全く嫌な思いをすることのない完璧な家族旅行でした。

シンガポールの国の成り立ちに興味を持ち、帰りの飛行機と帰国してから、物語 シンガポールの歴史 (中公新書)という本を読んでみて、その種明かしをされたようでした。

アジア各地域から移民が集まる小さな国を、アジア屈指の経済大国に成長させた裏には、リー・クアン・ユーという強烈な個性を持ったリーダーを持つ国民行動党という独裁政権が隅々までデザイン・管理していたのだというカラクリを知って、何だか複雑な気分になりました。

言論の自由がない、超エリートに管理・統制された社会、独裁政権、とこれらのキーワードだけを見ると、どんなディストピアだと思ってしまうのですが、実際にこの目で、治安が良く清潔で整然とした街並みを見て、体験してしまうと、それも悪くないんじゃないかと思ってしまうのです。実際、今後僕の中での好きな国の一つに挙げることになると思いますし、住むのも悪くない、またもう一度行ってみたいと思っています。

シンガポールにこれから行く人にはぜひおすすめなのですが、これを読んでから行くとネタバレになってしまいそうなので、僕のようにシンガポールに行ってから読むのがもしかしたらいいのかもしれません。

Maker Faire Singapore で ML2Scratch を出展してきました(Maker Faire編) に続きます。

物語 シンガポールの歴史 (中公新書)
岩崎 育夫
中央公論新社
売り上げランキング: 5,766

MakerFaire Tokyo 2018 で出展した「子どもプログラミング喫茶」振り返り

MakerFaire Tokyo 2018で、昨年に引き続きOtOMO の一員として「子どもプログラミング喫茶」の出展に協力してきたので振り返ります。

子ども向けのプログラミング体験メニューを喫茶店のようにご注文いただきご体験いただけます(各体験15-20分程度)。Scratchを中心にフィジカルコンピューティングやロボットプログラミングにもチャレンジできます。

http://makezine.jp/event/makers2018/m0148/ より

昨年の振り返りはこちら↓

MakerFaire Tokyo 2017 で出展した「子どもプログラミング喫茶」振り返り

Keep (今後も続けていきたいこと)

  • 東京学芸大学附属国際中等教育学校 It is IT のメンバー始め、さまざまな方々の協力があって、メニューを提供する(プログラミングを教える側の)メンバーが今年はたくさんそろっており、昨年よりも増えた10あるテーブルで体験メニューを提供できるようになっていました。シフトを組んで余裕ある運営ができていたと思います。(とはいえ、それなりにきついのですが…)若いメンバーたちは、自分から考えて良く動いてくれていて、体力的にきつくなってきた年長者たちはだいぶ助かっていました :)
  • メンバーも増えたが、提供できるメニューも増えていて、micro:bit や IchigoJam、フィジカルに動かせる mBot などバラエティに富んだ体験を提供できていたと思います。
  • 例年、僕はマイクラ + Scratchのメニューを提供していたのですが、今年は、Scratch2MCPI に関する電子書籍 「Minecraft で学ぶ Scratch プログラミング」 を書かれた永岡さんに参加してもらい、マイクラ + Scratch のメニューはおまかせしていたので、機械学習とScratchをつなげた ML2Scratch のメニューや、見よう見まねで覚えた micro:bit や IchigoJam のメニューを自分でも教えてみました。Scratch を使った「クローンを使ったシューティング」のメニューでは、これをやりたいと言って選んでくれた子にはやや難しい内容だったので、内容を少し変えてその子に合わせてあげたりもしてみた。食べる人、飲む人にあわせてメニューを少し変更するというアドリブが要求される部分は、喫茶店のように注文されたものを提供するというメタファーとうまく合っていて面白さを感じることができた。

Problem (反省点)

  • 関わる人が多くなり、今年は MakerFaire 側の後援もいただいているやや公式な企画ということもあり、きちんとオーガナイズされた企画として提供しなくてはいけないという要求があるのは確かです。決められた通りに進行しなくてはいけない、あるいはお客さんの不満となりえるようなリスクは取れないなどあります。とはいえ、MakerFaire なのですから、まずは Maker の自分たちが楽しむ、トラブルを楽しむ、リスクテイク・チャレンジを楽しむというのが本来の姿なので、うまくバランスを取っていければなと感じました。
  • 例年痛感するのですが、他のブースをもっとまわって他の Maker と交流するという余裕がもっと必要でした。
  • Tokyo 以前に開かれた MakerFaire Hong Kong、あるいは続く MakerFaire Singapore で自分の企画で出展してみてわかったのは、やっぱり自分でも出展しないと楽しくない。

Try (今後ためしてみたいこと)

  • 来年は自分でも出展して、プログラミング喫茶にも協力と掛け持ちしたい。
  • どのメニューがどのくらい注文されたのかの集計をきちんと取りたい。

大人のためのScratch - ScratchでTDD(テスト駆動開発)はできるか?

先日のTokyo Rubyist Meetupにて、Introducing Scratch to Rubyistsと題して、Scratchを紹介するプレゼンをおこなったところ、プレゼンのあとで、Scratchでテストコードは書けるのか?という質問を受けました。

そのことについてFacebookで投稿したところ、PhratchのアドオンでAssertchというものがあるなど、多方面から情報をいただいたのだが、中でも Can you TDD in Scratch?(ScratchでTDD(テスト駆動開発)はできるか?)というサブタイトルがついたScratchTDDというドキュメントが面白かったので紹介したい。

結論としては「ScratchでTDDはできる」なのですが、詳細はオリジナルのドキュメントがわかりやすく丁寧に書かれているため、そちらを見てもらうとして、変数と関数を日本語に書き換えたものを紹介する。

テストを先に書いたものがこちら↓

そしてテストが通るように、「『名前』に挨拶する」ブロックを実装したものがこちら↓

プログラミングがわからなくても、Scratchがわからなくても、変数名と関数名が日本語だと、どのようなことをやっているのかおおよそ見当がつくのではないだろうか?英語ネイティブの人がソースコードを見たときに、およそこのように見えているのではないかと思うと、我々、英語ネイティブでないプログラマーに比べて彼らには大きなアドバンテージがあるんだろうなあと痛感する。

以下は、ScratchTDDの最初の例を日本語化してみたScratchプロジェクトだ。


[https://scratch.mit.edu/projects/237424372/]

ScratchTDDの後半に紹介されているFizzBuzzの例はこちら↓


[https://scratch.mit.edu/projects/237554596/]

Scratchで楽しく学ぶ アート&サイエンス
石原 淳也
日経BP社
売り上げランキング: 11,183

プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Scratchで楽しく学ぶ アート&サイエンスRaspberry Piではじめる どきどきプログラミングを書きました。

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Email: webmaster at champierre dot com

Twitter @jishiha

最近のエントリー

アーカイブ