なんかサーバ構築にやたらと時間かかるんだけど何で時間かかるのか考えてみた @ 馬鹿と天才は紙一重
はてブの方からまとめる。
あと、
俺がコーディングしてて感じることに酷似してるという指摘も。必要とされるメタスキルが一緒なんだろう。
会議で意見を言えないあなたへ。「自分で考える力」を身につける5つの方法 @ ライフハックブログKo's Style
アーキテクチャ設計の難しさについて @ arclamp
- 失敗してから気がついても遅い! プレゼンの準備を怠ってしまう2つの理由 @ プレゼンの上手な話し方 | ダイヤモンド・オンライン
- 5-10分程度のプレゼン準備に関するメモ書き @ Harvard Business Schoolへの道
準備期間の投票結果によると、4割の人が3日〜1週間かけるようだけど、2割が1, 2日、1割が数時間とのこと。
一週間は理想。でも再利用の効かない毎回異なる内容の30分〜1時間のプレゼンを平均1週に1回するには2日で作成、リハ2時間が限度。
資料を書いていると問題点が整理されてきて、担当者ともう一回揉んでみたくなる事もしばしばだが、そういう時に限って相手がつかまらないんだよね。
Webデータ分析&データサイエンスで役立つ統計学・機械学習系の分析手法10選 @ 道玄坂で働くデータサイエンティストのブログなるほど、これらはオンデマンド分析向けという括りらしい。Rを使うようだ。 バックエンドシステム向け、スケールアウト、ストリーム処理などに関して別の参考情報を探して、社内で勉強会をしようと思う。
ネットで調べても同じ境遇の人の絶対数が少ないので情報が見つけられない。 悩みどころは同じでも、OSのディストリビューションの違い、バージョンの違い、カスタマイズの違いなどで応用できる情報ではなかったり。
Windowsで、XPの『アプリケーションの追加と削除』が「プログラムのアンインストール」とか「プログラムの追加と削除」に変わっているようなもんですが、Linuxではディストロのバージョンアップの際に同種機能の別プログラムに置き換わったりするので混乱の度合いが大きい。lilo→grubとか。
日本人特有の問題として、英語の情報が苦手(その人にとっては情報が無いのも同然)ということもある。
ある目的に対して手段が複数用意されている。しかも「標準」の一つを覚えれば事が足りるというのではなくて、特定の環境で使えるのは一種類だけだったりするので結局二つ三つと覚えないといけなくなる。
例えば、「管理者権限で/etc/***.confを編集する」という時のお作法はいろいろある。 これまで経験しただけでも以下のようにいろいろ。
どの方法が有効かはディストリビューションではなくサーバ毎のポリシー依存だから、結局全部のお作法を覚えていかないといけない。
OSディストリビューションのパッケージとして提供されていないプログラムを使いたい時に、ソースからビルドするとき。 configureに、ライブラリが古いと言われたがディストロパッケージでは新しいバージョンが提供されていない。 するとソースからビルドした新しいライブラリを入れることになるのだが、ディストロパッケージ由来のを削除しようとしても、依存している他のパッケージがインストールされていると警告が出て削除できない。
例えば以下のようなやり方が考えられる。
1だと、後からディストロパッケージをインストールしようとして競合するおそれがあるのでかなり危険。
2, 3は知識と手間をかなり要する。
いずれの手段をとっても、ディストリビューションの提供する世界から一歩外に出ようとすると、途端に地獄が待っているということ。
Depndency hellはWindows OSにおいてわざわざDLL hellという固有名詞(?)が与えられていてWindowsの問題として覚えられがちだが、今となってはLinuxの方が深刻なのではないかと思う。
GTK+とpangoのように開発グループが分かれているようなのだと、特定の組合せしか考慮していないアプリが結構ある。
カスタマイズや組合せの自由ばかり増えても、トータルで使いこなせないものになっては意味がない。一人の人間が理解して制御できる世界なんて限られているのだから。
複雑さを増さずに機能を追加する方法はUI/UXの分野で研究されているんだけども、なんだか範囲限定でしかトータルのバランスがとれていない気がして惜しい。例えば特定のアプリケーションがOSやウィンドウマネージャのL&Fを無視した独自UIを提供するとか。
あと、既存のエクスペリエンスを体験してきたユーザが違和感なく新しいエクスペリエンスに馴染めるようにする工夫がもっとほしい。