patorashのブログ

方向性はまだない

古いPCを使ってBitZenyのマイニングを始めた

先日、古いPCにUbuntu Serverをインストールしていたのですが、それはBitZenyのマイニングを始めるためでした。 BitZenyは、CPUマイニングのみの仮想通貨だそうで、高価なGPUのないPCでも気軽に始められるという情報を見かけたので試しにやってみることにしたのです。

bitzeny.org

2018/01/15現在、1ZNYが30円程度のようです。

マイニングのやり方

やり方についてはググれば出てくるのでとりあえず参考にサイトをバンバン貼っておきます。

bombox.net

bitzeny(ビットゼニー)を素人でも簡単にマイニングする方法 - お金がないときに.com

nohupコマンドでnohup.outではなく標準出力に出力する方法 - システム開発メモ

マイニングの方針

どちらかというと儲けることを主体としておらず、ただやってみたいという動機だったので、とりあえずは以下のような方針です。

  • 初期投資をしない(専用のマシンをわざわざ組まない)
  • 騒音は少なめに
  • 電気代も少なめに

手元にある使ってないマシンは、

なので、Atomのマシンでやってみることにしました。

lscpuで確認したところ、Intel(R) Atom(TM) CPU D510 @ 1.66GHz と出ました。ググったら2009年モデルだったので相当古いです。そういえば当時、うるさくない自宅サーバを立てて勉強しようと思っていたのを思い出しました。

とはいえ、低スペックながらDualCoreでHyperThreadingに対応していて仮想4コアのため、もしかしたらいい数値出すかもしれんなーと思っていたのですが、やはりそんなことはありませんでした…。

マイニング性能

うちのマシンでは、ハッシュレートは0.16 〜 0.24 KH/sくらいを示していました。マイニングプールの LA Bitzeny Poolを使っているのですが、最近混雑してきているらしいので、そのせいであんまり出ていない可能性もありますが、まぁ微々たるものでしょう…。最新のCPUのマシンだと3k〜11kとかフォーラムで書いてありましたが、やはり放熱と電気代が凄そうです。まぁBitZenyが値上がりすることを見込んでの投資だとは思いますが。

1日あたり0.35 ZNYを採掘できているようなので、現在価値でいえば、30 * 0.35 = 10円くらいでしょうか。確実に電気代のほうが高いと思いますし、CPUに高負荷がかかった状態が続くので、ぶっ壊れる可能性も高くなるので、正直微妙な気がします。

マイニング続けるのか?

使ってなかったPCだし、省電力PCなのでさほど電気代もかからなかったはずなので、とりあえず動かし続けてみようかなと思います。

ubuntu-server16.04を古いPCにインストールしたら無線LAN接続にハマった

wifi子機のUSBドングル(WN-G150UMK)を認識しなかったみたいで、接続できなかった。

さっさと有線接続すればよかった

様々なサイトをみたが、wpa_supplicantを使うとあったのだが、そのwpa_supplicantが入ってないのでどうしようもなかった。とりあえず有線LAN接続してaptでアップデートしたりwireless-tools, wpasupplicantなどをインストールした。

そのあとは、参考にしたページの通りなのだが、WPAの設定を行って、再起動すると認識するようになった。

dorapon2000.hatenablog.com

順序的には、USBドングルのドライバを読みこむように修正してからaptで色々入れるようにしたのだが、もしかしたらドライバの設定なくてもいけたかもしれない(デフォルトで読み込んでいたりしたら)。

ドライバの設定や、設定されているかどうかの確認は、以下のページを参考にした。

beautifulajax.dip.jp

qiita.com

とりあえず1歩進めてよかった。

自分の言葉で綴ることの重要性を学んだ

未来食堂は、何かのテレビの特集を見たことがあったので知っていたのだが(ガイアの夜明けだったかな…)、本を出されていることは知らなかったので買ってみた。

未来食堂ができるまで

未来食堂ができるまで

読む前のイメージ

テレビを見ていたので、クックパッドから脱サラして飲食店を開いた人、という情報とこじんまりとした食堂で1つのメニューで超速で提供する、というのは覚えていた。夜は店のストックからお客さんのオーダーであつらえの一品を作るというのもなんとなく覚えていた。

ただ、レシピサイトをやっているうちに飲食店やりたい!って思うようになったんだろうと勝手に思っていた。そのあたりが全然違った。

せかいさんは自分の言葉で自分の作りたい世界を綴っている

私はブログでは技術系の情報や読書メモを残すのをメインに使っているのだけれど、それだと自分の言葉があまり載ってない。熱がないとも言える。特に読書メモに関しては、本のまとめみたいになってしまって、本を見ながら本を移したりしているときがあったりして、時々なにがしたいのかわからくなってしまう。まぁそれを通してまとまっていくこともあるのだが。

この本はせかいさんのブログをまとめた本なのであるが、せかいさんがお店を開くまでの修行の日々やそこで学んだこと、未来食堂をどういう店にするかというビジョンや計画、お店が始まってからのPDCAサイクルをどう回したかなどがせかいさんの言葉で書かれている。学んできたことをちゃんと消化していて、自分の言葉で書かれているなぁと。

一方自分はというと、なんか受け売りの文章とかどこかで見たような言い回しとかを多用している感じがする。要は上辺だけ勉強して消化しきれてない。この本を読みながら自分の文章の稚拙さを感じてしまった。ちゃんとビジョンを持っていて、それを第三者に伝えるんだ!という気持ちが乗っている文章なので、熱量が違う。そこらへんの自己啓発本よりも数倍刺激が貰える。ブログ書いている人は読んでみるといいと思う。

一番印象に残った言葉

「だから何なの?」

本を読んでいて、一番印象に残ったのがここだった。未来食堂の開店前夜に書かれている記事。飲食店の閉店率は高いのに、競争も激しくて失敗する確率が高いのに、なんでやるの?というところ。本人もわかっているけれど、確率だけが全てじゃない。今まで手伝ってくれた、応援してくれた人たちの想いなどを背負って覚悟を決めて頑張るための「だから何なの?」である。

なんでやるの?が芽を摘む

親切心からそう言ってくる人もいるだろうし、小馬鹿にしてそう言ってくる人もいるだろうけれど、それで諦めてしまう人って世の中にすごく多いと思う。失敗したくないので。でもそれやらなかったら成功するかというとそうではないし、したほうが絶対に自分のためになる。なにより後悔しないと思う。(ただ、杜撰な計画とかだったら、そりゃいかんとは思う)

すごくエンジニア発想で見習いたいと思った

文章の熱量はむっちゃ熱いとかじゃなくて、じわじわくる熱さで、それがよかった。そして、ちゃんと数値化して現状把握、次にどう繋げていくかのPDCAを回している部分や、修行に行っていた頃の考察がまた繊細に書かれていて面白かった。手の抜きどころとこだわるところをしっかり押さえて改善している点は本当見習いたい。

自分も闇雲に取り組まないようにしてちゃんと考えていこうと思わされた。

未来食堂ができるまで

未来食堂ができるまで

1年間の育児休暇に入りました

先日、次男が産まれました。産まれてからお知らせしようと思っていましたので、ご報告します。

今回私は、株式会社リゾームで男性初の育児休暇を取得しました。子供が2人になり、妻一人で同時に2歳児と新生児の相手は難しいだろうということで、育児休暇を取りたいという相談を会社でしてみたところ、OKをいただけました。

自分の中では、自宅でのリモートワークも検討したのですが、新生児が産まれたばかりの慌ただしい中でフルタイムのリモートワークは厳しいんじゃないかと考えました。そして、会社の制度として育児休暇があるので、男性でも育児休暇を取っても大丈夫ということを確認したかったというのもあります。総務の方や開発部の部長・リーダーと相談しながら、できる範囲の仕事量に抑えていけばいいんじゃないか?ということになり、育児休暇に入ることになりました。

育児休暇といっても、完全に1年間休みというわけではないようにしました(これは自分からの提案で)。完全に現場を離れて感覚がわからなくなっても困るので、余裕のある時に自宅からのリモートワーク、もしくは職場で仕事を時短勤務で行うようにしています(実際にはまだ運用してないですが)。

ハローワークから育児休業給付を受け取るようにするので、月ごとに最高でも50%(80時間)までしか働いてはダメなので、それを超過しないように働くことになっています。こう書くと勘ぐる方は50%ギリギリまで働きそうな想像をしそうですが、実際のところは、50%も働かないように調整することになっています(あくまでも休暇なので)。

弊社は働きやすい職場環境・制度作りにちゃんと取り組んでくれています。有給休暇も取得しやすいですし、それぞれの家庭の状況に合わせた勤務体系も可能なので、非常に助かっています。今回の育児休暇取得に関して相談したときも、こちらが疑問に思っているであろうことに関して、事前にわかりやすい資料をまとめていただきました(実際に受け取る給付金がどれくらいになるか等)。

リゾームでは一緒に働いてくれる仲間を募集しておりますので、もし岡山で働きやすい職場を探しているプログラマーの方がいらっしゃいましたら、弊社も是非検討してみてください。ご興味のある方は私のほうまでご連絡ください。ちなみに私の所属するチームはRuby(Rails)での開発ですが、他のチームではJavaC#での開発を行っています。

www.rhizome-e.com

最後に

出産お祝いのウィッシュリストです。もしよろしければよろしくお願いします。

https://www.amazon.co.jp/hz/wishlist/ls/2G5R2ALFUU96G

頭で考える前にやってみた人がうまくいくを読んだ

これも年始にブックオフで買ってきた本である。

頭で考える前にやってみた人がうまくいく

頭で考える前にやってみた人がうまくいく

ユダヤ人も華僑も凌駕する「ジュガール」の法則とあったのだが、ジュガールって何?と思って気になったので読んでみた。ジュガールとはインドの考え方で、シンプルな方法で最大限の成果を出すための心得みたいな感じだった。「なんだ、そんなことか」と思ってしまうようなことだが、視点の切り替えで最も早く効果の高い方法を出すことができた例が多かった。しかし、これがなかなかに難しい。その理由は日本人の「恥」とか「プライド」によってそういう視点に対する躊躇を生んでしまうからだった。

日本人の美徳が日本人を貶めている

この本にはよく書かれているが、日本人の美徳が日本人を貶めているという。恥ずかしがったり、譲ったり、すぐに謝ったり、遠慮したりなど。それが円滑に回るための文化というのはわかるけれど、それをビジネス、特にグローバルなビジネスに持ち込むと何もできなくなってしまうということだった。

基本的には恥とプライドを捨てろという話

日本の文化もあるので、恥とプライドを捨てて生活すると嫌な人になる可能性が高いので、プライベートとビジネスで切り替えてビジネスモードでは図々しいくらいになって行動したほうがよいという感じ。

言い訳しているうちは成功できない

嫌われたらどうしようとか、失敗したらどうしようという気持ちが働き、勝手に「相手の迷惑になるから」という言い訳を作り出して行動しなければ、何も起こらない。これはわかってはいるのだが、人見知りだとついつい考えてしまう。特に相手が著名人だとなおさらそうなってしまう。とりあえず声をかけていくということができればいいのだが、場慣れしていくしかないかなと思う。

ポジティブにもっていく思考法

印僑は不安を考えないというだけあって、不安を払拭するステップの紹介や、物事の進め方の順序の話など、日頃おそろかにしている部分の話が紹介されていた。プロジェクトの進め方についても、ストーリーを作る際に逆算して作るなど、自然な導入の作り方が紹介されていた。

また、身だしなみを整えて印象をよくすることの重要性など、すぐできることに関しても書かれていた。話すことよりも印象が大事というのは、確かにそうだなと思う。印象がよければ次に繋がることもある。いいことを話していても、嫌な人だったりすると素直に受け入れられないこともある。印象で言葉の重さも変わるのだ。

戦略的に行動する

すぐに行動するとあったが、闇雲に行動するのは非効率である。戦略を練り、それにしたがって行動に移すことで効率的に成果が出せるようになる。やはり大事なのは戦略・戦術であるなぁと思った。

気づき

自分が想像していた本とは結構違う内容だったけれど、発見は多かった。 インドの人目線の本は初めて読んだと思うのだが、

  1. 人の縁に乗っかれ
  2. 言い訳する前に行動しろ
  3. 考える前にやってみろと言ったが、戦略的に行動しろ

という感じだった。

「(言い訳を)考える前に行動しろ」であり、「戦略を考えてから行動しろ」という内容だった。もしかしたら、戦略を考えるということ自体が行動なのかなという気もする。戦略大事!!

これだけ!PDCAを読んで、なぜ自分たちのPDCAがうまく回らないのか理解できた

これだけ!  PDCA

これだけ! PDCA

これだけ!KPTを以前に読んだことがあったので、これだけ!PDCAも読んでみたかったところ、ブックオフに売ってあったので買ってみた。

なぜPDで終わってしまうのか?

現場でよくあるのは、PDで終わってしまい、CAにたどり着けないパターンである。この本でも冒頭でそのことに触れてある。なんでそうなるのか?それは、計画が計画になっていないからであるということだった。

偽物の計画

計画は本来、

  • 何を
  • 誰が
  • いつまでに
  • どうやって

実行するのかが明記されていなければならない。 ところが、計画らしきものには、

  • 何を
  • いつまでに

しか存在せず、どうやって実行するのかがほとんど明記されていない。

つまり行動レベルにまで計画が落とし込まれていないため、行動できない。しかし、それっぽいものになっているので、その計画にはとりあえず満足してしまう。これこそが、自分たちのPDCAがうまく回らない原因だなぁ〜!と納得した。何か目標を立てたりした場合でも、いつまでに何をするはよく考えるのだが、だいたい計画倒れで終わっていた。これも、どうやってまでを考えずにやっていたせいじゃないかと思う。

それでも仕事は回る

悲しいことに、その計画らしきものでも、とりあえず仕事や家事は回ってしまう。しかし、それでは成長は見込めない。

評価制度と現場の乖離

成果主義になり、決めた目標の達成率を見られるようになったとき、目標を達成できていなかったら評価が下げられてしまうため、簡単な目標ばかりを設定するようになってしまう。また、効果が出るまでに長い時間のかかるものへの挑戦が減ってしまう。長い目で物事に投資することができなくなってしまい、成長度が低下していく。

全ての目標は目的に向かっていくためにクリアすべきこと

目的を見失ってはならない

目的を見失ってしまうと、手段の目的化に走ってしまう。本来は、会社のビジョンを達成するための目標として、Aに取り組むという視点なのに、気づいたらAに取り組むことが目的化してしまい、会社のビジョンを達成するためであるということが忘れられてしまう。なぜ、がわからなくなるので、Aに取り組むための意義が見いだせなくなり、意味がなくなったり、義務感で行うようになったりしてしまう。

本の中では、日報の記入が例としてあげられていたが、本当にあるあるだなーと思った。私も日報によって何に取り組んでいたか、どこでハマってたか、何に悩んでいるかなどの共有は価値があると思うのでやるべきだと思うのだけれど、目的の共有化ができていないと、ただの面倒臭い作業になってしまうだろうと思う。

PDCAは、まずCから始める

これは確かに!と思わされたのだが、まずは現状把握である。身の丈にあった計画づくりから入らないと、絵に描いた餅になってしまう。

通常業務がある前提で計画を立てる

どんなに立派な計画が出来上がったとしても、日々の業務は存在しており、それはちゃんとこなさなければならない。そしてギリギリの人数で業務に取り組んでいるところがほとんどだと思うので、まずは現状の振り返りから始めることが大事である。

事実を正しく捉える

人は問題になっていることを表層的に捉える癖があり、すぐに解決策を考えてしまうのだけれど、それでは根本的な原因を解決することができない。なぜ、なぜ、なぜ…と掘り下げて正しい事実認識ができるようになろう。

改善はスピード感が重要

問題を発見した場合は、早い段階で改善・処置をすれば、それだけ効果が出やすい。結果を厳しく受け止め、早いタイミングで修正していくことが大事。

目標にぴったりのKPIを見つける

問題を発見するには、KPI(重要業績評価指標)が大事で、それを設定していなければ問題にすぐ気付くことができない。改善はスピード感が重要なので、気づけなければ致命的なことになってしまう。逆にいえば、KPIがあれば振り返りが簡単になる。

成果に繋がるKPIでなければ負担が増えるだけ

安易に「これをKPIとする」とやってしまうと、効果的な振り返りが行えない。その数字を追いかけ続けなければならないという負担が発生するので、KPIは考えに考え抜いて、成果に繋がるものにしなければならない。

改善を妨げる「しがらみ」

しがらみには、以下の4つがあると著者は書いている。

  • 評価制度によるしがらみ
    • 情報共有をすると評価に不利になるパターンが存在したりするもの。
  • 組織構造によるしがらみ
    • 縦割による断絶や責任の押し付け合い
  • 習慣によるしがらみ
    • マニュアル化されている悪習に気づかない
  • 考え方によるしがらみ
    • うちの業界は特殊という決めつけなど

しがらみを打破するために

しがらみを打破するためには、関係者を巻き込んで会議を行い、目的・目標を共有することが大事であると書いてあった。かといって闇雲に会議を開いても、大勢の時間を消費する会議であるので、効果的な会議を行わなければもったいない。

本書でも大切なのは会議の目的であると書いてある。あれこれ詰め込み過ぎず、目的を決めて議論を尽くさなければ人は動かない。

PDCAでチームの基礎力を上げていく

本の中では、野球チームの話で語られていたが、当たり前のことのレベルを上げていくことが重要であるとあった。難しいことを当たり前だと思うレベルまで高めることができれば、強いチームになる。リーダーにはそこにこだわってもらいたいということだった。

気づき

するすると読むことができて、PDCAの肝部分はよくわかったのだが、タイトル通りの「これだけ!」というのが、これだけ???(いや多くね?)という意味でちょっとなぁ〜という感じはあった。PDCAというとついついPから入ろうとしてしまうのだけれど、まずCからというのは説得力があった。目的地の載った地図があっても自分の位置がわからなければ意味がないという話があったかと思う。

個人的にも時間をかけるのが面倒臭くなって「計画らしきもの」で終わっていることがたくさんあったので、ちゃんとした計画にまで落とし込んで、PDCAサイクルを回していけるようにしていきたいと思った。

これだけ!  PDCA

これだけ! PDCA

DartのバージョンマネージャーDVMを入れてみた

Rubyのrvm, rbenvみたいにDartのバージョンマネージャーはないのかな?と探してみたところ、dvmがヒットしました。 dvmはpubパッケージとして公開されているので、dartのインストールが行われていないと使えません。

pub.dartlang.org

dvmのインストール

dartはすでにインストールされている前提で話を進めます。以下のコマンドを入力します。

$ pub global activate dvm

これで終わりです。一応、dvm helpを実行してみましょう。

$ dvm help
Manage multiple active Dart versions.

Usage: dvm <command> [arguments]

Global options:
-h, --help       Print this usage information.
-v, --version    Print out the latest released version of dvm.
-p, --path       Installation directory for the Dart SDK.
                 (defaults to "/Users/toyoaki/.dvm")

Available commands:
  help      Display help information for dvm.
  install   Download and install a <version/channel>.
  switch    Switches the `current` directory to <version/channel>.

Run "dvm help <command>" for more information about a command.

入ってます。

複数のバージョンのdartのインストール

とりあえず複数バージョンのdartを入れてみましょう。バージョン情報は以下のページから見れます。

www.dartlang.org

dvm自体にはまだバージョン一覧を取得する方法がなさそうです。

$ dvm install 1.24.3

終わったら、続けて違うバージョンを入れてみます。

$ dvm install 1.25.0-dev.16.4

とりあえずダウンロードは終わった模様です。

dvmのdartが使われない

1.25.0-dev.16.4を使うように指定してから、バージョンを表示してみました。

$ dvm switch 1.25.0-dev.16.4
INFO: Switching to dev/1.25.0-dev.16.4...
INFO: Done as "/Users/patorash/.dvm/current/dart-sdk".
$ dart --version
Dart VM version: 1.24.3 (Wed Dec 13 23:26:59 2017) on "macos_x64"

どうも使われてない模様…。dartのパスを調べます。

 $ which dart
/usr/local/bin/dart

dartのパスをホームディレクトリ以下の.dvm/current/dart-sdk/binに変更しないといけません。

homebrewのdartを削除

まぁいつでも入れ直せるだろうと思ってザクッと削除しました。

$ brew remove dart

その後、PATHに追加します。.bash_profileなりに入れましょう。

export PATH="/Users/patorash/.dvm/current/dart-sdk/bin:$PATH"

その後、source .bash_profileするか、ターミナルの再起動をするかをします。

これでdartへのパスが通ったかと思いきや、実行権限がなくて認識してませんでしたので実行権限を付与します。

$ chmod +x ~/.dvm/current/dart-sdk/bin/*

この後、dart --versionを実行してみましょう。

$ dart --version
Dart VM version: 1.25.0-dev.16.4 (Wed Sep 13 01:47:12 2017) on "macos_x64"

変わってます!では、また違うバージョンにしてからバージョン確認してみましょう。

$ dvm switch 1.24.3
Wrong script snapshot version, expected '47f19879b9cac7de1b33e7b7ea414c7a' found '3b70e6793a0fce902401bb759bc9762b'
INFO: Switching to stable/1.24.3...
INFO: Done as "/Users/toyoaki/.dvm/current/dart-sdk".
$ dart --version
Dart VM version: 1.24.3 (Wed Dec 13 23:26:59 2017) on "macos_x64"

ちゃんと1.24.3に変更できました。

まだ入れただけで実際にこれで開発をしたことがあるわけではないのですが、ひとまずはこれを使ってみようと思います。