考え事

大きいコードを書くには

前回、コードに垂直方向のスケーラビリティ――コード規模のスケーラビリティについての式を考えた。 Nがコードの規模、Wがそのコードを作る労力であり、wが単位規模のコードを作る労力、rがコードを加える際に既存のコードを調べたり・改造したりする割合を示…

コード規模のスケーラビリティ

前回、ソフトウェアの開発には水平方向・垂直方向のスケーラビリティがあると軽く触れた。水平方向のスケーラビリティとは人を増やせばそれだけ開発能力が向上するということで、垂直方向のスケーラビリティとはソフトウェアの規模が大きくなっても開発速度…

ソフトウェア開発のスケーラビリティ

人月あたりの生産量、1kステップあたりのバグ数みたいな指標は便利なのでよく用いられる。私も、 プログラマの生産性の公式 - 超ウィザード級ハッカーのたのしみ で単位時間あたりの動くコードの生産量といった数をおいた。単に数値を数値で割っているだけ…

ビルドツールに関数型プログラミングが向いている

世の中にビルドツールは数あれどどれも気に食わない。いっそのこと自分で作っちまおうかとすら思い、ビルドツールに必要な機能を考えている。 ビルドツールは手続きを書くのが主流だが、関数型プログラミングを意識して作った方が上手く作れるのではないか。…

プログラマの生産性の公式

n行の動くコードをコーディングするのにかかる時間をTとすると、Tはざっくり以下のようになるだろう。 T = n*(tc + tw) + n*b^2*(tc + tw + tb) + n*b^3*(tc + tw + tb) + ... = n*(tc + tw + tb) / (1 - b) - n * tb ここにtcはバグの有無を問わず1行のコ…

読まないドキュメントより読めるコード

ウォータフォール開発はとにかく仕様書を書くことが求められる。文章を書くこと自体は嫌いでないが、仕様書を書くことは嫌いだ。なぜなら、意味がないからだ。その仕様書を他の人が読んで意思決定が行われたり、その仕様書をもとに他の人が開発をするなら、…

機械が使うものか人間が使うものか

機械には 人間が使う機械 機械が使う機械 の2種類がある。 人間が使う機械とは、UI(ユーザーインターフェース)を持っている機械のことだ。従来道具と言われてきたものは、人間が使う機械である。自動車もスマートフォンもそうだ。 システムとして見た場合…

ITこそITで効率化せよ

情報通信技術(IT)の主な用途は既存の業務の効率化である。計算機は決まった作業を正確にするのに優れている。帳簿をつけたり、そろばんを弾いたり、書類を回送したりする作業は人間がするよりも機械がおこなった方が効率がよい。そのため、計算機はこれらの…

ブログの文章は1500字

ブログの記事にするのに調度良い長さというのはどれぐらいなのだろうか。 一般に文章は短くなっている傾向だ。比較的活字に親しんでいる年齢層が使う掲示板もコメントは3行以内だ。ほとんどの場合は1行である。ニコニコ動画のコメントは単語のみで、文にな…

OSSとは標準規格である(3)――OSSを作る側の幸福

企業としてOSSを開発することにどういった利点があるのだろうかということについて ソフトウェア規格の奪い合い OSSは最大多数の最大幸福を実現する OSSを作る側の幸福 の順に書いている。今回は3回目である。 OSSを作る側の幸福 OSSは利用者を幸せするから…

OSSとは標準規格である(2)――OSSは最大多数の最大幸福を実現する

企業としてOSSを開発することにどういった利点があるのだろうかということについて ソフトウェア規格の奪い合い OSSは最大多数の最大幸福を実現する OSSを作る側の幸福 の順に書いている。今回は2回目である。 OSSは最大多数の最大幸福を実現する ソフトウ…

OSSとは標準規格である(1)――ソフトウェア規格の奪い合い

OSSは今や当然の存在だ。ソフトウェアが欲しいときに最初に検討するのはOSSだ。OSSを無視して計算機システムを考えることは不可能だ。 OSSは篤志家が開発していることも多いが、最近では企業が争って開発に参加している。私がお世話になっているHadoopもほと…

正しい開発プロセスなんてあるのだろうか

良いソフトウェアを生み出すためには良い開発プロセスが必要である。ソフトウェア工学のセントラルドグマだ。 複数人数で管理のない体制の中でまともな製品が生まれることはない。烏合の衆が勝手気ままに動いて製品が出来上がるほど我々は賢くない。 大きな…

無駄に段落が多い本が嫌い

近年に出版された本は、段落の数が多い。一つの段落の文字数が少なく、頻繁に改行が入っている。1文ごとに改行しているような場合も多い。幻冬舎新書や星海社新書といった新書はその傾向が強いように思う。 以下の1つ目の写真は中公新書『理科系の作文技術…

Scaling parameters of the straw buckets in CRUSH

Scaling parameters of the straw buckets in CRUSH

結果がわかっていたら戦争は起こらない?

是非は別として、世の中が右傾化しているように思う。右傾化したら戦争になるという人もいるが、左右と戦争が起こるか起こらないかはおそらく関係ない。 チキンなので、戦争に巻き込まれたくないから、なくす方法を考えている。 一つ思ったのは、やる前から…

ガンダムファイトは戦争のきっかけになる

戦史とか兵器とかは好きですが、反戦派と自認しています。 『Gガンダム』というアニメが昔ありました。地球をリングとして各スペースコロニー国家の代表のガンダムが戦うという物語です。国家の覇権争いを戦争で行う代わりに、ガンダムファイトで行う。要す…

ソースコードは符号でなくて規則なのではないか

前回ソースコードは符号でなくて織物なのだからソーステキスタイルとでも呼ぶべきと書きました。 codeには符号以外の意味もあります。ドレスコードのcode、つまり規則です。 規則という意味であれば、ソースコードという呼び方も私にはしっくりきます。 なぜ…

コードでなくてテキスタイルと呼ぶべき

昔、ソースコードのコードのことを、符号という意味のCodeではなく、コード織りのCordだと思っていました。コードを書くこと、つまり部品が絡み合わせていって大きなソフトウェアにする作業は、布を織るようだからです。 文字コードのコードが符号という意味…

OSS潜入レポート

趣味でOSSコミュニティに潜入しております。調査対象は、お世話になっているHadoopの開発コミュニティです。 昔からOSSに対して疑問だったことがあります: こいつら仕事でもないのになんでプログラムなんて作っているの? OSS開発に潜入して、OSS開発者の正…

スケールアップとスケールアウトをどう組み合わせるべきか?

How should we mix scale-up and scale-out strategies

Raspberry PiでHadoopクラスターを構築したい

最弱のHadoopクラスタをRaspberry Piで構築する - もょもとの技術ノートmoyomot.hatenablog.com 自前のHadoopクラスタが欲しくなったので、構築を計画中です。リンクのように、Raspberry PiでHadoopクラスタを構築している例があります。 あまり言及されてい…

マジで2045年に機械が人間を超えたなら

2045年に機械が全人類の知性を超えて、以降人間の追いつけない速度で機械が自立的に進化を始めると言われております。仮にマジでこうなったとしたらどうなるのだろうか? 『ターミネーター』のように機械と人間の戦争が始まるのでしょうか? 完全に自立した…

あり余るコンピュータの性能の使い方?

2045年問題というのが、(言葉はおかしいですが)流行りの未来です。 コンピュータが発明されて半世紀の間、その性能は等比級数的に向上してきました。そして、次の半世紀もコンピュータは同様に等比級数的に進化すると言われています。今の形体のままで、た…

因果関係を論じる場合に

理由なんか考えずに、妖怪のせいとしてしまう考え方もありうる。しかし、「風が吹けば桶屋が儲かる」式に何でも原因と結果、いわゆる因果律(物語といっていいかもしれない)があるというパラダイムが支配的だ。 この「風が吹けば桶屋が儲かる」式に世界を切…

タイムトラベルSFの分類

タイムトラベルはSFでは一般的な仕掛けである。 SF上のタイムトラベルにはいくつかの種類が存在する。 そこで、SF物語上のタイムトラベルを分類して整理したいと思う。 よくあるように、2つの軸に分けて、4象限のマトリクスで分類していく:軸はそれぞれ、…

水面波の数値解析における安定性について

どこかのだれか(たぶん世界に2〜3人ぐらい)にはきっと理解されて役に立つであろうこと。闇に葬られるのも耐え難いので、英語にして公開する。 Stability of numerical analysis about free surface flow

ウェブは静的な書物に不向き

ウェブの欠点は何かと考えたら、やっぱり更新されない情報には使いにくいということなのではないだろうか。 ハイパーテキスト形式の論文を配布するシステムとして発明されたはずだが、結局論文はPDFで配布されている。 リンク先がいつまでもあるかどうか分か…

どうにかしろでどうにかなるなら,その人要らなくない?

今の上司の批判でもなんでもなくて,話に聞いたことやかつて見たことを考慮して,エライ人一般のものの考え方を推測している. どうもエライ人というのは,どうにかしろと言えば自動的に問題が解決されていると思っているようだ.具体的なことは言わない.ア…

人の上に立たせたらあかん奴3:  正統性のない人

前々回: 人の上に立たせたらあかん奴1: 偉くなりたいと思う人 前回: 人の上に立たせたらあかん奴2: 成果を上げている人 偉くなりたいとも思っていなくて,成果を上げてもいない人が,人の上に立つべきというならば,例えば私みたいなのが偉くなるべきと…