タグ

読み物とプログラミングに関するgabillのブックマーク (25)

  • 『MOTHER3』の開発が中止になったことについての糸井重里・岩田聡・宮本茂の座談会

    こどもたちが夕の時間が来たからと帰ってしまったとき、 この秘密基地は、ただの暗闇に溶けこんでしまうんだ。 <ルイージの詩集より>

    『MOTHER3』の開発が中止になったことについての糸井重里・岩田聡・宮本茂の座談会
  • ほぼ日-任天堂の岩田社長が遊びに来たので、みんなでご飯を食べながら話を聞いたのだ。(第07回)プログラマーとしての思考モデル

    ちょっと古い話になるけど、 『MOTHER2』というゲームの開発が 破綻しかかっていたときに、 岩田さんが助っ人として現れて、 ぼくらに向かってこう言ったんです。 「これを、いまある形のままで、 直していくなら、2年かかります。 でも、イチからつくっていいなら 1年以内にやります。 どちらにしますか?」って。 When the MOTHER 2 (EarthBound) project was about to fall apart, you came in to help, and this is what you said to us. "It will take 2 years to fix this keeping what you have built up. If we start from scratch, it will take only a year. What do

    gabill
    gabill 2010/08/12
    >「これを、いまある形のままで、直していくなら、2年かかります。でも、イチからつくっていいなら1年以内にやります。どちらにしますか?」
  • オーパーツ的プログラム どうやったら出来るんだろうこれ??そんなプログラムの名前をひたすら挙げるスレ。:アルファルファモザイク

  • エラー忘却型コンピューティング:ITpro

    エラー忘却型コンピューティング(Failure-oblivious computing)とは,米Massachusetts Institute of TechnologyのMartin Rinard氏らが2004年に提唱した概念。メモリーに何らかのエラーが発生しても,プログラムの処理を停止せず,エラーを無視して処理を継続する考え方だ。 例えば,データをキーと値(Value)の対として扱うハッシュテーブルのような手法を使用する場合に,あるキーに対応する値が2個存在するという「エラー」があると,通常のプログラムはそこで処理を停止する。それに対してエラー忘却型コンピューティングでは,そのエラーを「無かったこと」にして(忘却して)処理を進める。 現在の情報システムは,ACID,原子性(Atomicity),一貫性(Consistency),独立性(Isolation),耐久性(Durability

    エラー忘却型コンピューティング:ITpro
  • 遺伝的アルゴリズム

    遺伝的アルゴリズムとは? ミシガン大学のジョン・ホランド(John H . Holland)が適応・進化のモデルとして考案した。1975年に著書"Adaptation in Natural and Artificial Systems"として出版。今日では主として最適化の手法としての応用研究が進んでいる。 遺伝的アルゴリズムは、適用範囲の非常に広い、生物の遺伝のメカニズム(ネオダーウィニズム)を模倣した学習的アルゴリズムである。生物が進化してきたような遺伝的な法則を工学的にモデル化し、また参考にして工学に役立つような学習方法を与えるものである。 定められた形のコードを1つの個体として、多数の個体を含む個体群を用意し、各個体に遺伝と同じようなメカニズムを働かせて進化させる。データ(=解の候補)を遺伝子(=記号)からなるコードとして表現し(これを染色体とみなす)、選択・交叉・突然変異などの遺伝

    gabill
    gabill 2009/06/28
    ポーカーを連想した。遺伝的アルゴリズムに個体の組み合わせによる役の要素を加えたら、なんかおもしろそう。個体の集団を束ねてまた遺伝子として扱って、さらにそれを・・・とメタメタに。
  • できる!遺伝的アルゴリズム

    オープンソースカンファレンス 2009 Hokkaido with LDD での遺伝的アルゴリズムの説明です。Read less

    できる!遺伝的アルゴリズム
  • 小野和俊のブログ:プログラマーが覚えておきたい英単語

    小飼弾さんのブログで、やっちゃうとバカにみえちゃう英文法の間違いという記事があったのだが、読んでいて、こういう間違えやすい英語というのはプログラミングの世界でもあるなと思ったので、私が実際見たことある事例に絞って、プログラマー版を何点か。 * 小飼弾さんと秋元さんからいただいたトラックバックの内容に基づいて、一部追記しました。 たまに、フィールドやメソッドの名前で、「メモリにキャッシュする」というようなケースで使われる「キャッシュ」が cash になっていることを見かけるのだが、cash は現金という意味のキャッシュで、正確には cache。そんな間違いする人いないのでは、と言う人もいるかもしれないが、この間違いは実際に何度か見たことがある。 2. Programming - Programing 辞書的には programming (mが2つ) が正しい表記。ただ、Google などで検

    小野和俊のブログ:プログラマーが覚えておきたい英単語
  • システム開発に欠かせない契約の基礎知識まとめ - GoTheDistance

    先日識者の方に色々教わったのでメモっておきます。知ってそうで知らない、元々よくわからない、そういう方に向けてまとめてみました。 僕がSIにいた頃は大抵「基契約」と「個別覚書」ってのがありました。納期とかお金とかそういうのは個別覚書に書かれたりしていました。 開発の契約体系 「仕様策定〜開発まで」と「保守運用」で別契約にすることが多い。 「仕様策定フェーズ」で1つの契約にして、別に新しく契約を締結しなおせるほうが望ましい。リスクが低減できる。 仕様策定までは準委任、開発は請負、保守運用は準委任という契約が多い。 ちなみに準委任は「事務作業の代行」という意味合い。委任は「法的効力がある作業」の代行。サムライビジネスは後者が多い。 別に運用が事務作業とイコールじゃないけど、成果を問わないタイプの契約の場合は役務提供という位置づけになる。 かといって契約で「僕らのコンサル案を僕らが実施し成果が出

    システム開発に欠かせない契約の基礎知識まとめ - GoTheDistance
  • プログラミング格言集

    psychopathより。 金言、格言は古今東西いろいろあるのだが、ここではプログラミングに関する格言がまとめられていたので、抜粋して翻訳してみる。翻訳に間違い等があった場合は、コメント等で指摘してください。 We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil 私たちは、時間の約97%を占めるわずかな効率に関しては忘れるべきである: 時期尚早な最適化は諸悪の根源だ。 - C. A. R. Hoare Walking on water and developing software from a specification are easy if both are frozen 水の上を歩くのと、仕様に基い

  • バグを生まないコーディング法、10個の規則でソフト開発を効率化(1/3) ― EE Times Japan

    ソフトウエア開発にはバグがつきものだ。ただし、バグの発生を最小限にい止める方法がある。コーディング規則を適用してコードを記述することだ。バグが発生してからそれを発見し、修正するという通常の開発手順に比べて、簡単に、しかもコストをかけずにバグをつぶせる。 ここでは、ZigBeeを利用したセキュリティ・システムから医療機器にわたる筆者の組み込みソフトウエア開発の経験から得た、バグをなるべく発生させないコーディング規則を紹介する。 なぜコーディング規則が必要か コーディング規則は、ソフトウエア開発者に対して、コードを記述する上での規則をまとめたものである。英語のライティング教として著名な「The Elements of Style」(William Strunk Jr.、E. B. White著)の、プログラミング言語版のようなものだ。 組み込みソフトウエアにも、きれいで、正しく、簡

    gabill
    gabill 2009/05/29
    厳格なルールで構築された世界の中に、ほんの少しのルール違反が混入すると、無法地帯より悲惨なことに。
  • プログラマーの開発速度は「はまる」時間の長さで決まる : 小野和俊のブログ

    プログラミングを始めてから今日に至るまで、 様々なタイプのプログラマーと開発を共にしてきたが、 驚くべき速度で高い品質のソフトウェアを作り上げるプログラマーには、 一つ共通の特徴があるように思える。 それは、「はまる」時間が極端に短い、ということである。 風のプログラマー」を指向しており、開発速度を重要視している。 例えば平成14年未踏ソフトウェア創造事業「PICSY」では、 発表直前に知人でプロジェクトリーダーの鈴木健にレスキュー隊として呼ばれて 2,3日でGUI全般と、クライアント/サーバー通信部分の設計と実装を終わらせたのだが、 このときなどは、大体の要件を口頭で聞いた後は、 ほぼまったく手が止まらずコードを書き続ける感じで開発をしていた。 「はまる」時間の長さは開発速度に直結するわけだが、 プログラマーが「はまる」場合にはある程度の傾向があると思うので、 今日は「はまる」プログラマ

    プログラマーの開発速度は「はまる」時間の長さで決まる : 小野和俊のブログ
  • そろそろ例のプロジェクトについて言及するか - 西尾泰和のはてなダイアリー

    以前、とあるシステムのソースコードを読む機会があったのだけどあまりにひどかった。あのひどいコードでまあまあまともに動いているというのが逆に信じられない。今日昼ご飯をべながら少し話していたのだけど意外と知られていないようなので、話せる範囲でいかにひどいのか説明してみようと思う。 まず、ソースコードが大雑把に見積もって3750万行あるのだけど、その中でまともに機能しているコードは3%しかない。10分の1程度のソースコードで同程度の機能を実現しているシステムもあるのでほんとあのシステムのコードはゴミだと言っても過言じゃない(*1) プログラマとしてはなんでそのプロジェクトはそんな状態になってしまったのか気になるところだけども、まあ多くのプロジェクト同様、真相を知る人は誰もいない。でもまあ、実際に機能しているコードのコピーみたいなものがあちこちに散らばっていることからしてコピー&ペーストが盛んに

    そろそろ例のプロジェクトについて言及するか - 西尾泰和のはてなダイアリー
    gabill
    gabill 2009/01/31
    なんか生き物っぽいプログラムだなと思ったらそのとおりだった。
  • Life is beautiful: 日本語とオブジェクト指向

    先日、日経BPの出版局の方と話をする機会があったのだが、私がマイクロソフトでウィンドウズ95の開発に関わったことに触れた際、「ユーザーインターフェイスの設計において、日人であることで何か役に立ったことはありますか?」と聞かれた。日人であることがプラスになったとは思わないが、ふと思い出したことがある。当時、「日語はオブジェクト指向な言語だな」と思ったことである。 その当時(90年代初頭)、アップルの方が使い勝手に関しては一歩も二歩もマイクロソフトより進んでおり、そのためには、もともとゼロックスが提案しアップルが商品化した、「オブジェクト指向ユーザーインターフェイス」の考え方を、より推し進めるしかないという戦略で、ウィンドウズ95のユーザーインターフェイス(当時は Object-Oriented Shell と呼ばれていた)の開発をしていた。 「オブジェクト指向ユーザーインターフェイス」

    Life is beautiful: 日本語とオブジェクト指向
  • RailsとMerbの合流についてあれこれ - アンカテ

    これって、ある意味、オープンソースプロジェクトの凄みが見えてくるすごく衝撃的なニュースです。そこで、なるべく、IT業界に関係ない人にもわかるように、このニュースの意味をいくつかの側面から考えてみたいと思います。 ビジネスではあり得ないことが起きた まず何が起きたのかひとことで言うと、RailsというプロジェクトがMerbというプロジェクトと合流して、次のバージョンを共同で開発することを発表したということです。 Rails 3高速化Merb技術採用、Rails 2非互換の可能性 | エンタープライズ | マイコミジャーナル 簡単に言えば、Windowsの次期バージョンをMac OSXベースで開発することになったようなものかな。 Ruby on Railsは、「RubyのWebアプリ開発用フレームワーク」というジャンルで一番メジャーなソフトです。その分野に関係する人ならば誰も知らない人がいない

    RailsとMerbの合流についてあれこれ - アンカテ
    gabill
    gabill 2008/12/26
    MacOSとNeXT STEP…とはちょっと違うか。
  • プログラムが遅い人の10の特徴: それほど間違ってないプログラマ用語辞典

    反面教師も良い教師ということで、これまで仕事してきて、これやったら仕事遅くなるよなぁと思うような行動を取ってしまった実体験とか、あと見ていてこれはイカンよなぁと思ったことを10個ほど。 1. フリーズする 難題が持ち上がった時に、特に何かを調べるでもなく、首を捻りながら長時間沈思黙考するタイプ。頭だけで考えていてもたいてい前には進まないので、長考する仕草を取るのは「眠いのを誤魔化したい時」だけに限定した方が良いかなぁと思ってます。 2. 質問をためらう 技術的な内容なら自分で調べた方が為になることはあるけど、仕様などの聞かないと分からないことについてまで、なぜかためらってなかなか質問に行かないタイプ。相手が多忙だと質問しづらいけど、行かないと作業が止まるような時は遠慮なく相手に犠牲になってもらうが吉です。 3. Googleから答えにたどり着けない 同じことを調べているのに2倍以上時間がか

    gabill
    gabill 2008/12/26
    うわあああああああああああ
  • よりそいプログラミングのすすめ

    ちょっと前の話なんですけれど,あたしが知ってる生身の人の中で,もっとも優秀なプログラマさんのコーディングを見せてもらうことがありました。知らないライブラリの使い方をたずねたのがきっかけなんですけれど,「ちょっと作ってみるから見てて」ってな話になったのでした。これがすごかった。 「よりそいプログラミング」というのは,ここで作った言葉で,単純に片方が寄り添う形で行うプログラミング方法です。片方がひたすらプログラミングして,それを傍から見るというモノ。ここで,似たような言葉のペアプログラミングは,もちろん製造工程の話だけれど,「よりそいプログラミング」は開発工程とは異なる,教育目的のプログラミングです。だから,生産性云々とかは,とりあえずさておいてください。 さて,そのプログラマさんのプログラミングを見ていたところ,とにかくペースがものすごい。傍から見ていると,言葉を出すのと同じ感覚で,考えたこ

  • Life is beautiful: 私のとっておきのプログラミングスタイル

    404 Blog Not Found の「LiveCoding に学ぶプログラミングの三原則」を読んでいたらどうしても書きたくなったので。あくまで私のスタイルなので、参考にするもしないもご自由に。 1. スタードダッシュでできるだけはやくめどをつける 学生時代から夏休みの宿題は7月中に終わらせていた私とすれば、ラストスパートよりはスタートダッシュで勝負する。どのみち、どこかで思いっきり頑張らなければならないのであれば、締め切り間際ではなく、スタート間際に頑張るべきというのが私のポリシー。十週間のプロジェクトであれば、最初の二週間が勝負。そこで八割がたのめどをつけておき、後は流す。最初の二週間がめどが立てられなければ、十週間で完成できる可能性は低いと考える。常にそういう姿勢でいれば、締め切りぎりぎりになって致命的な欠陥が見つかって痛いめにあったり、当は大幅な設計変更をすべきなのに応急処置で

  • RDBMSの時代の終わりが見えてきた - きしだのはてな

    クラウドと一緒にやってきたもの 最近、クラウドが流行ってます。 GoogleMapResuceから始まって、MicrosoftのAzureまで、大手のクラウド製品が出揃った感じ。 で、そこで、こんなクラウド製品が出ましたというときに、必ずといっていいほどそのクラウド用のデータベースの説明があります。そして、それはRDBMSではありません。 GoogleだとBigTable、MicrosoftだとSQL Data Services、あとはAmazonSimpleDB。どれも、基的にはひとつのテーブルにハッシュコードでアクセスするようになっています。 ほかのクラウド製品も、Oracle Coherenceだったり、楽天のRomaだったり、非RDBMSのデータストレージを提供します。 クラウドというわけではないけど、mixiのTokyo TyrantやApache CouchDBも、RDB

    RDBMSの時代の終わりが見えてきた - きしだのはてな
  • 金子勇@SkeedCastは、根っからのプログラマ!|【Tech総研】

    いえいえ、即日プログラミングです。ゲーム好きの友人がいて、企画書とビットマップのキャラクターをもってきて「ゲームを作ってくれ」というんですね。電気屋さんはお店の宣伝になるからと「開発」を認めてくれていましたから、BASAICでプログラムを組んで、デモして、できたゲームで遊ぶと。これを一日でしていました。 ですからソフトは保存していなかったのですが、プログラマって自分の書いたコードは覚えているものじゃないですか。同じゲームは別の日でも作れましたし、少しずつ違って別のゲームができたりするのも面白かったり。中学に入るとポケコンでの開発が中心になり、授業中にポコケンでずっとプログラミングをしていたのですが、ハードが非力なのでアセンブラで組んで、それでも遅い(笑)。 こんなことを続けていたせいか、中学時代に「プログラミングを極めた」感じがしてしまいました。疲れるから仕事にはしたくないと思いましたが、

    gabill
    gabill 2008/12/12
    winnyの人のインタビュー
  • 「全ファミ。」ブログ編 デバッガーに向く人、向かない人

    ゲームのバグだしについて考える。 レースゲームでバグを出す話 『F1レース』で基的なバグ出しをしよう。 3つもエントリを書いてしまったので、ゲームのバグ出しについてもう少し。 これまでの経験上、バグを出す仕組みを教えていても全く出せない人もいるし、バグ出しの初日から市場に出回っている製品のバグを出してしまう人もいる。実のところ、「バグを出す仕組み」は知識の集合であり、体系的にまとめることができる。また、それを教えれば誰でも理解することができる。ただ、「ではどうやったら実際にバグを出せるのか」ということになってくると、知識だけではおぼつかなくなってくる。何より、知識もないのにバグを出す人の存在を説明することができない。 初心者なのにバグを出す人に話を聞くと、こんな答えが返ってくる。 「何となく出そうだと思ったので……」 おそらくは直感で出しているのだろう。しかし、それが重要なのだ。デバッガ