僕は発展途上技術者

Make: Tokyo Meeting 07 に親子で参加してきました

Make: Tokyo Meeting 07 に親子で参加してきました。

名札が3つ。僕とこどもたち二人の分です。

こどもたちは Scratch プログラマーとして、つまり参加と言っても出展側として参加です。MAKER とは、つくる側のひと、世界を少しでも変えられる側、ととらえています。誇らしいバッジです。

MITが開発した教育用プログラミング環境Scratch(スクラッチ)とKinectをつなげた例として10歳長男がつくったKinect Gundamを展示していました。

こどもプログラミングサークル「スクラッチ」のブースと隣接して出展させてもらいました。お馴染みのメンバーでスクラッチ談義。

ペアプロしたり、

黙々と自分の作品に修正いれてたり。

なぜか、登壇させられ、インタビューを受けたりしていました。プログラミングに関して、学校や家庭での創作活動について、とか。

90歳を越える祖母が見に来てくれ、7歳の息子(祖母にとっては曾孫です)からスクラッチとは何かの説明を受けています。学ぶのに年齢は関係ない。

Make は回を追うごとに盛況なようで、訪れる人がとぎれることがなく、出展側だと意外と他のブースを観にいくことができませんでした。

それでもなんとか時間をみつけて別会場のコトリトの皆さんのブースをみてきました。

Android から遠隔操作で鳩に餌やりしたり扇風機まわしたり、ライトをつけてあげたり。

会場をまわってみると、こどもの心をつかむ展示が目白押しです。

心臓を散歩させる次男。うーむ、なかなかシュールです。

ブースを訪れた大人たちの誰もが、「ええ!こどもがプログラミングできちゃうの!」という印象を持ったようです。

僕自身も多少誇張したものいいをしたり、このブログの書き方もそうですが、プログラムができる特殊能力をもった少年達みたいな扱いをしてしまって、見世物になってしまいそうになるのを反省するときも多々あります。

しかし、本質はそこじゃないんだということに、Makeおよびこどもプログラミングサークルスクラッチの感想を書いてくださっている以下のブログエントリーを読んで、気付かされました。

「子供にプログラムを教える意味はあるのか」という疑問に対して、それを将来の技術者の養成ではなく、「学習方法の獲得機会である」と説明するのがうろ覚えながらパパートの説いたことだったように思います。このサークルがどのような方針なのか私には知るよしもありませんが、指導者である大人たちが、子供たちに「プログラミングの仕方だけ教えればいい」と考えているわけではないことはよくわかりました。彼らはMTMに子供たちをつれてきて、そこで、知らない人に技術や活動の説明をするという経験を積ませています

» 天才少年発見 #mtm07 - 脇見運転

見ず知らずの大人に話しかけ、上手に説明していることに驚かれているようですが、もちろん彼らも始めからそんなにうまくできたわけではありません。「なにやってるんだろう?と眺めている人がいたら、こっちから話しかけるんだよ」というアドバイスをMake初日にもらったのかもしれないし、そうやって話しかけるまわりの大人かおなじメンバーのこどもをみて真似しようと思ったのかもしれません。とにかくそういう場数を踏んでいくことで、さまざまなことを学んでいるのです。

だから、たとえばフリーマーケットに参加してものを売るというのでもいいのです。そういう学習のきっかけを数多く体験することが大切なんだと思います。

OtOMO(旧 こどもプログラミングサークルスクラッチ)がその大切な機会のひとつになっていることは確かだし、Makeに参加したことは、こどもにも僕にとっても貴重な体験となりました。

次回のMakeも必ず出展することを固く決意しました。

Tintin はタンタンです、ティンティンではありません

僕は2歳から7歳までフランスに住んでいました。

幼稚園と小学校は現地校に通っていました。

Les Aventures de Tintin(タンタンの冒険旅行)は僕の愛読書で、タンタンは僕のヒーローでした。

スピルバーグ監督でCGで蘇ると聞いてとてもうれしいです。絶対に観に行くと思います。

でもひとつだけ言わせてください。

Tintin はタンタンです、ティンティンではありません。

tin はフランス語ではタンという読み方以外ありえないです。

そして Les Aventures de Tintin はベルギーの漫画家 Hergé の作品です。(タンタンの冒険旅行 - Wikipedia)

アメリカ人はなんで名前を英語風に変えちゃうかなあ。。

その点、ちゃんと「タンタン」と表記している日本はえらいと思います、いや、まあ当然です。

フランス語の予告編ではちゃんと「タンタン」と言ってます。

» Bande-annonce Les Aventures de Tintin : Le Secret de la Licorne - Les Aventures de Tintin : Le Secret de la Licorne Bande-annonce VF - AlloCiné

何度か言っているのですが、一番わかりやすいのは予告編本編の開始直後、めがねをかけたおじさんが C'est Tintin と言っているところ (0:05)

こちら英語の予告編。


中程でハドック船長と握手するときの台詞、I'm Tintin, by the way。「ティンティン」じゃねえ!!!!!!

Mac のハードディスクの空き容量を増やすためにやったこと

まず

% sudo du -h -x -d 1 /


これでたとえば、/usr がたくさん容量を食っているなあ、とわかったら、

% sudo du -h -x -d 1 /usr

というようにして、下層のフォルダの容量を次々と調べていきます。

iPhone アプリの開発と MySQL を DB としている Web アプリの開発をおこなっている僕の場合、浮かび上がってきた犯人は、つぎの3つのフォルダでした。

  • ~/Library/Developer/Xcode/Archives
  • ~/Library/Developer/Xcode/DerivedData
  • /usr/local/mysql/data
  • ~/Library/Developer/Xcode/iOS DeviceSupport (2018/3/23追記)

~/Library/Developer/Xcode/Archives 以下にあるファイルは、 iPhone アプリを開発していて Adhoc 版や製品版のアーカイブをつくったときに生成されたファイルです。Xcode の Organizer の Archives から一個一個削除できるのですが、かったるかったので、ターミナルから rm -rf で古いものを削除しました。

~/Library/Developer/Xcode/DerivedData 以下にできていたのは、同じく iPhone アプリをビルドしたときに生成される中間ファイルです。


を読むと、中間ファイルが残っていないビルドはデバッグできなくなるようなことが書いてあったので、App Store にリリースしているビルドの DerivedData は残し、それ以外を削除しました。こちらは安全を期して Organizer からひとつずつ削除していきました。

/usr/local/mysql/data には、MySQL のバイナリログが溜まっていました。



» MySQLでバイナリログを定期的に削除するmy.cnfの設定(expire_logs_days) - ドラあり!*ドラゴンに挑むアリの物語 ** Python使いの日々

を参考に、my.cnf に

expire_logs_days = 5

と設定して、mysql を再起動したところ、だいぶ容量が減りました。

これらの対処法に加えいくつか不要なファイルなどを削除していって、20GB 近く空き容量を増やすことができました。

Make: Tokyo Meeting 07 出展: スクラッチを使えばこどもでも Kinect を使ったプログラミングができる

12月3日(土)、4日(日)、東京工業大学で開催される、Make: Tokyo Meeting 07 (MTM07) に親子で出展します。

教育用プログラミング言語の Scratch でこどもたちがつくった作品(長男小4、次男小1)を展示します。

たとえば長男が作った Kinect Gundam、Kinect の前で自分が取ったポーズの通りにガンダムを動かします。脚を上げるとちゃんと「グワシーーン」という効果音が。PC が非力で多少処理落ちしてしまってカクカクしていますが、雰囲気は伝わるかと思います。




場所は、体育館内、こどもプログラミングサークル「スクラッチ」の方々が集まるスクラッチ島の一角です。

スクラッチ島では他にもスクラッチに関わる様々な展示やプレゼンテーション、ワークショップもあるので、スクラッチをやってみたいという方は、この機会に訪れてみてはいかがでしょうか?

以下はプログラミングサークル「スクラッチ」からの案内です。



» Make: Tokyo Meeting 07 出展のご案内 « こどもプログラミングサークル‘スクラッチ’

Ruby 製 CMS Lokka を動かす一番簡単な方法 - Lokka on fluxflex

いままで Lokka を動かすのに Heroku を使うのが一番簡単な方法だと思っていましたが、クラウド・ホスティング・プラットフォームの


を使えばあっという間でした。

以下、手順を紹介します。

fluxflex のサイトを訪れ、ログインします。Twitter や Facebook アカウントでログインできるのでユーザー登録さえ不要です。



fluxflex

最初から用意されている sandbox プロジェクトを使ってもいいですし、Create A New Project で新しいプロジェクトを作るのでも OK。[プロジェクト名].fluxflex.com という URL が割り当てられます。
 


fluxflex

プロジェクトの個別ページに移動し、メニューの Setup を選びます。




fluxflex

画面をスクロールさせて、下の方に位置する Lokka の Install ボタンをクリックします。



fluxflex

Importing という表示とともにオレンジ色の矢印アイコンが回り、約1、2分で Available という表示に変わったら完了です。http://[プロジェクト名].fluxflex.com にアクセスすれば以下の通り Lokka の画面が表示されるはずです。

Test Site

エラーがでる場合

最初に試した時、Lokka の画面が開かずエラー画面が表示されてしまいました。その場合は、右上の Deploy のボタンを押し、Request to clear repository and setup. にチェックを入れて Deploy をおこなうと、初期化をもう一度やり直すことができます。






fluxflex

fluxflex の課金プランをみると 3 プロジェクトまでは無料、15 プロジェクトまでの standard が $1.0/月、100 プロジェクトまでの super geek が $9.0/月 と Heroku に比べてとてもリーズナブルなので、Lokka のサイトを置く時には今後使ってみようと思っています。

Windows XP 環境で Scratch(スクラッチ)と Kinect(キネクト)センサーをつなげる

Scratch(スクラッチ)と Kinect(キネクト)センサーをつなげるととても楽しい。

どんな楽しいことができるかは、貼りつけた以下の動画を見てもらえばわかると思います。



Scratch and Kinect from Stephen Howell on Vimeo.

つなげるための準備が、情報が少し古いのと英語中心というのもあって、わかりにくかったので整理して紹介したいと思います。

また、紹介するのは Windows XP 環境上での方法です。Mac OS 上でセットアップする方法はまだ情報がありませんでした。Windows 7 上ですと、Windows XP よりも楽にセットアップできるようです。(下記リンク先参照)

≫ Kinect 2 Scratch | Free software for hooking Scratch up to Kinect


1. Kinect を用意する

まず言わずもがなかもしれませんが、準備するものとして Kinect センサーが必要です。

Xbox はなくてもセンサーだけ購入可能です。僕は Amazon で買いました。

Xbox 360 Kinect センサー
Xbox 360 Kinect センサー
posted with amazlet at 11.10.20
マイクロソフト (2010-11-20)
売り上げランキング: 201



Kinect と Scratch をつなげるには、OpenNI2Scratch というプログラムを使うのですが、これを動かすためには、いくつかのミドルウェアやドライバをインストールする必要があります。

2. OpenNI をインストールする

OpenNI のホームページ http://www.openni.org/ に行き、上部のメニューより Downloads > OpenNI Modules を選びます。

以下のように OpenNI Binaries、Unstable、OpenNI Unstable Build for Windows x86(32-bit) v1.3.4.3 Development Edition を選択しダウンロードした OpenNI をインストールします。



OpenNI - OpenNI > Downloads > OpenNI Modules

3. Kinect sensor plugin をインストールする

https://github.com/avin2/SensorKinect/tree/unstable/Bin より SensorKinect-Win-OpenSource32-5.0.3.4.msi をダウンロード、インストールします。

4. NITE をインストールする



http://kinmob.googlecode.com/files/NITE-Win32-1.3.0.17.exe
 をダウンロード、インストールします。

インストール途中でライセンスキーを聞かれるので



0KOIk2JeIBYClPWVnMoRKn5cdY4=

を入力します。

5. OpenNI2Scratch をインストールする

OpenNI2Scratch をダウンロード、インストールします。

6. Kinect をつなげる

ここまで準備ができたら、Kinect を Windows XP マシンにつなげてみます。

USB ケーブルを接続し、Kinect Motor、Kinect Motor、Kinect Audio といったドライバが順次インストールされれば成功です。

7. OpenNI2Scratch を起動する

最後のステップです。

OpenNI2Scratch(ファイル名は OpenNI2ScratchGUI7.exe)を起動します。

ここまでの手順がすべてうまくいっていたら下のような画面が表示されるので、Launch Kinect のボタンをクリックします。



プレビュー



Kinect found - please stand in the calibration pose というメッセージが現れたら、calibration ポーズをセンサーの前でとって下さい。

Calibration complete, tracking user now と出たら成功です。

Scratch を起動し、Kinect とつなげて遊べる Scratch のサンプルプロジェクト(http://scratch.mit.edu/users/SHowell)の中から一つを選んで開いたら、Connect to Scratch ボタンをクリックします。


以上、結構煩雑なのですが、ひとつひとつ確実にやっていけばうまくいくと思います。

情報が更新されて、リンクが切れたりしてしまっている場合は、以下の情報元をたどっていけば新しい情報が得られるかもしれません。




≫ Stephen Howell's Mind



≫ Scratch Forums / Scratch and the Kinect

ssh 接続やリモートホストと何らかのやり取りをおこなおうとして POSSIBLE DNS SPOOFING DETECTED! というエラーが出てしまった時の対処方法

% ssh example.com


といった ssh 接続やリモートホストと何らかのやり取り、たとえば git pull といった git コマンドを実行しようとして、



@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: POSSIBLE DNS SPOOFING DETECTED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The RSA host key for example.com has changed,
and the key for the corresponding IP address 1.2.3.4
is unknown. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.


といったエラーメッセージがでてしまった時の対処方法をメモしておきます。



サーバーの移行などでリモートのホストの IP アドレスが変わったようなときに発生します。



ホームディレクトリ以下の .ssh ディレクトリに移動し、 known_hosts というファイルを開きます。



example.com で始まる一行(長いのでエディタによっては 何行にも渡って表示されてしまう可能性はありますが、example.com~ で始まって改行で終わる一行という意味です)を削除してください。



その上で、



% ssh kodomo@kodomo-kenkou.com


を実行します。



The authenticity of host 'example.com (1.2.3.4)' can't be established. RSA key fingerprint is aa:bb:cc:dd:ee:ff:11:22:33:44:55:66:77:88:99:00. Are you sure you want to continue connecting (yes/no)?


のような接続の確認を求めるメッセージが表示されるので、yes と答えて下さい。



上記の一連の操作は最初の一回だけで、以降は必要ないのでご安心ください。

c2dm_on_rails gem を利用する rails プロジェクトのサンプル

c2dm_on_rails という gem を利用する rails プロジェクトのサンプルを頼まれて作りました。

せっかくなので公開しておきます。



ブログを WordPress から Lokka に移行しました

記念すべき Lokka からの第一回目の投稿です。 

ようやくこのブログを WordPress から Lokka に移行できました。 

今までの手順の詳細は文末のリンクをたどってもらうとして、ざっくりと移行した手順を書き出してみます。

  1. 素の Lokka が動く環境を用意します。方法は Getting Started - Lokka などを見て参考にしてください。僕はいつも通り Heroku に用意しました。
  2. WordPress のエクスポート機能を利用し、WordPress eXtended RSS と呼ばれる xml ファイルにエクスポートします。僕が使っていた WordPress は古いバージョン(ME2.0.5)でエクスポート機能がついていなかったのですが、ローカルに最新の WordPress 3.2.1 を用意し、そこに mysql のダンプ/リストアでブログのデータを流し込んだところ、自動的にデータ構造がアップグレードされ、エクスポートできるようになりました。
  3. Lokka のインポート機能を使い xml ファイルをインポートします。
  4. 画像などのメディアファイルを WordPress から Lokka に移動します。
  5. lokka-redirect プラグインをインストールし、WordPress 形式の URL を Lokka 形式の URL にリダイレクトするようにします。
  6. 他に必要なプラグインをインストールします。インストールしたプラグインは、lokka-facebook_like_buttonlokka-hatena_bookmark_buttonlokka-redirect_if_herokulokka-tweet_button です。
  7. Heroku の Add-On、Custom Domains でブログのアドレス blog.champierre.com を登録します。
  8. DNS を書き換えて blog.champierre.com へのアクセスが champierre.heroku.com に向くようにします。

一晩経ち DNS が書き換わったのが反映されて、めでたく移行完了です。

今 Lokka から投稿していて何だかうれしいというか安心した気持ちになります。

この安心感は、普段 Ruby を使っているから、Ruby でできている Lokka なら問題が起こっても自分で直せるし、「こんな機能が欲しいなあ」というときに自分でプラグインを作って欲しい機能を簡単に追加できると思えるところから来ているのだと思います。

Lokka はまだまだ荒削りなので、万人におすすめ、というわけではありませんが、僕のようにいつも Ruby を使っているという人だったら WordPress からの移行を考えてもいいと思います。

自分のブログが Lokka になったというのはデカイです。細かくいろんな機能が欲しくなってきました。Lokkathon に参加して、プラグインを作ったり、Lokka 本体へのパッチを送ったりと、引き続き Lokka を応援していきたいと思います。


参考エントリ

WordPress のブログを Lokka に移行(第3部) - Redirect プラグインを作りました

» Lokkathon #11 : ATND


に参加してきました。WordPress で書かれているこのブログを Lokka に移行するプロジェクトの3回目。


これまでやったことは、


» WordPress のブログを Lokka に移行しようとしています(まだ途中) : 僕は発展途上技術者


» WordPress のブログを Lokka に移行(第2部) : 僕は発展途上技術者


に書いています。


今回やりたかったことは WordPress スタイルの URL を Lokka スタイルの URL にリダイレクトすること。たとえばこのブログだと、今月のエントリーが見られる


http://blog.champierre.com/archives/date/2011/09/


という URL は Lokka 移行後は


http://blog.champierre.com/2011/09/


というスタイルの URL にリダイレクトしたい。


正規表現でリダイレクトのルールを作成すれば、その通りリダイレクトされるプラグインを作成することにしました。


lokka-redirect プラグイン


今回も @komagata さんにいろいろ聞いて、相当助けてもらいました。


当たり前ですが、Lokka を開発している本人に聞けばほとんどのことは解決、Lokkathon に参加することでかなり捗りました。


» champierre/lokka-redirect - GitHub


からインストールできます。


redirect プラグインの管理画面で以下のようにルールを設定すれば、WordPress スタイルの URL を Lokka スタイルの URL にリダイレクトしてくれます。


僕は発展途上技術者 - Lokka

次回 Lokkathon


次回 Lokkathon は 10/5(水曜日)。


» Lokkathon #12 : ATND


準備はひと通り整った感じなので、いよいよこのブログを Lokka に移行する日が来ました。


次のエントリーはもしかしたら、Lokka からかもしれません。楽しみです。


プロフィール

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

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

オンラインコンテンツ: 大人のためのScratch

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

Email: webmaster at champierre dot com

Twitter @jishiha

最近のエントリー

アーカイブ