今日も微速転進

ここではないどこかへ

今更ながら『2Dグラフィックスのしくみ』を読み終えた

久々の更新です。2015年の夏に発売された本のレビューです。

2Dグラフィックスのしくみ ――図解でよくわかる画像処理技術のセオリー (WEB+DB PRESS plus)

2Dグラフィックスのしくみ ――図解でよくわかる画像処理技術のセオリー (WEB+DB PRESS plus)

以前から気になっていたが、この前本屋で実物を確認できたので(電子版を)購入。

電子版は技術評論社電子書籍販売サイトから。

gihyo.jp

概要

画像編集ソフトの開発者が、普通の人*1向けにコンピューターにおける画像処理についてあれこれ解説した本?

対象読者はパソコンで絵を描いている人で画像編集ソフトの仕組みについて興味がある人。もしくは、2Dグラフィックスに興味がある人で簡単なC言語のソースを読める人。

ざっくりと特色をまとめると、以下のようになる。

  • 画像編集ソフトの開発者が執筆した一般向けの読み物
  • 画像編集ソフトの使い方の本ではない
  • 画像処理の専門書ではない

たいていの画像処理の専門書は顔認識など画像を解析して応用することをゴールにして書かれている。

一方、この本はいわゆるお絵かきソフトに関連するトピックを中心に解説している。 「あとがき」で言及されているとおり、対象読者が曖昧な気がする*2。誰が企画書書いたのか知らないけど、よく企画が通ったものだと思う。

構成

一般向けの読み物と言いながら、処理の解説の箇所で簡単なC言語のコードをモロに用いている。コンセプトといい、非常に挑戦的。まさに意欲作である。

巻頭にとってつけたように用語集がある点は親切。しかしながら、一般的なパソコン用語と、画像処理固有の用語やアルゴリズムの名称などまとめて五十音順に並んでいる。どうせなら各章の冒頭に関連する用語のみ説明するとか、もう少し工夫の余地があったのでは。

  • 0章:著者によるご利益のアピール
  • 1章:プログラムの動作の仕組み(および最低限のC言語の解説)
  • 2章:グラフィックス一般(図形描画処理のノウハウ)
  • 3章:画像処理(画像編集ソフトでよくありがちな処理について高速化のヒントなど)
  • 4章:レイヤーの取り扱いなどペイントソフトならではの話

最後の最後でJPEGの圧縮に使われている離散コサイン変換の説明でぶつ切りになったかのごとく唐突に終わる……。 コードリストを一通り眺めてページをめくるといきなり索引のページが続くのではっきり言ってびっくりする。

内容の詳細は出版社のページへ。

2Dグラフィックスのしくみ ――図解でよくわかる画像処理技術のセオリー:書籍案内|技術評論社

感想

非常に読みやすい丁寧な文章。(C言語のコードが苦にならないなら)特に高度な数学の知識は不要でスラスラ読める。一般向けの画像編集ソフトを開発している方による視点というのは有意義だと思う。

他の本を読む前にこの本を読んでいた方が効率よく画像処理分野について学べたかもしれない。

自分では分かったつもりだった知識(アルゴリズム)が、Cのソースに落とし込まれているのを見て意外と理解できていないことに気づかされる箇所がいくつかあった。

どういう経緯で執筆することになったのか不明ですが、ユーザーが間違った知識のせいで(画像編集ソフトを)おかしな使い方をしている、という現状をどうにかしたかったのかな?
画像編集ソフトの開発者なりにもっと活用して欲しいという思いがにじみ出ている。

残念なところとしては一般向け扱いなのでどうしても広く浅くなりがちな点。あとは詳しく解説して欲しいと思うトピックがほんの数行、言及しておしまいだったりとか。
いくら一般向けでもこの記述はちょっとはしょり過ぎでは?という箇所もあるし。人によって興味を持つトピックは違うので仕方がないとは思いますが。 対象読者層が狭いわりに、興味を持つ読者のニーズに幅があるんじゃないかと思う。

アルゴリズムの解説については問題点とか以前のヒントを示すというのはいいと思うが、参考文献があるとなお良かったのかと思う*3。もちろんネットでキーワード検索して調べればいいのだけど*4


高解像度のカメラを搭載したスマートフォンの普及とプログラミング教育への関心が高まっている昨今の社会情勢からすると、潜在的に画像処理分野に興味を持つ人は増えているように思います。もう少し対象読者を明確にしていればかなり部数を狙えたのではないかでしょうか。

あれこれ文句を書いたけど、コンセプト自体は画像処理関連の分野における『プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識』という書籍のようなポジションも狙えたと思う。改訂版もしくはよりソフトウェア開発者よりの内容の書籍に期待したい。

まとめ

画像処理分野に興味がある方の最初の一冊として、あるいは今までなんとなく画像編集ソフトを使っているが操作手順に自信が持てない方にオススメかと思います。

グラフィック関係のアプリを作る場合にも間違いなく参考になるはず。特に画質と処理速度のトレードオフの解決のヒントになると思います。

難点はやはり、一般向けのはずなのにアルゴリズムの説明がC言語のソースを用いている点。理工系の出身でも人によっては嫌がるのではないだろうか。個人的には変に数式と文章よりわかりやすいのですが。

価格がもう少し安いと良かったかなと思います。

関連リンク


他の方による乾燥など。

参考

この書を読んで、物足りないと思ったなら、画像処理の専門書としては下記が網羅的に解説している。数式多めであまり親切とは言えないけど、一通り解説されてる。

コンピュータグラフィックス [改訂新版]

コンピュータグラフィックス [改訂新版]

ディジタル画像処理 [改訂新版]

ディジタル画像処理 [改訂新版]

価格が結構しますが、Kindle Unlimitedでも読めます(ただし固定レイアウト)。

また、画像処理の教科書としては下記がわかりやすいかと。

はじめての画像処理技術(第2版)

はじめての画像処理技術(第2版)

他の画像処理についても書評記事を書いているのでご参考まで。

a244.hateblo.jp

a244.hateblo.jp


以上です。

それではまた。

*1:プログラマというだけで文字通り普通かどうかは別

*2:他の方のレビューでも指摘されているとおり

*3:圧縮アルゴリズもの箇所にみ参考文献が注釈として記載されている

*4:実際、キッテルの固体物理学ではネットで調べればいいという理由で参考文献が省略されている(分野が違うけど)

Inkscape 0.92 がリリースされたけど……

一月一日付でInkscapeの新バージョンがリリースされています。

inkscape.org

Mac向けのバイナリ提供は今のところ無し。

背景?

開発者向けのメーリングリストからの断片的な情報*1によれば、 いつの間にか公式プロジェクトとしてはMac向けのバイナリパッケージは提供しないという決断をしたらしいです。

Macを保有するアクティブな開発者が不在なのか、経緯はイマイチ不明です。

Mac向けバイナリパッケージを提供しないほうが、アクティブなMac向けの開発者が参加するきっかけになるという目論見だったのでしょうか?

正式リリース告知後にMac向けのパッケージメンテナ(要するにソースからコンパイルしてアップロードする担当)の立候補者が開発者向けのメーリングリストに 登場したのが昨日。

そもそも公式プロジェクトとしてビルド用のツールとしてcmakeに移行しているのにMac向けの情報はAutotoolsを使う手順のまま。

メインの開発者側としてもWikiを更新しようという動きはあるようなので、しばらく様子見中。

そのうち公式Wikiページのビルド手順も更新されるでしょうし、時間が経てば公式のパッケージが提供されるのだろうと思います。

主な新機能・変更点

  • SVG2およびCSS3サポートの改善
  • (SVG2の)Mesh Gradientsのサポート
  • 新しいパスエフェクト
  • ペンシルツールにおけるインタラクティブなスムージング
  • すべての描画要素のための新しいオブジェクトダイアログ
  • CSS標準との整合性(?)のためにデフォルトの解像度を90 dpiから 96 dpi に変更

“Mesh Gradients"というのはどうやらAdobeのIllustratorに存在するグラデーションメッシュに相当するようです。まるで写真のように本物らしく見えるグラフィックを作成できるとのこと。

デモ動画:Inkscape: Gradient Mesh - YouTube

解像度の変更ですが、以前のバージョンで作成したファイルを開くと確認のダイアログが表示されるようです。紙に印刷する場合など、用途によっては注意が必要かと思います。

リリースの告知文によると、今後の方針としてGUIツールキットをGTK3へ、バージョン管理システムをGitに、コードもC++11 にそれぞれ移行する方針のようです。

詳細なリリースノートは以下。CSS3の縦書きサポートの改善など日本語環境に関連しそうなものもあります。

Release notes/0.92 - Inkscape Wiki

なお、Mac環境固有のバグは修正されていないようです。

何はともあれ

MacPorts経由でインストールすることにします。 通常版ではなく、いわゆるネイティブ版としてビルド。

すでにMacPortsのパッケージ(というかビルド用のレシピ)が更新されているので、この方法でインストールするのが確実です。

XcodeそのほかMacPortsはセットアップ済みであるものとします。

※ 開発版をインストールしている場合はコンフリクトするのでアンインストール。

$ sudo port sync
$ sudo port install  inkscape +quartz

+quartzをつけなければ普通のXQuartzに依存したばいなりになります。

注意点

Sierraでビルドした場合の問題はそのままみたいです。そのままの日本語ロケールだと異常終了するので下記のように起動。

$ LANG=ja_JP inkscape

関連するバグなど

まとめ

そのうち通常版のMac向けパッケージがリリースされると思われるので、しばらく待つほうがベターと思われます。

おしまい。

*1:昨年末からほぼROM状態ですが参加しています

ラズパイにOpenCV 3.2 をインストールする(暫定版)

前回の記事で年内の最後の予定だったけどせっかくなので。

ほぼ作業メモみたいなものです。

環境

準備

旧バージョンのアンインストール(元からインストールされている場合のみ)

OpenCV 3.1 をビルドしたディレクトリ(私の環境では~/work/opencv-3.1.0/build*1)に移動して下記を実行。

$ sudo make uninstall

ついでにmicroSDを圧迫するのでコンパイル時の中間生成物など古いファイルは削除しておく。

作業ディレクトリの作成

適当な場所に作業ディレクトリを作成して移動。

$ mkdir work
$ cd work

依存ライブラリについては過去記事参照。

a244.hateblo.jp

ソースの入手

公式からOpenCV 本体と拡張モジュール(contrib)のソースを入手。

本体の方は"OpenCV for Linux/Mac"というリンクをクリック。拡張モジュールの方は3.2.0の"tar.gz"のリンクから。

wget でダウンロードするなら下記のようにする。

$ wget https://github.com/opencv/opencv/archive/3.2.0.zip
$ wget https://github.com/opencv/opencv_contrib/archive/3.2.0.tar.gz

展開

$ unzip opencv-3.2.0.zip
$ tar zxf opencv_contrib-3.2.0.tar.gz

本体の展開先に移動し、cmake用の出力先ディレクトリを作ってそこに移動。

$ cd opencv-3.2.0/
$ mkdir build_with_contrib
$ cd build_with_contrib

ビルド

最初から拡張モジュール(contrib)ありでビルドします。

CMake

前回と同じ要領で行くと、下記のバグ?に遭遇するのと、C++チュートリアル(Example)のビルドでこけるのでそこを踏まえてcmakeを実行。
またfreetypeというcontribのモジュールも無効化します(後述)。

github.com

TBBは並列化のためのバックエンドの一つ。つまり代替手段があるので無効化しても問題ない。

$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
     -D CMAKE_INSTALL_PREFIX=/usr/local \
     -D INSTALL_PYTHON_EXAMPLES=ON  \
     -D PLANTUML_JAR=/usr/share/java/plantuml.jar  \
     -D ENABLE_NEON=ON \
     -D WITH_TBB=OFF -D BUILD_TBB=OFF  \
     -D WITH_QT=ON -D WITH_OPENGL=OFF \
     -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.2.0/modules \
     -D BUILD_opencv_freetype=OFF \
     -D BUILD_EXAMPLES=OFF ..

前回との変更点は以下のとおり。

  • TBBの無効化("-D WITH_TBB=OFF -D BUILD_TBB=OFF"に変更)
  • 8行目のOPENCV_EXTRA_MODULES_PATHを3.2向けに修正
  • freetypeモジュールをビルドしないように(-D BUILD_opencv_freetype=OFF)
  • サンプルをビルドしないように( -D BUILD_EXAMPLES=OFF )

cmakeの出力で、必要なモジュールが有効になっていることを確かめる。また、freetypeがDisabledのリストに存在することを確認する。

f:id:atuyosi:20161230232146p:plain

以下参考。

CMake configuration for OpenCV 3.2 (with contrib) 2016/12/30 on Raspbian jessie · GitHub

ビルド

f:id:atuyosi:20161230225017j:plain

$ make -j4

空冷ファンありなので発熱は気にせずに4並列でコンパイル

使用しているのはUSB接続の小型ファンです。電源はHDMIディスプレイのUSBハブから確保しています。

タイムリー USBファン [ 40mm角ファンモデル ]  LittleFAN40U

タイムリー USBファン [ 40mm角ファンモデル ] LittleFAN40U

輪っかにしたマスキングテープを両面テープ代わりにして固定しているだけです。小型ファンの宿命として騒音がかなり気になります。

取り付け方法によっては振動も気になりますが、発熱による警告マークは表示されません。

インストー

$ sudo make install

普通にインストールするだけ。

動作確認

C++

過去記事と同じコードをビルドして実行できたらひとまずOKとします。

#include <opencv2/opencv.hpp>
#include <iostream>
#include <fstream>

int main( int argc, char** argv){

    cv::Mat img_rgb, img_gry, img_cny;

    cv::namedWindow( "Example Gray", cv::WINDOW_AUTOSIZE );
    cv::namedWindow( "Example Canny", cv::WINDOW_AUTOSIZE );

    img_rgb = cv::imread( argv[1]);

    cv::cvtColor( img_rgb, img_gry, cv::COLOR_BGR2GRAY);
    cv::imshow( "Example Gray", img_gry );

    cv::Canny( img_gry, img_cny, 10, 100, 3, true );
    cv::imshow( "Example Canny", img_cny );


    cv::waitKey(0);
    return 0;
}

過去記事と同じです。sample.cppというファイル名で保存して下記の手順でビルド。pkg-configを使うのはデフォルトでインストールされているOpenCV 2.4が間違ってリンクされるのを防ぐため。

$ g++ `pkg-config opencv --cflags --libs` sample.cpp

以下のようにグレースケール画像とエッジ抽出の結果が表示されれば問題なし。

f:id:atuyosi:20161230234328j:plain

Python 3

Pythonはモジュールのロードのみ確認。

$ python3
Python 3.4.2 (default, Oct 19 2014, 13:31:11)
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.2.0'
>>>

遭遇したエラーとその対処

以下、遭遇したエラーメッセージとその対処。基本的にビルド時に無効化しただけですが。

エラーメッセージでググった時にヒットすることを期待しています。読む必要は特になし。

TBB関連

[2017/06/08 追記]

最新の開発版では修正されているようです。そのうちリリースされるであろうOpenCV 3.3 で取り込まれると思われます。

c.f. TBB: fix build on ARM by mshabunin · Pull Request #8844 · opencv/opencv · GitHub

[追記ここまで]

エラーメッセージをメモし忘れた。現象は下記と同じ。

TBB compile error 3.1-dev · Issue #7890 · opencv/opencv · GitHub

前述の通り別の選択肢があるので無効にして回避。  

-D WITH_TBB=OFF -D BUILD_TBB=OFF

バージョン3.1の時はすんなり通ったはずなんだけど。

[2017/01/23 追記]

解決先らしきものが issuesトラッカーに投稿されている。

freetype モジュール

[2017/06/08 追記]

こちらについても最新の開発版では修正されているようです。

[追記ここまで]

ビルド自体は成功するかに見えるが、Python 3でOpenCVモジュールをロードしようとすると下記のエラーに遭遇する。

>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /usr/local/lib/libopencv_.so.3.2: undefined symbol: hb_shape

必要なライブラリであるfreetype2harfbuzzはインストールされているので問題ないはずだが、実際にはエラーになっている。

関連:OpenCVのcontribにモジュールを追加してPRしてみた - Qiita

便利なモジュールが増えるのはいいことだけど、 使わない立場からすると微妙。環境依存でビルドに失敗するからといって文句言うのは筋違いなんだけど。

Githubの最新版では修正されているかも。

関連:Fix Opencv3.2 freetype module build failed in macOS10.12 #919 by Kumataro · Pull Request #926 · opencv/opencv_contrib · GitHub

macOS環境のビルドエラーの修正だけど、他のバグも一緒にクローズされてる。なのでこの問題も修正されているかもしれない。未検証。

Example ビルドエラー

これも前述のfreetype関連なのか?

[ 84%] Building CXX object samples/cpp/CMakeFiles/cpp-tutorial-pnp_registration.dir/tutorial_code/calib3d/real_time_pose_estimation/src/RobustMatcher.cpp.o
[ 84%] Linking CXX executable ../../bin/cpp-tutorial-pnp_registration
../../lib/libopencv_freetype.so.3.2.0: `hb_buffer_get_glyph_infos' に対する定義されていない参照です
../../lib/libopencv_freetype.so.3.2.0: `hb_font_destroy' に対する定義されていない参照です
../../lib/libopencv_freetype.so.3.2.0: `hb_ft_font_create' に対する定義されていない参照です
../../lib/libopencv_freetype.so.3.2.0: `hb_buffer_add_utf8' に対する定義されていない参照です
../../lib/libopencv_freetype.so.3.2.0: `hb_buffer_destroy' に対する定義されていない参照です
../../lib/libopencv_freetype.so.3.2.0: `hb_shape' に対する定義されていない参照です
../../lib/libopencv_freetype.so.3.2.0: `hb_buffer_guess_segment_properties' に対する定義されていない参照です
../../lib/libopencv_freetype.so.3.2.0: `hb_buffer_create' に対する定義されていない参照です
collect2: error: ld returned 1 exit status
samples/cpp/CMakeFiles/cpp-tutorial-pnp_registration.dir/build.make:345: recipe for target 'bin/cpp-tutorial-pnp_registration' failed
make[2]: *** [bin/cpp-tutorial-pnp_registration] Error 1
CMakeFiles/Makefile2:21767: recipe for target 'samples/cpp/CMakeFiles/cpp-tutorial-pnp_registration.dir/all' failed
make[1]: *** [samples/cpp/CMakeFiles/cpp-tutorial-pnp_registration.dir/all] Error 2

ぶっちゃけなくてもいいので素直にOFFにする。

-D BUILD_EXAMPLES=OFF

まとめ

最低限の確認しかしていませんが、ひとまずビルド成功です。


ではまた。

*1:buildというディレクトリは自分で作成したビルド用のディレクトリで、Makefileが存在する場所

2016年の個人的振り返り

f:id:atuyosi:20170620001438p:plain

結論から言うと滲出性中耳炎という病気に苦しめられた年。

a244.hateblo.jp

現状など

残念ながら強制的なイベントは発生せず。

右耳の聴力低下と右耳で半ば強制的に封印されていたようなものですが。

3ヶ月もあれば治ると言う話だったのに9ヶ月も通院していて「どういうことなの?」という感じです。

一応、少しずつですが聴力は回復しています。まだ耳鳴り自体が完治していないので聴力も戻りきってない状態。

まあ病気療養中であるという大義名分のおかげで助けられている面もあるので、むしろ病気に感謝すべきなのかもしれません。

目標の達成度合いなど

当初の基本方針は問題なし。

基本方針は、頑張らない、見栄を張らない、無理しない、で行こうかな、と。

病気のおかげで結果的に無理が効かなかったので。

1月に立てた目標としては、

  • 作りかけのiOSアプリをリリースする(開発者ライセンスが切れる前に)
  • 形態素解析がらみで何か成果物をつくる
  • WebAPIをつくる(Rails5 でAPI向けの機能が入るみたいなので)
  • (多分)引っ越す

結局実現したのはiOSアプリ作成のみ。残念ながらAppExtentionに対応させようとするついでにリファクタリングしようとして頓挫していますがOKということで。

ブログ記事が2015年の51記事から今年はこの記事を除いて114記事なのでアウトプットは増えています。これは10月にラズパイを購入したのが大きい。

ラズパイとOpenCVに入門したのが今年のハイライトなんじゃないかと思います。

今年の出来事で印象に残っているもの

特に順序に意味はなし。世間のことはとりあえずスルー。

  • 関東遠征(観光)
  • 滲出性中耳炎
  • 寝袋
  • VPSの移行
  • 複合機の故障および廃棄
  • MacBook Air のSSD交換
  • Kindle Unlimited
  • Ubuntu 16.04 LTS
  • Swift 3 リリース
  • ラズパイ購入
  • Mapt 加入
  • まさかの円高

こんなところかな?

精神的な変化

今年は去年以上に内省的だったような気もする。自分がプログラミングそのものが好きなんじゃなくて、コンピューターのもたらすご利益が好きというのが一年間で一番の収穫。

a244.hateblo.jp

もう一点、サービスにしろソフトウェアにしろ、IT系は基本的に「残らない」ってことを再認識したり。

a244.hateblo.jp

去年の11月にマレーシア在住の知人と話をした時はピンとこなかったけど、漠然と海外移住したいと思い出したのも今年。

聴力低下でリスニングがイマイチというのが最大のネック。

その他反省点

  • 先読みしてあれこれ買い込んで結局活用しないパターンが多いような気がする
  • Twitterのタイムラインをだらだら眺めて時間を浪費している
  • 根気強さというか集中力が続かないケース多し
  • 筋トレとかストレッチをサボり気味
  • 未消化TODO項目多すぎ
  • 現実逃避しすぎ

お察しくださいレベル。

来年(2017年)の抱負の候補

基本方針は継続。

1年前との心境の変化としては海外移住したいというのが一番。

来年1月から年齢制限が35歳まで緩和されるそうなので、聴力と資金がどうにかなればオーストラリアのワーホリを目指してみたい。

もう一つ来年やりたいのは翻訳(もちろん技術書)。

プログラミングよりコンピューター関係の本を読んだり知識が増えることに楽しさを感じるタイプなので。

ストレングスファインダーの結果からして悪くはないと思ってる。

audiobook.hatenablog.com

何はともあれ、やりかえの英単語帳の続きをやるのが第一歩か。

技術面の目標

f:id:atuyosi:20161230030238j:plain:w480

  • FPGAに入門する(発注済みなので) → 諦めた(2017/09)
  • 未経験のプログラミング言語に手をだす(C#が有力候補)
  • 何かゲームアプリを作る
  • iOSのMetalを活用した何か
  • ディープラーニング(今更だけど)
  • Coursera | Online Courses From Top Universities. Join for Free
  • Mapt の月額費用の元を取る →解約(2017/01)
  • 購入後放置状態のオライリーの本(英語)を読む
  • 本格的にPython でコードを書く

先週時点でOpenCV 3.2 がリリースされていたり、来年はTesseract の新バージョン4.x も控えてる。過去のパターンだとラズパイ関連は2月末に新製品が発表されるとか。

よく考えるまでもなく、あれもこれもはできないかも。

予算と余力があれば、以下も候補。

そもそも新型のMacBook Pro が優先なので望み薄。

[2017/09 追記]

専用ハードウェア系はラズパイとスマートフォンで手一杯。

というわけで

まったくまとまりがないですが、皆さま良いお年を。

それではまた。

(1)MAX10(2)ライタ(3)DVD付き! FPGA電子工作スーパーキット (トライアルシリーズ)

(1)MAX10(2)ライタ(3)DVD付き! FPGA電子工作スーパーキット (トライアルシリーズ)

Kindle Unlimitedで読んだ本と簡単な書評(2016年12月)

11月は一旦休止していました。Kindle Unlimited シリーズ再開、です。やはりというかなんというか外れ率高め。

a244.hateblo.jp


教養・ビジネス

『ウォーレン・バフェット 成功の名語録』

ウォーレン・バフェット 成功の名語録 (PHPビジネス新書)

ウォーレン・バフェット 成功の名語録 (PHPビジネス新書)

名語録としてまとまっているか、ちょっと疑問だけど含蓄に富む。

一番いいと思ったのは、就職に関するもの。

「最も尊敬している人のところでで働きなさい」

今の日本の就活なんて……。

次点としては

ねたみを避ける最良の方法は、自分が成功に値する人間になることだ

『出る杭は打たれる』という(ことわざ)に対する対処法としてもいいのでは。

一度でいいからウォーレン・バフェット氏と直接会って話をしてみたいですね。

『描くだけで毎日がハッピーになる ふだん使いのマインドマップ』

描くだけで毎日がハッピーになる ふだん使いのマインドマップ

描くだけで毎日がハッピーになる ふだん使いのマインドマップ

リフロー形式。マインドマップ誕生の経緯とか。

あとは具体的なマインドマップの例を紹介しながら蘊蓄を語るような本。

マインドマップを肴に(?)、書いた本人または紹介者のコメントに著者がコメントする、というパターンが続く。最後のパートがマインドマップの書き方の解説。 章構成としてこれでいいのかは疑問。

他人がどんなマインドマップを書いているのか興味がある人向け。

そもそもマインドマップ自体を知らない人はこの本よりもトニー・ブザン氏の本を読むといいと思う。

難点は画像(マインドマップ)が小さいので各ブランチの文字が小さいところ。全体のイメージがつかめれば問題はないけどちょっと残念。

この本に限らずKindle版に良くあることだけど。

『Think Simple ―アップルを生みだす熱狂的哲学』

Think Simple ―アップルを生みだす熱狂的哲学

Think Simple ―アップルを生みだす熱狂的哲学

Apple のコピーライター、ケン・シーガル氏によるAppleのマーケティングに関する本。故・スティーブ・ジョブズ氏とのエピソード多数。

ジョブズ氏が存命だった時の会議のやり方など、あまり一般に知られていないエピソードが多いのではないかと思う。

いわゆる大企業病についての批判など、参考になる部分は多い。平社員の立場ではどうにもならないよなあ、というのが正直な感想。

『黄小娥の易入門』

黄小娥の易入門

黄小娥の易入門

非科学的だけど、わりと面白い。血液型性格診断みたいに言われてみればそうかもね、という感じ。

昭和30年代に一世を風靡した本の新装版らしい。

縦書きリフロー形式。

最初に易の概要の説明をしたあと硬貨6枚で簡単に占うやり方を解説している。後半はその簡易式の易の結果の解釈が延々と続く。

サイコロを複数転がすのと大差ないような気もするけど、好奇心を満たすには十分。

『プログラミングで学ぶ20代までに身につけたい論理的思考: AIに負けない考え方』

フリーランスのプログラマによるちょっとしたエッセイ。分量が少ないのですぐ読める。

ただし、定価で買うのはオススメしない。サブタイトルの人工知能云々から期待する内容ではなかったです。

おおむね妥当なことを書いてあるように思う。Kindleよりnoteで販売した方が良かったのでは。

印象的な箇所を引用しておく。

言い方を換えれば、AIは人間を補助するための道具に過ぎないのです。(L. 34より)

正論。人工知能(AI)脅威論はこの「人間のための道具」ってところをスルーしているように思う。

今後AIが進化し、人間に代わってできることが増えれば、人間はより人間らしい活動に専念できるようになっていきます。それは同時に深く考えることのない単純な労働は、AIに置き換えられていくことを意味しています。(L. 37より)

前半に目を向けるのが人工知能に対して楽観的な立場。後半が悲観的な立場。

この本の著者の主張は、しっかりと意思を持つ、論理的な思考力を身につける、の2点。前者については人工知能と無関係に当たり前だと思うけど。

いくら人工知能による自動運転が実現しても目的地を決めるのは人間ですよねって話。

本文でプログラミング教育の義務化の目的に疑問を提起しているけど、そもそも学校では個々人の「人生の目的」とか「どんな人生をおくりたいか」について考えさせない。

そんなことしたらみんな金持ちになりたがるし誰もサラリーマンやりたいとは思わないだろう。

学校教育の一環で「将来の夢」ではなく「どんな人生をおくりたいか」を考えさせるのはいいかもしれないと思うけど。

プログラマーにありがちな論理的思考賛美エッセイになってる。

『日本でいちばん社員満足度が高い会社の非常識な働き方』

日本でいちばん社員満足度が高い会社の非常識な働き方

日本でいちばん社員満足度が高い会社の非常識な働き方

社長自身による自画自賛だらけ。経営者の書いた本は大体そうだけど。


人違いでなければこの会社かな?  

「超選択と超集中」 – 株式会社 EC studio はChatWork株式会社へ社名を変更します! - EC studio 社長ブログ

ECスタジオという名称はESET なんたらというウィルス対策ソフトの販売代理店かなんかだっだような気がするのだけど。


大会系(格闘技経験者)ということなので嫌な感じはするけど、内容は面白い。

ちゃんと理解しているのか疑問だけど、Googleのサービスを会社全体で活用したり、ある程度高性能なスペックのPCを支給している点は評価する。

社長があまりITに強くないことが斬新な発想につながっているのかもしれない。

2010年紙媒体発行ということなのでかなり実態とは異なるのではないかと思う。

『羽生善治×川上量生「羽生さんはコンピュータに勝てますか?」完全版』

羽生善治×川上量生「羽生さんはコンピュータに勝てますか?」完全版 【文春e-Books】

羽生善治×川上量生「羽生さんはコンピュータに勝てますか?」完全版 【文春e-Books】

羽生さんって頭いいなあと再確認した次第。どうも結論が曖昧な印象。

人間には人間ならではの、コンピューターにはコンピューターの良さがある、みたいな結論?

何と言えばいいのか、示唆に富む?  

英語

『自宅でできる翻訳の仕事』

自宅でできる翻訳の仕事 (OnDeck Books(NextPublishing))

自宅でできる翻訳の仕事 (OnDeck Books(NextPublishing))

翻訳関係のツールの使い方の説明とか、仕事の探し方とか。とりあえずこの著者には依頼したくないと思った。

著者のプロフィールを見ると慶應大学法学部卒で弁理士と記載さ入れているので、普通の人がそのまま鵜呑みにできるとは思えず。

Next Publishing ということでプロの編集が入っている割には章構成に工夫がないというか、章と章のつながりが悪いと思った。

技術系

『よくわかるディープラーニングの仕組み』

よくわかるディープラーニングの仕組み

よくわかるディープラーニングの仕組み

比較的文章量が少ないので一読するだけならさほど時間はかからないが、わかりやすいわけではない。どことなく「わかりやすさ重視」でざっくりとした説明になっているような感じがする。

なんとなく理解できたような気分にはなれる(というか、そんな気分になった)。

6章の『ニューラルネットワークの歴史』、7章の『ディープラーニングの開発環境』は概要を知りたい場合には有益。

以下、構成と組版についての不満。

  • 図の説明(特に記号の添え字)が不十分
  • 章見出しの下に余白がない
  • それぞれの章の冒頭に概要を書いて欲しい

LaTeXで組んだドキュメントに慣れている人間からすると組版に不満。

美術系

『ゴッホ画集: 改訂版 (世界の名画シリーズ)』

ゴッホ画集: 改訂版 (世界の名画シリーズ)

ゴッホ画集: 改訂版 (世界の名画シリーズ)

日本人の大好きなゴッホです。暇な時に眺めるといい感じ。

だいたい200ページ(目次を除く)で200点ぐらいの絵が収録されてる。 最初に各画像のサムネイルのページがあり、目次からそれぞれの絵のページに遷移できるようになっている。この点は非常に良い。

小説・そのほか

『【合本版1-10巻】魔術士オーフェンはぐれ旅 新装版』

【合本版1-10巻】魔術士オーフェンはぐれ旅 新装版

【合本版1-10巻】魔術士オーフェンはぐれ旅 新装版

199x年代の代表的ラノベ。なんだかんだで一通り読んでしまった。ネットでタダで読める異世界転生系より断然お勧め。

挿絵のイラストが時代を感じさせる。

ネットの異世界転生系の小説がダメだというわけではありませんが、読んで損はないと思います。量が多いので一気に読むのはしんどいのが難点かな。

雑誌

『日経Linux(リナックス) 2016年 11月号』

日経Linux(リナックス) 2016年 11月号 [雑誌]

日経Linux(リナックス) 2016年 11月号 [雑誌]

ラズパイマガジンの特別編が付録としてくっついてる。ちょっとだけ得した気分。

『Mr. PC 12月号』

Mr.PC (ミスターピーシー) 2016年 12月号 [雑誌]

Mr.PC (ミスターピーシー) 2016年 12月号 [雑誌]

どっちかというとWindowsユーザー向けの雑誌。まあ一年間のPC関連の話題をざっくり振り返る分にはちょうどいい感じの内容。

紙媒体の方は付録DVDが付いているらしく、電子版の方は過去記事3年分など付録をダウンロードするためURLとパスワードが書いてある。

Kindle Unlimited 経由の読者がダウンロードしていいのかは不明。

まとめ

ちょっと今月は微妙だったかな。

読みかけのタイトルが何冊かあるのでそれを読み切るまでは契約していると思いますが、その先はちょっと微妙です。


それでは。

広告