2015-03-19

gxui

gxuiの開発が盛んだ。


glewに依存しなくなった。素晴らしい。
デフォルトフォントの件も問題なく動いている。

徐々にstを移行してみる。

ポストモダンの思想的根拠

岡本裕一朗氏の「ポストモダンの思想的根拠」読了。
同氏の「フランス現代思想史」に続いて読んでみたが、
とてもわかりやすく整理されている。


もう10年も前の本だが、今でも通用する議論であり、
まさに進行中のできごとを取り扱っている感がある。

1989年11月9日、ベルリンの壁とともに大きな物語が崩壊を迎えた時、環境問題が、
2001年9月11日、世界貿易センターに2機の航空機が衝突した時、テロ問題が、
2011年3月11日、東日本大震災の最中福島第一原発を津波が襲った時、原発問題が、
それぞれ世界共通の脅威としての立場を確立し始めた。
2020年頃に来るかもしれない次の話題は何だろうか。
脅威への予防という錦の御旗を引っさげて、既に役目を終えつつある近代の国民国家は、
ポストモダンの超越的管理者になりかわろうとしているのか。

それぞれの問題が重要であるのは論をまたないが、
その問題自体としての議論ばかりに目がいっていると、土俵の上にいることにすら
気づくことができないのだろう。
土俵の上は驚くほど自由である。いや、驚くほど自由に感じられる。
しかし、土俵の上にいること自体、既にルールを飲み込んだ状態にあることを
忘れないようにしなければ。


近代で確立されたindivisualがポストモダンでdivisualになったとするならば、
超越的管理者の位置を奪取できるのは国民国家ではなく
Google、Apple、Microsoft、Amazon等の<帝国>の面々だろう。
gmailに添付されたExcelデータをipadで見ながらamazonで買い物なんて
なんの違和感もなくやっている。
それぞれのデータベースの1アカウントとして、個人はもはや個人としてでは
ない状態であらゆるところに存在できている。
逆に、2以上の個人から採取したデータが1つのかたまりとして振る舞うという
こともあるだろう。
マーケティングでの「20代男性」や「この商品を買った人」というくくり方は
まさにそんなイメージかもしれない。

帝国主義時代の植民地争いの如く、<帝国>主義時代にはデータ収集の争いが
起きている。
だからといって「個人」情報を死守せねばと躍起になる必要はないように思う。
管理されること自体は不愉快に聞こえるかもしれないが、その上に拡がる
自由は魅惑的である(クラウド、即日配達、等々)。

個人情報は来るべき管理自由社会における税金みたいなものだと考えれば、
大事なのは何をどこまで管理されているのかを意識することなのだろう。

2015-03-18

windowsでgolang/gxui

GoogleからgxuiというUIライブラリが出たという話題で
golang界隈がにわかに盛り上がっている。

windowsでも動作確認をした。

# 環境
・Windows 7
・Go 1.4.2 (公式バイナリ)
・gcc (x86_64-posix-seh-rev2, Built by MinGW-W64 project) 4.9.1

# GLEWのインストール
sourceforgeからglew-1.12.0.zipをダウンロード
・make
・make install
・glew-1.12.0\include\GL を C:\mingw-w64\x86_64-4.9.1-posix-seh-rt_v3-rev2\mingw64\x86_64-w64-mingw32\include へコピー
・glew-1.12.0\lib 内のファイルを C:\mingw-w64\x86_64-4.9.1-posix-seh-rt_v3-rev2\mingw64\x86_64-w64-mingw32\lib へコピー

# go get
・go get github.com/google/gxui
・go get code.google.com/p/freetype-go/freetype/truetype
・go get github.com/go-gl-legacy/gl
 (ここで色々警告が出るが上手く行っているのか。。。)
・go get github.com/go-gl/glfw/v3.1/glfw

# SourceCodePro-Regular.ttfを拾ってくる
レポジトリのLatest releaseから.zipを頂く

# サンプルをビルド
・cd %GOPATH%\src\github.com\google\gxui\samples\polyedit
・polyeditフォルダ内にdataフォルダを作り、SourceCodePro-Regular.ttfを入れておく
・go build
・polyedit.exe


地味にコピペ機能まで付いている…


しばらく様子を見て使えそうなら移行しよう。

2015-03-24 追記
現時点で上記から下記の変更あり
・GLEWのインストールは不要
・go get github.com/go-gl-legacy/glをgo get github.com/go-gl/gl/v3.2-core/glに変更
 →OpenGL v3.2以上に対応していないと動かないらしい
・SourceCodePro-Regular.ttfの件は不要
 →robotoフォントがソースコードに埋め込まれた?

2015-02-18

golangのstack traceをファイルに保存

予期せぬエラーでプログラムが落ちたときのために
golangのstack traceをファイルに保存しておきたいが、
ググってもkernel32を使う方法が出てくることが多い。

下記方法で一応解決した。
import (
        "os"
        "runtime/debug"
)

defer func() {
        if r := recover(); r != nil {
                w, err := os.Create("debug.txt")
                if err != nil {
                        os.Exit(1)
                }
                os.Stderr = w
                debug.PrintStack()
        }
}()
// panicの起こる処理

2015-02-11

謝罪と感謝

日本社会は謝罪と感謝で回っている。

そして、本来感謝すべきところにも
謝罪があてがわれることが多い。

2015-02-09

:g/*/p

vimで条件にマッチする行だけ取り出すときに
:v/*/d
をした後にuで元に戻していたんだけど、
:g/*/p
で良いことに気づいた。

2015-02-03

エンジニアリング

予測を伴わないエンジニアリングはただのギャンブルに過ぎず、
確信を伴ったエンジニアリングはもはや宗教である。