ごく簡単なTensorFlowのインストール (MacとAnacondaで)

GPU使わないのがインストールは楽。 Anacondaをインストールしとく。

Python3.5の環境を作る。TensorFlowはPython3.5をサポートなので。

conda create -n tensorflow python=3.5 anaconda

TensorFlowをインストール(使うwhlはそのとき最新のを確認してね)。

pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.2.1-py3-none-any.whl

あらもうできちゃった。

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

Ruby2.4.1でIt seems your ruby installation is missing psych (for YAML output).

gemでoutdatedしたら、あれれ。

~$ gem outdated
/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/yaml.rb:5:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': dlopen(/usr/local/lib/ruby/gems/2.4.0/gems/psych-2.2.4/lib/psych.bundle, 9): Library not loaded: /usr/local/opt/ruby/lib/libruby.2.4.0.dylib (LoadError)
  Referenced from: /usr/local/lib/ruby/gems/2.4.0/gems/psych-2.2.4/lib/psych.bundle
  Reason: image not found - /usr/local/lib/ruby/gems/2.4.0/gems/psych-2.2.4/lib/psych.bundle
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/lib/ruby/gems/2.4.0/gems/psych-2.2.4/lib/psych.rb:8:in `<top (required)>'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/yaml.rb:6:in `<top (required)>'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems.rb:700:in `load_yaml'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/config_file.rb:340:in `load_file'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/config_file.rb:202:in `initialize'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/gem_runner.rb:75:in `new'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/gem_runner.rb:75:in `do_configuration'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/gem_runner.rb:40:in `run'
    from /usr/local/opt/ruby/bin/gem:21:in `<main>'

ググってみたら、

Upgrading to Ruby 2.4.1_1 breaks gem command. · Issue #11636 · Homebrew/homebrew-core · GitHub

brew reinstall -s libyaml
brew reinstall -s ruby

でも解消せず。さらに

rm -rf /usr/local/lib/ruby/gems/2.4.0/gems/psych-2.2.4
rm -rf /usr/local/lib/ruby/gems/2.4.0/extensions/x86_64-darwin-16/2.4.0/psych-2.2.4

これで gem outdated出来た。とりあえずめでたし。

"C++/WinRT" Windows開発に、また新たな1ページが

喜ぶべきなのだろうか、いや、喜ばしいと思いたい。 Windows開発に、また新たな1ページが。

C++ - C++/WinRT の紹介

マイクロソフトがいざなう、僕たちの旅は、幸せに向かっているはずだ。きっと。

あの頃は(WinRTでなく)Metroだった...(遠い目)
Froms WPF Silverlight そして Metro - osamuk's blog

macos Sierraと、Homebrew 1.0.0リリースでリポジトリは/usr/local/Homebrewに

Homebrewのリポジトリが/usr/local/Homebrewになったようです。 とりあえずbrew updateでよさそう。

http://community.brew.sh/t/how-to-migrate-existing-brews-from-usr-local-to-new-usr-local-homebrew/27community.brew.sh

こちらも参考にさせていただきました。 blog.ymyzk.com

Homebrewでnode.jsアップグレード--with-intl=full-icuに毎回時間がかかるので、full-icu-npmを使ってみた

brewでnodeのインストール時 brew install node

Please note by default only English locale support is provided. If you need
full locale support you should:
  `brew reinstall node --with-full-icu`

--with-full-icu指定すると、ECMAScript 国際化APIで日本語使えてよいのですが、インストール後も、nodeのアップデートのたびにソースからビルドされて時間がかかってしまいます...。
どうしたものかと思っていたら、
github.com なるものを見つけました。 nodeを--with-full-icuビルドしなくても、npmをインストールしておいて、環境変数指定すれば、icu使えます。

npm install full-icu -g

すると、このとき表示される

Node will use this ICU datafile if the environment variable NODE_ICU_DATA is set to “/usr/local/lib/node_modules/full-icu”
or with node --icu-data-dir=/usr/local/lib/node_modules/full-icu YOURAPP.js
 For package.json:
{"scripts":{"start":"node --icu-data-dir=/usr/local/lib/node_modules/full-icu YOURAPP.js"}}

に従って、

export NODE_ICU_DATA=/usr/local/lib/node_modules/full-icu/

これをしておくと、brewでnodeインストールするときは--with-full-icuを付けないでおいても、icu使えるようになりました。

var date = new Date(Date.UTC(2016, 7, 20, 3, 0, 0));
console.log(new Intl.DateTimeFormat('ja-JP-u-ca-japanese').format(date));
平成28/8/20

書籍「ラピッドデベロップメント―効率的な開発を目指して」

古い本を買ってしまったシリーズ、今回は、「ラピッドデベロップメント―効率的な開発を目指して」 (MicrosoftPRESS)です。かつて持っていたが手放してしまっていた。古本で見つけてうっかり購入。

ラピッドデベロップメント―効率的な開発を目指して (MicrosoftPRESS)

ラピッドデベロップメント―効率的な開発を目指して (MicrosoftPRESS)

初版1998年、XP/アジャイル以前であり「古い感」はいなめない。が、ソフトウエア開発プロジェクトのありかたにつて、今ナナメ読みしてみても、身につまされる(耳が痛い)ところも多い。 この本では、ソフトウエア開発作業のライフサイクルとして、よくいう"ウォータフォール"とそれ以外を10のパターンに分類している。

  • 純粋なウォータフォール
  • コーディングと修正
  • スパイラル
  • 改良ウォータフォール
  • 発展的プロトタイピング
  • 段階的配布
  • 発展的配布
  • スケジュールに合わせた設計
  • ツールに合わせた設計
  • 市販のソフトウエア

(上のリストは、開発ライフサイクルとしては粒度が合わなく見えるが、名前のつけかたによるもので、本書には上のが一覧表で比較されている)

あとこの本はコーディングについては触れてない。そのへんは「コードコンプリート」を読んでくれと。