読者です 読者をやめる 読者になる 読者になる

Mac OS Sierraのキー配列調整

マイフェイバリットキー配列である、右親指Shift、左親指Ctrl、左小指半角/全角の配置がSierraでも実現できました。

Karabinerが動かないということで諦め気味だったのですが、@Yuichiro_S 氏から投げられた情報と二つの神アプリのおかげなんとか実現できました。m(_ _)m

方法

  • Karabiner-Elements をインストールし、かなキーを右Shiftへ、英数キーを右Ctrlへリマップ

  • Macのキーボードショートカット設定の「前の入力ソースへ」をCtrl+Spaceから Alt+\に変更
  • ⌘英かな をインストールし、デフォルトの設定を消して右Ctrlを「前の入力ソースへ」に割り当てる

  • 入力ソースはGoogle IMEなりことえりなりで英数とかなの二つだけにしておく

 

Ctrl+Spaceをそのまま半角全角代わりに使うという手もあるんですが、普段使っているPhpStormなどなど多くのIDEで補完のキーになってるので使いたくなかったんですよね。Alt+\にしたり色々回りくどいことをしてるのはそのためです。

何はともあれこれでキー設定が私に最適化されたのでTweetDeck専用PCになってる状況から改善する第一歩が踏めて良かった良かった。

負の生産性と向き合えますか?

わたしは向き合えないというポエムです。ぽえむだぞ。

プログラマーの生産性は、優秀な人の場合、常人の数十倍にもなるという神話があります(せいぜい数倍であると否定されつつあると小耳にはさみましたが)。ですが生産性は0や負の値を取ることもある、というのが最近思うところです。生産性0というのはわかりやすく、開発者にとってタスクの難易度が高すぎて全く書けないという状況です。では負の生産性とはなんでしょうか。

負の生産性とは

ソースコードの技術的負債の一つに、ソースコード自体の肥大化・複雑化などにより保守性・可読性が低下することが挙げられます。技術的負債はソースコードを生産すれば生まれてしまうものであり、開発とは正と負の成果を同時に作る行為です。

負の生産性とは、この負の成果が大量に生まれてしまう状況であり、開発をやればやるほど技術的負債が積み上がっていく状況を指します。結果として、 生産されたソースコードの価値や工数に対して、技術的負債の返済コストの方が大きくなってしまうわけです。

技術的負債自体は開発で避けることは不可能なもので、極論を言えばソースコード行数が増えれば負債も増加するものです。とはいえ「負の生産性」と呼びたくなるほどひどい状況がいつもあるわけではありません。何故こうなってしまうのか、これが本題です。

負の生産性が生まれる原因

原因はわたしの中でだいたい見えてきつつあります。

負の生産性を生む人間が負の生産性を生んでいるのです。

これではトートロジーなのでもっと真面目に言うと、負の生産性を生む習慣が身についた人がそれを生み出しているのです。こういう習慣は色々あるんでしょうが、わたしの思う限りは特に以下の二つが特に大きな問題です。

1. 関数抽出しない習慣

継ぎ足し継ぎ足しで最長不倒関数が生まれるこの習慣こそ最大の問題です。人類は数百行、数千行にも達する関数を読んで保守することはできんのです。特にPHPのようなファンクショナルスコープな言語では変数のデータフローが本当に読めないので関数を短くするのはとても重要です。長くなるとデータフローがしっちゃかめっちゃかになって何やってるのか本当にわからなくなるのです。

関数抽出は人手でやるのは意外と難しくて神経を使う技術なのですが、今のIDEには関数抽出リファクタリングが標準装備されており非常に簡単に行うことができます。今時関数抽出しない人は罪人のそしりを免れないでしょう。ほんとうに、ほんとうに大切なことなのです。

2. 抽象化しない習慣

抽象化をさぼる習慣もじわじわと負債を増やします。ただし抽象化といってデザインパターンとかそういうレベルの話ではなく、「マジックナンバーを出現させずに定数を使う」とか「処理をできるだけ関数化して明白な名前を与えてやる」とかそういう低い意味での抽象化です。「type == 4」というコードが出現すると真顔になるんですよ。4ってなんやねん、4って。定数化はとても簡単にできる抽象化であり、基本中の基本なんですがそれすらサボられるととてもツライです。

負の生産性と向き合えますか?

教育により負の生産性を生む習慣をやめさせるのは前向きな発想ではありますが、実効性には疑問があります。というのもこれらは今の時代では技術というより「習慣」だからです。習慣だからこそやめさせるにはかなりの根気が必要でしょう。やめてもらうまで何度も何度もレビューで指摘する必要がありますし、「リリースまで時間ないんで、今回は見送って次回直すということでお願いしま〜す♪」のような言葉を全て拒否する精神力が必要になります。リリースさせたら最後あなたの負けです。リリースされたコードを直すなんてことはそう簡単にできることじゃないのです。

おそらくは一番簡単な解決策はその方に開発からご退場頂くことでしょう。もちろん後ろ向きな解決なのは間違いないですし、有期雇用や派遣の方が相手ですと雇い止めという比較的穏当な手段を取ることができるかもしれませんが、正社員の方が相手ですとそういうことはできるのでしょうか… 当人の希望と会社と思惑が重なって消えてくれることを祈るしかないのかな…

平等に貧しくなろうについて思うこと

上野千鶴子氏の「平等に貧しくなろう論」

chuplus.jp

鎮火したと思ったらまた燃え上がってますね。

synodos.jp

この炎上に乗っかって私も意見表明致します。

私のスタンス

移民受け入れ→反対
脱成長→反対
再分配→その中身が問題なのでは?

ってなスタンスでわりと上野千鶴子氏と立ち位置は似てます。逆に北田暁大氏の移民肯定論は現在の日本の状況を考えるとあまりにも楽観的すぎると感じました。

移民受け入れについて

は、とにかく反対です。ただ別に多文化共生がどうたらという話ではなくて今の移民の受け入れ先が介護・小売・飲食といった低賃金労働だからです。(多文化共生論でいうなら今も東京にどんだけ外国人いるんだって話ですし)

まず、日本人がやりたくない低賃金労働を貧しい外国人に押し付けるというのが正しい方向なのかというのが疑問です。また、低賃金労働者が高齢になったとき十分な蓄えはそりゃ無いでしょうと予想されますが、ただでさえ年金の財源が厳しいのにその生活費用はどう確保するのでしょうか?あるいは就労ビザの停止に伴い強制送還で追い返す気腹積もりなのでしょうか?そういうことをしていけば当然犯罪率は上がっていくことになるがそれは許容するのでしょうか?

また、低賃金労働による人員不足に対する安易な解消手段を認めてしまっていいのかという疑問もあります。これの解消手段は私の思う限りは、賃金の上昇・事業の縮小・機械化等による生産性の向上といった方向性になるでしょうが、低賃金労働者の輸入という安易な現状維持手段が提供されれば企業はそちらを間違いなく使うでしょう。せっかくの事業改善のチャンスを失うツケは日本のさらなる技術的衰退として現れると考えます。特に小売などはもっと無人化を進めていかなければならない領域でしょう。

脱成長:人口減少=経済的縮小?

供給能力の話でいうと、大勢としてはそうなのかもしれないですが機械化・無人化で克服していかなければならない問題でしょう。低賃金労働奴隷の輸入で解決って南北戦争時代ですかこれは。

消費のパイの縮小という問題としては人口減少を人口増加以外で解決するというのは難しいところで、輸出を増やすか支出を増やしてもらうかインフレ起こすかをしないといけないことになるはずです。我々老後が残ってる勢としてはインフレ方向に進んで欲しいところですが…

総論としては、人口減少が経済の縮小をもたらすのはそりゃそうなんだがどうにかこうにかして奴隷の輸入以外の手段と突破しなきゃならないし出来ない話でも無いと思ってます。上野千鶴子氏の論はいくらなんでも悲観的すぎるでしょう。

再分配とは?

上野千鶴子氏は「再分配」で解決していかなければと言っていましたがまさにこの再分配の中身が問題でしょう。ソフトランディングを目指すにせよ経済成長を目指すにせよ、やるべきは高齢者に社会負担をもっと背負ってもらうことのはずで、この中身について言及してほしかった。(いくらなんでも上野千鶴子氏が高齢者をソフトランディングさせるために若者に増税しようと思ってはいないと思います)

まず以下2つの「再分配」が発生することでしょう。

  • 年金支給開始年齢を引き上げ、「高齢者」の定義を変える。同時に定年の年齢も引き上げる
  • 高齢者の保険料率の引き下げを無くし、全員3割負担としていく。もっと言うなら本来の保険と同じく、罹患率の高い高齢者ほど負担料率が高まるシステムに変える

そしてもっと危険な領域に踏み込んで言うなら、人の寿命をどうコントロールしていくのかという議論になっていくことでしょう。経済的・人的負担を減らし高齢化社会のソフトランディングを狙うならば、健康寿命と寿命の間をどう縮めるか、つまり健康寿命を伸ばして寿命を下げるということをどう穏当に行うかでしょう。

健康寿命を伸ばす政策はポジティブな方向ですし無理なく受け入れられていくことでしょう。国民の義務としてラジオ体操や一日一万歩が入る日が来るかもしれません。

問題は寿命の引き下げの方で、わかりやすいのでいけば延命措置の原則禁止や保険適用の除外などでしょうが、この泥を誰がかぶるのかです。経済状況を考えればもはやせざるを得ないときに来てるはずなのですが、野党やマスコミが叩くのにこれほど都合の良い話題も無いことでしょう。なんせ人命の問題なんですから。

とにかく政府でも野党でも社会学者でもいいから泥被ってなんとかしてくれ。

2017冬アニメも大体折り返しに来たので感想

2017年冬アニメも折り返し地点に来たのでここらで振り返りつつ感想残しときます。

虚無アニメ筆頭:ハンドシェイカー

anime.dmkt-sp.jp

やはり虚無力トップはこのハンドシェイカーですわ。ラノベテンプレクソアニメの文法を踏襲しつつ、説明不足が極まってます。「俺達は戦いたくない!」「私たちは戦うわ。それがハンドシェイカーだから」「あなたもハンドシェイカーなんでしょ?」みたいな説明も何もあったもんじゃない無いやりとり最高です。ハンドシェイカーの設定は実質WIXOSSの夢幻少女みたいになっており、勝つことで願いを叶えるという設定を信じて各カップルは戦っているんですがこれ最後どうなるんでしょうねえ。

しかしストーリーの雑さ、説明不足さと対象的に音楽と映像は素晴らしいです。特に戦闘BGMは最高じゃないでしょうか。耳が喜びます。また戦闘の展開もラノベテンプレでありつつ良い感じに進んでますよねー。ロリ上司ことヒュージスリケン=サンとのバトルも美しかったし、先週のアクションデュエルも素晴らしかった。唯一の不満点はCV海馬社長になぜアクションデュエルさせ無かったし…!ってところでしょうかw

けものフレンズ

アニメ『けものフレンズ』は人類史600万年を探求する - 本しゃぶり

anime.dmkt-sp.jp

↑を見て流行るちょっと前に一話から見始めたんですが、最初は虚無アニメか?と思ってたましたハイ。よくわからないけど見せる魔力があるから視聴継続するかーとやってました。その後ニコニコ生放送等々のコメントで「楽しみ方」が分かってから一気に楽しくみれるようになりました。ニコニコも久しぶりに役割を果たしましたね。

しかし教育番組っぽいキャラが美少女動物園やるアニメかと思ったら骨太のポストアポカリプスSFになっててストーリー展開がとても楽しみです。「ヒト」は絶滅したのか?セルリアンの正体は?かばんちゃんとサンドスターの関係は?図書館後ヒトを探すたびに出て自由の女神を発見してしまうのか?はたまた上位世界へと飛びゲーム会社の社長と決戦するのか?妄想が止まりませんわ。ぐへへ。

今季最高の虚無、ARC-V

いやまじでやばいわこの虚無。ほんとにクソストーリーすぎてどうしようもないっすわ。実質的なラスボスであるはずのZARC戦がここまでクソなまま終わるとは。ランサーズの戦い方()であったアクションカードは全て効かず、続く乱入になんの意味があったのかと思ったらまさか切り札のカード発動のための墓地肥やしだったとは…しかも切り札がぽっと出のカードって… もう次元戦争とは一体何だったのかほんとわかんねえよ、もう。

f:id:nida3001:20170219235457j:plain

せめてラストバトルぐらいは綺麗に終わってほしいですが、今の展開がもう駄目だ感に溢れてて不安しかないです。ゆーさくに期待するしかねえ。リンク召喚?マスタールール4?知らんなあ…

グーグルのアルゴリズム変更と前職に対する思い

話題のグーグルのアルゴリズム変更によるまとめサイトのランキング落ちを見ると前職を思い出します。前職はいわゆるネット広告ベンチャーやってたのですが、まとめサイト・キュレーションサイトは重要な資金源だったようで、うちの会社はまとめサイトで支えられているなんてことも聞きました。

 

まとめサイトはよくもわるくも良い娯楽であると同時に「ネット検索」を破壊し、ウェブの世界を焼き畑しながら収益を上げていく存在だったと思います。そういうのに加担するのが虚しくなって前職を離れました。

 

無意味化するiphone safariの広告ブロッカーやら、そもそもアドオンの入らないモバイルウェブブラウザーで流れる効果付きオーバーレイ広告を見て「ウェブはもう終わり」という考えを強めていたのですが、Welq問題から始まるネットの浄化キャンペーンの連続を見てると遂に反動が始まったのかと感じます。グーグルも今回のアルゴリズム変更での支持を得てさらにまとめサイト駆逐は進んでいくことでしょう。

 

同時にグーグルのネット支配・ネット広告支配がさらに進んだなあという気分にもなります。言ってしまえばまとめサイトってグーグルがネット広告を下手に掲載するわけにいかないグレーなエリアだったわけで、これをネットから消し去ったのはある意味では競合潰しなわけです。弱小ネット広告会社はこの先「グーグルの広告も掲載できる」ホワイトな媒体で戦わなきゃもう拡大できなくなっていくでしょう。当然ながら勝てる可能性はほぼ無いですが。我ながら風向きが変わる直前に上手く逃げられたなあという気分です。

虚無をオサメルノデス

虚無 Advent Calendar 2016 - Adventar 最終日です。最終日はアドベントカレンダーのことを振り返りつつ、年末年始に向けた虚無リストを並べて終わりとしたいと思います。

アドベントカレンダーのきっかけ

こんな頭のおかしいカレンダーが何故始まったのか。

全てはけいぞう君の煽りが原因です。

俺は悪くねえ!

最初の構想しては、一人一つ、けいぞうとインターネットの闇で埋めて3枠しか埋まらなかったアドベントカレンダーとして終わって「ああ虚無だねえ」で締めようと思ってましが…

とか、

こういうことがあったりした結果。

 

f:id:nida3001:20161224115531p:plain

なんで24日まで完走してるんですかねえ…そして今日ので完走だよ!おかしいですよカテジナさん!

さらに、私の最初の構想ではさくっと一時間で記事書いて雑に紹介して終わらす感じで書こうと思ったのですが、

 こんな煽り合いを序盤の方でやってしまってね。「作品を全部見てから記事を書く」みたいな謎ルールが生まれてしまったんですよ。1クールアニメを対象にした日にゃ記事一本の製作時間が最低6時間っすよ?馬鹿やろ?

煽り合い。ダメ、絶対。🙅

虚無を紹介するということ

そもそも虚無って何かってのが難しいです。私としては、 見解 で書いてみましたが、作品の中の普通はつまらないと感じてしまう部分が度を超えたことによる反転が引き起こす面白さだと思います。

結果として作品紹介を書くと罵倒しているだけの紹介になってしまうなあと思いました。だって普通はつまらん要素を紹介しているわけですから。そもそも作品を面白く紹介するって大変むずかしいんですが、虚無作品の紹介となるとさらに難しくなりますね、と。今後も虚無作品紹介はちまちまやりたいですが、良い落とし所というか面白い書き方を身に着けていきたいものです。

虚無リスト

本アドベを見て、虚無作品って面白そうと思う方は多いことでしょう(?)

年末年始という休暇を活かすためにも、最後は本カレンダーを作る際にネタ被りを防止するのに使った虚無作品リストを出すことで締めとします。是非皆様ご覧アレ。

(dアニメ > hulu > 公式 >= geoな感じで作品を並べております)

www.tv-tokyo.co.jp

anime.dmkt-sp.jp

anime.dmkt-sp.jp

anime.dmkt-sp.jp

rental.geo-online.co.jp

www.hulu.jp

anime.dmkt-sp.jp

www.hai-furi.com

rental.geo-online.co.jp

 

rental.geo-online.co.jp

anime.dmkt-sp.jp

rental.geo-online.co.jp

anime.dmkt-sp.jp

anime.dmkt-sp.jp

www.tbs.co.jp

anime.dmkt-sp.jp

rental.geo-online.co.jp

anime.dmkt-sp.jp

anime.dmkt-sp.jp

anime.dmkt-sp.jp

rental.geo-online.co.jp

www.hulu.jp

www.hulu.jp

rental.geo-online.co.jp

anime.dmkt-sp.jp

anime.dmkt-sp.jp

anime.dmkt-sp.jp

anime.dmkt-sp.jp

anime.dmkt-sp.jp

gaga.ne.jp

anime.dmkt-sp.jp

anime.dmkt-sp.jp

anime.dmkt-sp.jp

anime.dmkt-sp.jp

anime.dmkt-sp.jp

ch.nicovideo.jp

anime.dmkt-sp.jp

 

ほんとにdアニメは「あるんだー!」CV: 安藤夏希を何度でも叫びたくなる品揃えですね… 皆様もdアニメで虚無ポイントを貯めて感性を破壊しよう!来年も良い虚無を!

12月23日

1. dockerで遊んだ

qiita.com

固定IPはnetworkを作ってから割当すんのね。
virtualbox + vagrantより圧倒的に早いのはすごい。 基本学習用途で使ってるので、ほっといても永続化してくれるvirtualboxと比べるとちょい面倒…

 

2. redis pub/sub

otiai10.hatenablog.com

 

既にredis使ってるところだとKVSついでに簡単にメッセージング使えるみたい。 RabbitMQみたいな強力な制御機構は無いと思うがシンプルでいいのは確かだ。

 

3. re:dashをdocker-composeしただけ

Setting up a Redash instance · GitBook

あとから見つけた。

qiita.com

docker-composeでインストールという手順はブラックボックスが多くてなんかな。。。 デプロイ手順がそのまま書いてあるとも言えるが。