Text
Joel on Software 日本語記事 インデックス
** 2013.08.26 レイアウト更新しました **
猛烈なスパム投稿で度々DBフルを起こしていた、Joel on Software ( ジョエル・オン・ソフトウェア ) のデータベースが編集ロックされました。 おそらくスパム対策ですが残念なことに日本語トップページが消失している状態になっています。( http://local.joelonsoftware.com/wiki/Japanese ) 各記事は存在しているので、トップページだけここで公開しようと思います。
以前は検索結果からインデックスを作成していましたが、waybackmachineから 2012/05/10 時点のものが拾えたのでそれを元に整えて再公開します。 何か問題がある場合はお知らせください。
small{ color: #989592; font: normal 14px/22px Helvetica, sans-serif; } h2 a{ font-weight:bold; color: #000066; } section#stat-articles .stat-text section a{ color: #005599; }
事例によるスケジューリング
2007年10月26日 ソフトウェア開発者はスケジュールを作りたがらない。大抵はなしですまそうとする。「出来上がったときが完成日さ!」と元気一杯見栄を切ってボスを喜ばせ、活気づいた雰囲気のままどこかにスケジュールは忘れ去られてしまう。
分散バージョン管理で間違いないって、ベイビー
2010年3月17日
子犬だ!
2010年3月14日 Inc.でのコラムの最終回を読んで知っている人もいるかもしれないが、Joel on Softwareが10周年を迎える3月18日をもって私はブログを書くのをやめることにした。
なぜテスターが必要なのか?
2010年1月26日
プログラマのサーチエンジン
2009年12月2日
自分の会社が何であるかを理解する
2009年11月1日
ダクトテーププログラマ
2009年9月23日 ジェイミー・ザウィンスキーは私が「ダクトテーププログラマ」と呼ぶ人間だ。私は大いなる敬意をもってそう呼んでいる。彼は未来を作るために熱心に働き、みんなの役に立つものを生み出す。ゴーカートを作る開発チームには是非欲しい人間だ。彼のお気に入りの道具はダクトテープとWE-40で、時速100キロで丘をガタガタ駆け下りている真っ最中にそれを見事に使いこなす。同じ頃他のプログラマたちはと言えば、まだスタートラインにいて、チタンにしようか、それともボーイング787ドリームライナーで使われている宇宙時代の超合金にしようかと議論している。
Clearの底知れぬ楽天主義
2009年6月23日
プラットフォームベンダ
2009年6月10日
プログラムマネージャになるには
2009年3月1日 優れたプログラムマネージャを持つことは本当に良いソフトウェアを作るための秘訣の一つだ。あなたのところには多分いないだろう。こういう人はほとんどのチームにはいないからだ。
「承諾期限付き内定」の季節
2008年11月26日
躍進を続けるアーキテクチャ宇宙飛行士たち
2008年3月1日
カリフォルニア
2007年10月5日
FogBugz On Demand
2007年7月9日
マネジメントの本
2007年6月29日
記憶に残るようなカスタマサービスへの7ステップ
2007年2月19日 自力で立ち上げたソフトウェア会社であるFog Creekには、最初の2年くらいの間カスタマサービス専任のスタッフを雇う余裕はなかった。それでマイケルと私がカスタマサービスをやっていた。顧客を助けるために費やされる時間は、私たちが製品を改善するのに使うべき時間を奪うことになったが、私たちはその中で多くのことを学び、今ではカスタマサービスをずっとうまく運営できるようになった。
以下では記憶に残るようなカスタマサービスを提供するために私たちが学んできたことを述べようと思う。ここで「記憶に残る」と書いたのは文字通りでの意味だ。目指しているのは、あまりにすばらしくて人々の記憶に残るようなカスタマサービスを提供するということなのだ。
ファウンダーズ アット ワーク
2007年1月30日
Copilot 2.0リリース!
2007年1月26日
ビッグピクチャー
2007年1月21日 これの具合の悪い副作用の1つは、心がものごとをどれほどはっきり理解しているかについて過大評価しがちだということだ。心はいつでも「ビッグピクチャー」を持っているつもりでいる。たとえそうでないときであっても。
このことはソフトウェア開発においてはとりわけ危険な罠となる。やりたいことの大まかなアイデアが頭の中にできると、それはまったく明快で何かをデザインする必要があるとさえ思われない。すぐに飛び込んでビジョンの実装に取りかかれると感じる。
新年の抱負: もっといい仕事につくこと!
2006年12月20日
50万件のバグ!
2006年12月20日
新作!
2006年12月18日
エレガンス
2006年12月15日 人々がソフトウェアをいじるのは、多くの場合、それで遊びたくてそうしているわけではない。彼らがソフトウェアを使うのはツールとしてであり、それで彼らがやりたいと思う別なことを実現するのだ。彼らがチャットプログラムを使うのは、それでウィットがあるところを見せて、チャットの相手に一緒に時を過ごしたいと思わせ、そうして最終的には抱くことが出来るチャンスを高め、そうして利己的な遺伝子が自己複製できるようにするためなのかもしれない。
シンプルさ
2006年12月9日 機能が20%だけのシンプルな製品を作るというのは会社を立ち上げるときには優れた戦略で、それは限られたリソースしかないチームでも何か作り上げてユーザを手に入れることができるからだ。しかしそれが長期的にも良い戦略になるとは思わない。次世代の2人のスタートアップがそのシンプルなアプリケーションをクローンして参入するのを妨げるものはあまりないからだ。それに結局のところ人間の本性には抗えないということもある。
レゴプログラミング
2006年12月5日
スパムの操作
2006年11月30日
選択肢 = 頭痛
2006年11月21日 コンピュータを使い終わったとき、あなたは毎回9つの選択肢の中からどれか選ぶ必要がある。数えてみて、選択肢が9つあるんだ。アイコンが2つと、メニューアイテムが7つだ。2つのアイコンは、おそらくメニューアイテムのどれかのショートカットだろう。私の想像では錠前のアイコンはメニューにあるロックと同じものだと思うが、しかし電源スイッチのアイコンの方はメニューの中のどれにあたるのかよくわからない。
アジャイル(?)なチームの話
2006年11月15日
限りない音楽コレクション
2006年11月9日 12歳のとき私は毎週日曜の朝にKQEO放送でケイシー・ケーサムを聞き、新しい曲やリリース予定の曲をみんな書き出していた。それから毎週の5ドルのお小遣いをもらうと、まっすぐレコードショップに行って45回転レコードを買った。1枚1ドルだった。そのうち私のコレクションはかなりのものになり、全部でたぶん100枚くらいあったと思う。今では母にお願いだから捨ててくれと言われている。
ああ、こんなメールをよくもらう・・・
2006年11月9日
SQLインジェクションとは何か?
2006年11月1日
採用面接ゲリラガイド(version 3.0)
2006年10月25日 「無政府主義者とフリーラブの提唱者とバナナの権利の擁護者の寄せ集めの一団が、プエルト・バリャルタを出たラブボート号をハイジャックし、7日以内に要求が受け入れられなければ616人の乗客と327人の乗員もろとも、船を沈めると脅している。要求は何か? 番号を控えていない小額紙幣で100万ドルと、評価の高いWaterloo Fortran IVコンパイラ、WATFIVのGPL実装だ。(フリーラブの連中がバナナの権利の連中と合意できることがいかに少ないかは驚くばかりだ。)」
2000年に公開されたオリジナルバージョンの「採用面接ゲリラガイド」は、Fog Creekで使うための採用ガイドだった。書籍版のJoel on Softwareには、そのメジャーリビジョンであるversion 2.0を載せた。ここにあるversion 3.0は、この数年の業界の変化を反映させ、それに私が面接について学んできたことも組み入れて大きく書き直したものだ。
電話でのふるい分け
2006年10月24日 私たちは通常、本���的な実地の面接に移る前に電話でのふるい分けをしており、お話にならないくらい頭の良くない人のために時間と金を無駄にさせられることがないようにしている。
書評:Beyond Java
2006年10月12日
Джоэл о программировании – たったの250ルーブル!
2006年10月11日
新機能: 求人情報検索
2006年10月9日
SprintからすごいX線眼鏡が出たよ!
2006年9月19日
再びRubyのパフォーマンスについて
2006年9月12日
履歴書の順序づけ
2006年9月8日 最高のプログラマにとってリクルーターの頭にくるところは、彼らがキーワードやバズワードに病的に執着していることだ。プロのヘッドハンターやリクルーターの業界では、候補者を職にマッチングする単純なアルゴリズムが使われており、採用側の会社が現在たまたま求めているものに合った技術略語のリストを持つ候補者を探すのだ。それが余計腹立たしく感じられるのは、そういったリクルーターのほとんどは、それらの技術が何を意味するのかまったく知らないということだ。「ああ、MSMQの経験はないの? じゃ、しょうがないね」。不動産屋であれば、サブゼロ冷蔵庫やバイキングストーブについておしゃべりしていれば、少なくともそれが何なのかは知っている(最近ではステンレス製の冷蔵庫はみんな「サブゼロ」とみなされているようだが)。技術分野のリクルーターは、5年のRuby on Railsの経験を求めたり、「Windows API」の仕事から履歴書に「Win32」としか書いていない人を落としたりするときにぼろを出す。
——「採用ゲリラガイド」の最終回となる第3回は、「履歴書の順序づけ」について。
開発者観察ガイド
2006年9月7日 私の経験からすると、たくさんの言い訳が積み重なって、よほど進んだ会社でもない限り、開発者に個室を与えることは実質的に不可能になる。そして進んだ会社においてさえ、どこに移転し、どこでみんな働くのかという決定は10年ごとにしか行われず、その決定はオフィスマネージャの秘書と大きな建築会社の下級アソシエートからなる委員会によってなされるのだが、彼らはオープンスペースは会社のオープンさを示すという建築学部で習ったおとぎ話を信じており、開発者や開発チームの意見が聞かれることはない。
——「採用ゲリラガイド」の第2回は、「開発者観察ガイド」だ。
優れた開発者を見つけるには
2006年9月6日 新しい求人掲示板ができたのを記念して、アーティクルシリーズ「採用ゲリラガイド」に取り組んでいるところだ。
第1回として「優れた開発者を見つけるには」を公開しよう。
jobs.joelonsoftware.comについて
2006年9月5日 ニッチ向けの求人掲示板というアイデアは私のものではない。何百万の企業と何百万の求職者を集めているあの巨大な求人掲示板より、ニッチ向けの掲示板の方がいいアイデアであるのがなぜか分るのにはしばらく時間がかかった。ニッチ向けの求人掲示板の目標は控え目なものであり、1ダースほどの優れたプログラマたちが一緒に働く素晴らしい場所であるような会社が、何ダースか集められればそれでいい。
Wasabi
2006年9月1日
言語をめぐる論争
2006年9月1日
お気に入りのFirefoxエクステンション3つ
2006年8月25日
マネジメント法3種
2006年8月7日 イントロダクション 指揮統制マネジメント法 入門経済学マネジメント法 一体化マネジメント法
(ジョエルは休暇中。このエピソードは前もって書かれたものだ。)
君のプログラミング言語で、これ、できる?
2006年8月1日 あなたのプログラミング言語がファンクターの使用を強要しているのなら、あなたは現代的プログラミング環境の利点を十分享受していないことになる。お金の払い戻しが受けられないか確認してみるといい。
はじめてのBillGレビューのこと
2006年6月16日 当時は、BillGレビューと呼ばれるものが時々行われていた。基本的には、大きく重要な機能はすべてビル・ゲイツのレビューを受けることになっていたのだ。私は書いた仕様書をレビュー用に彼のオフィスに送るように言われた。500枚のレーザープリンタのプリントアウトだ。
FogBugz 4½と主観的幸福感
2006年5月16日 今日リリースするのは、本当のところFogBugz 4½とでも言うべきものなのだが、これを5.0と呼ぶことにした。分数がなくとも人生は十分込み入ったものだからだ。
開発抽象化レイヤ
2006年4月11日 若い男が町にやってきた。彼は見かけも悪くないし、ちょっとは金も持っていた。
過去のことについてはあまり話したがらないが、血の通ってない大企業に長くいたらしいことは明らかだった。
彼は生まれつき人当たりが良く社交的で、自分に自信を持っていながら傲慢ではない。だから地元のプログラマーズ・カフェにある求職の掲示の中からちょっとした仕事を見つけるのは、彼には簡単なことだった。しかし保険データベースプロジェクトや、主婦向けの飾りだらけのWebページや、会計計算エンジンといったものには、やがて興味をなくしてしまった。
「Eric Sink on the Business of Software」への序文
2006年4月7日 私が最初に手がけたビジネスについて話したことがあったろうか?
どうにか思い出せるかやってみることにしよう。それは14歳の時だったと思う。ニューメキシコ大学では、TESOLサマーインスティテュートとかいうのをやっていて、私はそこでカウンターの奥に座って、論文誌の記事が必要な人にコピーしてあげる仕事をしていた。
カウンターの横に大きなコーヒーメーカーがあって、ほしい人はカップに25セントを入れれば飲めるようになっていた。私自身はコーヒーは飲まなかったけど、ドーナッツが好きだったので、コーヒーと一緒にドーナッツがあれば素敵だろうなと思った。
ユーザビリティへの第一歩(初稿)
2006年3月7日 航空機制御システムであれば、ユーザビリティのまずさが「地表への制御下の航行」という楽しげな呼び方をされる状態に到る可能性がある。
あなたのプログラムのユーザビリティの問題がそこまでクリティカルな結果に到ることはないかもしれない。運が良ければ、あなたのデザインのユーザビリティがまずくとも誰かが手足を失うか親指をなくすくらいで済むだろう。大したことないじゃん!
(このアーティクルが「プログラマのためのユーザインタフェースデザイン」の冒頭部分を書き直したものであることに気付いたかもしれない。実際私はこの本の大部分を改訂している最中で、あなたが今目にしているのはその原稿だ。)
すばらしいデザイン: 目次
2006年1月30日
すばらしいデザイン: 何によってすばらしいものとなるのか? (初稿)
2006年1月30日 どんな製品カテゴリにも、一流の金張りの星のような製品がある。映画スターならブラット・ピット。ロックソングなら、もちろんスイートホーム・アラバマだ。オフィスチェアならハーマン・ミラー・アーロン。MP3プレーヤーなら、間違いなくiPodだ。 これらの製品に共通しているものはなんだろう?
すばらしいデザイン: デザインとは何か? (初稿)
2006年1月26日 ニューヨークにある、あの見事な褐色砂岩の建物をご存知だろうか? 精巧な彫刻やガーゴイルや美しい鉄のフェンスのある建物だ。古い設計図を探し出せば、昔の建築家がしばしば単に「美しい雷紋模様」としか書いてないのがわかるだろう。熟練の大工が美しい何かを作ってくれるのを当てにして、そのイタリアからやって来た老職人に任せておくのだ。 そういうのはデザインではなく、デコレーション(装飾)だ。
すばらしいデザイン イントロダクション(初稿)
2006年1月25日 私が携帯電話の電源を切るのが怖いのは、それを再びつけるために必要な脳細胞を招集することが、必ずしもできないからだ。 携帯電話には2つのボタンがある。楽しげな緑のボタンと、何か怖い感じの赤いボタンだ。ボタンには変なアイコンが描かれているが、何を意味しているのかはわからない。 緑のボタンで電源が入ると思うでしょ? 緑は進めという意味だものね。 でも違うんだ。
Micro-ISV: ビジョンから現実へ
2006年1月11日 解くのはどんな問題で、それは誰のためであり、その製品によって問題が解決できるのはなぜで、そして顧客はその解決に対してどのような仕方で支払うのか説明できないのなら、会社を始めないこと。以前私は6社のハイテク新興企業のプレゼンテーションを聞きに行ったことがあるが、そのうちのどれ1つとして、どんな問題を解決しようとしているのかについて明快なアイデアを持っているものはなかった。
これはボブ・ウォルシュの新刊「Micro-ISV: ビジョンから現実へ」に寄せた私の序文だ。
Javaスクールの危険
2005年12月29日 「近頃の若い者」は我慢がないと不平を言うようになったのは、私も年を取ったということなのだろう。
読書リスト: Fog Creek Softwareマネジメントトレーニングプログラム
2005年11月22日
Fog Creek Softwareマネジメントトレーニングプログラム
2005年10月26日 これまでは、私たちが採用するのはほとんどがプログラマだった。それは始めだったからだが、しかし次世代のマネージャを採用しはじめる必要もある。それだから今日、Fog Creek Softwareマネジメントトレーニングプログラムを立ち上げることにした。これはソフトウェア業界について私たちの知っているあらゆることを教えるべくデザインされた集中的な3年間のプログラムだ。
優先順位を決める
2005年10月12日
(Forum) 私はなぜフレームワークが嫌いか
2005年9月30日
プロジェクトAardvark仕様書
2005年8月17日 どちら側からでもプロセスを開始できるようにするために必要となる画面について検討していたとき、プロセスは救助者が開始する必要があるというようにすれば、劇的にシンプルになり、しかもAardvarkの有用性は変わらないことに気付いた。仕様書の上でその変更をするには1時間か2時間しかかからなかった。この変更をコード上でやっていたとしたら、スケジュールが何週間も延びていたことだろう。エクストリームプログラミングの支持者たちの嫌っている、前もって大きなデザインをすること(Big Design Up Front)の有効性を、私は口で言い表せないくらい強く信じている。私はBDUFによっていつも時間を節約でき、よりよい製品を作ることができた。XP の狂信者たちがどう言おうと、私はBDUFを採用していることを誇りに思っている。この点に関してXP狂信者たちは単に誤っており、そのことは私にとってまったく明らかなことなのだ。
Moraeを使ったユーザビリティテスト
2005年7月30日
ソフトウェアにおける高音域
2005年7月25日 「最高のプログラマ」を雇うということにそもそも意味があるのだろうか? 最高のプログラマを求めることが重要な意味を持つほど、プログラマの能力の違いは大きいものなのだろうか?
この疑問に対する答えは私たち開発者には明らかなことかもしれないが、しかしその他の人々には、依然証明を必要とすることなのだ。
プロジェクトAardvark中間レポート
2005年7月7日 ��れはあなたがあきらめて、自分では10秒で直せることが2時間の悪夢となることを思い知る瞬間だ。その間は家族とも離れ、眠れなくなり、電話回線を塞いでいるためにガス欠で立ち往生しているマージおばさんはおじさんに助けに来てもらうことができず、あなたのことをずっと恨み続けることになるのだ。あなたがプログラマだというだけで、友達や親戚やアパートの隣人たちといった1ダースもの人たちのヘルプデスクをしなきゃならない理由はない。そうだよね?
「Best Software Writing I」への序文
2005年6月20日 「ソフトウェア開発の世界は、良い読み物を必要としている。著者が16人いる、外国語学習者の変な英語で書かれたクラスライブラリに関する2000ページの本をまた読まなければならないとしたら、私は頭がおかしくなってしまう。似非学術的に気取って書かれたハードカバーのオブジェクト指向モデリングの本は、もうFog Creekの図書室に入れるつもりはない。ゴミ箱に直行だ。熱心な9歳児やスラッシュドットのトレッキーが書いた、Microsoftのバグだらけのコードに対する元気のいい攻撃文をもしまた読まなきゃならないんだったら、私はとがった鉛筆で目玉を突っつきたくなるかもしれない。やめてくれ、お願いだからやめてくれ!」
これは、今発売中の本「The Best Software Writing I: Selected and Introduced by Joel Spolsky」のために書いた序文の一部だ。この本には、ソフトウェアに関する、見事で洞察に富み、ときにひどく可笑しな29の短編が収められている。序文をここで読むことができる。
ブックレビュー
2005年5月20日 インターンたちに渡した本の山に何が入っていたのか教えてくれという人がたくさんいた。あの本の山はプロジェクトAardvark向けに最適化したものだったので、たとえばOpenSSLについての本だとか、ニューヨークの余暇ガイドなんかも入っていた。一方私はすべてのプログラマに薦める本の標準的なリストも持っていて、これは2002年以来アップデートしてなかったのだけど、どう思う? これらの本は本当に不朽の作品なのだ。たぶん私はあと何年かこのリストをいじることはないと思う。
間違ったコードは間違って見えるようにする
2005年5月11日 この時期に典型的なことは「水ぶくれのフジツボみたいだ。一貫したコーディング規則がなきゃだめだ」みたいなことを言って、次の日をチームのためのコーディング規則を書く��めに使い、そのあと6日間で「唯一正しい括弧付けのスタイル」について議論し、そのあとの3週間を古いコードが「唯一正しい括弧付けのスタイル」に合うよう書き直すのに費やすが、それに気付いたマネージャから全然お金にならないことに時間を使っていることで怒鳴りつけられ、それでソースに手を入れる必要が出た時ついでにフォーマットを直すのでも別に悪くないと思い直し、半分だけ「正しい括弧付けスタイル」という状態になってしまうが、そんなことはすぐに忘れ、そしてすぐまた別な何か、1つの文字列クラスを別な文字列クラスで置き換えるというような、お金になることとは無関係なことに心を奪われるのだ。
FogBugz 4.0への道
2005年3月28日 今週は、FogBugz 4.0の開発の舞台裏を5回に分けて紹介しよう。毎朝、新しい回を投稿するつもりだ。
今日は「 FogBugz 4.0への道: パート1 」として、顧客のフィードバックに耳を傾けて追加した2つの大きな機能と、私たちが「顧客に耳を傾け、競合は無視しよう」というのをマントラにしている理由について話そう。
Fog Creekでは会社に来るメールの処理にFogBugzを使っており、このFogBugzを自分で使う(「自分のドッグフードを食べる」)経験が、ベイジアンスパムフィルタと、良く使うフレーズや良くある質問への回答をまるまる入力できるようにする「スニペット」機能を開発する動機となった。 「FogBugz 4.0への道」の今日の回 では、ドッグフーディングから生まれた2つの新機能について見ることにしよう。
FogBugzをWindows同様Unixでも動かせるようにするために、PHPバージョンが必要だった。一回きりの移植をする代わりに、私たちはASPのソースからPHP版を自動生成するコンパイラを構築することにした。その顛末について FogBugz 4.0への道 パート3 で読める。
パート4 : Fog Creekのチームで費やされる100カロリーに対し、顧客の元へと届けられる新しいコード行を実際に書くのに使われるのは、ほんの2カロリーに過ぎない。
今日は 「FogBugzへの道」の衝撃の結末 について。
マイク・ガンダロイの「Painless Project Management with FogBugz」への序文
2005年2月11日
コンピュータサイエンスの学生へのアドバイス
2005年1月2日 大学生の多くは、幸いなことに、生意気なものであり、あまり年長者にアドバイスを求めたりはしないが、コンピュータサイエンスの分野においてはこれは良いことなのだ。年長者というのは「2010年にはキーパンチャーの需要が1億人を越える」とか「Lispを使う仕事が最近すごくホットだ」みたいな間抜けで時代遅れなことを言うものだからだ。 私自身も、学生にアドバイスするとき何について話したらいいのかわからない。しかしそんなことで書くのを思いとどまったことはない。
ラクダとおもちゃのアヒル
2004年12月15日 価格を設定するとき、あなたはシグナルを送っているのだ。競合ソフトウェアの価格が100ドルから500ドルの範囲にあり、あなたが自分は中間を行きたいと思って自分のソフトを300ドルで売ることにしたら、顧客にどんなメッセージを送ることになると思う? あなたは彼らに、自分のソフトは大したものじゃない、と言っているのだ。もっといいアイデアがある。1350ドルにするのだ。そうすると顧客は「あれはとびきり上等に違いない。連中はあんなに高い値を付けてるんだから!」と考えるのだ。
ユーザビリティがすべてではない
2004年9月6日 ユーザビリティが「発明」された1980年代のソフトウェアでは、コンピュータと人の間のやり取りがすべてだった。現在でも多くのソフトウェアはそうだ。しかしインターネットは新種のソフトウェアをもたらした。人と人の間のやり取りにかかわるソフトウェアだ。人の間の仲介をするソフトウェアを書くときには、ユーザビリティをちゃんとさせた後、ソーシャルインタフェースをちゃんとさせる必要がある。そしてソーシャルインタフェースの方がより重要なのだ。世界最高のUIがあったとしても、まずいソーシャルインタフェースを持ったソフトウェアを救うことはできない。
Joel on Software書籍版の目次
2004年8月19日
マイク・ガンダロイのCoder to Developer
2004年5月5日
履歴書を読んでもらうには
2004年1月26日
ストラテジーレターV
2002年6月12日 ミクロ経済学の補完財の原理について考えていて、私はオープンソースソフトウェアに関する興味深いあることに気がついた。それが何かというと、オープンソースソフトウェア開発に多額の資金を使っている企業の多くは、それが彼らにとって良いビジネス戦略だからそうしているのであって、突然資本主義を信じるのをやめて、「言論の自由と言うときの自由」に浮かれるようになったわけではないということだ。
5つの世界
2002年5月6日 5つの世界:すべてのソフトウェア開発が同じではない。 追記:インターナルシステム、コンサルウェア、パッケージソフトの間には大きなグレーゾーンがあり、この3つの世界はしばしば切れ目なくつながっている。得てしてシステムは最初インターナルシステムとして開発され、それからビジネスの連中がそれを他の会社に売るうまい方法を考えるが、それがあまりに脆弱で実行される環境について多くの仮定をしているため、別な顧客のサイトにインストールするには数週間を要し、そこにコンサルウェアが生まれる。(VignetteのStoryServerはc|netのインハウスコンテンツ マネジメントシステムとして始まったが、今では走らせるのに何百万ドルもかかる。) 理論上は、ソフトウェアはカスタマベースが拡大するにつれてインストールの容易さが強調され、パッケージソフトに移行するのだが、コンサルティング収入に味をしめたこれらの会社は、オフ・ザ・シェルフで使えるように使いやすくするメリットはないと考える。そして多くのインターナルシステム開発者は野生状態で動かせるソフトウェアというのを作ったことがなく、実際それは動かない。
私たちの.NET戦略について
2002年4月11日 Fog Creek Softwareの2002年4月時点における今後の.NET移行計画
氷山の秘密、明らかに
2002年2月13日 「うちの開発チームのどこが悪いのか分からない。」とCEOは心の中で思う。「プロジェクトを始めたころには何もかもうまく行っていたんだ。最初の2週間チームは馬車馬のように働き、ちゃんと動くプロトを作った。しかしその後は進み具合が這うように遅くなった。単に連中が怠けてるだけということかもしれん。」彼はキャラウェイ製のチタンドライバを選び、キャディに冷たいレモネードを取りに行かせる。「2、3人首を切れば、連中の尻にも火が付くだろう!
Rub a dub dub
2002年1月23日 我々がコードベースをゼロから書き換えたいと思う理由のひとつに、オリジナルのコードベースが本来の目的用にデザインされていないということがあげられます。それはプロトタイプや、実験用、演習用、またはわずか9カ月ほどでゼロから書かれ 公に出されてしまったもの、あるいは一回限りのデモ用として設計されたものだったりする訳です。
射撃しつつ前進
2002年1月6日 私の一日の多くはこんな感じだ: (1) 仕事にとりかかる。(2) emailをチェックしたり、Webを見たり、そのほかのことをする。(3) 仕事に取りかかる前にランチを取ったほうがいいと判断する。(4) ランチから戻る。(5) emailをチェックしたり、Webを見たり、そのほかのことをする。(6) いい加減はじめたほうがいいと心を決める。(7) emailをチェックしたり、Webを見たり、そのほかのことをする。(8) 本当に始めなきゃいけないと、再び決心する。(9) くそエディタを立ち上げる。(10) ノンストップでコードを書いていると、いつのまにか午後7:30になっている。 ステップ8とステップ9の間のどこかにバグがあるようだ。私は必ずしもこの溝を飛び越えられないからだ。
下っ端でも何かを成し遂げる方法
2001年12月25日 このサイトではソフトウェアマネジメントを扱っている。しかしあなたは経営命令で組織を変える力を持ってないかもしれない。あなたが階級組織の最下層にいる下っ端のプログラマなら、人々にスケジュールやバグデータベースを作るように命令することができないのは明らかだ。そしてあなたがマネージャであったとしても、開発者を管理するのは牧猫するようなもので、違いはそんなに楽しくないことだとわかるだろう。「こうしろ」と言うだけではそうはならないのだ。
いいソフトウェアには10年はかかる。それに慣れることだ。
2001年7月21日 問題が出てくるのはあなたが新しい機能を何も思いつかなくなったときで、そうするとあなたはペーパークリップをつけ加え、それからそれを取り外し、しかもそのどちらの場合にもお金を取ろうとするのだけど、彼らはそれに引っかからない。いいソフトウェアには10年はかかる。それに慣れることだ。
ストラテジーレターIV: ブロートウェアと80/20の神話
2001年3月23日 ブロートウェアには大きな理由がたくさんあるのだ。1つには、プログラマがコードの大きさを気にしなくて良いなら、彼らはより早く出荷できる。そしてそれはより多くの機能を意味し、機能はあなたの人生をより良くし(あなたがそれを使うとき)、そして通常それは何も傷つけない(あなたがそれを使わないとき)。
ケンブリッジの春
2001年3月19日 arsDigitaがした非常に正しいことが1つあり、それは個人の声に関することだ。Fog Creekにとって私がもっとも重要だと思っているのは、この個人の声をどうやって維持するかということで、私たちにそれができたなら、私はフィリップ・グリーンスパンに大きく負っていることになる。
デイリービルドは君の友達
2001年1月27日 デイリービルドは自動化された、毎日行われる、完全なソースツリー全体のビルドのことだ。
ビッグマック 対 裸のシェフ
2001年1月18日 一連のルールに正確に従っているだけで料理については何も知らないマクドナルドのコックと、キュートなイギリス人の裸のシェフ、ジェイミー・オリバーのような天才を比べてみよう。(もし今このサイトを去ってリンクをたどり、裸のシェフがバジル・アイヨリを作っているMTVみたいなビデオを見ようと思っているならどうぞ、ご自由に。)
やさしいバグトラッキング
2000年11月8日 もしあなたがチームであれ単独であれコードを開発しており、コードの中の既知のバグをすべてリストアップした組織化されたデータベースを持っていないのなら、単に低品質のコードを出荷することになるだろう。
やさしい機能仕様
2000年10月2日 パート1: なぜわざわざ書く必要があるのか? パート2: 仕様書とはどんなものか? パート3: だけど・・・どうやって書くの? パート4: ヒント
ジョエル・テスト
2000年8月9日 SEMAについて聞いたことがある?かなり難解なシステムで、ソフトウェアの開発チームがどれくらい良いかを測るためのものだ。ちょっと待った!そのリンクに飛ばない方がいい。きっと書いてあることを理解するだけで6 年はかかるだろう。そこで、私は自分で作ることにした。これはソフトウェア開発チームの質を評価するものだが、とっても当てにならないいいかげんなテストだ。このテストの素晴らしいところは、3分程度で終わることだ。節約した時間を使って、医学部に通うことだってできるだろう。
ストラテジーレターⅢ: もとに戻してくれ!
2000年6月3日 人々があなたの製品に乗り換える抵抗をなくす一番いい方法は、簡単に元に戻れるようにすることだ。誰も将来の自由を抹殺するような製品に乗り換えたいとは思わない。
ストラテジーレターⅡ: 鶏と卵の問題
2000年5月24日 あなたのビジネスがプラットフォームを作ることであるなら、一般には鶏と卵の問題として知られているものによって苦しめられることになるだろう。その上で走る良いソフトウェアができるまでは誰もあなたのプラットフォームを買おうとはしない、そしてそれが大きなインストールベースを持つようになるまでは、誰もそのためのソフトウェアを書こうとはしない。ウープス。
ストラテジーレターⅠ: ベン&ジェリー 対 アマゾン
2000年5月12日 会社を作っている?あなたがしなければならない非常に重要な決断がひとつあって、それはあなたのする他のすべてのことに影響する。あなたがどんなことをするにせよ、あなたは自分がどちらのキャンプに属しているのかを知り、あらゆることをそれに合わせて行う必要があり、そうしなければ災難に見舞われるだろう。
ゲリラ的雇用面接のすすめ
2000年3月23日 Fog Creek Softwareでは適切にスタッフを採用する事が必須である。我々の業界では対象となる人々を3つのタイプに分類する事が出来る。一方には未洗のイモとでも呼ぶべき、この業種に従事するのに基本的なスキルさえも持ち合わせていない集団がいる。これらの人たちは履歴書を注意深く確認して2,3の簡単な質問をする事で比較的容易に除外する事が出来る。対極には スーパースターと呼ばれる、パーム上で動くLispコンパイラを週末の暇つぶしにアセンブリ言語で書いてしまうような人たちがいる。これらの中間にあたるのが大多数の「応募者」で、何かしらやってくれるのではないかと思わせる人たちである。ここで紹介する幾つかのトリックはこれら一般的な応募者とスーパースターとの違いを見極めるためのものであり、Fog Creek Softwareはスーパースター以外は採用しない。
二つの話
2000年3月19日 Microsoftでは、もしあなたがExcelマクロストラテジーの仕事をしているプログラムマネージャであるなら、たとえあなたが会社に来て6ヵ月に満たなかったとしても、そんなことは問題ではない。あなたはExcelマクロストラテジーの神であり、誰であれ、たとえナンバー6だろうと、あなたの邪魔をすることはできない— 以上
さらにサバティカルについて・・・
2000年3月18日 私は自腹でサバティカルを1995年に取り、それから2000年にもう一度取った。 私はそれが良かったと思っている。
プログラマのためのユーザインタフェースデザイン
第1章 環境をコントロールできれば楽しく感じるもの 第2章 ユーザが何を期待しているかを知る 第3章 選択 第4章 アフォーダンスとメタファー 第5章 一貫性とそのほかのゴブリンについて 第6章 もっとほかにやることがある人々のためにデザイ��する 第7章 もっとほかにやることがある人々のためにデザインする、パート2 第8章 もっとほかにやることがある人々のためにデザインする、パート3 第9章 製品デザインプロセス
Joel Spolskyについて
repair from wayback machine (saved_at 2012/05/10 03:56:12).
8 notes
·
View notes
Text
How To Enable .NET 3.5 offline with MSDN Windows 8 pro
I try later with another machine. The following steps doesn't work. I used same media and same iso. I don't know why again...
後日別のマシンでためしたら失敗しました。なんでやねん。 インストール後なるべく早めにやりましょう(言語の切り替えなどよりも先に)。
日本語で3行で書くなら MSDNサブスクリプションのEnglish InternationalでWin8x64入れた。 DISMで.NET3.5有効化が全然うまくいかん。 en-gb_windows_8_enterprise_x64_dvd_922086 のISO使ったら泣きたくなるほどあっさり成功。 実験用に再インストールしてたらEnglish UKて出てたという。ていうかDVDでうまくいかないのってどうなのよ。
I installed Windows 8 pro with MSDN DVD labeled 'Microsoft Windows 8 (x64) English International'.
I want to enable .NET3.5 feature with offline machine with DISM command, but I failed many times. I try use install DVD use some ISO images, but failed.
Now, I successed to enable feature. ISO Image to enable the feature I use is 'en-gb_windows_8_enterprise_x64_dvd_922086'.
and command is
dism /Online /Enable-Feature /Featurename:netfx3 /all /Source:e:\sources\sxs /LimitAccess
keep mind, 'English International' disc location is English-UK, not English.
1 note
·
View note
Text
VSSDK how to set default location of ToolWindow pane to "docked"
looking for your tool window sample of vssdk [MsVsShell.ProvideToolWindow(typeof(PersistedWindowPane), Style = MsVsShell.VsDockStyle.Tabbed, Window = "3ae79031-e1bc-11d0-8f78-00a0c9110057")] and the value of "3ae79031-e1bc-11d0-8f78-00a0c9110057" means guid of solution explorer. http://msdn.microsoft.com/en-us/library/envdte.constants.vswindowkindsolutionexplorer(v=vs.80).aspx if we want to change the locaton where toolwindow docked, replace Window value to guid you want docked. Maybe... for example, ankhsvn set that value of pendingchanges toolwindow like following: [ProvideToolWindow(typeof(PendingChangesToolWindow), Style = VsDockStyle.Tabbed, Orientation = ToolWindowOrientation.Bottom, Transient = false, Window = ToolWindowGuids80.Outputwindow)]
0 notes
Text
TimestampMod mbcs対応
そのうちwikiかissueにまとめる予定ではありますが、現状を。 現在Nathan氏の本家からforkして、https://bitbucket.org/flied_onion/timestampmod_fliedonion にリポジトリを構えて実装中です。
最新のリビジョンでは暫定的な対処がはいっています。暫定的とはいえ、簡単なテストはおこなっており、本家0.2.5で追加された部分をきちんとパスするかがきちんと検証できてないだけですし、私自身すでに実務で使用しています。 また、本家リポジトリのNathanも非常に協力的な姿勢でいてくれています。(お礼の返事を書かないといけないんだけど、なかなかまとまった時間がなくて英文が書けない) ある程度確認がとれたら本家に取り込んでもらうつもりでいます。
TimestampModの現状
ここ最近(0.1.4以降だっけ?)TimestampModは内部ファイル(.hgtimestamp)をcsv形式で持っていました。途中からJSONフォーマットに切り替わったのですが、このことによりマルチバイト問題が発生しました。csv時代は私もつかっていなかったので、起きてたかどうかわかりません…おきるんじゃないかとは思ってますが。
TimestampModの文字コードの扱い
Mercurialにはencodingモジュールに格納されたエンコード、HGENCODEの値、ファイルシステムエンコード、タグ文字列やコミットメッセージなどのエンコード、pythonのUNICODEオブジェクトなどさまざまなエンコードが登場しますが、TimestampModで気にしなくてはならないエンコードは現在のところ、ファイルシステムのデフォルトエンコードとUTF8です。 TimestampModでは.hgtimestampの書き込み時に特にエンコード指定なくファイルをopenし、出力します。読み込み時もまたJSONライブラリのloadメソッドで特にエンコード指定なく読み込みを行います。 一見問題なさそうですが、openはsys.getfilesystemencoding()で取得できるエンコードが選択され、JSON.loadはデフォルトはUTF8が選択されるので、ここでエンコードの不一致が起こります。 そしてファイル名にマルチバイトを使用した場合、.hgtimestampの書き込みには成功するが、読み込み(というかJSON.load)には失敗するという状況が発生します。
どこに寄せるか
先々のことを考えたりいろいろ悩んだりしたのですが、最初の修正の観点としては、 「書き込みには成功する以上、すでにシステムのデフォルトのファイルシステムエンコードのマルチバイト文字列を含む.hgtimestampは存在する。」ので、これをまず救うことだけ考えることにしました。異なるエンコードを持つシステムに対しての処置は行っていないことを意味しますが、現状でもマルチバイトを使用したリポジトリは、異なるエンコードの環境に移行できないので(Linux-UTF8とWindows-cp932の相互運用はできないという趣旨で言っています)そこは考えず、「そのリポジトリを使っている環境でちゃんと動く」をサポートします。 mercurialjaに投稿したものはUTF8で保存してみたり、cp932固定にしてみたり、encoding.encodingつかってみたりといろいろやってはいたんですが、上記の判断によって現状は「JSON.loadがデフォルト指定で開けない場合は、sys.getfilesystemencoding()のエンコードで開いてみる」だけの修正となっています。
解決したのか
Windows(cygwin除く)環境でsys.getfilesystemencoding()は 'mbcs'を返します。stdinやstdoutのエンコードはきちんとしたエンコードを返しますが、'mbcs'はエイリアスかなにかの扱いで実際のエンコードではありません(マルチバイトキャラクターシステムかなにかの略)。このため、日本語Windowsで作ったリポジトリはほかのマルチバイト環境のWindowsに持って行っても動かないんだろうなと思っています。これについては検証の予定はありません(もし実験された方がいれば教えてください。)。おそらく、デフォルトでのloadに失敗し、sys.getfilesystemencoding()を使ったopenにも失敗し、きっと古いフォーマットだからCSVとして処理しようとしてそれも失敗して更新時間が復元されない状態になると思います。
将来的な問題
Linux-Windows相互運用の話をしました。これ以外にも(私もよくわかっていませんが)Windowsの'mbcs'というエンコードが結局何かはOSしかしらないという問題があります。 これは現在UTF8化がすすめられているため、Mercurial側はいずれ統合されることになるでしょう。コンテキストから返されるファイル名のエンコードも変わるのであれば(変わると思いますが)TimestampModへの対応かリポジトリコンバートへの取り込み依頼が必要になります。対応となった場合はMercurialのバージョンで判断するのか、なにか別のプロパティ(リポジトリのバージョンだとか、encoding.encodingのようなもんだとか)から拾えるのか、判断基準がどうなるかなど考えることは多そうですが、考えすぎても仕方がないのでまずは見守ります。(-人-)ナムナム
それ以外のフィーチャ
現在わかっているTimestampModで直したいところをだらだらと挙げていきます
・同じファイルを修正していた場合に.hgtimestampに必ずコンフリクトが起こる
同じ行が変わるので当然といえば当然ですが、厄介です。また時刻のシリアル値でもっているのでパッと見どっちを採用していいのかわかりません。 マージツールを用意するのか、.hgtimestampのフォーマットを拡張するのかですね。 hgrcへ常にローカルとかつねにotherとかつねに新しい時刻とか設定できるようにするのもいいかもしれません。ソース(.hgtimestamp以外のリポジトリで管理されているファイル)の方でもコンフリクトが起きていた場合、どちらかが完全に捨てられる可能性があるので、システムで決定することはできませんがユーザーが指定できるようにするのはアリだと思っています。
・MQ周り
NathanはMQをあまり使わない人らしくあんまり気にしてなかったようですが、MQ使うと落ちるバグがありました。それ自体はissueに投稿して修正してもらったんですが、qrefreshとqapplyの振る舞いに少し不満があるため、そこを修正したいと考えています。フジワラさんの助言でwrapcommandを使うのがいいんじゃないかというコメントはもらっていますが、なかなか時間が取れずまだ取り掛かれていません。
・.hgtimestampが存在しないリビジョン
updateしたリビジョンに.hgtimestampが存在しない場合、現在はエラーとなります。 継続処理に影響ないですし、存在内から日付も復元しようがないので結果的には問題はないんですが、存在チェックするだけで精神衛生がすこし保たれるならやったほうがいいだろうなと思っています。ついでにない場合はコミット日付にしてしまうというのも手なのかなぁ、それならそのリビジョンに一番近い.hgtimestampひろってやるべきなのかなぁ、などと下手に壮大なことを考えて止まっています。 存在チェックだけはissueに投げてさっさといれちゃうかな。
・リポジトリ単位での無効化ができない
これはMercurial側のバグだと思ってますが、 (私のtortoiseHg 2.4.1環境で)Mercurial.iniのextensionsにTimestampModを定義しておいて、 リポジトリのhgrcにTimestampMod=! などとしても無効化できません。 ていうか localrepoのextensions読み込んで、!で始まるものをみつけてもpassするだけなので、親のextensionsを無効化する機能が抜けてるのかな?とちょっと思ってます。 フジワラさんがMLに投げていて修正も大体できているらしいですが、ひょっとするとそれとは逆なのかな(フジワラさんのは「有効化できない」というバグなのかな)という懸念もあります。 あんまり詳しく見ていませんが、とりあえず無効にできないのは場合によっては不便なのでなんとかしたいところです。
現状こんな感じです。あまり多くには答えられませんが、なにかあればお尋ねください。 Nathanもいい人だしレスポンスすごいはやいので、本家のissueにproposalとかで投稿するのも手です。その場合英語になりますが、私も苦手だから大丈夫です(何が)。
1 note
·
View note
Text
Windows+TortoiseHgでMercurial拡張にトライしてみる。
作業ディレクトリを決めて、リポジトリを作る。
とりあえず、C:\hgExt\myExtTest ディレクトリにhello_hg.pyという空のテキストファイルを作ります。さらにリポジトリを作成し、空のままhello_hg.pyを追加、コミット(コミットメッセージは適当でいいです)します。
大体こんな見た目になりますね。 私の環境はTimestampMod拡張が有効になっているので、.hgtimestampというファイルがありますが、気にしないでください。
pythonインタプリタから触ってみる。
つぎにコマンドプロンプトを開きます。 ディレクトリをC:\hgExt\myExtTestに移動して、pythonを起動します。
C:\>cd c:\hgExt\myExtTest C:\hgExt\myExtTest>python 'python' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
おっと、pythonにパスが通っていませんね。そういう場合もあるでしょうが安心してください。ディレクトリを指定して起動してやりましょう。 私の環境はc:\python27にpythonが入っていますので、以下のように起動しました。
C:\hgExt\myExtTest>\Python26\python Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
TortoiseHg環境で拡張作ってみようと思うときつまづく最初の一歩
サンプルを見ながらつまづくのが
>>> import mercurial Traceback (most recent call last): File "", line 1, in ImportError: No module named mercurial >>>
でしょう。 コンソールでの環境を整えている人は、大抵pythonのLibにmercurialのライブラリを放り込んであったりします。 TortoiseHgでもそういった環境を作ってももちろんいいのですが(そういうMercurialのパッケージが公開されています。)、使う環境と開発する環境とで差分がでると困る場合もありますね。 前置きが長くなりましたが、TortoiseHgの環境では以下のようにします。 (c:\Program files\TortoiseHg にインストールされている時の例)
>>> import sys >>> sys.path.append("c:\\program files\\tortoisehg\\library.zip") >>> from mercurial import util
うごきませんか? パス区切りの円マークは2つずつになっていますか? 動かなくても焦らないでください。私はこの記事を書きながら動かなくて焦りました。 ZipImportエラーだったり、とにかくモジュールがみつからないといったエラーが出た方もいるんではないでしょうか
一度IDLEで同じことをする
話は少々前後しますが、pythonをインストールするとIDLEというGUI開発実行環境もインストールされます。プログラムメニューからIDLEを起動してみましょう。 さっきのコードがうまくいった人も後でIDLEを使うので同じことをしてみます。
zipの読み込みに時間がかかる場合があります。 どうでしょう、うまくいったんではないでしょうか。 先ほどうまくいかなかった人も、今回成功すればDOSからも成功できるとおもいます。 IDLEはブレークポイントも設定できます。標準で入っているのでうまく付き合えば便利なツールとなるでしょう。
IDLEでコーディングする
さぁ、準備はできました。 実際にコードを書いてみましょう。 IDLEから最初に作った、hello_hg.pyを開き次のようなコードを書きます。
import sys sys.path.append("c:\\Program Files\\TortoiseHg\\library.zip") from mercurial import ui, hg if __name__ == "__main__": repo = hg.repository(ui.ui(), '.') for l in repo.changelog: print l
申し訳程度の補足
if __name__ == "__main__":
は、VB6でいえばSub Main()とか、Main関数のブロックであることを示します。
repo = hg.repository(ui.ui(), '.')
は、リポジトリインスタンスを得る典型的な書き方です。'.'はパス指定で、hello_hg.pyのあるリポジトリです。 これは http://mercurial.selenic.com/wiki/MercurialApi を参考にしました。 書き終わったらF5を押すと実行されます。 まだこのリポジトリに対してコミットを一回しかしたことがなければ、
>>> ================================ RESTART ================================ >>> 0 >>>
というように出ます。 なんどかコミットしたことがある場合は、 0 1 2 などと出たのではないでしょうか。 あとは、ネット上の様々なサンプルや、実際の拡張のソースなどを参考にするといいでしょう。 ここまでで示したのは、まだmercurialのライブラリを使用するpythonプログラムです。 実際に拡張を作ってみるにはフジワラさんのHPなどを参照されるとよいかと思います。
おわりに
「ネタはフジワラさんの、コミット日時の処理のソースを取り上げてみたいと思います。」と冒頭で言ったので、 http://d.hatena.ne.jp/flying-foozy/20120528/1338192105 のソースをここでためしたmainブロックでの実行形式で示してみたいと思います。 実際に拡張にしてみるのは元記事を参考にあなた自身でやってみてください
import sys sys.path.append("c:\\Program Files\\TortoiseHg\\library.zip") from mercurial import ui, hg from mercurial import util if __name__ == "__main__": repo = hg.repository(ui.ui(), '.') fmap = {} for head in repo.heads(): ctx = repo[head] for f in ctx: fctx = ctx[f] changedrev = fctx.linkrev() changedctx = repo[changedrev] date = changedctx.date() fmap.setdefault(f, []).append(date) for f in sorted(fmap): latest = sorted(fmap[f])[-1] datestr = util.datestr(latest, '%Y-%m-%d %H:%M:%S') print f, datestr
実行してみたいリポジトリのパスがわかっているのなら、 repo = hg.repository(ui.ui(), '.') の最後の'.'を書き換えてみてください。Windowsのパスならパス区切り文字の円マークが変にエンコードされないようにだけ気を付けてください。 示すって言ったって、ほとんどコピペだという指摘は事実ですので反論はいたしませんですハイ(;′Д`) 以上、へっぽこ説明ではありましたが、フジワラさんの「Mercurial ハッカーの増加を願って、Mercurial の内部機能の使い方について、補足説明してみることに。」に触発されて一人でも多く環境のMercurialを使用する日本人技術者が、ソースや内部を知り、Mercurialがいい方向に進むきっかけになればと思い書いてみました。 Mercurialはよくできたバージョン管理システムですがまだまだ発展中です。とくにマルチバイト周りは改善の余地がたくさん残っています。ぜひいろいろためしたり、問題の発見・報告、問題の本質の報告、修正の提案などをしてみてください。 …あれ?なんかえらそうなこといってますね、私。 なお、mercurialそのものに関する疑問などはハッシュタグ #mercurialjpでつぶやくと、拾ってもらえるかもしれませんので、行き詰ったらつぶやいてみてください。
1 note
·
View note
Text
DOS バッチのfor文のサンプル
DOSバッチのfor文は以下のような特徴があります /f のファイル読み込みモードは意外と使える。ファイルといいながら標準入力読み取り的なことができる。 しかし行単位でしか読み取れない。 デリミタ指定で��る(しない場合はスペースとタブで区切られる)、awkっぽい感じになるが、とうていおよばない。でもうまく使うと便利。 コマンドプロンプトから使うように書いてます。 バッチに組み込みたいなら %vや%wを%%vや%%wにします。 風邪でだるいのでやっぱり細かい説明は抜き。 英語もかなり変だと思われます。 use from commandprompt, not bat file (if you want use with bat file, change variable-prefix % to %% (i.e. %%v ) <![CDATA[ rem loop by commands results @for /f "tokens=*" %v in ('set') do @(echo %v) @for /f "tokens=*" %v in ('dir /b /s') do @(echo %v) rem non /f param for %v in ('echo abc efg') do (echo %v) rem echo %v will run three times 'echo , abc and efg' rem lost halfspaces for /f "tokens=*" %v in ('echo abc efg') do (echo %v) rem for /f "tokens=*, delims=;" %v in ('echo abc efg') do (echo %v) rem for /f "delims=;" %v in ('echo abc efg') do (echo %v) rem delimit by half-space for /f "delims= " %v in ('echo abc efg') do (echo %v) rem delimit by ; for /f "delims=;" %v in ('echo abc;efg') do (echo %v) rem use double quote for /f "delims=;" %v in ("echo abc;efg") do (echo %v) rem トークンサンプル rem set delims only @for /f "delims=;" %v in ("echo abc;efg;hij") do @(echo %v %w %x) rem to get other column value rem ( I use %v ,so second column var is %w . if I use %i second column is %j and so on) @for /f "tokens=1-3 delims=;" %v in ("echo abc;efg;hij") do @(echo %v %w %x) rem first and second only (%x isnot use) @for /f "tokens=1-2 delims=;" %v in ("echo abc;efg;hij") do @(echo %v %w %x) rem first and else (%x isnot use) @for /f "tokens=1* delims=;" %v in ("echo abc;efg;hij") do @(echo %v %w %x) rem range of tokens have limit. @for /f "tokens=1-30 delims=;" %v in ("echo abc;efg;hij") do @(echo %v %w %x) @for /f "tokens=1-31 delims=;" %v in ("echo abc;efg;hij") do @(echo %v %w %x) ]]>
1 note
·
View note
Text
DOSバッチで一時的にPATHから除外する。
How to exclude specific path from PATH-environment temporarily 特定のといいながら、フルパス指定ですが、以下のようなバッチファイルで実現可能です。 set %%20=%%20 はいらないかも。 下の例では C:\Program Files\TortoiseHg\ または C:\Program Files\TortoiseHg を除外します。 システム設定を変更するわけではないので、コマンドプロンプト閉じれば戻ります。 なお、バッチファイル作らない場合は変数の接頭辞?(%)が変わるんで気をつけてください。 風邪でだるいので細かい説明は抜き。 This sample exclude "C:\Program Files\TortoiseHg\" or "C:\Program Files\TortoiseHg". Create bat file and call from command prompt.(use this with bat-file, or fail ) This sample affect only command prompt you run this. Any system settings will not change. <![CDATA[ @echo off setlocal enabledelayedexpansion set %%20=%%20 rem escape space(0x20) to %20 set new=!path: =%%20! rem replace ; to space set new=!new:;= ! rem init newpath set newpath= for %%G in (%new%) do ( if .%%G==. goto getout set p=%%G rem restore %20 to space set q=!p:%%20= ! if /i "!q!".=="C:\Program Files\TortoiseHg\". set q= if /i "!q!".=="C:\Program Files\TortoiseHg". set q= if not .==!q!. set newpath=!newpath!!q!; ) :getout rem bring to global path endlocal && set path=%newpath% rem echo %path% rem pause ]]>
0 notes
Text
Windows + tortoiseHG 環境でTimestampMod拡張を使う
TimestampMod拡張は、なんらかの理由でファイル更新日付でも管理したい場合に便利な拡張ですが、Windows + tortoiseHG環境でファイル名やディレクトリ名に日本語を含む場合は正常に動作しません。 # .hgtimestampのフォーマットがjson形式のバージョンの場合。 # 旧フォーマット(csv)の場合は検証していないので不明です。 ということでパッチを作成してみました。 とりあえずtumblrに貼れないので、mercurial jaに投稿してみます。 https://groups.google.com/forum/?hl=ja&fromgroups#!topic/mercurial-ja/0T7Ss5xFWHs
2 notes
·
View notes
Text
VisualHG と TimestampMod拡張を共存させる方法
+ 追記 + 需要はなさそうですが、codeplexのIssueにパッチを投稿しておきました。 しかし、TimestampModを利用するにはまだ不十分な点があったため、次に続きます。 ----------- しかしこれ需要あるのかなぁ。ないならひっそり自分だけで使うけど。 いろいろカスタマイズしたい部分もあるし。 欲しい人がいればリアクションしてください。 修正は、簡単なやり方だとhgstatusinfoのコンストラクタで new FileInfo(path) の前に File.Existでチェックする。そうじゃないとパス名として利用できない場合にFileInfoインスタンス作れなくて落ちる。 すぐ次の行でファイル存在チェックしているから問題はない。 だがそこで修正するのはイマイチなので他でチェックすべきなのでちょいと調査中。 この辺はまぁこだわりみたいなもんだからTimestampMod使いたいだけなら上記の箇所直して使えばいいと思うよ。 .hgignoreの対応を示していましたが不完全でした。原因だけのっけておきます。 Mercurialでファイル更新日付を維持してくれるTimestampMod拡張ですが、 VisualHGとTimestampMod拡張を同時に利用すると、 VisualHGが機能しなくなりますが、それの原因と回避方法を紹介します。 TimestampModの方を詳しく見ていませんが、 VisualHGがタブ文字(\t)入りのファイル名を受け取ってしまい、Windowsでサポートされないファイル名のためにエラーとなるのが原因でした。 <タブ文字だけではなくコロンもありました> なお、Linux環境では\tなどの文字を含むファイルを作成できますのでご注意を。 逆にWindows環境でしか利用しない場合はそもそもそういうファイルは作成できないので現状では問題ありません。 TimestampModで作成されるタブつきのファイル名はあとで書き戻すための一時的なファイルだと思いますので、ignoreしても問題ないと思っています。 VisualHG 1.1.5はTortoise 1.7あたりがベースだったと思うのでそのあたりも関係してるかも知れませんね。 # VisualHG 1.15 is compatible with 'tortoisehg-1.1.9.1-hg-1.7.5-x86.msi'.というコメントがDiscussionにある
3 notes
·
View notes
Text
Windows7でsamba NTドメインが重い場合の対処[続]
samba3の話です。
Wikiにでてた speedup settingって書いてあるレジストリだけかな。 バッチのほうはちょっとみてない。unix2dosとかteeとかfirefoxとか書いてあるんで、なんだろね。 rktoolsダウンロードしてるし。
二重引用符が全角になってるんで注意
Windows 7 Performance and Time Registry settings
I want to share some of my configuration settings, they add a major improvement in domain login speed and allow to use samba as time server under Windows 7 Professional:
echo 'Windows Registry Editor Version 5.00 ; Win7_Samba3DomainMember [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters] "DNSNameResolutionRequired"=dword:00000000 "DomainCompatibilityMode"=dword:00000001 ; Speedup settings [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System] "SlowLinkDetectEnabled"=dword:00000000 "DeleteRoamingCache"=dword:00000001 "WaitForNetwork"=dword:00000000 "CompatibleRUPSecurity"=dword:00000001
上記Speedup settingsレジストリでログインまで15秒程度になりました。 その上の二つはないとそもそもログインできないと思います。
以下は試していません。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System] "EnableLUA"=dword:00000000' | tee Win7_Samba3DomainMember_jelledj.reg unix2dos Win7_Samba3DomainMember_jelledj.reg echo '@echo off echo. echo WARNING: Do not close this window!!! echo. c:\"Program Files\Windows Resource Kits\Tools\ntrights.exe" +r SeSystemTimePrivilege -u "Domain Users" echo. echo WARNING: You may now close this window!!! echo.' | tee SeSystemTimePrivilege_jelledj.bat unix2dos SeSystemTimePrivilege_jelledj.bat echo '@echo off echo. echo WARNING: Do not close this window!!! echo. "C:\Program Files\Mozilla Firefox\firefox.exe" http://download.microsoft.com/download/8/e/c/8ec3a7d8-05b4-440a-a71e-ca3ee25fe057/rktools.exe echo. echo WARNING: You may now close this window!!! echo.' | tee rktools_jelledj.bat unix2dos rktools_jelledj.bat echo '@echo off echo. echo WARNING: Do not close this window!!! echo. NET USE Y: /DELETE NET USE Y: \\server\documenten /PERSISTENT:YES NET TIME \\server /SET /YES echo. echo WARNING: You may now close this window!!! echo.' | tee /srv/storage/samba/netlogon/netlogon.bat unix2dos /srv/storage/samba/netlogon/netlogon.bat setfacl --recursive --modify u::rw,g::r,m:---,o:--- /srv/storage/samba/netlogon/netlogon.bat chmod g+r /srv/storage/samba/netlogon/netlogon.bat cat /srv/storage/samba/netlogon/netlogon.bat su -c "cat /srv/storage/samba/netlogon/netlogon.bat" jelledj
3 notes
·
View notes
Link
「Ctrl」+「Windowsキー」+「Alt」+「Fx」 知らなかった。というかあきらめてた。
6 notes
·
View notes
Text
Windows7でsamba NTドメインが重い場合の対処
以下とは異なりますが、 http://tumblr.case-of-t.net/post/20172353663/windows7-samba-nt も参照ください。 うーん、できればドメインのポリシーで設定したいところだな。 できたっけ?できないね。ADないわけだから。 4.0の様子もまた見に行くか。 あとは「移動プロファイルがあることになっている」のを解除できればそれでもいいのかも。 以下引用 openldap + samba ドメイン Windows7 のログインが遅い [samba] Windows7の「ローカルグループポリシー」の設定で回避する事が可能でした。 ※設定変更は、ドメインの管理者アカウントでも、ローカルの管理者アカウントの どちらでもOKです。 1.「プログラムとファイルの検索」に、「gpedit.msc」を入力し「Enter」 「ローカルグループポリシーエディター」が起動します。 2.「コンピューターの構成」→「管理用テンプレート」→「システム」→ 「ユーザープロファイル」とたどって行く。 3. 一番下に「ユーザーに移動ユーザープロファイルまたはリモートホームディレクトリ がある場合にネットワークの最大待機時間を設定する」 という項目が有るので、それをダブルクリッック。 4. 「未構成」から「有効」に変更。「オプション」の 「最大時間(秒)ネットワークを待機する」を「0秒」に変更。 以上で完了です。
5 notes
·
View notes
Text
FreeBSD でDHCP Client あれこれ
# 前半は初心者のたわごとかもしれません。 ネットワークインターフェース再起動 /etc/rc.d/netif restart dhclient強制再起動 kill��て dhclient le0 とかやる。 /etc/rc.d/dhclient stop はなんかうんともすんともいわないのでkillしてみた。 ちなみにCentOSで紹介した dhclient -r オプションはない。 DHCPサーバの設定を変更して、FreeBSDのIPアドレスを固定にしようとしても切り替わらない場合どうするか。 /var/db/dhclient.leases.le0 (le0はネットワークインターフェース名) を削除した後、 dhclient le0 とすればいいらしい。 サーバーリブート時やdhcp client再起動時に備えて、ログ形式でリース情報を上記ファイルに格納しており、単純にBSDをリブートしても、まず前回のリース時のIPをDHCPサーバーに要求する。 あれ、でも、リース中のIPアドレスを除外IPに設定しても期待通りのIPにならなかったな・・。そこはルーターの問題か・・・
0 notes
Text
Active X like object on IE with .NET
Active X 風に.NETでなんかできないかって要望に対してATL/MFCのアンマネージでつくっちゃえよ以外の方法 ノータッチデプロイメントか・・・。 got dotnet のソースってcode.msdnに移管されてんのかな? へっぽこ英語でさーせん(;´Д`) one of answers, can I create Active X like object with .NET Framework I only found these topics, I didn't test them. I think these are under the NoTouchDeployment Architecture. [ host the FormControl with IE (from japan.internet.com) ] http://japan.internet.com/developer/20051220/25.html [ host the FormControl with IE (gotdotnet thank you wayback machine) ] http://web.archive.org/web/20070629092332/http://ja.gotdotnet.com/quickstart/winforms/doc/WinFormsIeSourcing.aspx http://web.archive.org/web/20070702194534/http://ja.gotdotnet.com/QuickStart/winforms/default.aspx?url=/quickstart/winforms/doc/WinFormsCreatingControls.aspx 1. Create ClassLibrary and paste to class1.vb "simplecontrol.vb" source code from wayback machine you need DesignModeStyle enum, use that ------ Public Enum DrawingModeStyle Happy = 0 Sad = 1 Angry = 2 End Enum ------ append reference of System.Windows.Forms System.Drawing open project property delete Root Namespace to empty build ------ create WebSite project add new htm file item paste that to htm file -- <html> <script> function ChangeText() { simpleControl1.Text = text1.value; } </script> <body> <p>Simple Control <br> <br> </body> <object id="simpleControl1" classid="http:ClassLibrary1.dll#Microsoft.Samples.WinForms.VB.SimpleControl.SimpleControl" height="300" width="300" VIEWASTEXT> <param name="Text" value="Simple Control"> </object> <br> <br> <input type="text" id="text1"> <input type="button" value="Change Text" onclick="ChangeText()"> </html> -- copy ClassLibrary1.dll to htm directory add trusted site "http://localhost" [ internet option ] set webapp project to startup project set htm file to start page run webapplication, and open htm file can you see yellow background control? then, you done.
0 notes
Quote
Common BSOD Error Codes for Overclocking 0x101 = increase vcore 0x124 = increase/decrease QPI/VTT first, if not increase/decrease vcore...have to test to see which one it is on i7 45nm, usually means too little VVT/QPI for the speed of Uncore on i7 32nm SB, usually means too little vCore 0x0A = unstable RAM/IMC, increase QPI first, if that doesn't work increase vcore 0x1A = Memory management error. It usually means a bad stick of Ram. Test with Memtest or whatever you prefer. Try raising your Ram voltage 0x1E = increase vcore 0x3B = increase vcore 0x3D = increase vcore 0xD1 = QPI/VTT, increase/decrease as necessary, can also be unstable Ram, raise Ram voltage 0x9C = QPI/VTT most likely, but increasing vcore has helped in some instances 0x50 = RAM timings/Frequency or uncore multi unstable, increase RAM voltage or adjust QPI/VTT, or lower uncore if you're higher than 2x 0x109 = Not enough or too Much memory voltage 0x116 = Low IOH (NB) voltage, GPU issue (most common when running multi-GPU/overclocking GPU) 0x7E = Corrupted OS file, possibly from overclocking. Run sfc /scannow and chkdsk /rBSOD Codes for Sandy Bridge 0x124 = add/remove vcore or QPI/VTT voltage (usually Vcore, once it was QPI/VTT) 0x101 = add more vcore 0x50 = RAM timings/Frequency add DDR3 voltage or add QPI/VTT 0x1E = add more vcore 0x3B = add more vcore 0xD1 = add QPI/VTT voltage “0x9C = QPI/VTT most likely, but increasing vcore has helped in some instances” 0X109 = add DDR3 voltage 0x0A = add QPI/VTT voltage For a complete list of BSOD error codes that may or may not be related to overclocking vist this link.
Common BSOD Error Code List for Overclocking - Overclock.net Community
6 notes
·
View notes
Text
Core i7 3930Kの定格作動でBSOD 0x9Cや0x101が出たときに疑うこと
年末からBSOD祭りに苦しんでいましたFlied Onionです。
-追記というか結論 -
CPU初期不良でした。売り切れのCPUだと確認しようもなく、ていうか店に一回持っていったのになんかうごいちゃったし(3回くらいためしてもらえばよかった)、しかし先週末CPU乗せかえたら面白いように動き、別のASROCKのエントリーマザーにそのCPUのせたら同じ症状が発生したので間違いなさそうです。 CPU初期不良ははじめてでしたがあるんですねぇっていうか交換してほしい。
-追記 16:30- クアッドチャネルはだめでした。 また1333固定もインストールなどは問題ないものの、Windowsのエクスペリエンス インデックス(ポイント評価してくれるやつ)を実行中に0x101が・・・(´;ω;`)。 1066でも発生・・・(´;ω;`)。 AiTweakerをAutoからManualにして(グラボが電気食うから電力もありうるんで)光学ドライブ外し、メモリも2枚にしたら最後までいけました。 他は安定はしてるんで、電力ちょっとたりないのかもなぁという印象です。メモリはそもそもクアッド対応じゃないからまぁしょうがないかと。メモリも電気食うしね。
-追記 15:00- 下記なんですが、確かに安定したものの(これまで一度もすんなり入らなかったWindowsが3回もインストールからドライバインストールまですんなり入った) 買っていたメモリはたしかに1333でした。 うーん、なんだろう。ただ1333に固定していたわけじゃないからなぁ。 TurboBoost発動時にメモリも勝手にBoostされていた可能性はあるわけで・・・。いや、ないかOC設定してないし。 とりあえずグラボも光学ドライブもSSDも戻してメモリもデュアル×2構成で再度Windowsインストール中です。
寿命があると言われてるSSDになんどもWindowsインストールするのは気になるんだけどね~。9年とかだから数回Windowsインストールしたところで誤差の範囲だろうけども。
CPU以外、ほぼすべてのパーツを取り替えても再現し(メモリはほんとに壊れてたっぽいんだけど) やっと解決かもしれないという状態まできたので、三連休最終日同じ状況で苦しんでいる方のために参考までに書きます。 先に結論を書いておくと、うちの環境ではメモリが1066MHzだったためです。 もしメモリが1066MHzならばたぶん負荷時にTurboBoostによってメモリのクロックが引き上げられてます。(あれば)M/Bの設定でDDR3-1066MHzで動作するように固定する、P9X79だとAI TweakerのMemory FrequencyをManualにして、DDR3-1066を選びましょう。MSIの方はわかりませんがTurboBoost 2.0を無効にしてみるといいかもしれません。
続きはまだ書いてます。 以下は苦悩とあと参考になるかもしれないこと。
症状: Core i7 3930Kでマザーのデフォルト設定で起動しているにもかかわらず、Windowsインストール中やドライバインストール中にBSODや、フリーズ等が起きる。 (ちなみに私のWindowsインストール試行回数は20回くらいです。全部インストール途中でとまったりBSODでたりその後デバイスドライバいれるとBSODでたりしてました)
最初の構成: 電源 600W CPU Core i7 3930K(リテール) メモリ GEIL DDR3-1066 8GB × 4 (クアッドチャネル対応) M/B MSI X79A-GD65(8D) Frio Adv. ビデオカード GeForce GT560Ti HDD SSD512GB/SATA 2GB CPUクーラー 水冷
施行したOS Windows 7 Ultimate x64 with SP1/Windows 2008R2 Standard/Windows 7 Pro x64 with SP1/Windows 7 Pro x86
Windowsインストール中に固まる(ひどい時はインストーラ画面も出ない)、インストーラの再起動後固まる、Windowsの初回起動の途中でWindowsロゴが固まってそのままBSOD(0x9c:MACHINE_CHECK_EXCEPTION が多かった、0x101:CLOCK_WATCHDOG_TIMEOUTもでた)、起動してやっといけたかと思いつつも1時間もしないうちにBSODなどなど ※ BSODの解析にはミニダンプが出力されていればBluescreenview(問題のあったデバイスドライバが特定できる)やMEMORY.DMPしかないのであればMSのWindows Debugger Tool(上級者向け)が便利です。BluescreenviewでもMEMORY.DMP開けますけどあんまり情報でないような。 ※ 温度の確認にはCPUID-Hardwaremoniterが便利です
ネットで調べてみると「オーバークロックしてんじゃね?」みたいな。 たしかにCPUが「ハードウェアおかしいんだけど」と言っていたりCPUの「サブコアから応答ないんだけど」てなエラーなんでその話ももっともですが、デフォルト設定で動かしているので違うだろうと。
まずBIOSのアップデート。1.0→1.3 これはたまたまWin2008R2がインストールできてたまたまWinki(MSIマザーの機能)がインストールできたときに実行。 ※ 昔で言えば(今もだが)不安定なマシンでBIOSアップデートなんて自殺行為もいいところですが、MSIの該当マザーはハードウェアスイッチで2つのBIOSを切り替えられるので、1個死んでも大丈夫。ってことでチャレンジして成功。
次にメモリ。Memtest 86+にてテストしたところ不定期(3回やって2回)に同じアドレスでエラーが出たので、これに違いない!ということで買ったドスパラさんに持込、相性保証ということですぐ交換(同じのなかったので差額交換で別のに)してもらいました。CFDの8GBx2 を二つ。デュアルチャネル対応を謳っているものです(2枚売りだからクアッドチャネルには言及なかったけど、お店の人が同じロットにしてくれました、これは仮にクアッドできなくても自分もそれでいいと言ったから仕方なす)。
で、結局だめで症状は全く改善しません。
※ Memtest 86+は別マシンでCDに焼ける環境があればソフトそのものは無料で入手できます。 購入したドスパラでも使ってるって書いてあったので、同じので問題が検知できればスムーズに対応してもらえるだろうということでやりました。エラー検知できたらケータイとかで画面とっといて、再起動して何回かリトライしましょう。一応検品すり抜けている以上、レアな故障もありえます。複数回やるのが重要です。 15分以内に起きたらそこで中断していいと思います。何も起きなければ最後までやりましょう。最後までやると勝手に最初からテストしなおしてしまう(画面下に全部パスしましたみたいなメッセージはでます。)ので問題ない場合もキリの良いところでというか気がすんだらやめます。
その後、SSDにインストールしていたのをSATAにインストールに変更(SSDは外す)。 ビデオカード PCIe 3にPCIe 2刺してるから!?と差し替えたり、他のマシンのPCIe 2刺してみたりしてもだめ。 クアッドだからか!?ということで2枚や1枚にしてもだめ 接触か(しっかりはまってませんでしたっていうのはありがちです)!?ということで全部刺し直してもだめ 電源!?ということで50W増加(追加購入(;w;))
※ 電源はなかなかどれくらい必要かわかりませんよね、最近のエントリーモデルでビデオカードがでかくない追加電源不要なやつなら400Wで足りてました(今使ってるC2Qはそれくらいで元気にうごいてる)。ただCore i7 はTDPが130Wなんでちょっといろいろ不安で600Wにしてましたがハイエンド用途だとそれでもちょっと足りないみたいですね。電源計算はこんなの見つけました。便利ですね。マザーボード選べないのがなんでかよくわかりませんが。 ASUSTek 電源計算機 http://support.asus.com.tw/PowerSupplyCalculator/PSCalculator.aspx?SLanguage=ja-jp
だんだん何を疑えばいいのかわからなくなってきて もうマザーかCPUくらいしかのこってない!ってことで再びドスパラにCPUだけ持込、検証してもらいました。 (電源と光学ドライブ以外全部ドスパラで買ったんでフルセットで持ってければよかったんですが、なかなかねー持てないよねー。) で、Windows Ultimate x64のインストールがあっさり完了。付属のドライバも入れてもらいましたが怪しい動きは一切ありませんでした。CPUへの濡れ衣はなくなり、じゃぁマザーじゃねぇか(ノ`Д´)ノ彡┻━┻ と濡れ衣の矛先はMSIへ
そんとき刺し直しのときにグリス塗り過ぎてて、マザーが大変なことになってしまい(ソケットのピン曲がった)他にも不満もあったし泣く泣くASUSTekのP9X79 DELUXE買いました。虫眼鏡とピンで直せそうだけど、CPUソケットだから怖すぎwCeleron出たらやってみようかな。 そして新マザーすべて刺し直し、起動、0x9cは起きなくなりました。
・・・が!0x101は発生します。 光学ドライブかYO!てなことでUSBインストールに切り替え。 Windows 7はインストールDVDのISOイメージから起動可能なUSBを簡単につくれます。 (MS純正のGUIのソフトがダウンロードできます。Windows 7 USB インストールあたりでそれを紹介している@IT引っかかると思います。コマンドプロンプトじゃないやつね。)
ネットでOC以外の原因を調べてみると 電力が足りてない可能性もあるってことで ASUSの電源計算機で計算してみると、ピーク時は600~650W必要と出ましたんで(※ あくまでピーク時です。一番電気使ってる状態です、光学メディア焼きながら) 800W買おうかなっとも思ったんですが、電源て意外に高いのよねー。しかも600Wもあまってるしねー。 それよりは電源計算機で電力跳ね上がった、グラボを電力使わない奴に変えてみましょうってことでヨドバシで手頃な5000円前後の追加PCIe電源不要のものを購入 差し替えながら、「そういえばSSDも光学ドライブもSATAケーブル外したけど、電源抜いてないや」ってことでそれも外す。ワット数に死角なし。
でもやっぱり起きる CPUクーラーも変えた! でも起きる!!
CPU以外すべて変えたんすけど つД`)・゚・。・゚゚・:.。..。.:・゚
すでに金銭感覚もおかしくなっているので、 もう一個買ってしまおうか!というかヨドバシに売ってたら買ってましたよ!でも5万なのよね!じゃぁ無理!
ってことで、冷静になりいろいろ検索しておりましたら 海外のサイトでダンプ解析されながら、「CPUの電圧おかしくなってるんじゃない?」 ふむ、9cも101もvcoreか。たしかに電力じゃなければ電圧の可能性はある。なにしろドスパラではあんな に元気に動いていたではないか! と更に探索を続行してオーバークロッカー向けのBSOD対策図を発見 http://www.overclock.net/a/common-bsod-error-code-list-for-overclocking よしならばいっそOCしてみよう!(マテ)
それは冗談でvcoreどうなってんだろうとマザーの設定見てみたら
見てみたら・・・
見つけちゃいました・・・
Target CPU Turbomode speed 3800MHzの下に Target DRAM Speed 1333MHz ※ P9X79 DELUXEのユーザマニュアルだとChaper3-7です。
( ゚д゚)ポカーン 1066MHzだから!そんな速度で動かないから! 慌ててDRAMのクロックを固定(最初にも書いたけどAI TwekerのMemory FrequencyをManualにして、DDR3-1066を選ぶ) ターボメモリクロックも1066MHzに1333MHz CPUは3800MHzのまま。
MSIマザーはお亡くなり中なので確認できませんが、おそらく同じ理由もあったのではないかと思います。
ただヒトコト言いたい。LGA2011で1066MHz対応のマザーで、現状最下位モデルのCPU積んでデフォルト設定で動かないとかどんだけー(古)
そんなこんなで現在にいたります。 Windows 7 Professional with SP1はUSBから快調にインストール完了、デバドラ全部入りました 今はWindows 7 Ultimate with SP1をUSBから入れています、デバドラ入れ終わったら外していたデバイス付け直してトライ。 問題がでたらページ先頭に報告しますが、なにしろ全ての事象に納得が行くので問題なくいけると思います。 今インストール後最初の再起動です。
あとの問題は・・・クアッドチャネルでいけるかなーってのとグラボ戻したら電力足りるかなー。ってとこですね。それ以前に合計1500Wも超えているような) メモリは安くなったら買おう。メモリ増やすと電力いるし、電源交換もそんときかなー。
2 notes
·
View notes
Link
bsodに関係あるかはわからない。 出るのが気になるから消すだけみたいな気がする。
5 notes
·
View notes