僕は発展途上技術者

万華鏡でみるような模様が簡単に描ける Mirror Drawing を Scratch でつくりました

[追記] 最新版はこちら -> https://scratch.mit.edu/projects/117434761/
色もつけられるようにしてみました。

Mirror Drawing というプロジェクトを Scratch でつくってみました。



Scratch 上で60秒間の動画が撮れるようになったので、それを使って撮ってみた動画がこちら↓





こんな感じでマウスで描いた模様が縦横斜めにコピーされるので、適当に描いてもわりと綺麗な模様が描けるというプロジェクトです。

書いたコードは以下の通り。こんな短いコードでできてしまって Scratch やっぱり楽しい。



Scratch 上でいいねされたり、おまけにリミックスもされていて、naritaku くんの作った作品がこちら ↓



分割数が15まで増やせるようになっていて、適当に描いてもこんな万華鏡でみるような模様が描けて楽しい!せっかくなのでこちらもデモ動画をつくってみました。





自分の作品がリミックスされて、さらに面白く楽しいものになっているのを見るのはとても嬉しいですね。
みなさんもぜひいろいろ描いてみてください。

GitHub で日本国憲法を修正してみる - 第9条編

参院選で自民党が圧勝し、改憲の発議が可能になるかもしれないということで、いまのうちに憲法を勉強しようかなと思い立ちました。

もちろんまずは実際に読んでみるがいいのですが、エンジニアとしては、やはり自分なりに修正したくなってしまいます。そこで、ソースコードのように修正履歴を管理できないかなと思って探してみたら、ありました!

日本国憲法 - GitHub Pages

ちなみに、GitHub はプログラムのソースコード管理に使うエンジニアのためのツールですが、データの共有や文書管理にも威力を発揮する便利なツール。ホワイトハウスのアカウントをのぞいてみると、たとえば Petition Signature Form(嘆願書のフォーム)なんかあって、だいぶすすんでる。

The White House

とりあえず、冒頭の日本国憲法のレポジトリを自分のアカウントにフォーク(コピー)してみました。

champierre/NihonkokuKenpo

さて、憲法を読むのは、センター試験で「倫理・政経」を勉強したとき以来ではなかろうか。

普通読まないですよね。。結構長いし。全11章かあ。。

というわけで、とりあえず誰もが知っていて一番みんなが話題にし論争になる第9条から、臆せずとりかかることにします。

第9条は第2章にありました。

NihonkokuKenpo/src/chapter2.markdown

お、第2章には第9条しかない。わずか3行。これは最初にとりかかるにはちょうどいい長さです。

ざっと読んでみると、言い回しが古臭くて読みにくいです。

意味が変わらないように注意しながら、言い回しを変えたり、不要と思える部分を削除します。ソフトウェア開発の世界では、これをリファクタリングと言います。





これでちょっとは読みやすくなりました。

さて、いよいよセンシティブなところに切り込んでみます。

憲法9条第2項ですね。

小学生のときに初めて憲法を勉強し、第9条および自衛隊のことを勉強したとき、こどもながらに「おや?」と思ったことを良く覚えています。「戦争をしない」これはいいことだと思いましたが、「軍隊を持たない」は、え、じゃあ誰か攻めてきたときどうするんだろう?と。でも戦車も戦闘機も持っている自衛隊というものがある、と。。あれ?「軍隊を持たない」って宣言してるんじゃなかったっけ?さらにさらに、向こう側が攻めてこない限り、こちらは攻撃できない、と教わりました。それは、立派なことではあるけれど、こちら側が圧倒的な強さを持っていないとやられてしまうよ、と思いました。

それから大人になった僕は、震災のときなどの災害救助で活躍する自衛隊を見てきましたし、軍隊をまったく持たなくてもいいと潔く言えるほどの勇気は持ちあわせていません。もし家に泥棒が入ってきたら、観念したほうがいいときもあると思うけど、家族に危害が加えられそうなら木刀かゴルフドライバーで応戦するというオプションも持っておきたいです。

というわけで、戦争や侵略のためには使わないけれど、軍隊は持つ、というかすでに自衛隊という軍隊を持っているのでそれと矛盾しないように修正したのがこちらです。



わずか1文字の追加でバグを直してやりました。コードの修正はなるべく少ないほうがいいのはソフトウェアエンジニアには常識です。

国民投票にかけるときは、修正項目ごとに賛成・反対を問うそうなので、これくらい短い修正ならば判断しやすいのではないでしょうか?

というわけでこちらが9条修正に対するプルリクエストです。

Feature/fix 9 jou



だいぶすっきりしました。

コード量減りましたし、長年自分のなかでモヤモヤしていたバグをたった一文字の追加でやっつけてやりました。我ながら渾身のプルリクエストだと思っています。

いいね、と思ったら :+1 やリアクションをお願いしますね。

けしからんといったご批判もあるやもしれませんが、僕の人格を攻撃することなく Issue をオープンするなり対案の Pull Request を送るといった建設的なりアクションをお願いします。

自分だったらどう修正するかなと考えながら憲法を読むのは楽しいですし、とても勉強になるので、みなさんもやってみてはどうでしょう? Git 使ったことないって人には、いい勉強になりますし。

改憲とか重く考えてしまうものですが、もっと気楽にみんなでこうしたらいいんじゃないかとか意見を言い合える方が良いと思います。

また時間あるときに第2章以外もみていきたいと思います。




Raspberry Pi ではじめるどきどきプログラミング 増補改訂第2版が出版されます

共著で書かせていただいた Raspberry Pi ではじめるどきどきプログラミング 増補改訂第2版が 7/15 に出版されるということで、手許に見本紙が届きました。



担当している Scratch と Minecraft Pi でプログラミングの部分と、改訂版でどこが変わったのか、を中心にいくつかアピールポイントを挙げていきたいと思います。


  • ラズベリーパイ3と最新の Raspbian OS に完全対応、インストール方法や操作方法などはもちろん、メニューバーの色がちょっとだけ変わったというような細かな違いも漏らさずスクリーンショットを差し替えています。もし第1版をお持ちであればどこが変わったのかをみつけるのも楽しいかもしれません。

  • 謝辞にも書いていますが、ラズベリーパイをセットアップしていくときの説明写真に登場する手のモデルには、第1版のときとなるべく変わらないもにしたいということで、成長して大きくなってしまった長男の代わりに遺伝子が一番近いだろう次男に登場してもらっています。

  • 僕が担当している Scratch と Minecraft Pi でプログラミングの部分は、他の章に比べると説明やキャプチャの差し替えは少なかったのですが、Scratch と Minecraft Pi をつなげるソフトウェアの Scratch2MCPI を大幅に変更してバージョンアップ、出版とあわせて 2.0.0 をリリースします。

  • その Scratch2MCPI 2.0.0 の大きな目玉は、絶対座標を指定するのでなく、自分の視点でキャラクターを動かしながらブロックを積んでいける Minecraft Graphics Turtle に対応したことです。かねてよりこの対応をすすめてくださっていたなすラボの星野尚さんバージョンの Scratch2MCPI を取り込む形で対応させてもらい、そしてその解説も追記部分として執筆していただきました。

  • 星野さんのタートルグラフィックスに関するコラムは注目だと思いますが、Scratch 2.0 を Raspberry Pi で使えるようにする方法を解説したコラムも要注目です。セットアップ自動化スクリプトも作ってくださり、難しかった手順が格段に簡単になっています。

  • Minecraft Graphics Turtle への対応は、Scratch2MCPI をオープンソースソフトウェアとして公開していたからこそ実現したことだと思います。これは第1版から変更することなく残している部分ですが、オープンソースソフトウェアの意義やマナーを解説したコラムは、僕がかなりこだわりを持って書いた部分のひとつです。こどもたちにオープンソースソフトウェアの素晴らしさが少しでも伝わったらいいなと思います。



  • こんなところでしょうか。。

    お子様がいる方、甥っ子、姪っ子、親戚のなかにプログラミングに興味を持ちそうなこどもがいたら、一冊いかがでしょう?

    夏休みにも間に合ったことですし、自由研究にも良いかもしれません。

    Raspberry Piではじめるどきどきプログラミング増補改訂第2版
    阿部 和広 石原 淳也 塩野 禎隆 星野 尚
    日経BP社
    売り上げランキング: 4,789

プロフィール

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

Raspberry Piではじめる どきどきプログラミングを書きました。

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

Twitter @jishiha

最近のエントリー

アーカイブ