yanoshin

うちの息子(5歳)がプログラミングを始めましたという話

 近頃ブームなの?か、子供のプログラミング教育どうしてるのみたいな話を振られることが重なってて、うちは「教育」はしてないよ、という答えをしています。
 プログラミングに限らず、作ることへの情熱が生まれてこないことにはどんな「教育」を与えても気休めにしかならないと思っているので、うちの5歳児には”好きに使っていいよ”と写真のようなカードサイズのマイコンボードを与えてほぼ放置。
プログラミング言語を詰め込むような教育はせずに、「作りたいこと」があってそれを「解決する手段」を考えるように仕向けるのが狙い。別にコードじゃなくても良いわけで。
  • $35くらいで買ったマイコンボードRaspberry Piの初代、Model Bタイプ。僕がプロトタイプ開発にも使わなくなった型落ち。
  • 安いアクリル製のケース、USBキーボードとマウスは僕の余り物。
  • 電源はマイクロUSB端子からの5V供給なので、Androidスマホの余った充電器とUSBケーブル
  • テレビにHDMIケーブルに接続して、リビングで。
 Rpi_1 Rpi2
5歳児とはいえ、あれこれ試行錯誤しながら使い方を覚えていくので、今ではRaspbianに標準で入ってるScratchマインクラフトPi Editionがお気に入り。

 

「こんなことがしてみたい | 作り方おしえて」と聞いてくれば何でも教えるよ、というスタンスなんだけど、いっちょまえに、ネコのキャラクターが動いたり喋ったり、音が鳴ったりというプログラムを自分で組んでキャッキャ言ってる。

 

そのうち小学校に行き始めたら、めんどくさい算数を解いてくれるコード書いたり、めんどくさい作文を自動生成してくれるアルゴリズムとかに興味を持ってくれたら本物だなあとか親は楽しみにしている。普通に宿題やったほうが早く終わるんだけど。

 

僕が初めてコンピュータを触り始めた7歳よりも2歳も早いので、すぐに僕よりも上達するんだろうなあ、と日々観察中。
Rpi_blog_head

[余談]

子どものプログラミング教育の話題以外にも、大人も「プログラミング身につけたいのだけどどうすればいい?」と聞かれることが増えてきた気がします。

 

そういう時はすぐに、とりあえずコピペでもなんでもいいのでテキトーにコードを10行書いて動かしてみれば?、とおすすめしてみるのですが、最初の最初の、最初の一歩がどうやらハードルが高いらしくて。

 

そういう時には、例えば僕が知っている範囲だとドットインストールみたいな短時間の解説動画付きでちょっとずつ体験してみるのが一番良いのかなと思っています。 自分も新しいことを試してみるときはこういうの垂れ流して聞き流したりすることありますし。

 

または、なんだかんだと腰が重たいし怠けてしまいそうだしもっと直接的に背中を押してもらいながら身に着けたいのであれば、よく話で聞くのはコードキャンプとかテックアカデミーとか、今はオンライン/オフライン問わずプログラミングを教えてくれるサービスがあるみたいなので、まずは試しに受講してみる、というのが大人にとっては良いのかもしれません。

 

僕みたいなタイプに「教えて」とか聞くと「球がこうスッと来るだろ、そこをバァッといってガーンと打つんだ」みたいなことを答えがちなので一番おすすめしない…

 

「近くの緊急避難所を探します」ってサービスを、九州の方が使ってくれたらしい

昨夜2015年4月14日に発生した熊本の大地震のあと、「昔つくった緊急避難所を教えてくれるサービス、どうなったかな」と思って、Google Analytics を確認してみた。

本記事下に添付した画像は2015年4月14日から15日に絞り込んだアクセスを地域別にした図。このサイト、近ごろはもうほとんどアクセスもなくてコードのメンテナンスもしてないけど、昨日から今日にかけて熊本の地震をうけて使ってくれた人がいたみたい。

自分すら忘れていたサービス、でもまだ一人でも使ってくれてる人がいることを思うとなんか嬉しい。
他にもメンテしてない放置サービスが覚えきらないほど沢山あるので週末にアクセス解析眺めてみよう。

近くの緊急避難所を探します
https://0312.yanoshin.jp/

このサービスは、2011年3月11日の東日本大震災が発生した直後に自分自身が「こんなときどこに避難すればいいんだ?」と悩んだため、外出先でも携帯で(当時はスマホじゃなくてガラケーだったけど)身近にある緊急避難所を探せるように、と作ったもの。

元データは内閣官房が提供している全国版のPDFを、プログラムを書いてひとつひとつデータベース化したもので、今ならばオープンデータなんかで使いやすいフォーマットで提供されてるけど当時は無理やりコードの力でなんとかしたなあ。

震災直後に本番リリース、すごい適当なサブドメインで公開しているところからも当時はリリースを優先するために独自ドメイン取得とかもイラネ、それより早く必要な箇所だけ作って公開しなきゃ、と思ってたんだなあ。

地域_-_Google_Analytics

オレオレAnsible構成管理をバージョンアップした

春ですね。

というわけで、Ansibleで構成管理してるサーバ構築の俺俺レシピをメジャーVer. Upしたんですが、こういう自動化のノウハウって欲しいひといるのかな。

今回からHTTPSに標準で統一(+Let’s Encryptの無料SSL証明書の自動発行)させたので、今後のGoogle対策にも対応。
それとオープンソースになったParse Serverもよしなに設置してくれるようになったので、これのおかげで思い立ったらすぐに環境用意して、アプリ作りに専念できます。

・ドメイン決めて、空きサーバを用意したら(バーチャルホストは何個でも)
・CentOS6.7を入れて(*1)
・Nginxでリバースプロキシ。80番ポートはすべて443番にリダイレクトしてHTTPSに統一。
Let’s EncryptでSSL証明書を発行して設置。2ヶ月毎の自動更新スクリプトも設置。
・アプリケーションは裏にApacheを置いて、PHP7.0-FPM + MySQL5.6で動作する仕組みを設置
・必要があればParse Server( + MongoDB )も設置してくれる
・他にも必要に応じてRedis、Memcached、MecabとKakasiとかキューサーバとかログコネクタとかも選べる。

(*1)CentOS7はなんかモッサリしてたので、ミニマムでキビキビ動くCentOS6系にしてる

創ることと、環境

創作や製作したい人が、作る目的と誰のために作りたいかを純粋に維持するためには、汚し続けてもいい・五月蝿くしても気兼ねが要らない創作環境が必要だと感じるここ最近。

充実した道具と綺麗な環境を与えるのは恵まれてる反面、「すごいもの・賢そうなものを創らなきゃいけない」っていう無意識へのハードルを設けてしまうので逆効果かも。 小汚い町工場くらいがちょうどいい。

作ることにファッション感覚の憧れがある人にはスタイリッシュさが響くんだろうけど、実際作ってるとアホなモノや敢えて失敗する試作を気兼ねなく作れる環境のほうが実りが大きい。

ただでさえ、創る行為には不確実性と闘う重荷があるので、精神的なコストは抑えられたほうがいい。

作ってて思うこと

僕が欲しいと思えるものじゃないと買ってもらえるわけがない。
僕が欲しいと思えないものは買ってもらえるわけがない。