プログラマブログhttp://aics-app.sakura.ne.jp/rss_share/201505111431301807622プログラマ・IT関係者のための個人ブログ-
2017-04-10T21:00:00+09:00
jExcel - Webに埋め込んで使えるExcel風表計算
2017-04-10T21:00:00+09:00MOONGIFT
-
2017-04-10T17:00:00+09:00
Screenbar - 定期的にスクリーンショットを撮影&保存
2017-04-10T17:00:00+09:00MOONGIFT
-
2017-04-09T21:00:00+09:00
Touch Bar Simulator - Xcode不要なタッチバーシミュレータ
2017-04-09T21:00:00+09:00MOONGIFT
-
2017-04-09T17:00:00+09:00
todoist - Go製のTodoistクライアント
2017-04-09T17:00:00+09:00MOONGIFT
-
2017-04-08T21:00:00+09:00
Pomolectron - Electron製の常駐型ポモドーロタイマー
2017-04-08T21:00:00+09:00MOONGIFT
-
2017-04-08T17:00:00+09:00
jQuery File Browser - Webベースのファイルブラウザ
2017-04-08T17:00:00+09:00MOONGIFT
-
2017-04-07T21:00:00+09:00
PDFAnno - WebベースのPDF注釈ツール
2017-04-07T21:00:00+09:00MOONGIFT
-
2017-04-07T20:04:01+09:00
2017年03月の人気ソフトウェアまとめ
2017-04-07T20:04:01+09:00MOONGIFT
-
2017-04-07T17:00:00+09:00
IMESwitcher - IMEの切り替え用ショートカットキーをカスタマイズ
2017-04-07T17:00:00+09:00MOONGIFT
-
2017-04-06T21:00:00+09:00
ts2c - JavaScript/TypeScriptのコードをCに変換
2017-04-06T21:00:00+09:00MOONGIFT
-
2017-04-06T17:00:00+09:00
Frame Player - 画像を使った動画風プレイヤー
2017-04-06T17:00:00+09:00MOONGIFT
-
2017-04-05T21:00:00+09:00
Konva - Canvas上で2Dを描くのに便利なライブラリ
2017-04-05T21:00:00+09:00MOONGIFT
-
2017-04-05T17:00:00+09:00
Contour - 多彩な種類に対応したWeb用グラフライブラリ
2017-04-05T17:00:00+09:00MOONGIFT
-
2017-04-05T09:23:03+09:00
エンジニアライフを向上させる3つのキャリアパス
2017-04-05T09:23:03+09:00MOONGIFT
-
2017-04-04T21:00:00+09:00
Propeller - Bootstrapベースのマテリアルデザインテンプレート
2017-04-04T21:00:00+09:00MOONGIFT
-
2017-04-04T17:00:00+09:00
GitNoted - GitHub Wikiをコンテンツにするドキュメントサーバ
2017-04-04T17:00:00+09:00MOONGIFT
-
2017-04-03T21:00:00+09:00
Simon - メニューバー常駐型のシステムステータス表示
2017-04-03T21:00:00+09:00MOONGIFT
-
2017-04-03T17:00:00+09:00
HexoPress - Googleドキュメントを使ったブログシステム
2017-04-03T17:00:00+09:00MOONGIFT
-
2017-04-02T21:00:00+09:00
Redaxscript - モダンなデザインと軽量さが売りのPHP製CMS
2017-04-02T21:00:00+09:00MOONGIFT
-
2017-04-02T17:00:00+09:00
Pen - WYSIWYGなMarkdownエディタ
2017-04-02T17:00:00+09:00MOONGIFT
-
2017-04-01T21:00:00+09:00
Alloy Editor - 多機能でWYSIWYGなMarkdownエディタ
2017-04-01T21:00:00+09:00MOONGIFT
-
2017-04-01T17:00:00+09:00
Dropbox Paper - DropboxとGitを組み合わせた運用フローに
2017-04-01T17:00:00+09:00MOONGIFT
-
2017-03-31T21:00:00+09:00
Key Surfer - Google ChromeのWebブラウジングを高速化
2017-03-31T21:00:00+09:00MOONGIFT
-
2017-03-31T17:00:00+09:00
fmt-obj - JSONを見やすく整形
2017-03-31T17:00:00+09:00MOONGIFT
-
2017-03-30T21:00:00+09:00
Wick - Webベースのアニメーション作成エンジン
2017-03-30T21:00:00+09:00MOONGIFT
-
2017-03-30T17:00:00+09:00
OpenPGP.js - JavaScriptで使えるOpenPGP
2017-03-30T17:00:00+09:00MOONGIFT
-
2017-03-29T21:00:00+09:00
Gutenberg - Webページの印刷用フレームワーク
2017-03-29T21:00:00+09:00MOONGIFT
-
2017-03-29T17:00:00+09:00
fsq - ファイルシステム向け問い合わせ言語
2017-03-29T17:00:00+09:00MOONGIFT
-
2017-03-29T03:16:50+09:00
業務で使えるオープンソース(227)「Markdown変換」
2017-03-29T03:16:50+09:00MOONGIFT
-
2017-03-28T21:00:00+09:00
HTML5 Bombergirl - HTML5製のボンバーマン
2017-03-28T21:00:00+09:00MOONGIFT
-
2017-03-28T17:00:00+09:00
Clappr - 機能拡張できるWeb用動画プレイヤー
2017-03-28T17:00:00+09:00MOONGIFT
-
2017-03-27T21:00:00+09:00
Resumable.js - HTML5 File APIを使ったリジューム付きファイルアップローダー
2017-03-27T21:00:00+09:00MOONGIFT
-
2017-03-27T17:00:00+09:00
Console Importer - DevToolsで外部ライブラリをインポート
2017-03-27T17:00:00+09:00MOONGIFT
-
2017-03-26T21:00:00+09:00
Smart Answers - インタラクティブに進めて答えが得られるシステム
2017-03-26T21:00:00+09:00MOONGIFT
-
2017-03-26T17:00:00+09:00
ffscreencast - ピクチャインピクチャのスクリーンキャストを簡単に
2017-03-26T17:00:00+09:00MOONGIFT
-
2017-03-25T21:00:00+09:00
WebPack Playground - WebPackをWeb上で体験しよう
2017-03-25T21:00:00+09:00MOONGIFT
-
2017-03-25T17:00:00+09:00
macSVG - macOS用のSVGエディタ
2017-03-25T17:00:00+09:00MOONGIFT
-
2017-03-25T09:26:27+09:00
やらないことを探す
2017-03-25T09:26:27+09:00MOONGIFT
-
2017-03-24T21:00:00+09:00
LayaAir - 一つの言語からFlash/HTML5/モバイル向けにコード出力できるアニメーションエンジン
2017-03-24T21:00:00+09:00MOONGIFT
-
2017-03-24T17:00:00+09:00
Blear - 写真をぼかして印象的な壁紙を生成
2017-03-24T17:00:00+09:00MOONGIFT
-
evalpark - Swift入園しました
http://blog.livedoor.jp/dankogai/archives/52022072.html
.park { border:outset 1px; padding:1em; margin:1em; }
textarea#src { font-family:monospace; width:100%; }
ul.parkico { list-style-image:url('https://eval.dan.co.jp/favicon-16x16.png') }
というわけでおしらせです。
2017-03-19T16:30:16+09:00
404 Blog Not Found
-
ようこそevalparkへ
http://blog.livedoor.jp/dankogai/archives/52021814.html
え?もう本番ですか…?
.park { border:outset 1px; padding:1em; margin:1em; }
textarea#src { font-family:monospace; width:100%; }
ul.parkico { list-style-image:url('https://eval.dan.co.jp/favicon-16x16.png') }
Welcome to Evalpark!
2017-03-17T10:30:16+09:00
404 Blog Not Found
-
Publishing 2016
http://anemone.dodgson.org/2017/02/17/publishing-2016/
Fri, 17 Feb 2017 00:00:00 +0000
<p>2016 はブログを書かないと決めたものの、何か書かないと精神衛生に悪いからと結局9月ころから個人的に書き溜めていた。
年も開けたのでまとめて公開しておく。</p>
<p>考えごとを記録するとき、第三者の視線があるのは自分にとって助けになる。
みっともなさゆえ不必要にネガティブだったり自棄鉢にならないから。
一方で他人の視線があると無駄に気を引こうと謎のサービス精神を発揮してしまい害をなすこともある。
誰でがそうとは思わないけれど、自分の場合ね。</p>
<p>書き溜めておいて年に一回くらい公開するのは、
その二つのバランスをとる良い方法かもしれないと思ってこんなことをやっているけれど、
それが果たして意味があることなのか。今のところわからない。
ただ 2016 年中はそれなりに書きたいことだけを書けた気がした。</p>
Fri, 17 Feb 2017 00:00:00 +0000steps to phantasien
-
Closure Compiler and ES6
http://anemone.dodgson.org/2017/01/04/closure-compiler-and-es6/
Wed, 04 Jan 2017 17:04:27 +0000
<p>仕事でさわっている小さな JS は Closure Compiler というやつを使っており、これは 10 年前はともかく今となってはすごく残念な代物なのだった。</p><p>とおもっていたのだが、最近遠くのオフィスの同僚がずかずかとコードを書き換え ES6 化している。ES6 つかえるの?ときいたら Closure が transpile してくれるとのこと。なんと。class も arrow function も module (これは ES6 modules ではなく common js ぽいやつ) も使える。いいじゃん。</p><p>しょうじきコードの見栄えの満足感でいったら Java より ES6 の方がだいぶいい。ただ Closure の型注釈が若干台無しにしている感もある。</p>
Wed, 04 Jan 2017 17:04:27 +0000steps to phantasien
-
Starting NN Learning Feels Intractable
http://anemone.dodgson.org/2017/01/02/starting-nn-learning-feels-intractable/
Mon, 02 Jan 2017 15:24:14 +0000
<p>無事 <a href="https://www.coursera.org/learn/neural-networks">Coursera の Hinton クラス</a>が終わり、年末は <a href="https://www.udacity.com/course/deep-learning--ud730">Udacity の TensorFlow チュートリアル</a>をひやかして(クイズはやってない) 速い GPU の必要性を感じたので EC2 の GPU インスタンスを使う<a href="https://github.com/omo/tfsandbox">準備</a>などをした。</p><p>しかしここからどう進めばいいのかがわからない。自分の当面のゴールは、ある日 TensorFlow を使った仕事が降ってきても困らないようにする、あるいは使えそうな機会があったら逃さないようにする、くらい。何も突飛な期待をしていない。にもかかわらず、あるいはそれゆえに、何をしたものか見当がつかない。</p><p>普通だったら、そろそろ何か面白いものを作っていいフェーズだと思う。でも今回はそれだとうまくいかない気がする。なぜだろう。まず、特にこれといってやってみたいものがないこと。具体的で身近な問題を機械学習の問題に結びつけるアイデアがない。たぶん機械学習側の理解が足りてないからだとおもうけれど、これじゃ鶏と卵。</p><p>GAN を使った画像生成とかはおもしろそうではあるけれど、今の自分の水準だとあまりにブラックボックスすぎて何か意味のある理解が進むとは思えない。これは新しくて面白そうな NN 技術全般に言える。</p><p>面白いことをするのは諦め、すでに説かれた問題(論文)を再現することで手を動かすくらいが良いように思える。が、それすらどこからはじめたらいいのかわからない。おすすめ論文リストみたいのは、大概長過ぎる。そして正直いまの実力だと論文からコードを書き起こせる気がしない。論文を実装したコードを読んだり動かしたりして理解する、くらいから始めざるをえない。</p><p>そういうものが何かないかなと思っていたら、実は <a href="https://www.tensorflow.org/tutorials/">TensorFlow のチュートリアル</a>後半がそんなかんじだった。ここからやるかなあ。そして TensorFlow のサブプロジェクトには、色々な論文の実装を集めた <a href="https://github.com/tensorflow/models">models</a> というレポジトリがある。眺めた感じ質は玉石だけれど、チュートリアルのあとはこれを眺めるのも手なのかもしれない。</p><p>元論文を読みつつ手を動かしを何度かやったら、そのあとは自分の足で進めるようになるといいなあ。いまのところ全然そんな感触がなくてしんどい。理想的には最終的に解きたい問題があってやってればいいんだろうけれど、そうはなってない。でもなんとか進むしか無い。</p><p><hr /></p><p>手を動かすとは別に抜けている基本を埋めていく作業も必要な気がする。それは悪夢の書をちゃんと読もうかな。</p><p> </p>
Mon, 02 Jan 2017 15:24:14 +0000steps to phantasien
-
Hacker News Hurts
http://anemone.dodgson.org/2016/12/21/hacker-news-hurts/
Wed, 21 Dec 2016 16:47:15 +0000
<p>Hacker News いまいちという話題は定期的にでてくる。自分も最近そう思うことが増えた。なおこれは単純に HN のダメさだけでなく例のごとく自分のソーシャルメディアリテラシの低さでもある点は先に断っておく。</p><p>だめさの一つはテックゴシップ比率の多さ。ゴシップ、目に入るとつい読んでしまうけれど人生における有用性の低さは Yahoo Topics と大差ない。というか業界内輪ネタなのであるいみで一層役に立たない。(なお自分は Yahoo Topics は読んでないので濡れ衣かもしれない。むかしだったらワイドーショー的というかんじかな。適当な比喩が思い当たらない。) 自分の勤務先はよくゴシップの対象になる。そこで心ない根拠もない誹謗中傷コメントを読むのも精神衛生によくない。</p><p>総花的たる裏返しで、自分の興味あるニッチがいまいちカバーされない。仕方ないとわかってはいるけれど。</p><p>ダメさその 2 はコメント欄。たまに当事者が出てきたりして面白いのだけれど、オフトピックだったり脊髄反射だったりするものが大半。自分はまずコメントを眺めて記事本文を読むかどうか決めることが多かったのだけれど、どうも機能していない。脊髄反射もオフトピックも純粋な暇つぶしとしては機能してしまうためつい読んでしまうが、時間の無駄感を禁じえない。そして稀にすごく面白いコメントがあるため、スロットマシン効果が依存性をつくりだしている。自分はもともとコメントは一切読まなかったため困らなかったのだけれど、いつの間にかずぶずぶと時間を潰している。やばい。</p><p>コンテンツの総花化もコメントの脊髄反射化も、ソーシャルメディアがたどる一般的なライフサイクルではある。かつて Paul Graham 信者が集う掲示板に過ぎなかった頃はよくも悪くもはっきりしたバイアスがあり、個性につながっていた。それが今や<a href="http://query.nytimes.com/search/sitesearch/?action=click&contentCollection&module=SearchSubmit#/%22hacker+news%22/since1851/allresults/1/allauthors/newest/">新聞記事からちょくちょく参照</a>される有様。</p><p>しかもメディアが本業ではないせいでスケールする気がなく、本来ならもうちょっと頑張れるところで頑張っていない。長大なスレッドの奥深くに眠る面白コメントやトップページにでてこない面白記事、ぜったい見逃してると思うんだよなあ。</p><p>なのである時期から <a href="http://www.hackernewsletter.com/">Hacker Newsletter</a> や The Macro のようなプロキシを使うようになった。そして The Macro はいつの間にか終了していた・・・。</p><p>あとは Reddit や <a href="http://www.datatau.com/">Datatau</a> とかのニッチも冷やかしている。Reddit はジャンル別のおかげでゴシップ比率が低いのと、コメントが完全にゴミなおかげで全く読む気がおきないところがよい。</p><p>しかし書きながらほんとネット依存がひどいな我ながら、と思いました・・・読まなくていいのはわかってるんだよ・・・。</p>
Wed, 21 Dec 2016 16:47:15 +0000steps to phantasien
-
CUDA, C++ AMP and ROCm
http://anemone.dodgson.org/2016/12/12/cuda-c-amp-and-rocm/
Mon, 12 Dec 2016 17:51:07 +0000
<p>Neural Networks の実装はなぜか軒並み CUDA を使っている。自分も数日前から CUDA の入門書を読みはじめた。以前 OpenCL の入門書を読んだことがあるのだけれど、GPGPU へのアプローチにどんな違いがあるのか興味が湧いたため。</p><p>そんな矢先、AMD が GPGPU 用のカード <a href="http://radeon.com/en-us/instinct/">Radeon Instinct </a>をリリースしたというニュースがあった。彼らが提供するプログラマ向けのプラットホームは Radeon Open Compute Platform (<a href="https://github.com/RadeonOpenCompute">ROCm</a>) と銘打たれ GitHub に置かれている。色々なツールがあるけれど、主要なコンポーネントは HCC というコンパイラらしい。このコンパイラから使える API は数年前に Microsoft が発表した <a href="https://msdn.microsoft.com/en-us/magazine/hh882446.aspx">C++ AMP</a> と互換だそうな。</p><p>C++AMP や HPP の<a href="https://gist.github.com/scchan/540d410456e3e2682dbf018d3c179008">サンプルコード</a>を眺めてみると、ホストのコードと GPU でうごくカーネルのコードがわかれていない。これは CUDA も同じ。OpenCL ではカーネルを別のファイルに定義し、そのカーネルからコンパイルしたバイナリを OpenCL のホスト API でロードし GPU に送る、みたいな荒々しい API だった。C++ AMP だと C++ の lambda を専用のアルゴリズム関数(並列 for みたいなやつら)に渡すだけ。あとはツールチェインがよろしくやってくれる。こりゃいいわ。</p><p>CUDA は C++ ではなく C なので若干切り口は違うけれども、やはりホストとカーネルが混在できる。このアプローチだと GPU 業者はコンパイラをまるごと提供する必要がある。ROCm は Clang を使っている。ROCm にしろ CUDA の NVCC にしろ、基本的には ホスト/カーネル混在のコードをCPU 用のコンパイラに渡す前で前処理し、カーネル部分だけ自分でコンパイルするかんじらしい。これは OpenCL よりだいぶいい。特に C++AMP の lambda を使えるところ。未来っぽい。</p><p>CUDA は今の所 lambda は使えないけれど、対応は時間の問題に見える。CUDA 自体は C API ながら NVCC は C++ も扱え、NVIDIA 自身 <a href="http://docs.nvidia.com/cuda/thrust/">Thrust</a> という CUDA 向け C++ ライブラリを提供している。</p><p>なお NN まわりでの CUDA の普及は CUDA それ自体の良さだけでなく、NVIDIA 謹製の <a href="https://developer.nvidia.com/cudnn">cuDNN</a> なるライブラリが職人的チューニングですごい速く、みなこれを使っているからという面もある<a href="https://news.ycombinator.com/item?id=13159943">そうな</a>。NVIDIA がんばった。積み重ねを感じる。OpenCL を勉強している場合じゃなかった。</p><p> </p>
Mon, 12 Dec 2016 17:51:07 +0000steps to phantasien
-
My Solo Project (2)
http://anemone.dodgson.org/2016/12/11/my-solo-project-2/
Sun, 11 Dec 2016 18:06:31 +0000
<p>自分はそこそこ自律的に仕事をしやすい職場にいるとおもう。とはいえ完全に好き勝手できるわけではなく、所属しているチームや製品の方向性や自分の身の丈にあった仕事を考えないといけない。チーム内での地位やカルマの溜まり具合も関係がある。何事にも不確実性はある。不確実性に伴うリスクがどれだけとれるかはその人の実績で決まる。このフェアさは妥当だと思う。そのほか上司のマイクロマネッジ指数やチームの性格、部門の景気なども仕事の自律性に影響を与える。これらはフェアネスよりも運の部類。</p><p>自分はまあまあ運が良い気がする。今のところ割と勝手なことを勝手なペースでやっている。一方で自分のプロジェクトを誰かに手伝ってもらえる実績や ambition もない。結果として一人で自分のプロジェクトを進めることになりがち。アーキテクチャを刷新してぜんぶ倍速くしますみたいなアイデアと実力があればチームをリードすることもあるだろうけれど、残念ながら特にアイデアはない。実行可能なアイデアの不在は自分の実力のほどを表しているとおもう。</p><p>だから自分にとって、やることを決めて仕事をするのは一人プロジェクトと対になっている。一人プロジェクトにはチームをリードしてなんかやる的なかっこよさはない。一方でよいところもある。人々と協調しなくていいぶん締切や設計を柔軟に変えられる。他人の仕事を止めるわけにはいかないから間に合わせなければ...といった気苦労がない。前もって慎重に決めた API にコミットする必要もない。</p><p>End-to-End でぜんぶコードを書く満足感もある。システムの全体像を見通し、その理解をもとに物事を判断できるのはいい。正しい感じがする。サーバとクライアントでチームや担当者を分けるのが前時代的だという指摘がされてから随分たつけれど、ようやく身を持ってそれを理解できた。</p><p><h2>待たされる</h2></p><p>一人プロジェクトに特有の欠点や苦労もある。</p><p>一人プロジェクトとはいえ、チームや関係各位にはそこそこ世話になる。典型的にはコードレビューを頼まないといけない。それらの人々にとって、自分の一人プロジェクトは割とどうでもいい。同じプロジェクトのメンバー同士なら互いに依存があるから協力しあう動機がある。一人プロジェクトは依存が一方的だから、レビュアには善意と責任感以上の動機がない。だから彼らの本業が忙しいと一人プロジェクトは後回しにされがち。道理にかなった判断とはいえ、あまり放置されても仕事が進まず困る。</p><p>誰かの仕事をブロックする心配がない一方で他の人には始終ブロックされるのが一人プロジェクトのつらいところ。催促は嫌われない程度にしつこくするとして、他になにができるだろう。</p><p>ブロックされる一般の仕事の進め方は大きく二つある。一つは並列度をあげること。並列にできる作業をいくつか持っておき、一つがブロックしたら別の作業を進める。もうひとつは投機すること。レビューを待たず作業を進める。レビューの結果コードが変わったら、先に進めておいたコードもあわせて直す。ただ並列に進められることにも限度があるし、投機的なコードを書くにも根性がいる。レビューの結果次第でまるごと無駄になることもあるから。自分はどちらもさほどうまくない。</p><p>並列してやる作業の候補としてチーム全体の仕事を手伝うのは手だと思う。担当が決まってない地味で退屈なバグをなおすとか、コードを書く手前でバグのトリアージを手伝うとか。コードレビューをするのもいい。一人で仕事をしているとチームとの結束が薄れがちなので、待ち時間は利他的に使うと割りきり雑用を引き取るとなんとなく絆が深まる。待たされているレビュアが TL などの忙しい人なら、その人の仕事のうち一部を引きとってみてもいい。</p><p>こういうボランティア精神をいつも発揮できるといいんだけれど、実際にはなんとかブロックを回避して本業を進められないかとあがいて時間を無駄にしがち。モラルが足りてない。</p><p><h2>ふらつく</h2></p><p>一人プロジェクトは方向性が揺らぎがちでもある。これは自分の性格や未熟さかもしれない。決めたゴールの正しさへの確信がふと消えてなくなる。正しく定義したつもりのゴールが曖昧だったと気付く。あるいは期待するほど成果がなさそうとわかる。ゴールを決めるための探索的な作業にずるずると時間を使い、ミイラとりのミイラになることもある。</p><p>大きな不確定要素から片付けていく。手応えを確かめながらインクリメンタルに進む。不確かさを相手取る仕事の進め方はよく議論された話題なので特に新しく言いたいことはない。ただ実際にやってみると不確かさからくる不安や動揺は思ったより大きい。他人の仕事を手伝ってばかりだった自分の肝の座らなさにがっかりする。これまで他人に押し付けてきた不確かさが自分のものになる戸惑い。</p><p>ブロックしがちな作業と見失いがちなゴール。その圧力を前によく手が止まる。もやもやしたまま何日も無駄にしてしまう。締め切り不在の油断が事態を悪くする。こんなに好き勝手できるのにこんなに仕事がはかどらないなんて、かつては思いもしなかった。仕事中、何をするかを考える時間が増えた。一人プロジェクトのおかげでミーティングはほとんどない。けれど計画や提案をスケッチしたり直近の進捗を眺めて予定を見直すなど、結構な時間をコードを書く手前で使っている。</p><p>傍目からはさぼっているみたいに見えまいかと不安になる。コードのコミットの数だけを数えたら誰かに待たされながらバグを直している間のほうがよっぽど順調。ふらついている時間を待たされている時間にかぶせられるよう、試行錯誤のアイデアを備忘録へ蓄えるようになった。</p><p>自分でやることを決めて、自分で仕事を進めて、製品がよくなって、上司もチームも自分もハッピー。そんな理想までの距離は遠い。ただ追いかけるには悪くない理想だと思って今のところ続けている。少し肩身が狭い。何しましょうかとボスに尋ねればいくらでも仕事があることはわかっている。でもその日はまだ先延ばしにしておく。かすかな雇用への不安も、先延ばしにしておく。</p>
Sun, 11 Dec 2016 18:06:31 +0000steps to phantasien
-
My Solo Project (1)
http://anemone.dodgson.org/2016/12/09/my-solo-project-1/
Fri, 09 Dec 2016 22:08:05 +0000
<p>仕事の内容を自分で決めるのが、今のチームに引っ越してからの個人的な目標の一つだった。現状を記録しておきたい。</p><p>チームに入った当初、同僚からは二つの入門プロジェクトを提案された。ひとつはある種のキャッシュを実装するというもので、もうひとつは・・・わすれた。この段階では右も左もわからずやりたいこともない。とりあえずキャッシュ実装のプロジェクトをやってみることにした。</p><p>引き受けたは良いけれど仕事の全体像がわからない。そのキャッシュとやらをいれると何がどれくらい速くなるのか。そこでコードを読んだり、プロファイラを眺めたり、性能測定用の instrumentation を足したりした。調査によって段々と様子がわかってきた。まず、件のキャッシュがもたらす性能への影響は、あるにはあるが大したことはない。他にも色々遅いところがある。なのでキャッシュの仕事は適当にすませ、その他の遅いところを順々に直していくことにした。遅いところは細々たくさんあったので、修正にはけっこう時間がかかった。まだ完全に直し切れてもいない。ただ結果として「どこを速くするか」すなわち「やること」を自分で決めることにはなった。</p><p>性能周辺のインフラ、というと大げさだけど調査の仕組みも揃えていくことにした。まず Systrace ベースのユーティリティを書き、最初に足した logcat 依存の雑な instrumentation を置き換えた。そして自分が速くしたいシナリオで通るコードパスにトレースを足し、レイテンシの内訳をぱっと目で見られるようにした。</p><p>Systrace の結果を見せるとコードからは自明でない高速化の成果が一目でわかるようになるため、調査のみならずコードレビューが楽になった。そのほかベンチマークの自動化や性能測定向けデバッグオプションの追加など、細々と仕事のやりやすさを積み増した。</p><p>ユーザの手元で実際に速くなっているのかを確認するため、分析用のシステムにデータを送るコードも足した・・・というか既にそういうコードはあったので、自分に必要なイベントを追加した。</p><p>歴史的経緯から、自分のチームはこの目的にもっぱら Google Analytics を使っている。ところが Google Analytics のダッシュボードで見える性能の指標のうち説明のつかない値を示しているものがある。自分の高速化の成果もいまいちわからない。困った。</p><p>あるとき Google Analytics のデータを BigQuery にダンプできることを知り、試しにダンプしてヒストグラムを書いてみた。するとごく少数の outlier がダッシュボードに表示されている指標・・・すなわち平均値・・・を台無しにしていることがわかった。50 percentile をみると自分の期待した値になっている。</p><p>BigQuery を通じて GA の値が正しく読めるようになり、仕事の成果をアピールしやすくなった。SQL と Pandas の練習も兼ね、そのあとしばらくは BigQuery をつかった性能指標の分析に時間を割いた。おかげでいくつか新しいプロジェクトのアイデアも思いついたけれど、まだ実施には至っていない。ミーティングでグラフを見せるなどもした。</p><p>当初はある単一シナリオの性能改善に注力してきたものの、low hanging fruits の収穫がおわってしまった。残りを搾り取るために大きな変更をしてもいいけれど、むしろ他のシナリオを速くした方がよくないかと思い立つ。そこで目につく遅さから候補リストを書き出してチームにシェアしたところ、いくつか反応があった。なかでもボスの提案が的を射ていた: それまで見てきたオフラインでの性能ではなくネットワークの絡むところを速くするのはどうかという。仕事でさわっているアプリは世間の平均よりもだいぶオフライン寄りなのだけれど、それでもネットワークの絡むところはある。そして測ってみるとたしかに遅い。頻度はすくないもののユーザ体験の良し悪しに響く部分でもある。</p><p>といった経緯から、そのネットワークありシナリオの高速化を次の大きなゴールとすることにした。まずは適当にプリフェッチでもするか...とデザインの資料を書いて回覧したら、TL から思わぬ反応があった: ボトルネックにある遅い API コールがなぜそんなに遅いのか、サーバのチームに聞いてみてはどうか。そこで同じ資料をもとにサーバの人々と話をしたところ、プリフェッチもいいけどまずは API を速くした方がよくね?という。</p><p>速くしろっていうけどそれあなたたちのコードですよね…と思ったものの、サーバサイドのコードをさわるいい機会にも思えた。そこで教えを請いつついろいろ調べると、アプリとサーバの双方で少しずつ工夫すればレイテンシを減らせそうだとわかった。なのでそのまま教えを請う日々を続け、サーバのコードに変更を入れた。コードベースへの不慣れとなかなかのレガシーぶりに気圧され、作業にはおもったよりずっと時間がかかった。けれどなんとかリリースできた。</p><p>サーバサイドで使われている社内の奇妙なインフラに触れる機会ができたのはよかった。フロントエンドとバックエンド二つのサーバをさわる羽目になったおかげでシステム全体の見通しもよくなった。</p><p>そうしたプロジェクトとは別に、ある時期から性能関係のバグがぼちぼち回されてくるようになった。性能系ツールの使い方の相談もうけるようになった。チーム内での存在感に不安がある身なので、何らかの役回りが認知されつつあるとわかって安心する。最近は速度だけでなく、そのほかの性能上の指標も良くしたいと試行錯誤している。</p><p><hr /></p><p>1年半たった割には大した仕事をしてない。残念ではあるけれど、「自分のやることを自分できめる」という目標自体はまあまあ達成されていると思う。持ち回りの義務的なやつを除けば、いまのところ上司からあれをやれと指示されたことはない。</p><p>節目ごとに意見を聞き、チームやボスの意向を織り込んではいる。だから純粋に自分の意思とはいえない。ただ最終的になにをやるかは自分で決めている。プロジェクトの価値を完全に内面化できる。おかげで仕事への納得度が高い。ボスに乗せられているだけという可能性は否定しないけれど、そういうファンタジーは気分の良さに繋がるので気にせず踊ればいいと思う。</p><p>他の人のやりたいことを手伝う仕事は、プロジェクトの価値を必ずしも腑に落としきれない。ビジョンや方針に異論があるわけではない。ただ価値判断の根元が自分の中にないのでいつも方針に迷いがあり、自信を持てない。どこか責任も持ちきれない。自分で決めるとそんな歯がゆさがない。たとえそれがファンタジーでもね。</p><p>「速くする」というゴールはかなり単純でわかりやすい部類だと思う。ユーザに見える機能を自分で考えて作るとしたら、ただ速くするよりだいぶ解空間が広く難しそうに見える。製品開発のキャリアが長い人ならそれもうまくできるのだろう。そうした経験を持つ人と自分のギャップを埋められるとは思わない。ユーザの欲する機能を考えて作るのは、それはそれで長い道のりだとおもうから。</p><p>エンジニアリング専業に近い仕事をしてきた自分が考える仕事がユーザ視点の専門家と違ったものになるのは自然だと思うし、そこに何らかの価値があるならそれでいいと思っている。</p>
Fri, 09 Dec 2016 22:08:05 +0000steps to phantasien
-
Accepting Google Docs
http://anemone.dodgson.org/2016/12/09/accepting-google-docs/
Fri, 09 Dec 2016 15:06:08 +0000
<p>かつてひげぽんは「妥協して Evernote を受け入れよ」と言った。慧眼。</p><p>自分はその教えに従っていたが、諸事情によって受け入れられなくなってしまった。ただ同じ精神があてはまるものは他にもある気がする。たとえば Google Docs. 自分の中で Google Docs は MS Word を Web に持っていっただけの何一つ面白みのないソフトウェアに位置付けられている。Wiki のような Web らしいソフトウェアを大量のエンジニアリング資源で脇に追いやった悪役でもある。</p><p>ただ仕事で渋々使っているうちに、実はいいところもあるという事実を受け入れられるようになってきた。まず sync がほぼ完璧に動く。Evernote と違ってそうそう壊れない。Android アプリも当たり前のようにちゃんと動く。オフラインでも使える。デスクトップで使う分にはけっこう速い。ウェブアプリの割にキーボードショートカットが充実している。人々が Google アカウントを持っているおかげで選択的共有が簡単。思想的には気に入らないけれど、手がかかっている分で色々補えてしまう。いっぽう思想的には好みの Workflowy は、こうした基本的な品質で Docs に及んでいない。</p><p>試しに今まで Workflowy を使っていた日々の作業記録を Docs に移してみる。一つの文書に追記していくスタイル。Workflowy の柔軟性はないけれど、まあまあ使える。メニューを Compact control 表示に切り替える。Outline を表示する。ページサイズを大きいものに変更し、余白を減らし、等幅フォントを使うようスタイルを調整する。キーボードショートカットを調べ、いくつかの頻出操作を覚える。するとあら不思議、思ったほど悪くない。機密度の高いものも書けるし・・・。</p><p>これでよかったのか。なんとなく気まずい。なんとなく納得がいかない。でもきっと慣れる。</p><p>仕事の作業記録以外に Docs に移せるものはあるか。たとえば個人的な定期レビューの記録なんかは Docs でいいかもしれない。定型的なもの、頻繁に更新はしないものは Docs で足りそう。段々と移していこう。きっと慣れる。</p><p><h2>追記</h2></p><p>やはり納得できず、今は Dropbox Paper を同じ目的で使っている。</p>
Fri, 09 Dec 2016 15:06:08 +0000steps to phantasien
-
Note Taking Refugee
http://anemone.dodgson.org/2016/12/04/note-taking-refugee/
Sun, 04 Dec 2016 18:04:07 +0000
<p>去年果たした Linux laptop への移行に伴い Evernote と Dayone を失って以来、数カ月に一度くらいなんか使えるノートとりアプリはないかとウェブをぶらぶらして時間を無駄にしてしまう。今日も二時間くらい浪費してしまった。</p><p>Note taking 難民になるのは昔からの持病。一度はサブカル心をおさえて Evernote を受け入れ、完治やったーとおもっていたものの Linux というサブカル心に後ろから刺されてしまった。ぜんぶむなしい一人芝居だけれども。いい年してなにやってんだとおもう。</p><p>従来のデスクトップ作業のうち音楽や写真などを Android に追い出せたので昔よりは Linux デスクトップの可能性は増えているはず。なのにまさか note taking がボトルネックになるとは。Emacs 中心の生活だった10年前の自分は想像しなかっただろう。</p><p>Evernote に挫けたのは Web 版が貧弱すぎたから。今は <a href="https://simplenote.com/">Simplenote</a> と <a href="http://workflowy.com/">Workflowy</a> がメインで、勤務先の機密が絡むものは Google Docs に置いている。Simplenote も Workflowy もウェブ版がちゃんと動くので Linux に優しい。Linux で note taking といえば Emacs を想像するかもしれないけれど、そんなによくない。Sync とモバイルの不在が辛すぎる。Emacs の <a href="http://orgmode.org/">org mode</a> および <a href="https://www.emacswiki.org/emacs/OrgJournal">org-journal</a> もすぐに挫けた。同様の理由で昔つかっていた howm などに戻る気もしない。</p><p>Simplenote は日記や各種草稿、あとは braindump に使っている。Workflowy はリスト書き。TODOリストとか、作業ログとか。一時期は Workflowy に全部集約しようとしたこともあったのだけれど、あまりにモバイルがダメすぎて挫けた。Simplenote もあまり好きではないのだけれど, Sync がありかつ Android 版がきちんと動くので使っている。たぶん小さいメモを書くだけなら Google Keep の方が良いと思う。でも自分のような長文用途に Keep はまったく向かない。つらい。Simplenote にも不満は多い。日付のようなメタデータが見えるところに表示されない。公開していないノートに URL がない(そのため別のノートから参照できない。) そして export したデータからごっそりメタデータが落ちており、事実上エクスポートが機能しない。</p><p>自分の難民ぶり(愚かさ加減)を白状するためにここ一年で試したり評価したりしたツールを列挙してみる。</p><p>定番の Evernote 代替品 <a href="http://www.onenote.com/">OneNote</a>. Evernote よりマシだけど Web が遅い。<a href="https://keep.google.com/">Keep</a>: 長文がぜんぜんダメ。Web もいまいちやる気がない。Google Docs, <a href="https://paper.dropbox.com/">Dropbox Paper</a>: 細かいテキストを書くのが断片だめ。新しい Docs を作るのが遅い/大げさ。文書が沢山あると破綻しそう。<a href="https://www.zoho.com/notebook/">Zoho Notebook</a>: Evernote クローンぶりが徹底してるのはいいんだけど、今のところウェブがない。日本製の Inkdrop というのもよさそうなので気になっているがこれはモバイルがない。</p><p>DayOne 代替品: <a href="https://2appstudio.com/journey/">Journey</a>. あまりに露骨な DayOne クローンなのでつかう気になれなかった。しかしパクリである点を見逃せば手堅く開発を続けているっぽいから見なおしてもいいのかもしれないね・・・。Wordpress. 実は普通に非公開で blog を持てばいいのではないかという気がしている。まだ試してない。いちおうモバイルのアプリはある。出来はいまいち。ただ我慢はできそうだった。ちなみに競合の Tumblr はアプリが buggy で全然だめだった。</p><p>最近少し見なおしているのが Google Docs. メモごとにドキュメントをつくるとキリがないけれど、一つのドキュメントに延々と追記していくスタイルなら案外いけるのではないかと思い始めている。というのは勤務先チームの議事録がそんなかんじで、けっこう機能しているため。ドキュメント内なら簡単に検索もできるしね。なにか使いみちないかな。</p><p>ただこうやって矢鱈に新しいツールを試してがっかりするを繰り返すのは不毛すぎる。Linux という宗教を受け入れている以上ある程度の不自由は仕方ない。自分の note taking の現状を整理し、それにあわせて妥協できる範囲を探したい。</p>
Sun, 04 Dec 2016 18:04:07 +0000steps to phantasien
-
DataFrame is new JSON
http://anemone.dodgson.org/2016/12/04/dataframe-is-new-json/
Sun, 04 Dec 2016 15:00:20 +0000
<p>これは言い過ぎだが、Data Science 的な文脈で DataFrame が JSON に近い位置にいるのはたしか。JSON と同じく特に難しいものではない。一方で知ってないと色々損をする。</p><p>JSON と同じく、DataFrame はなにかが「ちょうどいい」抽象でもある。</p><p>データ交換フォーマットや PRC の wire protocol として XML が大げさすぎたように、データ分析をするのにORM や ResultSet みたいな行指向の抽象はいまいちだし、一方で完全に型が uniform な matrix や tensor みたいのはプリミティブすぎる。DataFrame は複雑さのバランスでうまいところを突いた。</p><p>そしていちど DataFrame という抽象が定まると、その上に色々なエコシステムができる。分析、可視化、I/O などなど・・・。Pandnas の上で動くライブラリは色々あるし、R に至っては言語自体が DataFrame のためのプラットホームみたいなもんじゃん。</p><p>DataFrame と顔見知りになれただけでも R や Pandas をさわってみた甲斐があったなと思う。</p>
Sun, 04 Dec 2016 15:00:20 +0000steps to phantasien
-
今年読んだ/聞いた本
http://anemone.dodgson.org/2016/12/04/books-i-read-2016/
Sun, 04 Dec 2016 13:54:16 +0000
<p><h3><a href="https://www.amazon.com/Learning-Spark-Lightning-Fast-Data-Analysis/dp/1449358624/">Learning Spark</a></h3></p><p>知り合いが Hadoop をやっているのをみて羨ましくなり向こうが Hadoop ならこっちは Spark だ!と入門してみた。実際には大したことはせず, DataProc で遊んでみたくらい。まあ面白くはあった。DataProc は History Server にアクセスするのが面倒でいまいちという感想。真面目に使うとそのへんの workaround は確立できるんだろうけれど。</p><p>そのあと仕事で少しだけ Flume (Cloud DataFlow の前身) を触る機会があり、Spark 入門とあわせてちょっと big data な気分を味わえたのは良かった。</p><p><h3><a href="http://www.artima.com/shop/programming_in_scala_3ed">Programming in Scala</a> (3ed)</h3></p><p>Spark をやった勢いで Scala を復習。むかし初版を読んだときの印象よりは難しくない気がした。まわりの言語が難しくなってきたからかもしれない。Scala の型システムのうち Java にないもの (abstract type とか)が どうやって Java にマップされるのか調べなればと思ったのを今思い出した。そのあとちょっと趣味で小さいコードを書いたりしたが, Scala native で mature な HTTP クライアントがろくにない、という事実にやや呆れる。探し方が悪いのかもしれないが・・・。Spark で使うくらいが無難なのかなあ。</p><p><h3><a href="https://www.amazon.com/Hadoop-Application-Architectures-Real-World-Applications/dp/1491900083/">Hadoop Application Architectures</a></h3></p><p>これも Spark の勢いで読んだ。憧れの Hadoop エコシステム、けっこういまいちな部分も多いね。自分でクラスタを運用するよりはなるべくクラウドに置いて EMR なり DataProc なりで必要なときだけ Spark などを動かす、という方が少なくとも余暇プログラマの範囲ではよさげ。(後日 AWS の発表会をみてその印象を強めた。)</p><p>どのみち自分が Hadoop システムのアーキテクチャについて真面目に考える日はこないだろうという事実は寂しい。</p><p><h3><a href="http://shop.oreilly.com/product/0636920033158.do">Building Microservices</a></h3></p><p>教養に読んだ。まあいい話なのではないかなと思う。ただ Rails みたいに気の利いたフレームワークが出揃わないと個人ではやる機会がなさそうでもある。<a href="https://www.cncf.io/">CNCF</a> とかにがんばってほしいところだけれど、Foundation とかいってる時点でいまいち期待できない感もある。</p><p><h3><a href="http://shop.oreilly.com/product/0636920032519.do">Fluent Python</a></h3></p><p>機会学習とかデータサイエンスをやるなら Big data 以前に手元で動く Python だと心を改め読んだ。良い本だった。(<a href="http://anemone.dodgson.org/2016/10/08/fluent-python/">感想</a>)</p><p><h3><a href="http://shop.oreilly.com/product/0636920028963.do">High Performance Python</a></h3></p><p>Numpy 周辺の vectorized な世界に詳しくなろうかなと読んだ。まあまあだった。(<a href="http://anemone.dodgson.org/2016/10/08/fluent-python/">感想</a>)</p><p><h3><a href="https://www.amazon.com/Natural-Language-Processing-Python-Analyzing/dp/0596516495">Natural Language Processing with Python</a></h3></p><p>機会学習とかやるなら隣接分野もわかった方がいいかと思い読んだけれど、
確率的アプローチになる前の古臭い自然言語処理の話が大半でがっかり。
ただそのあと読んだ <a href="http://www.jair.org/media/2934/live-2934-4846-jair.pdf">From Frequency to Meaning: Vector Space Models of Semantics</a> というサーベイを理解する役にはたった。このサーベイはよかった。</p><p><h3><a href="https://www.amazon.com/Learned-Optimism-Martin-P-Seligman/dp/1442341130">Learned Optimism</a></h3></p><p>以下自己啓発っぽいやつら。
これは息抜きに読んだ。古い本だけれど予想外に面白かった。
感想はそのうち別に書きたい。</p><p><h3><a href="http://calnewport.com/books/deep-work/">Deep Work</a></h3></p><p>大雑把にいうと、ソーシャルメディアをやったりメールに返事してる暇があったら仕事しろ、という本。議論は雑だけれど、著者は書いている主張を実践した上で書いているのでまあまあ説得力はあった。自分のような脱ソーシャルメディアしたい勢といては励まされた。</p><p>最近にたような主張をする記事を <a href="http://www.nytimes.com/2016/11/20/jobs/quit-social-media-your-career-may-depend-on-it.html">NYTimes</a> でみかけた・・・ら、この著者が書いていた。</p><p><h3><a href="https://www.amazon.com/Life-Changing-Magic-Tidying-Decluttering-Organizing/dp/1607747308">The Life-Changing Magic of Tidying Up</a></h3></p><p>Audible にて。これも息抜き。コンマリメソッドというやつね。<a href="http://www.nytimes.com/2016/07/10/magazine/marie-kondo-and-the-ruthless-war-on-stuff.html">なぜか流行ってる</a>という話をNYTimes で読み興味を持って周辺事情をを色々調べたらあまりに面白かったため、敬意を払い原点も読もうと思った次第。Konmari method に全米が熱狂するこの現象ほんとに面白いのでなんとか伝えたい気もするけれど、一方で総体としてはかなりどうでもいい話なので割愛。どうでもいい副作用として洗濯物は Konmari Method でたたむようになりました。</p><p><h3><a href="https://www.amazon.com/Grit-Passion-Perseverance-Angela-Duckworth/dp/1501111108/">Grit</a></h3></p><p>Audible にて。これと下の Mindset とあわせて、自分は勉強とか根性というものに対する態度を改めた。詳しい感想はそのうち別枠で。</p><p><h3><a href="https://www.amazon.com/Mindset-Psychology-Carol-S-Dweck/dp/0345472322/">Mindset</a></h3></p><p>Audible にて。ビルゲイツ推薦図書として流行っていたので読んだ。若干強引なところはあるが、核にある主張には説得された。</p><p><h3><a href="https://www.amazon.com/Predictive-Analytics-Power-Predict-Click/dp/1119145678/">Predictive Analytics</a></h3></p><p>Audible にて。機会学習サイコーっすよーという本。色々を事例を紹介していく。アルゴリズムの話もあるけれど、おまけ程度。ややクドくて食傷。むしろ <a href="https://www.amazon.com/Signal-Noise-Many-Predictions-Fail-but-ebook/dp/B007V65R54/">The Signal and the Noise</a> を読むべきだったかも。</p><p><h3><a href="https://www.amazon.com/Master-Switch-Rise-Information-Empires/dp/0307390993">The Master Switch</a></h3></p><p>インターネット歴史読み物。昔読みかけて挫けていたのを思い出し Audible で出直し。
面白かった。一度は力を失った AT&T がジリジリと復活してくる様が不気味で読ませる。</p><p><h3><a href="https://www.amazon.com/Creativity-Inc-Overcoming-Unseen-Inspiration/dp/0812993012/">Creativity Inc.</a></h3></p><p>Audible にて。Pixar 社長の自伝。面白かった。Jobs の話はしないと前置きつつ前半 1/3 くらいは Jobs ストーリー番外編として普通に面白い。後半の Pixar の会社の話もよい。</p><p>個人的にはむかし論文を読んだ CG 研究者が経営者としてぶいぶい言わせてるという事実がなにより感慨深かった。<a href="https://en.wikipedia.org/wiki/Catmull%E2%80%93Clark_subdivision_surface">Catmull-Clark subdivision surface</a> の Catmull? まじで? 的な.</p><p><h3><a href="https://www.amazon.co.jp/dp/447802099X/">ゼロ秒思考</a></h3></p><p>ここから日本語の本。知り合いが読んでいたのにつられて読んだ。色々つっこみどころも多いけれど正しい指摘もしていると思う。自分も少しメモの書き方が変わった。詳しい感想はそのうち別枠で書きたい。</p><p><h3><a href="https://www.amazon.co.jp/dp/4478029784/">速さは全てを解決する 『ゼロ秒思考』の仕事術</a></h3></p><p>上の続編。前作でカバーされていない話題を扱っているかとおもいきや、著者のランダムライフハックを披露するしょうもない本となっていた。一冊目には可能性を感じただけにだいぶがっかりした。</p><p><h3><a href="https://www.amazon.co.jp/dp/4862761666/">成功する子 失敗する子――何が「その後の人生」を決めるのか</a></h3></p><p>Mindset, Grit とかの並びにある話。子育ての話というより貧富の差など社会問題の本。面白かった。日本の貧困関係の読み物と照らしあわせて考えると示唆深い。</p><p><hr></p><p>以上 18 冊。今年はジョギング中のタブレット読書と通勤や家事労働中の Audible を通年で使ったはじめての年。軽めの本を読む量を増やせたのは嬉しい。</p><p>一方で、ジョギングと Audible の枠では読めない歯ごたえのある本を一冊も通読していない事実は無視できない。手強い本を読めるようになりたいと 2-3 冊挑んだけれど、どれも読みきれなかった。悲しい。再挑戦したいけれど、手を打たないと同じ結果になりそう。</p><p>あとやはり英語の本はまだスループットが出ない。Audible も等倍か 1.1 倍くらいでしか聞けないし、ジョギング中の読書もオライリー本を一ヶ月一冊がせいぜい。たまにちょろい日本語の本を読むとすごい速度で進み驚く。英語圧のために 5-6 年やっているこの縛りプレイ、明らかに自分の読書量を削っている。一方で昔よりは速く読めてもいる。いつまで続けるべきかは悩ましいけれど、まあしばらくやります。技術書以外は日本語で良い気もするけれど、技術書以外はほとんど Audible なのだった。</p><p>そういえば本以外に読んだオンライン長文や論文なども読んだ記録を残したいと数年来思っているのだけれど、うまくいっていない。</p><p> </p>
Sun, 04 Dec 2016 13:54:16 +0000steps to phantasien
-
Observability
http://anemone.dodgson.org/2016/11/23/observability/
Wed, 23 Nov 2016 17:38:22 +0000
<p>まえの話の続き。</p><p>アプリにデバッグ用の UI を入れる狙いを広く捉えると、これは observability の改善だと言える。Observability, ソフトウェアの状態を外から見えるようにすること。場合によっては状態をいじれること。</p><p>Monitoring なんかは observability の一部と言える。ただしここでは主に対話的な observability, つまりデバッグ UI みたいなものを念頭に置いている。対話的な observability の実装に限っても色々な形がありうる。デバッグ用の dashboard かもしれないし、HUD 風の overlay かもしれないし、気の利いたCLI かもしれないし、何らかの shell かもしれない。</p><p>Observability の高さはそのチームやインフラの maturity を示す良い指標の一つだと思う。Maturity の高いインフラは低レイヤでプラットホーム寄りの observability が高い。Maturity が高いチームのソフトウェアはドメイン寄りの observability が高い。両方の水準が高いとインフラがアプリレベルの observability を高める仕組みを用意しつつアプリがきちんとそれを使いこなし、プラットホームレベルの指標とドメインがむすびついて見える。たとえば各 HTTP リクエストにタグをつけられるインフラがあり、アプリは機能を表すタグをつける。すると dashboard で機能毎の aggregation が見える、など。</p><p>今はオープンソース経由でインフラがどんどん進化しているから、インフラレベルの observability はちゃんとツールを持ってきて 使おうというだけの話かもしれない。たとえば API のクリーンさで新しいライブラリを選んだら observability がいまいち、みたいなパターンもある。逆にいうとライブラリやツールは observability で差別化することができるとも言える。<a href="https://facebook.github.io/react/blog/2014/01/02/react-chrome-developer-tools.html">React Debugger</a> や <a href="http://spark.apache.org/docs/latest/monitoring.html">Spark の History Server</a> が良い例。</p><p>そしてアプリケーションレベルでの observability は未だに各プログラマやチームに委ねられている。結果として出来の良さにはばらつきがある。</p><p>Observability をがんばる価値は、一見するとそれほど自明でない。余計な仕事に感じるし、ソフトウェアのサイズが大きくなったり、ちょっと遅くなったりする。なにより observability のためのコードは多くが instrusive で見苦しい。何を observable にすべきかもアプリ次第ではっきりしない。これはかつての testability に似たところがある。テストは余計な仕事に思えるし、コードが複雑に、場合によっては少し遅くなる。けれど各種宣伝活動が実って人々は説得され、今は testability のコストに文句を言う人は少なくなった。</p><p>たぶん observability についても誰かが頑張ってアイデアを整理し、啓蒙する必要があるのだろう。どんな風に整理されるべきなのだろうね。自分はまだ考えが足りない。無念。</p>
Wed, 23 Nov 2016 17:38:22 +0000steps to phantasien
-
On Device Dashboard
http://anemone.dodgson.org/2016/11/23/on-device-dashboard/
Wed, 23 Nov 2016 15:45:48 +0000
<p>アプリで予期せぬ通信が発生し、不本意な帯域を使っている。そんなバグを直そうとまずは network traffic を記録する instrumentation を足してみる。今までも Log に URL をダンプするフラグみたいのはあったけれど、もうちょっとマシなものが欲しい。</p><p>最初は HTTP の API 前後をフックして記録してみたが、それだけでは不十分と気付き <a href="https://developer.android.com/reference/android/net/TrafficStats.html">TrafficStats</a> も併用することにした。コードの中で適当な処理の開始と終了のタイミングをマークし、その間の traffic を求める。ついでにテストオプションで起動時から現在までの traffic も記録できるようにする。</p><p>HTTP の API をフックするだけだと不安だった理由はいくつかある。一つは response のヘッダに Content-Length が入ってないことがあり、そのとき圧縮展開前の body の長さを知るのは難しそうだったこと。あとは依存しているライブラリの奥の方で自分の知らない HTTP ライブラリなどを使われるとフックしきれない心配があったこと。そして WebView みたいなネイティブコード内の出来事も記録したかったこと。TrafficStats は OS から値を読むので漏れなくデータがとれる。誰かが QUIC で UDP を話しはじめると詰んでしまうけれど・・・。</p><p>最初は記録したデータを analytics のインフラに送り集計しようとぼんやり思っていたけれど気が乗らず、かわりにテスト用の Activity をひとつ足してしょぼい Dashboard にしてみた。けっこう良い。もともと analytics 側で何らかのクエリを書き anomaly を探す気でいた。けれど現状の理解が足りていないせいで前提となる normal な挙動をわかっていなかったと気づく。</p><p>アプリの状態を観察する仕組みは、一番素朴なプレインテキストのログをさておくと <a href="http://facebook.github.io/stetho/">Stetho</a> みたいになんとかワークステーションで表示しようとしたり analytics にデータを飛ばして集計したりしたくなる。でもアプリに UI をつけるのが良い場合も多い。何かを試して結果を見る iteration も速いし、Dogfood build に同じ UI を入れておけばバグ報告をしてくれた人に情報収集を頼んだりできる。USB ケーブルを刺し adb bugreport してくれ、とはなかなか言えない。そして bugreport のダンプに必要な情報が含まれているとも限らない。とはいえ <a href="https://developer.android.com/reference/android/app/Activity.html#dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[])">Activity#dump() </a> は、それはそれで実装しておきたい。</p><p>などと思いつつ Jake Wharton のサンプルアプリ <a href="https://github.com/JakeWharton/u2020/">u2020</a> を眺めていたらすごいがんばったかんじの dashboard が<a href="https://github.com/JakeWharton/u2020/tree/master/src/internalDebug/java/com/jakewharton/u2020/ui/debug">実装されたいた</a>。さすがだ。自分のチームは弱小のためこのへんがいまいち整備されてない。社内のでかい/新しいアプリは色々工夫してるのだろう。誰かに知見を集めて欲しいもんです。と、ここに書いても仕方なし。</p>
Wed, 23 Nov 2016 15:45:48 +0000steps to phantasien
-
CLion 2016.3 And Unreal
http://anemone.dodgson.org/2016/11/22/clion-2016-3-and-unreal/
Tue, 22 Nov 2016 10:06:22 +0000
<p><a href="https://www.jetbrains.com/clion/whatsnew/">CLion のバージョンがあがった</a>というメールが来たので眺めていると、Unreal Engine サポートだって。へえ。誰が使っているのか疑問に思っていた Clion, そういえばゲーム業界は C++ だったね。</p><p>自分も結局 subscribe した。ところが購入したあと一週間くらいで C++ 仕事が片付いてしまい寂しい結果となったのだった。せっかくだから C++ 書きた・・・くない。</p>
Tue, 22 Nov 2016 10:06:22 +0000steps to phantasien
-
Mental Model of Backpropagation
http://anemone.dodgson.org/2016/11/19/mental-model-of-backpropagation/
Sat, 19 Nov 2016 17:44:56 +0000
<p>NN の授業で bprob の挙動を理解しようとするたびいつも混乱してきたが、今日ふと <a href="http://www.deeplearningbook.org/">Deep Learning Book</a> の section 6.5 を読んだところだいぶ混乱が収まった。</p><p>この節では TensorFlow のような NN 処理系が bprob をモデル化する方法を大まかに説明している。基本的には欲しい gradient から output の方向に向かって再帰的に gradient を求めては chain rule を適用していく。少なくともプログラマにとって、これはすごくわかりやすい気がする。そして自分が混乱した理由もわかった。</p><p>授業で習う bprob がわかりにくい理由は大きく分けて二つあると思う。一つは data flow graph の概念がないこと。上の section 6.5 を見るとわかるように, data flow graph の DAG は NN のネットワークと一見似ているけれど少し違う。Data flow graph は AST みたいなものである。そして言語処理系が AST をたどって式を評価するように NN 処理系は DAG を辿って bprob を評価する。数式だけ眺めてこのフローを理解するのは、けっこう math 力がないと難しい気がする。自分はわかっていなかった。</p><p>理由その二は、"Backpropagation" という名前に output から input の「下方向」にむけてデータを押し出す (propagate する) イメージがあること。これは間違っていないし実際そういう由来なのだろうけれど、gradient を求めるという観点では 下流にある weight のノードから上流の output のノードに向け「上方向に」必要な値(gradient)を取りに行くと考えた方が馴染みがある。言語処理系が AST をたどるのと同じ順番だから。</p><p>汎用フレームワークのモデルである「取りに行く」スタイルが backpropagation の名前が示唆する「押し下げる」スタイルよりわかりやすい別の理由は、前者だと計算したい値が比較的はっきりしているからでもある気がする。「押し下げる」スタイルで考えていた時は、自分がどの値を propagate すべきなのかわからず混乱した。DAG の概念の不在が混乱に拍車をかけた。DAG の下流に propagate すると考えれば、まあ無駄はあれど間違ってはいないからね。</p><p>Data flow の DAG 上を再帰的に pull するスタイルで素朴に考えると gradient の部分式を何度も計算する羽目になり、実装に無駄が多い。だから効率的な push/propagate のモデルで説明したくなる気持ちはわからなくもない。でもプログラマにしてみれば部分式をテーブルにキャッシュするなり DP に書き直すなりしてこの手の問題を高速化できるのは当たり前なわけで、それなら「欲しい値を再帰的に求める」というシンプルなモデルとして理解し、ただし遅いから DP しましょうねと言われるほうがだいぶわかりやすいよなあ。まあでも腑に落ちてよかった。達成感大。</p><p>「プログラマのための XX 入門」みたいのは胡散臭いので読まないようにしてるけれど、場合によっては CS の基礎知識が役に立つ事もある例。まあ NN も CS なので当たり前か・・・</p>
Sat, 19 Nov 2016 17:44:56 +0000steps to phantasien
-
「「0÷0=」を実行すると「エラー」になる理由」を見て割り切れない気持ちを抑えられない理由
http://blog.livedoor.jp/dankogai/archives/51983144.html
異端の数ゼロ
Charles Seife /
林大訳
[原著:Zero:The Biography of a Dangerous Idea]
やはりblogにも書いておこう。SNSだけでは割り切れない気持ちが抑えられないので。
iPhoneアプリ「計算機」で「0÷0=」を実行すると「エラー」になる理由 - ねとらぼ
「計算機」ア...
2015-12-03T19:30:25+09:00
404 Blog Not Found
-
Disowned by a Dysfunctional Family
http://blog.livedoor.jp/dankogai/archives/51968656.html
Open Source の定義とはなんだろうか?
私にとっての定義は、以下だった。
Perl, the first postmodern computer languageImagine, open source is merely a byproduct of our need for family. So, look at all of you out there. You're just a big, dysfunctional family...
2015-07-11T13:30:24+09:00
404 Blog Not Found
-
YAPC::Asia does not welcome Dan Kogai
http://blog.livedoor.jp/dankogai/archives/51968425.html
His money is welcome, however.
2015-07-09T10:45:55+09:00
404 Blog Not Found
-
ブロマガ更新 - 404 SECRET Not Found #29 まだディスク処分で消耗してるんですか?
http://blog.livedoor.jp/dankogai/archives/51946003.html
“404 SECRET Not Found #29 まだディスク処分で消耗してるんですか?:404 SPAM Not Found:404ch Not Found(小飼弾) - ニコニコチャンネル:社会・言論” http://t.co/h3Owx4IAgp— Dan Kogai (@dankogai) December 23, 2014
2014-12-23T21:15:20+09:00
404 Blog Not Found
-
紹介 - 未来予測を嗤え!
http://blog.livedoor.jp/dankogai/archives/51944447.html
未来予測を嗤え!
神永正博/小飼弾
久しぶりに本を上梓しましたのでおしらせを。本日発売です。
2014-12-09T05:15:51+09:00
404 Blog Not Found
-
ブロマガ更新 - 404 SPAM Not Found #28 I code therefore I am
http://blog.livedoor.jp/dankogai/archives/51943446.html
404 SPAM Not Found #28 I code therefore I am http://t.co/1jgo6p8Ggt #blomaga— Dan Kogai (@dankogai) November 30, 2014
2014-11-30T22:00:58+09:00
404 Blog Not Found
-
ブロマガ更新 - 404 SPAM Not Found #27 大きなつづらと小さなつづら
http://blog.livedoor.jp/dankogai/archives/51939927.html
“404 SPAM Not Found #27 大きなつづらと小さなつづら:404 SPAM Not Found:404ch Not Found(小飼弾) - ニコニコチャンネル:社会・言論” http://t.co/9tevzlNNUY— Dan Kogai (@dankogai) October 30, 2014
2014-10-31T01:00:55+09:00
404 Blog Not Found
-
ブロマガ発行遅延のお知らせ - 404 SPAM Not Found #27
http://blog.livedoor.jp/dankogai/archives/51936370.html
408 Request Timeout
小飼弾です。現在諸般の事情でオランダはアムステルダムにおります。
ブロマガ発行用のCMS不安定につき、本日発行予定だった#27を、私の帰国まで延期します。毎月楽しみにしてくださっている読者のみなさんごめんなさい。
2014-09-30T00:15:14+09:00
404 Blog Not Found
-
ブロマガ更新 - 404 SPAM Not Found #26 大統一言語?
http://blog.livedoor.jp/dankogai/archives/51933192.html
404 SPAM Not Found #26 大統一言語? http://t.co/37wtVyZr4X #blomaga— Dan Kogai (@dankogai) August 31, 2014
2014-08-31T23:00:47+09:00
404 Blog Not Found
-
#yapcasia - Introducing Swift - and the Sunset of Our Culture?
http://blog.livedoor.jp/dankogai/archives/51932861.html
今年も発表したので。
2014-08-29T12:30:37+09:00
404 Blog Not Found
-
ブロマガ更新 - 404 SPAM Not Found #25 こっち立てばあっち立たず
http://blog.livedoor.jp/dankogai/archives/51929139.html
404 SPAM Not Found #25 こっち立てばあっち立たず http://t.co/l7nNocNKav #blomaga— Dan Kogai (@dankogai) July 30, 2014
2014-07-31T07:15:59+09:00
404 Blog Not Found
-
恐れのみを恐れよ - 書評 - リスクにあなたは騙される
http://blog.livedoor.jp/dankogai/archives/51216658.html
早川書房東方様より献本御礼。
リスクにあなたは騙される
Dan Gardner /
田淵健太訳
[原著:Risk: The Science and Politics of Fear]
2009.05.25 初出
2014.07.24 文庫化につき更新
本書こそ、今最も恐るべき一冊だ。
初の著作がこれだとは、著者恐るべ...
2014-07-24T08:30:03+09:00
404 Blog Not Found
-
ブロマガ更新 - 404 SPAM Not Found #24 博士の異常な劣情 または私は如何にして心配するのを止めて少子化を愛するようになったか
http://blog.livedoor.jp/dankogai/archives/51925464.html
“404 SPAM Not Found #24 博士の異常な劣情 または私は如何にして心配するのを止めて少子化を愛するようになったか” http://t.co/Ch9U9aG0Rf— Dan Kogai (@dankogai) June 29, 2014
2014-06-30T05:30:05+09:00
404 Blog Not Found
-
石の模様 - 書評 - 思考する機械コンピュータ
http://blog.livedoor.jp/dankogai/archives/50509322.html
思考する機械コンピュータ
Daniel Hillis
[原著:The Patter on the Stone]
2006.05.26 初出
2014.06.06 文庫化につき更新
Connection MachineのEntryを書いてから、原著の方をむしょうに読みたくなったのだが、入手がなかなか困難そうなので、The Society...
2014-06-06T05:00:25+09:00
404 Blog Not Found
-
why(matters(Swift) > matters(Yosemite + iOS[8]))
http://blog.livedoor.jp/dankogai/archives/51922323.html
「新HWの発表ゼロ!?」なんて言っている場合じゃない。
YosemiteもiOS 8も、さらに次のヴァージョンが出るまで、高々1年半かそこらの問題だけど、Swiftは少なくとも向こう10年、いや言語というものの性格からして何十年に及ぶことなのだから。
2014-06-03T22:00:08+09:00
404 Blog Not Found
-
ブロマガ更新 - 404 SPAM Not Found #23 Owners Take All
http://blog.livedoor.jp/dankogai/archives/51921895.html
“404 SPAM Not Found #23 Owners Take All:404 SPAM Not Found:404ch Not Found(小飼弾) - ニコニコチャンネル:社会・言論” http://t.co/qydQ2OJivT— Dan Kogai (@dankogai) May 31, 2014
2014-05-31T16:55:42+09:00
404 Blog Not Found
-
来た、観た、呆れた - 品評 - Google Chromecast
http://blog.livedoor.jp/dankogai/archives/51921776.html
Chromecast
Google
というわけで私も入手したのですが…
タイトルどうり。
タイトルの理由を知りたい方は、「続きを読む」を。
2014-05-30T17:00:44+09:00
404 Blog Not Found
-
[勉強会・セミナー][Java]JJUG CCC 2014 Springに参加してきました
http://d.hatena.ne.jp/ryoasai/20140519/1400512831
本日、日本Javaユーザーグループ(JJUG)主催のCCC 2014 SpringというJavaの勉強会に行ってきました。会場は、ベルサール西新宿で、都営大江戸線都庁前のA5出口を出て、新宿中央公園の5分くらい歩いたところにありました。今はスマートフォンで地図を確認しながら行けるので
2014-05-20T00:20:31+09:00
達人プログラマーを目指して
-
俺のサム伯父さんがこんなにマヌケなわけがない - 書評 - 暴露
http://blog.livedoor.jp/dankogai/archives/51920196.html
暴露
-スノーデンが私に託したファイル-
Glenn Greenwald /
田口俊樹・濱野大道・武藤陽生訳
[原著:No Place to Hide]
ここに書評を書くのは久しぶり。出版社より献本御礼。
これでますます信用できなくなった。
米国政府が?いや、Snowdenが。
2014-05-19T22:30:43+09:00
404 Blog Not Found
-
javascript - でiTunes Matchedなaacの出自を調べてみた
http://blog.livedoor.jp/dankogai/archives/51919493.html
左手のリハビリがてらに。
2014-05-14T13:00:29+09:00
404 Blog Not Found
-
[アーキテクトの仕事][仕事環境]開発チームにアーキテクトがいないなと感じてしまうような、残念なコードスメルの例
http://d.hatena.ne.jp/ryoasai/20140510/1399722742
まったく個人的なモチベーションの問題から、前回の最終更新から2年以上が経過してしまい、多くの読者のみなさんにはご心配をおかけいたしました。「プログラミングに関して調べたことや日々感じたことをメモとして残していきたいと思います。」というもともとの原点に立ち
2014-05-10T20:52:22+09:00
達人プログラマーを目指して
-
ブロマガ更新 - 404 SPAM Not Found #22 A Heartbleeding Story
http://blog.livedoor.jp/dankogai/archives/51917820.html
“404 SPAM Not Found #22 A Heartbleeding Story:404 SPAM Not Found:404ch Not Found(小飼弾) - ニコニコチャンネル:社会・言論” http://t.co/LzzpV6tFZq— Dan Kogai (@dankogai) April 30, 2014
2014-04-30T18:56:41+09:00
404 Blog Not Found
-
FreeBSD - Jailは仮想化ではなく半仮想化と呼ぶべきではないか
http://blog.livedoor.jp/dankogai/archives/51916648.html
もう10年以上看守していたオレが通りますよ。
FreeBSDを1,000台管理する方法(1)
後藤大地
Free bsd jail入門
勉強会聴講メモ 【第28回 #FreeBSD 勉強会 数千台のFreeBSD Jailホストを管理する技術、実務実践からのテクニック】 #FreeBSDStudy | しげはるblog
...
2014-04-21T16:30:15+09:00
404 Blog Not Found
-
書評 - The End of Poverty
http://blog.livedoor.jp/dankogai/archives/50770211.html
もっと早く読んでおくべきだった。
貧困の終焉
Jeffrey D. Sachs /
野中邦子・鈴木主税訳
[原著:The End of Poverty]
2007.02.22 初出
2014.04.06 邦訳文庫版上梓につき再掲
まだ読んでいない人は、原著でも邦訳でもいいので読んで欲しい。
2014-04-06T09:00:57+09:00
404 Blog Not Found
-
Introducing FoolBSD 4.1
http://blog.livedoor.jp/dankogai/archives/51914121.html
FreeBSDを1,000台管理する方法(1)
後藤大地
April Fool なので Fool Proof な OS を作りました。
Proof of Concept ではありますが。
2014-04-01T06:30:05+09:00
404 Blog Not Found
-
ブロマガ更新 - 404 SPAM Not Found #21 騙され上手になろう
http://blog.livedoor.jp/dankogai/archives/51913977.html
404 SPAM Not Found #21 騙され上手になろう http://t.co/kCoMwc7cZV #blomaga— Dan Kogai (@dankogai) March 30, 2014
2014-03-31T08:30:40+09:00
404 Blog Not Found
-
Unicode - perl+javascript - にプログラムでよく使われる英語の記号の読み方を調べさせる
http://blog.livedoor.jp/dankogai/archives/51913704.html
プログラマのための文字コード技術入門
矢野啓介
プログラマーたるもの、プログラムに出来ることを自らやるべからず。
挑戦者求む!【英語】英語でなんて読むか知ってる? by @masuidrive 増井 雄一郎│CodeIQプログラムでよく使われる英語の記号の読み方知ってい...
2014-03-29T00:00:01+09:00
404 Blog Not Found
-
Windowsという名の薄皮一枚
http://blog.livedoor.jp/dankogai/archives/51913215.html
Unixという考えかた
Mike Gancarz
/
芳尾 桂 訳
[原著: The Unix Philosophy]
寝込みうどんになりながらiPadで以下を読んだら熱がぶりかえしたので。
Macの良さがわからなすぎて、死にたい
MacがWindowsに勝る理由 ~Mac vs Windows宗教戦争の歴史をひもと...
2014-03-24T23:00:14+09:00
404 Blog Not Found
-
Tips - 静的リソースのURIに?をつけるべからず
http://blog.livedoor.jp/dankogai/archives/51911918.html
Webを支える技術
HTTP、URI、HTML、そしてREST
山本陽平
であればなおのことこの実装はNG。
ブラウザのキャッシュを利用できれば、余分なリクエストを減らすことができます。はてなブログでは、なるべく長い間ブラウザにキャッシュを保存するために、JavaScrip...
2014-03-14T20:00:15+09:00
404 Blog Not Found
-
些末なゴミは出所を問わず拾うのが客商売
http://blog.livedoor.jp/dankogai/archives/51911784.html
USJのジェットコースターはなぜ後ろ向きに走ったのか?
森岡毅
たとえ話を一つ。
些末なコードレビュー - naoyaのはてなダイアリーあるサービスの JavaScript が重いとか、そのコードが難読化されてないとか、担当者とおぼしき人間が書いたコメントがそのまま残ってるから...
2014-03-13T16:30:59+09:00
404 Blog Not Found
-
llevalに久しぶりに手を入れた
http://blog.livedoor.jp/dankogai/archives/51910930.html
サーバサイドJavaScriptNode.js入門
OSバージョンを上げたついでに、llevalにも手を入れたので変更点など。
lleval - run codes from your browser
2014-03-06T18:00:49+09:00
404 Blog Not Found
-
ブロマガ更新 - 404 SPAM Not Found #20 核心の問題
http://blog.livedoor.jp/dankogai/archives/51910175.html
404 SPAM Not Found #20 核心の問題 http://t.co/XeKvafeowL #blomaga— Dan Kogai (@dankogai) February 28, 2014
2014-02-28T21:00:20+09:00
404 Blog Not Found
-
A Brief History of Guts - 紹介 - 図解・内臓の進化
http://blog.livedoor.jp/dankogai/archives/51909226.html
図解・内臓の進化
岩堀修明
オビを書いたのでここでも紹介。
2014-02-21T16:30:35+09:00
404 Blog Not Found
-
備忘録 - FreeBSD 10 あれこれ
http://blog.livedoor.jp/dankogai/archives/51907188.html
この後無茶苦茶インストールしまくった。
FreeBSD 10.0-RELEASE Announcement
ので、気づいたことを。
2014-02-05T18:45:27+09:00
404 Blog Not Found
-
perl - func(tion()) considered harmful?
http://blog.livedoor.jp/dankogai/archives/51906737.html
初めてのPerl 第6版
Randal L. Schwartz /
Tom Phoenix /
brian d foy/
近藤嘉雪訳
[原著:Learning Perl, 6th ed.]
久々のPerlの話題です。
2014-02-02T17:15:32+09:00
404 Blog Not Found
-
ブロマガ更新 - 404 SPAM Not Found #19 俺の幹細胞がそんなにちょろいなわけがない
http://blog.livedoor.jp/dankogai/archives/51906488.html
404 SPAM Not Found #19 俺の幹細胞がそんなにちょろいなわけがない http://t.co/LpdFi48DgQ #blomaga— Dan Kogai (@dankogai) January 31, 2014
2014-01-31T15:00:50+09:00
404 Blog Not Found
-
ブロマガ#12より転載 - 日本の原子力に未来はあるか?
http://blog.livedoor.jp/dankogai/archives/51906277.html
「中卒」でもわかる科学入門
小飼弾
以下より記事を転載します。
404 SPAM Not Found #12 Not-So-Nice-to-Have:404 SPAM Not Found:404ch Not Found(小飼弾) - ニコニコチャンネル:社会・言論
2014-01-29T21:00:16+09:00
404 Blog Not Found
-
社会科学を真の科学に - 書評 - 偶然の科学
http://blog.livedoor.jp/dankogai/archives/51768020.html
偶然の科学
Duncan J. Watts/
青木創訳
[原著:Everything Is Obvious:*Once You Know the Answer]
出版社より献本御礼。
2012.01.26 初出
2013.01.12 文庫化につき更新。
本entryがオビに採用されております
あやうく騙されるところだった。
...
2014-01-12T16:30:40+09:00
404 Blog Not Found
-
Tips - iMac 27-inch, mid 2011 を回春してみた
http://blog.livedoor.jp/dankogai/archives/51903316.html
年末の大掃除とかは「なにそれ?」という感じで「本塚」はあいもかわらず成長しているのですが、その代わり2年半ものの iMac 27-inch, mid 2011 を回春したらびんびんになったので備忘録。
2014-01-06T15:45:10+09:00
404 Blog Not Found
-
続報 - Windows 8.1 & Miix 2 8
http://blog.livedoor.jp/dankogai/archives/51903074.html
Lenovo IdeaPad Miix2 8
新春早々、ごめんなさい。
404 Blog Not Found:Back to the Netbook - 品評 - Windows 8.1 & Miix 2 8「8インチWindowsタブレットいつ買うの?」今でしょ!
この台詞、撤回します。
2014-01-04T16:00:57+09:00
404 Blog Not Found
-
ブロマガ更新 - 404 SPAM Not Found #18 器用貧乏
http://blog.livedoor.jp/dankogai/archives/51902634.html
404 SPAM Not Found #18 器用貧乏 http://t.co/5AGG7WTtpl #blomaga— Dan Kogai (@dankogai) December 31, 2013
2013-12-31T21:00:27+09:00
404 Blog Not Found
-
靖国神社に参拝することに賛成な方に、一つだけ質問
http://blog.livedoor.jp/dankogai/archives/51902241.html
あれ?
【産経抄】12月28日+(2/2ページ) - MSN産経ニュース米国はかけがえのない同盟国ではあるが、国のために命をささげた先人への感謝は譲れぬ一線である。心ある日本人が「嫌米」にならぬようケネディ駐日大使はぜひ、靖国神社にお参りいただきたい
その前に「お参...
2013-12-29T00:15:47+09:00
404 Blog Not Found
-
備忘録 - 仏の秘密も百度まで
http://blog.livedoor.jp/dankogai/archives/51902049.html
ちょw
また百度(baidu)が日本語入力ソフトの件でやってくれたようです(山本 一郎) - 個人 - Yahoo!ニュースこれには我らがダニーもお怒りです
私自身は、Baidu IME も Simeji も使っていないので怒る権利自体があるかどうかも疑問なのだけど、いい機会なのでちょっ...
2013-12-27T13:30:19+09:00
404 Blog Not Found
-
備忘録 - MacでWindowsを使うには
http://blog.livedoor.jp/dankogai/archives/51901837.html
マックとウィンドウズ 2013[共存・共有]
~避けきれない事態とその解決策~
え?
Windows使ってるやつは仕事できないバカ - Togetterまとめ
それってAppleもバカってことですか?
2013-12-25T22:30:52+09:00
404 Blog Not Found
-
Back to the Netbook - 品評 - Windows 8.1 & Miix 2 8
http://blog.livedoor.jp/dankogai/archives/51901149.html
Lenovo IdeaPad Miix2 8
うちにも届いたので。
「8インチWindowsタブレットいつ買うの?」今でしょ!
「これさえあれば、何もいらない」?そんなわけないでしょ!
2013-12-20T16:15:49+09:00
404 Blog Not Found
-
パンドラの箱 - 書評 - コンテナ物語
http://blog.livedoor.jp/dankogai/archives/50987910.html
404 Blog Not Found:コンテナーという革命を読んだ日経BPの黒沢様より献本御礼。
コンテナ物語
Marc Levinson /
村井章子訳
[原著:The Box]
2008.01.20 初出
2013.12.17 Kindle化にともない更新
スゴ本。ものを作る人も運ぶ人もそして買う人も一読してお...
2013-12-17T15:45:19+09:00
404 Blog Not Found
-
訃報 - Nelson Mandela, 1918-2013
http://blog.livedoor.jp/dankogai/archives/51899370.html
嗚呼。
Message from The Nelson Mandela Foundation, The Nelson Mandela Children’s Fund and The Mandela Rhodes FoundationIt is with the deepest regret that we have learned of the passing of our founder, Nelson Rolihlahla Mandela – Madiba. The Presidenc...
2013-12-06T13:30:43+09:00
404 Blog Not Found
-
ブロマガ更新 - 404 SPAM Not Found #17 一目不瞭然
http://blog.livedoor.jp/dankogai/archives/51898616.html
“404 SPAM Not Found #17 一目不瞭然:404 SPAM Not Found:404ch Not Found(小飼弾) - ニコニコチャンネル:社会・言論” http://t.co/uGoDjxfgsI— Dan Kogai (@dankogai) November 30, 2013
2013-11-30T15:30:00+09:00
404 Blog Not Found
-
品評 - VE-GDW03DL & スマートフォンコネクト for GDW03
http://blog.livedoor.jp/dankogai/archives/51898227.html
VE-GDW03DL-W
Panasonic
我が家のコードレス電話機がほとんど寿命を迎えていたので、渡りに船とばかり入手。
2013-11-27T23:30:19+09:00
404 Blog Not Found
-
iPhone 5c がいまいち萌えないもう一つの理由
http://blog.livedoor.jp/dankogai/archives/51897403.html
「え、一部生産停止?」「そうは言っても他よりずっと売れてるでしょ!」とは言っても5sの方がずっと売れているのは確かなので。
2013-11-21T13:00:44+09:00
404 Blog Not Found
-
[英語学習][勉強会・セミナー][PGのキャリアーパス]アマゾンにおけるソフトウェア開発の仕事について感じたこと
http://d.hatena.ne.jp/ryoasai/20120422/1335101193
ちょうど、先日アマゾンのオープンハウスというイベントでお話をさせていただく機会があったのですが、開発者向けの20日のセクションだけで90名近くの方々にご参加いただきました。平日にもかかわらず、多数の方々にご参加いただき、どうもありがとうございました。 私自身
2012-04-22T22:26:33+09:00
達人プログラマーを目指して
-
[PGのキャリアーパス][IT業界]日本のユーザー企業は忍者のようなプログラマーをもっと登用して重用すべきでは
http://d.hatena.ne.jp/ryoasai/20120212/1329038962
あの記事から一年、ひがやすを氏が以下のエントリーで、プログラマーとして、新しいサービスを作ることの難しさについて書かれています。 僕と君とSIerの生きる道 - yvsu pron. yas 確かに私自身は、サービスを作る側に回った(まだISIDにいるけど、ベンチャーで働いているよ
2012-02-12T18:29:22+09:00
達人プログラマーを目指して
-
[IT業界]ソフトウェア技術者軽視のシステム開発を続けるのはもう限界かもしれない
http://d.hatena.ne.jp/ryoasai/20120125/1327501906
つい先日、富士通がグループで抱える3万人ものSEを再教育して、職務転換を行う計画であるというニュースを知りました。 富士通の3万人SE職務転換大作戦は成功するのか? - GoTheDistance 一つのシステムを複数の企業などが利用するクラウドサービスがこのまま普及すれば、顧
2012-01-25T23:31:46+09:00
達人プログラマーを目指して