道草道

大崎上島での移住の記録(2016年4月~):子育て・古民家改造・裏山開拓・造船所・たまにプログラミング

島のプログラミング教室 子供用プログラミング言語Scrachを試してみた

ぼちぼちとScrachを試してみることしました。

 

RaspberryPiでも、さくさくと動きます。

f:id:legacyCode:20160902213103j:plain

ちなみに画面は8インチ。

小さいかと思いましたが、思ったよりも、使える感じ。

 

この本を参考書にしています。

Raspberry Piではじめるどきどきプログラミング増補改訂第2版

Raspberry Piではじめるどきどきプログラミング増補改訂第2版

 

 

 RaspberryPiのインストール方法から、アプリケーションのインストール方法、日本語入力の方法。

Scrachを使うまでの設定も結構詳しく書かれています。

 

Scrachでは、プログラミングをする際に、ブロックのような部品をくっつけていきます。

普通のプログラミング言語と比べて、直感的にプログラムが組めます。

 

なので、子供向けのプログラミング教室でよく使われています。

 

プログラムはこんな感じで組んでいきます。

あらかじめ使うブロックが用意されています。

f:id:legacyCode:20160902214301j:plain

このプログラムで猫にいろいろと動作をさせたり出来ます。

f:id:legacyCode:20160902214418j:plain

今日は、ねこが行ったり、来たりさせました。

よくできているなぁと、思います。

 

簡単にプログラミングできとはいえ、子供に教える視点でやってみるといろいろ問題を発見。

 

まず、漢字。

まだ、幼稚園の家の息子達には、少し難しいかも。

 

マウスのクリック、ドラックアンドドロップ、キーボードからの入力。

 

子供にさせようと思うと、なかなか、大変かもしれないと思います。

 

まあ、やってみないと分からないですが、では、今日はこの辺で。

島のプログラミング教室 ラズベリーパイでTV出力

大島上島で来年ぐらいから開始予定のプログラミング教室の準備をしています。

 

今日は、ラズベリーパイPCを家のTVに出力してみました。

f:id:legacyCode:20160831204605j:plain

特別な設定をしなくても、TVがHDMIに対応していればケーブルを差すだけで簡単に映ります。

 

昨日の8インチのミニ画面と打って変わって、今日は特大画面でブログを書いています。

 

このプログラミング教室ではラズベリーパイを使う予定ですが、その理由を少し書いておきます。

 

プログラミングをしようと思うと、PCがどうしても必要になります。

その場合、子供にWindowsMacを買うのはもったいないと、僕は思っています。

親のPCを使えば良いかというと、子供はワケも分からず触るので変な設定になってしまう可能性が高い。

 

それ以上に、その子専用のPCを持たせてあげることが、なんか、大事な気がしています。

 

で、ラズベリーパイなら基板だけなら3000円くらいで買えるので子供専用PCを持たせることが容易ではないかな?

と思っています。

 

家のTVがモニターとして使えれば、ラズベリーパイ、マウス、キーボード、SDカード、コンセントを買ってもらえれば、いいだけなので、そんなに負担なく子供用PCを準備できるのではないかな?と思っています。

 

後、ラズベリーパイで使うOSは、簡素なLinuxで、なんでもかんでも最初から出来る感じではないです。

インターネットでちょっと調べればいろいろと機能を足すことは出きるのですが、最初からはいろいろできない。

(それでも一昔前のLinuxに比べれば全然使いやすいのですが)

なんか全てを最初から与えるのではなくて、自分が何かしたいと思った段階で、自分で調べて、機能を追加しなければいけない不便さが、いいんじゃないかなぁと思っています。

 

今は、仮説の状態なので、子供の反応をみながら考えようと思っています。

 

とりあえず、我が子で実験ですね。

島のプログラミング教室 ラズベリーパイでどこまで出来る?

島のプログラミング教室で使う予定のラズベリーパイと仲良くなるべく、日常使いのPCをラズベリーパイにしてみました。

f:id:legacyCode:20160830213843j:plain

右のマウスの上にあるの透明の箱がラズベリーパイ

ラズベリーパイとは、簡単に言うと小さいPC。

Raspberry Pi - Wikipedia

 

このブログもラズベリーパイで書いています。

Windowではなく、LinuxというOSで動かしています。

 

うちの息子が使うことを想定して、子供仕様にしてみました。

 

キーボード、マウスも超小型をチョイス。

画面も8インチの小型。

画面に関しては、もう少し大きい方が良いかもしれない。

 

ちなみに、このPCのお値段は、

ラズベリーパイ(ケース付き)6000円

キーボードとマウス、2000円くらい。

モニター 8インチ 6000円

 

ラズベリーパイ3では、無線LANも標準搭載でネットにも楽々接続です。

 

このラズベリーパイPCとゲームを作るためのソフトScrachで遊びながらプログラミングを学んでいく予定。

Scratch (プログラミング言語) - Wikipedia

 

とりあえず、次回からScrachで、遊んでみたいと思います。

大崎上島日記 DIYな日々スタート

夏の間に大工さんに来てもらって、床の下や屋根など、素人にはハードルが高い部分は直してもらった我が家。

 

後は、自分達でぼちぼちと直していくことに。

f:id:legacyCode:20160828204942j:plain

マスクにゴーグルでフル装備。

 

長い間、開かずの間になっていた、奥の部屋の壁の張替をすることにしました。

f:id:legacyCode:20160828205055j:plain

気合だけは十分のおとうと君。。

f:id:legacyCode:20160828205250j:plain

壁のもろもろになっている、表面を剥いでいきます。

f:id:legacyCode:20160828205404j:plain

格闘すること半日。

f:id:legacyCode:20160828205519j:plain

凄まじい砂埃・・・。

どうになかなるのか、これは・・・。

呆然と、壁を見つめる、にぃに。

 

とりあえず、この日の作業は終了。

 

次の朝ご飯を食べて、作業の続き。

この日の御飯の準備は、にぃにとおとうと君。

 

おとうと君は、パンを焼く係の様子。

f:id:legacyCode:20160828205624j:plain

さて、朝ご飯を食べて、壁の続き。

生まれて初めての、漆喰を塗ってみることに。

f:id:legacyCode:20160828205909j:plain

漆喰塗は、子供達には、若干難しかったですが、ちゃんと混ぜられてなくて、底に粉が固まっていたというアクシデントはあったものの、まあまあ、順調に進みました。

 

しかし、途中で、漆喰がなくなった。。。。

f:id:legacyCode:20160828210018j:plain

なかなか、ひどい仕上がり。

 

この後、ネットで漆喰の塗り方を調べてみると、下地材を塗って置くと、土壁がここまでボロボロと落ちてこないことが判明。

次回は、下地材を塗ってから、やろう。

 

少しづつ賢くなっていきます。

 

夕方から網戸の修理。

 

なんでも、やりたがる子供達。

はさみも、ドライバーも、随分と器用に使えるようになりました。

f:id:legacyCode:20160828210138j:plain

遊び遊びだから、作業がなかなか進まない。

ここは、がまんがまん、待つのがパパの仕事かもしれない。

 

しかし、昔の家はホントに自然素材で出来ていますね。

基本的に木と土、壊せそのまま自然に戻りそうです。

 

夏も終わり涼しくなってきました。

冬に向けて、本格的なDIYな日々がスタートです。

f:id:legacyCode:20160828210738j:plain

大崎上島日記 場所が変わっても、困っていることは同じ気がする

大崎上島に移住して、島の造船所で働いています。

 

以前の会社ではプログラマーをしていましたが、なんか、場所が変わっても困っていることが同じ気がしています。

 

それは、人が足りていない

 

じゃあ、人をいれればいいのでは?

と、思いますが、いろいろと業界の特殊な知識が必要で、なかなか適した人がいない。

 

現在のメンバーは、今の仕事を回すのが精一杯で、新しい人を育てる余力がない。

かと言って、即戦力になれるような人材は、なかなか見つからない。

 

人とを育てないといけないと思っているうちに、メンバーが年をとり、辞めていく。

 

そうすると、ますます、仕事が忙しくなり、新しい人を入れる余力がなくなり、どんどん、悪循環に陥っていく。

 

よく、自分がもう一人欲しいという人がいますが、そんな都合のよい人は存在しない。

 

自分が今の仕事を出来るようになるまで、どれだけ経験が必要だったかを考えれば、そんな自分のコピーを簡単に作れないことは、すぐに分かると思います。

 

やるべきことは、自分の仕事を理解して、細かいプロセスに分けていくこと・

その細かく分けた仕事を、新しい人に分け与えていく準備をする。

 

大きなまとまりでみると難しい仕事も、本当は、小さなプロセスの集合体が大きな仕事になるので、小さなプロセスに落とし込むことに成功すれば、新しい人に分けられる仕事も結構あります。

 

 

このプロセスを解析するためのPFDという手法は、造船でも有効だと思うのですが、いかんせん、造船のプロセスの全体像が、いまだに見えない。

 

でも、だんだんと部分的に見えてきているので、

後、半年くらいすれば、何か見えてくるかな??

という気がします。

大崎上島日記 脳トレな日々 パズル能力が超レベルアップしている気がする

造船所で働き始めて、5ヵ月。

最近、ず~っと、格闘していた仕事が形になってきました。

f:id:legacyCode:20160822211720j:plain

格闘していた相手は、トイレの汚水管。

写真で見ると別に難しくなさそうですが、船の現物がない図面の状態で、配管ラインを決めるのは結構大変なんですよね。

f:id:legacyCode:20160822211954j:plain

船は曲線だらけだし、補強のための柱とか構造がたくさんあるし、他の配管もあるし、一番めんどくさいのはトイレの配管は勾配をつけないといけない。

今回は傾斜を十分とるほど、高さがなくて、本当に大変でした。

f:id:legacyCode:20160822212252j:plain

でも、自分が書いた図面が、職人さんの手によって、実物になって、おお!こんな風になるんだと、ちょっと感動です。

いやー、すごいですね。

こんな鉄の塊が、計画通りに組みあがっていく。

 

まだ、船の本体を設計する能力はないので、配管の図面を書いたり、こんな感じの台の図面を書いたりしています。

f:id:legacyCode:20160822212620j:plain

これも簡単そうに見えますが、船の底は曲線なので、それに合うような台を作ろうと思うと、2次元の図面とにらめっこしながら、いろいろな断面で不整合が起きないか検討して、あっちから見たり、こっちから見たり、本当にリアル脳トレな日々です。

 

毎日、毎日、本当に脳みそを超鍛えていますよ~。^^

大崎上島日記 島のプログラミング教室を開講します 2017年4月予定

今日、本の整理をしていたら、プログラミング関係の本がわんさか出てきました。

f:id:legacyCode:20160821222210j:plain

数えてみたら、92冊・・・。

読もうと思って読んでいない本や、何度も読み込んだ本までいろいろです。

ジャンル的には、TDD、リファクタリングオブジェクト指向関係、要件定義などが多い気がします。

 

この本達を眺めていて、どうしたもんかなぁ?

と一日考えていました。

捨ててしまうのも、なんだかなぁ・・・。

 

それで決めました、前から思っていたのですが、島でプログラミング教室をやってみたいと思います。

 

開始目標は来年2017年4月です。

造船所の仕事はそのままで、仕事が休みの土曜日に教室をする予定です。

 

もともと、子供達には早い段階でプログラミンで遊ばそうと思っていたので、誰も興味を示してくれない場合は、うちの子二人だけでもいいかな、と思っています。

 

島のプログラミング教室の内容

 

教室としましたが、プログラミングは習うものではないと思っています。

プログラミング言語をある程度覚える必要はありますが、後は、スポーツや楽器と同じで、実際に書いて動かして覚えていくものだと思っているからです。

 

なので、教わる場ではなくて、プログラミングを練習する場を提供する感じを想定しています。

遊びの延長上で、いろいろなものを試して動かして、もし望むのならソフトウェア開発の入り口まで連れて行ってあげられるような場を提供できればと思っています。

 

場所

 

僕の自宅 大崎上島 沖浦

人が集まらなくても、ここ以外では考えていません。

 

詳細

 

初級編

 

ラズベリーパイとスクラッチを使って、自分でゲームを作って遊ぶ。

 

中級編

 

プログラミング言語を使って、ハードウェアを制御してみたり、Webページを作ってみたりする。

まだ、ぼんやりとしていますが。

 

上級編

 

センサー、制御系、Webを使って、実際に動くシステムを作ってみる。

 

例えば

・鳥小屋観察

 鳥小屋にWebカメラを設置して、スマホなどから鳥小屋の観察をする

・イノシシ撃退

 山にWebカメラと、BB弾の鉄砲を設置して、イノシシが来た時に、スマホからイノシシが見えたらBB弾を発射する。(スピーカーにして警告音にしてもいいかもしれない)

 

※ちなみに、これらのシステムは、なんとなく出来そうな気はしていますが、現時点では出来そうだと思っているだけで実際には作ってはいません。

 

応用編

 

実際の仕事を取ってきて、システムを作ってみる。

儲けたお金は作ったメンバーで分ける。

これに関しては、未知の領域。

出来れば面白そうと思っています。

上級編まで、出来るメンバーがそろえば十分可能だと思っています。

そうなった時に、考えます。

 

料金

本当は、物々交換が理想。

今日釣れた魚と交換とか、野菜と交換とか、壁の修理と交換とか、草むしり2時間と交換とか、ふすまの張替と交換とか。

検討中です。

 

 

講師について(僕の経歴など)

京都のメーカーで、社内の工場で使うソフトウェアを作っていました。

比較的小規模なソフト開発が主で、大規模ソフトの開発の経験はなし。

専門は組込みと呼ばれる分野で、プログラミング言語はC、C++言語。

 

Webプログラミングに関しては、海外青年協力隊時に、コンピュータ学校でPHPを教えていたり、大崎上島に来る前に、TECH::CAMPで、Rubyを学んで、一通りの知識はありますが、プロとして通用するほどのレベルではない。

tech-camp.in

 

専門分野の話になりますが、リファクタリングとTDDに関しては、それなりに頑張って取り組んだので、ある程度の知識はあると思います。

legacycode.hatenablog.com

 

以下の、SQiP研究会の成果報告で第6分科会「派生開発」
「派生開発の現場で秩序あるファクタリングを実施する方法」

が、去年取り組んだテーマです。 

juse.or.jp

 

余談ですが、もともと、このブログもリファクタリングの専門家になろうと思って立ち上げたブログです。なので、ブログのURLがlegacycodeになっています。

 

ソフトウェア開発を辞めた理由

プログラミング教室をするくらいなら、プログラマーとしてやればいいのにと思う人もいると思います。

それで、ソフトウェア開発を辞めた理由も書いておきます。

 

一言でいうと、プログラミングに一生を捧げることは出来ないと思ったからです。

 

12年間、プログラミングをしてきて、動くソフト、要求を満たすソフトは、ある程度、作れるようになったと思います。

プログラミングのレベルは、達人の域には程遠いですが、社内では通用したし、社外でも程度は通用したと思います。

 

ただ、12年間、一度も納得いくプログラムを書くことはできませんでした。

 

プログラムを書くことは、奥が深くて、やればやるほど、先が見えない気がしました。

僕くらいの普通の人には、一生かけないと、いや、一生かけても納得のいくコードは書けないのかもしれないと思います。

 

ただ、納得いくコードが書ける書けないが問題ではなくて、そこまでプログラミングに、全てを捧げたいかと考えると、答えはNoでした。

 

ソフト以外のハードにも興味があるし、木工も面白いし、家の改造にも興味があるし。

 

それで、今は、大崎上島で出会った船を作るという仕事をしています。

今、38歳です。

船の仕事も奥が深いといいます。

きっと、極めるところまではいかないでしょう。

でも、それでもいいのです。

 

結局、極めるタイプではないのかもしれませんね。

 

最後に

 

ここまで、長々とした話にお付き合いありがとうございます。

結局、面白いことをしたい、それだけなのかもしれないとも思います。

前の会社の社是が『おもしろ おかしく』でした。

この言葉とても好きです。