愚かなハッカーたれ、利口なエンジニアよりも

自我と距離をおきたいプログラマの日記

スマホで動画見ながら仕事に手を付けてやる気を出す

前提の話として、やる気が最初にあるから行動に移すのではなく、行動した結果やる気がでるという認識が大事である。

r25.jp

つまり、まずやるべきことに何でもいいから手を付け始めること。でも、それがなかなかできない時がある。

そこで、最近私が効果的だと思っているのが、スマホでアニメなど見たい動画を見ながら、ついでに仕事をする形を取ること。これだととても取り掛かりやすい。そして、実際に手を動かしているうちに、やる気が出てくるのだ。

やってみると動画見ながら仕事ってそれほど難しくなくて、やる気が出始めたら見るのをやめるわけではなく、ずっと見ながら仕事していることも最近多い。けど、それほど仕事のパフォーマンスが下がっているように感じない。むしろ、仕事だけやってると集中力が切れた時、やる気がなくなってそのまま仕事をやめてしまうことがある。

ただし、英語+日本語字幕の映画は難しい。字幕見ないといけないから仕事に集中しにくい。

物の価値が下がり続けると最終的にはお金の価値も下がる

通常は物とお金の価値は相対的な関係にあって、物が安くなるとお金の価値が上がることになる。今まで1000円で売られていた物が500円になると、その物に対するお金の価値は実質2倍になる。

しかし、あらゆるものが安くなると(コモディティ化)、生活にかかるコストそのものが減る。そうするとそんなにお金を稼がなくても満ち足りた生活を送れるようになる。他者との比較や自己承認欲求を満たそうとしなければ。

あらゆるもののコモディティ化は、必要なお金の総量を減らしていくから、結果、お金の価値を下げていく。徐々にそのフェーズに入ってきていると感じる。

広く弱い人間関係がもたらす奇妙な安心感

佐々木俊尚氏の広く弱くつながって生きるを読みました。この数年で得た感覚から共感できることが多い内容でした。

広く弱くつながって生きる (幻冬舎新書)

広く弱くつながって生きる (幻冬舎新書)

 

私も著者と同じくいずれは複数の街に住まいを持ち、多拠点生活をしようと思っているのですが、 今は家庭の事情もありできていません。宿泊も難しいです。しかし、時間さえあれば、住んでる街と違う街へ出かけるようにしています。そして、飲食店で働いている人と顔見知りになってInstagramなどで繋っていきます。(地方はたいてい初対面でもすぐ繋がれます)

そして、かれこれ2年近くそうしていると、住んでる街から電車で1時間圏内の各街で知り合いができました。私はInstagramで行く店行く店で食事の写真や動画をアップしているので、みんなに各街の飲食店の情報をシェアする形になっています。次会った時も知り合いのお店に行ってましたねとか、あの店気になっていたんですよと話もしやすい。

彼らのほとんどは一緒に遊ぶほどの仲になっているわけではないし、困った時に頼りになるとも思わないのですが、いろんなところに知り合いがいると「どこででも誰とでも繋がれるし、どうにか生きていけるよな 」という奇妙な安心感が生まれてきます。まさに同じことが、この本の中で書かれていました。

そういう安心感からくる余裕があると、ネガティブな感情を抱え込まなくなっていきます。多少嫌なことがあっても、住んでる街を離れて別の街で酒を飲み、久々に会う人と話していれば忘れてしまいます。

住んでいる街から動かず固定化された人間関係の中でいると、ささいな価値観の違いや環境がもたらす不遇さにばかりフォーカスして、心の中で問題を過大視するようになっていく。移動する習慣を持つと、このことに俯瞰的に気付くことができます。

また毎回違う街で違う人と会っていると、誰といつどこで何を話したか細かく覚えなくなります。そうすると思考の沈殿がおこりにくくなる。あの時、ああ言ってしまったけど気分を害さなかったかとか(たいてい相手は気にしてない)、彼のあの考えは納得がいかないとか、そういったことを考えなくなる。移動中に嫌な感情もどこかへ置いていくような感覚になる。

人それぞれとはよく言うけど、それが頭の中だけでなく皮膚感覚で持てるようになる。全てにおいてわかり合える人はいないことが当たり前と思えるようになり、多少の考えの違いがあってもスルーできるし、議論みたいなこともしなくなる。

広く弱いつながりばかりになると、心底わかりあえる人がおらず孤独感や不安感が増すように思う人も多いと思うけど、自分の中には全く逆の感覚がある。今日の気分で話したい事がある時は、その話ができる人と会えばよい。知り合いが多いとそういう選択権ができる。そうすると結局、気が合う人とだけ話しているのと同じ状況になるのだ。完全に気が合う一人を探すより、こっちのほうがはるかに実現は容易である。

そして彼らはみな違う人間なので、自分が知らないことを聞く機会もある。同じ人とは続けて会わないようにしているので、数ヶ月ぶりに会う人も多い。だから、いつも新鮮さがあるし、お互いに楽しくしていられるのだ。

68歳になっても変化を受け入れモチベも衰えない矢沢永吉

blogos.com

ネットも電子化もそんなに詳しくないアナログ人間だけど、こういう時代が来るって勘は働くという下り。でも、こういう変化に対して、40歳にもなれば、たいていの人の勘は人をダメにするだと思う(笑)ちなみに矢沢永吉は現在68歳。もうDNAレベルで違うと思う。

エモーションが蓄積するなんてこの歳で言ってるのもすごい。普通は食える状況になったら、エモーションなんか薄れていく。たとえ類まれな才能があっても。

最近思うのは、年取っても変化を受け入れ、モチベも衰えない人って、変化が激しく予測がつかない環境で生き延びてきた祖先から引き継いだ遺伝的形質なんじゃないかと思う。

逆に変化があまりなかったり、規則的で予測がつく環境なら、食料を確保できるルーチン作ったら、わざわざ危険を犯して未開の地に行ったりせず、変化を拒んだほうが生存率は上がる。

そういう自然選択のふるいによって、変化に対する人の気質みたいなものは決まっているんじゃないかな。

音楽自体ほとんど聴かない人なので矢沢永吉の音楽も聴かないですが、インタビューはいつもカッコイイなあと思う。

自然選択から考える年を取って好奇心が衰える人と衰えない人

noteの有料記事で書くか、無料記事で書くかの線引を考える

最近、またnoteの有料記事課金の話が盛り上がってきています。でも、収入面で考えた時、お金払った人しか読めないnoteの有料記事と、誰でも読める無料記事+広告、どちらのほうが良いかで悩む人もいると思う。そこで自分なりに考えてみた。

単発の記事は無料記事で書く

ちょっと書きたいなと思った時は、無料記事でささっと書いてしまう。Twitterのタイムラインを見ながら思うことをつぶやいていたら、もう少し考えをまとめて書きたいと思った時など。この記事みたいに。

それなりにボリュームがあっても単発の記事なら無料記事で良いと思う。自分の考えをまとめるためと、後々の有料記事への導線としてオープンになっている方が良いように思うからだ。

ちなみに無料記事の媒体はnoteでなくても良い。むしろAdSenseアフィリエイトを貼るつもりなら、noteでないほうが良いだろう。noteではできないので。

連載、本になるくらいのボリュームがあるならnoteの有料マガジンで書く

元々、連載や本にできるほどのネタがある時だけでなく、単発の無料記事を積み重ね、それらをわかりやすくまとめたら、ある程度のボリュームにできそうなこともあると思う。そういう時は、noteの有料マガジンに、連載という形で記事を書くと良いと思う。そして、単発の無料記事からそのマガジンへのリンクを貼ると導線になって良さそうだ。

単発の無料記事を読んで、もっと掘り下げて知りたい、関連する内容を通しで読みたいと思うユーザーがいれば、課金してくれる可能性はあるだろう。この場合、自分にそれほど知名度がなくても、検索エンジン経由で課金してもらえる可能性はあると思う。

あと実際にユーザーが課金してくれて、さらにマガジンの記事を後々増やせそうなら、記事数に応じて値上げするのも良いと思う。

noteの月額マガジン

これは週一くらいで時事ネタを書ける人で、かつ、それなりに知名度がある人でないとなかなか難しいと思う。自分は出来る気がしない(笑)

自然選択から考える年を取って好奇心が衰える人と衰えない人

年を取ると新しい事への好奇心が薄れ、新しいものをただ否定する人たちがいる。対して自分は40代になってもそれほど好奇心が衰えたように思えない。特別勤勉だとは思わないし、能力も衰えていっているだろうけど、今も新しいものに興味を持てるし楽しめている方だと思う。変化のない生活、人間関係は安心感より退屈さの方が上回る。

年齢と共に好奇心が衰え、新しいものを受け入れられなくなる人々に対して、保身や既得権益を守るために変化を望まず、新しいものを恐れるのだといった見解はよくある。けど、彼らの反応はもっと脊髄反射的に見えるし、受動意識仮説で言われるように脳がただそのような意識を生産しているだけのように見える。好奇心が衰える人と衰えない人の差は、単純に遺伝的形質の差であって、自分たちの先祖がどういう環境で生存してきたかによるのでは。と、最近思ったりする。

www.nikkei.com

キリンの首が長いのは、彼らのように高いところの果実を食べられる個体の方が、首が短い個体よりも生存確率が上がり、結果、首が長いキリンのみが残った。というのは進化論でよく語られる話。この話で大事なことは、キリンが高いところの果実を食べたいと念じたり、環境に合わせてキリンの首が長くなったわけではなく、偶然、首が長いキリンが生まれ、高いところに果実がある自然環境が、彼らを選択したという観点である。生物個体の生存の意志や環境適応の意志などは関係なく、たまたま首が長く生まれたキリンが自然環境のふるいに残ったということだ。自然が生物を選択していることから、これを自然選択という。

同様に、私達人間の中に年齢と共に好奇心が衰える人、衰えにくい人がいるのは、先祖が生息した自然環境の違いと関係しているのではないだろうか。例えば、作物が安定して育ち、水も手に入りやすい環境であれば、変化に対応する遺伝的形質はそれほど求められないと考えられる。

環境はなるべく変化しないほうが、生物個体の生存率は上がるだろう。自然環境が安定している環境で、わざわざ好奇心旺盛な人々による人為的な社会環境変化は受け入れないほうがいい。だから自然環境の変化が小さい環境では、人為的な社会環境変化を好まない個体の方が、好む個体よりも優先して選択されそうである。(若い時は生きていく術を学ぶための好奇心はあるとして)

ここで強く言いたいのは、あくまで自然環境が変化を好まない遺伝的形質を持った人間を選択するということで、人間の主体的な意志、生存戦略的な思考はあまり関係がないということである。元々変化を好まない遺伝的形質の人間が選択されるという観点である。

逆に自然の変化が大きい環境ならどうか。雨が降ったり振らなかったり、作物が育ったり育たなかったり、振れ幅が大きく予測がつきにくい環境であれば、状況に応じて生きるための知恵を絞る創造性など、環境の変化に対応できる遺伝的形質を持っている必要がある。さもなくば自然選択のふるいに落とされる。好奇心も生存に重要な要素のように思える。

日本という島国単位で見た時、それほど環境のばらつきがでるだろうかとも思う。しかし、今では問題にならないような小さな環境の差が、昔は生存に深く関わっていただろう。人間が自然選択のふるいにかけられ続けた数千、数万年という期間に比べたら、これほど食料と水の流通、人の移動が容易になり、祖先が異なる人々が入り混じって生活している現代は、まばたきのような瞬間である。

年齢と共に好奇心が衰え、新しいものを拒絶する思考は、遺伝的形質による主体性のない自動プログラムのようなものならば、彼らに新しいものの良さを訴えて認識を変えることが困難な事も納得できる。似たような遺伝的形質を持つ好奇心旺盛な人々と繋がることを優先したほうが、現代の生存戦略として有効そうである。大きな社会変化をもたらすテクノロジーは、もはや自然環境であって、実際の自然よりもテクノロジーの方が人間を自然選択のふるいにかけている。

 

まだSPA開発で消耗してるの?

使い古された煽りテンプレタイトルですが、リッチクライアントなウェブアプリ、SPA開発に疲れた人、今さらながらやるべきか考えている人などの参考になれば幸いです。

当方、ネイティブアプリ開発メインのプログラマンで、消耗するほどSPA開発などしていないですが、久々にSPAというかリッチクライアントなウェブアプリの開発をやりました。Reactを使ったんですが、これを機会に勉強しなきゃと思いつつ放置してたAngularJSも公式のチュートリアルもやってみました。

個人的にフォルダの構成とか静的型付け言語のTypeScriptと親和しているAngularJSの方がReactよりいいなと思ったのですが、この記事を読んで、

www.bokukoko.info

やっぱり自分はSPAはやらなくていいなと思いました。というかウェブフロントエンドの開発は最小限にしたい。

以下、その理由。

頑張ったところでネイティブアプリのUI/UXに勝てない

かなりスマホのスペックが上がった今でもネイティブと比べたらウェブアプリはモッサリ感がある。また、OSの機能をフルに使えて、新機能をリアルタイムに追随できるのは、やはりネイティブアプリである。

ウェブアプリを作り込む主な理由は、

  • ネイティブアプリより開発コストが低い
  • ネイティブアプリをインストールするハードルが無い
  • OSに依存しない

ことであると思うが、その理由の妥当性も考え直して見る必要があるのではないだろうかと思う。

ネイティブアプリの開発はずいぶん楽になった

一昔前はiOSObjective-CAndroidJavaという今となっては古めかしく冗長な記述を余儀なくされる言語を使うしかなかった。でも今はiOSはSwift、AndroidはKotlinという今風の洗練された言語で開発できる。

さらに検索すればたいていの問題の解決方法は見つかるし、Githubに豊富なライブラリやコンポネントがある。ネイティブアプリの開発はずいぶん楽になりました。相対してPHPRubyJavaScriptといった動的型付け言語が主流のウェブプログラミングの方が、規模が大きくなると辛いと感じるように。

規模が大きくなるほどに、コンパイラが事前にエラー検出してくれる静的型付け言語のありがたみを感じる。そこでウェブアプリも静的型付けのTypeScriptでガッツリやれるAngularがいいかなと思いましたが、そこまでくるとネイティブアプリ開発とコストがあまり変わらなくなるように思う。

ユーザーのほとんどはスマホである

今やほとんどのサービスへのアクセスはスマホからだろう。それなりに使ってもらえるサービスなら、ネイティブアプリを用意した方が良いはずだ。上記の理由によりウェブアプリを作り込むよりは、ネイティブアプリのインストールを促したほうが良いだろう。

LINEはまさにそうしている。LINE NEWSで検索すると、https://news.line.me/のリンクが提示されるが、アクセスするとhttps://news.line.me/about/へリダイレクトする。そこはスマホアプリのダウンロードを促すランディングページのようなもので、最近の記事一覧などはない割り切りである。

へたにリッチなウェブアプリケーションがあると、スマホアプリをインストールの妨げになる。ウェブの方は必要最低限にして、その分ネイティブアプリの開発に注力する。という考え方もあるだろう。

ウェブアプリならOSに依存しないというメリットもあるが、スマホで対応すべきOSは、実質iOSAndroidの2つだけである。端末サイズによるレイアウト崩れなどの問題は、ウェブアプリでも同じく抱える問題である。

フレームワークが乱立する

スマホのネイティブアプリ開発で使用するフレームワークは、OS提供元であるAppleGoogleが提供するものを使う(ゲームならUnityなど選択肢があるが)。これらのフレームワークは、そのOSがユーザに使われる限りメンテされ続ける。OSのバージョンが上がるごとに機能が追加されたり無くなることもあるが、基本的には過去の遺産を引き継いでいる。

しかしブラウザベースで動かすものはフレームワークが乱立し流行り廃りがある。あるフレームワークを使って、それが数年後もメンテナンスされている保証は、ネイティブアプリに比べると低い。さらにメジャーバージョンアップで下位互換がほとんどなく、一から書き直さねばならないことも珍しくないだろう。

それでもSPAとして開発するなら

個人的には、どうしてもPCの画面サイズが必要でブラウザ上でやりたい時に限られる。となると、管理画面でリッチなことをしたい時くらいかなと・・・

改めて自主開発で今後もメンテナンスしていく予定の管理画面のフロントエンド実装をみたら、たいしてボリュームがあるわけでもなく、今後もCoffeeScriptjQueryで十分な気がしました。サーバーサイドは静的型付け言語のGoで、コードのボリュームはこっちに持っていって、JavaScriptの実装は極力抑える形でやればそう困らないかなと。