道草道

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

AIによって最初に職を奪われるのはプログラマーでなないかな?

AI(人工知能)が発達することによって、既存の職業の47%が仕事がとって変わられるなど言われています。

 

機械・人工知能・AIが奪う、なくなる職業・仕事のランキング| IDEASITY

 

前々から思っていたのですが、AIが発達することによって最初に取って代わられるのはプログラマーではないか?と思っていたのですが、ググってみると、同じような意見を発見。

【91】AIが最初に職を奪うのはプログラマー:守銭奴エンジニアが考えていること:エンジニアライフ

 

今は機械に命令するためにプログラムを書きますが、賢いAIがいればプログラムを書く必要はなくなるのではないのかな?なんて気がします。

 

したいことをAIに伝えたら、AIがそれを実行してくれる。

プログラムを書くべきところは、AIに伝えればいいだけになる。

 

同じようにCADオペレータやイラストソフトを使うだけの人も必要なくなる気がします。

 

ただ、問題はAIがどの程度の値段で提供されるかでしょうね。

 

もし、今、iPhoneなどに標準で付いている、SiriのようにOSに標準搭載されるようなれば、本当にプログラマはいらなくなる気がします。

 

使用料が高価なら、きっと、プログラマは、まだ、必要とされると思います。

 

そう思うと、今後、必要なIT技術って何なんだろうな?

なんてことを思います。

 

もし、仮に安価で賢いIAが普及した場合、これまでパソコンが使えないという理由で引退していたベテランが復活したりすることもあるのではないかと思ったります。

 

まあ、今は牡蠣とエビの養殖をしていて、プログラムを書くこともないですが・・・。

 

もともと、人工知能に興味があってプログラムの世界に入ったので、人工知能に関しては、これから、どうなるのだろうか?と興味深げに眺めています。

島のプログラミング教室 モニターパワーアップ!

今日、農協のビンゴ大会にて、にぃにが19インチのアクオスをGET!

 

あまり、テレビを見ない我が家なので、ラズベリーパイのモニターとして使わせてもらうことに。

f:id:legacyCode:20160918213907j:plain

 やっぱり、大きい画面はいいわ~。

 

どんなものかと思って8インチの画面で暫くがんばっていましたが、GUIで操作しようと思うと、8インチはやっぱりシンドイです。

 

ただ、ラズベリーパイの場合、解像度の変更が、Windowsと違って一手間必要なのでメモしておきます。

 

ラズベリーパイでの解像度の変更方法

 

Windowsのように、右クリックで簡単に変えられればいいのですが、ちょっと面倒くさいです。

 

ただ、Googleで調べるとたくさん情報は出てくるので、そこまで、大変ではないですが。

 

このページを参考にして変更しました。

blog.livedoor.jp

 

/boot/config.txt

にある、

 

#hdmi_mode=1

を、

 

hdmi_mode=31

に変更すれば、1200X700の解像度に出きるらしいことが分かりました。

 

ただ、ここで問題が。。。。

 

ラズベリーパイで動かしているOSがLinuxのため、Windowsにはない、権限の問題があり、普通にconfig.txtをダブルクリックしても、ファイルを変更することが出来ません。

 

仕方ないので、Googleで調べてみることに。

 

だいたい、どのページでも、viかvimというエディタを使って管理者権限で変更しているようですが、viもvimもキャラクターベースのエディタなので使い方が面倒くさい。。。

 

調べれば使えると思うのですが、標準で装備していている、LeafPadと言うテキストエディタを使うことにしました。

 

フォルダから、config.txtを普通にダブルクリックするとユーザー権限で起動してしまうので編集できません。

なので、コマンドラインから、

 

sudo leafpad /boot/config.txt

 

で、実行すると、管理者権限でファイルを編集すことが出来ます。

 

これで、無事、config.txtの変更が完了し、再起動後、解像度を変更することが出来ました。

 

今後、ラズベリーパイを使っていくなら、ViかVimの使い方を習得しておいた方が楽そうですね。

島のプログラミング教室 ラズベリーパイで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で、遊んでみたいと思います。

大崎上島日記 島のプログラミング教室を開講します 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歳です。

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

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

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

 

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

 

最後に

 

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

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

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

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

父親の育児日記 子供用パソコンにはラズベリーパイがお勧め

ラズベリーパイとは、ちっちゃなパソコンのことです。

見た目はこんな感じ。

この真ん中の透明の箱の中の緑の基板が本体。

f:id:legacyCode:20160501061739j:plain

 詳しくは、こちらで。

Raspberry Pi - Wikipedia

 

子供がゲームで遊ぶことを覚える前に、ゲームを自分で作ることを教えようと企んでいます。

ゲーム代高いですしね。

 

パソコンを子供に与えようとすると、中古で安く買っても2万円くらいします。

 

しかし、このラズベリーパイは、なんと、

3000円です。

僕が買ったのは、ケース付きなので、7000円弱ですが。

 

ただ、これは本体だけなので実際に使うためには、

キーボード、マウス、モニター(TVでOK)、SDカードを用意する必要があります。

qiita.com

 

起動してインターネットに接続

とりあえず、動かしてみました。

僕が買った、RasberryPi3では、Wifiが最初から付いているので、スマホからデザンリングすれば簡単にインターネットにつながります。

f:id:legacyCode:20160501070019j:plain

起動させてGoogleさんの表示までは、とても、簡単でした。

 

日本語を使えるようにする

初期状態では英語なので、日本語化のするには、コマンドを入力する必要があります。

インターネットを調べたら、いろいろ情報があったので、試してみることに。

 

日本語を使えるようにする

 

ryus.co.jp

これも、結構、あっさり出来ました。

 

子供用のプログラミング環境を整える

最近話題の子供用プログラミング環境Scrachを使ってみました。

techacademy.jp

これは標準で入っていたので、特に何もすることはなし。

f:id:legacyCode:20160501070957j:plain

 

まとめ

ラズベリーパイのセットアップは想像以上に簡単でした。

息子と遊ぶために、これからScrachをちょっといじってみようかと思っています。

 

OSがLinuxなので、パソコンが苦手な人は、ちょっと日本語化などが難しいかもしれませんが、インターネットに沢山情報があるので、たぶん、誰でも使えると思います。

子供のパソコンというか、普段使いのパソコンにはラズベリーパイで十分な気がします。

その気になればWindowsも入れられるみたいですしね。

www.atmarkit.co.jp

 

もし、これを読んで、ちょっと、やってみたいけど、難しいそうと思った方は、

何か餌(※)を持って、

大崎上島の僕の家まで来てくれればお手伝いしますよ。^^

 

※餌は、新鮮な魚・野菜、家の修理、草取り、子供達と遊んでくれることでも大歓迎

SQiP研究会終わった 外に出ることの重要性

2月26日(金)SQiP研究会最終回でした。

 

SQiP研究会とは、ソフトウェア品質管理研究会の略で、

去年の5月から約1年間、毎月、東京まで通っていました。

例会回数 例会開催日 活動内容
10:00 ~ 12:00 13:00 ~ 18:00
1  2015年5月15日(金) 特別講義 分科会
2 6月12日(金)
3 7月9日(木)~10日(金) 合宿(会場:小涌園/箱根 予定)
4 9月予定 ソフトウェア品質シンポジウム2015(会場:東洋大学/東京 予定)
5 10月9日(金) 特別講義 分科会
6 11月27日(金)
7 12月18日(金)
8  2016年1月15日(金)
9 2月26日(金) 分科会成果発表会

www.juse.or.jp

 

特徴的なのが午後の分科会活動で、

いろいろな会社の現場の問題を持ち寄って、

解決方法を考えて、

論文としてまとめて、

最後の発表して終了というような流れになります。

 

ちなみに、僕は、第6分科会 派生開発に参加していて、

XDDPを使ったリファクタリングというテーマで活動していました。

先日、提出した論文も2015年度の成果報告として、

そのうちホームページに掲載されると思います。

 

この1年間参加したSQiP研究会の感想などを書いてみたいと思います。

 

会社が違うと文化が違う

分科会活動は、いろいろな会社の人で構成されたチームで活動します。

僕のチームも5人チームでした。

そこで感じたのは、会社の文化。

会社が違うとこうも文化が違うものかと痛感しました。

最初は、メンバー間で話が全然かみ合いませんでした。

 

同じソフトウェア開発と言っても、

他社に常駐してソフトを開発している人、

自社製品のソフトを開発している人、

自社で使うシステムを開発している人、

前提が違えば、全然、考え方が違う。

 

自分の会社では、普通に通じるようなことが全然通じない。

10年も同じ会社で働いていると、

その文化にどっぷりと浸かってしまっていることを、すごく感じました。

 

達人に会えた

第6分科会の派生開発は、清水吉男さんがアドバイザーとして指導してくれます。

↓こんな本を書かれている人です。 

「派生開発」を成功させるプロセス改善の技術と極意

「派生開発」を成功させるプロセス改善の技術と極意

 

 達人って、こういう人なんだと思いました。

 

何かを考えるって、そこまで突き詰めて考えるんだとか、

何かを実践するって、そこまで徹底的にやるんだとか、

ほんとに、今まで自分がやってきたことが、

どれだけ甘かったか思い知らされました。

 

この一年、清水さんとやりとりさせてもらったことで、

何か考えるときに、「清水さんなら、どうだろうか?」と

自分の中で、新しい基準が出来た気がします。

 

デスマーチを初体験

ソフトウェアの開発現場でデスマーチを体験したことはないのですが、

今回、初めてデスマーチみたいな体験しました。

 

論文はチームで作成するのですが、12月末から論文提出の1月の末まで、

連日、深夜2時、3時のSkypeでの打ち合わせでした。

本当にきつかった。

久しぶりに、追い込まれ、もう、ダメだと何度も思いました。

 

リーダーが一番成長できる

実は、この分科会活動で、グループのリーダーをしていました。

 

異なる背景を持つメンバー、初めての研究活動、

何が問題で、どう解決策に導いたらいいのか?

課題を解決するってどういうことか?

論文って何を書けばいいのか?

迷走に迷走を続けて、本当にどうすればいいのか、さっぱりでした。

 

最後はデスマーチを体験し、大炎上プロジェクトでした。

もし、会社での仕事なら大問題だっただろうなぁと思います。

後から話を聞けば、他のチームも似たり寄ったりの状態だったみたいですが。

 

全てにおいて力量不足で、メンバーには大変迷惑をかけたのですが、

とても、よい勉強させてもらいました。^^;

 

仕事では、基本的には失敗は許されませんが、

こういう場で、適度に失敗するというのは大切だと思いました。

 

以上、SQiP研究会の感想でした。

 

社内に問題があって、どうにもならないと思っていても、

社外に出てみたら、意外と簡単に解決できるかもしれない。

そんなことを感じました。