「Windows Me」を含む日記 RSS

はてなキーワード: Windows Meとは

2021-09-25

結局核融合ってどの段階まで行ってんの?2030年代にどこまで行けんの

https://anond.hatelabo.jp/20210924183546

の続き。核融合についてこんなに見てくれる人が出るとは思わなかったのでびっくり。おじさん続き(というか、前回の記事でまるっとスルーした部分についての補足)を書いちゃうよ。もうバレてると思うけど、増田核融合ベンチャーに頑張ってほしいと思ってる(利害関係はない)タイプ業界人だよ。業界の中にも否定的な人は普通にいるよ。

核融合必要な性能って?

核融合で発電するには、「十分高い温度密度の高純度なプラズマ」が必要。それが十分な性能になったら、あとは発電設備を付ければ発電できるようになる(それも簡単ではないけど)。

プラズマの性能は温度密度・閉じ込めの3つを同時に達成しないといけないので、本当は核融合三重積という指標を使う。そうじゃないと「温度は高いけどスカスカ核融合反応をほとんどしないプラズマ」とかがすごいっぽく見えてしまう。でもここでは長くなるので割愛。というのも、幸いにしてすでに核融合反応を起こした装置は2つあって「実際核融合で何Wを何秒出した」と言えるのでそこで判断してもらって大きな問題はないから。

現状の核融合記録

TFTR: 1994年 米国 (1000 kWの核融合反応)

TFTRは装置名。世界初の大型装置での核融合燃料を使った本格的な核融合反応。(ここまでは取り扱いの面倒な三重水素は使われてなかった。)核融合出力1000 kWをプラズマ的には十分長い0.2秒くらい維持した。

JET: 1997年 EU (1600 kWの核融合反応)

現在までの最高出力記録。このとき、2400kWくらいのエネルギーを投入して1600kW出したので、投入エネルギーの0.6倍は出せた計算。ただし、投入エネルギー=投入電力ではないので注意。電力ベースでは(記録はないけど)おそらく0.1を割るだろうと思われる。

JT-60U: 1998年 日本 (参考記録

ギネス認定の人工での世界最高温度記録である5.2億度を達成した。また、1億度のプラズマを9秒フラットに維持したりもしている。日本放射線管理のあれこれで核融合燃料を使えなかったため、核融合出力はない。しかし、この5.2億度のプラズマでの温度密度から核融合燃料を使っていれば投入エネルギーを超える核融合出力が得られたと推定されている。(JETの0.6を超えて1.2くらい達成したはずという意味

この3つを見てわかるとおり、核融合の記録は90年代ばかり、2000年代以降は更新されていない。iphone13の時代windows meすらない時代の記録が最高記録扱いなのである研究者ベンチャーなんてやりたくなるほどのフラストレーションを感じている理由ちょっとはわかってもらえるだろう。

どこまで行けば良いの?

そこらへんの火力や原子力発電所では、電気出力が数十万 kWから百万 kWくらいなので、発電効率を考えて核融合出力で100万kWくらい出せれば核融合発電所第一号としては十分だとすると、JETの記録を600倍は増やさないといけない。600倍とかヤバくね?と思うかもたけど、iterは50万kWの核融合出力を400秒続けられるように設計されている(それは見通せてる)ので、iterの二倍で良いわけである。本当なら今頃はiterの成果を見ながら「iterの2倍程度の出力をもっと長く継続する」「発電設備をつける」にトピックが移ってたはずなんだけど、遅れてるのが現状。元々90年代の成果と知見を元に次の装置設計して建設するため、10年程度の空白期間が出来てしまうことはしょうがないのだけど、2010頃には動いていたはずのiterが遅れたために空白期間かここまで伸びてしまっている。iter複数企業どころか複数国(EU+六カ国)が機器を持ち寄るというみずほ銀行勘定システム以上のゲキヤバ案件でなければ今頃...iterが大失敗して、核融合業界全体が死んでた可能性もあるんだけどね。

なんでベンチャーiterよりすごいものが作れるって言ってるの?

iterの基本設計が古くて保守的から。97年にベース設計が決まって、2007に更新されたのがiter。炉形式も実績はあるが思想の古い保守的なトカマク(上述の3つはこれ)。しかも「失敗は許されない!」と90年代に確実だった(枯れた)技術ばかりが使われている。典型的には超伝導線材(コイル)で、iter日本のLHDで採用された実績のあるニオブチタン合金超電導線材すら「日本しか供給できないので供給力が不安」という理由不採用にして、性能が低いニオブとスズの合金の線材を採用しているくらいに保守的なのである

そういうiterなので、研究者が「リスクを犯してでも最先端技術や炉形式を使えば、もっと安く、もっと良いものができる!」と考えるのは当然の帰結。そんなわけなので、2000年代にようやく工業レベル供給ができるようになってきた高温超伝導導体はベンチャー提案ではスタンダードである

本当に2030年に実現するの?

ここからはより私見が強くなるけど、「2030年代に既存原発や火発なみに発電する核融合発電所ができるか?」なら答えはNo。そもそも建設10年程度かかるものなので、2030年代までに動くのは次の世代の炉だけ。でも、ガチ発電所の前に一世代「お試し発電はするけど、ガチ発電所ほどじゃない」やつが要る。二世代作るのはどう頑張っても間に合わないし、次のやつのデータを見ながら規制法律の整備とかもするからそういう意味でも間に合わない。多分、用地設定とかも含めると、すでに提案済みの新型原発核分裂炉)でも20年たらずで発電開始は無理じゃないかな?

でも、「2030年代にちょっとでも良いか核融合で消費電力を超える発電をする」なら10 %くらいいける確率はあると思う。首相青森の六ケ所(iter候補立候補してた)あたりを特区指定して、原子力規制庁が規制法を爆速で整備して、現存設計案(ベンチャーの案でも、量研機構が準備してる次世代核融合設計案でも良い)の最小限版を速攻で建設開始するシナリオ。当然その時はみずほ勘定システム方式ではなく、日立なり東芝なりの一社に全体を統括してもらう。そこまでお膳立てされれば遅れない。多分遅れないと思う。遅れないんじゃないかな。ま ちょっと覚悟はしておけ。

おまけ、ロッキード・マーチンの案について

記事書いてたとき存在を忘れてた。ロッキード・マーチンのチームはアカデミアとつながっていないので、他の核融合ベンチャー論文などを出してる一方で情報一般向けのニュースくらいしかない。でもまぁ、振動磁場で粒子を閉じ込めるというアイデアちょっと無理がある(そんな早い振動磁場を高強度で作れない)と思うし、車に乗るとかどう考えても無理があることも書いてたのでなぁ(加熱装置も発電装置も電源も車に載るほど軽くない)。核融合ベンチャーは大なり小なり希望的なことを言うものだけど、それと比較しても無理っぽいんじゃないですかね。すでに内部で解散してても驚かないです。

2020-09-22

anond:20200922004230

零細企業なら余裕でやってますよね。前いた職場ではWindows MePC使った基板加工制御とかあったなぁ・・・今でもやってるんだろうか

2020-03-03

anond:20200303183631

わかりやすいな

Windows ME

Windows 7

をくらべて

プログラマーとか

SEとか

ドンだけ大変な仕事だと思う?っていう

 

いまなんかある?例にちょうどいいの

2018-12-14

IMEオンオフ切り替えにALTキー不要になった時期

Windows 3.1 Alt+漢字

Windows 95 Alt+漢字。秀Capsなどサードパーティユーティリティを使うことで漢字だけでオンオフできるようにしていた。

Windows NT 3.51 ?

Windows 98 Alt+漢字デフォルトMS-IME 98の設定を変えれば漢字キーのみのオンオフ可能だったらしい。

Windows NT 4.0 Alt+漢字デフォルトWindows 98と似たような感じだった気がする。

Windows 2000 ? 怪しい

Windows Me ? 怪しい

Windows XP 気付いたら漢字キー単体でオンオフデフォルト動作になっていた。

からない

anond:20181214031959

2018-07-28

anond:20180728181824

古いシミュレーション系には全英数キーテンキーファンクションキーと左Ctrl/Alt/Shiftと右Ctrl/Alt/Shiftの全ての組み合わせに何らかの機能が当たってるような奴はあったよ

右Ctrlがないとプレイできないゲームとかあったよ

ふっっっっっるいやつな Windows Me以降は非対応とかの

2017-09-15

iPhoneXってセンスがMeだよな

最近若い子は知らないかもな―Me。

Windows Millennium Edition通称Windows Me

ミレニアムだし頑張るぞいと作られたはいいけど色々残念な子XPに完全に食われた可哀想なやつなんだよ。

Windows 9x系とNT系の統合という路線を目指した結果、もうNT系だけでよくねと市場に印象づける事になったそれはそれは凄い奴だった。

コイツの凄い所は95→98→XPっていう「家庭用PCとしてのWINDOWS」の順調なアップデート史の間に完全な不純物として差しまれている点。

開発からすればミレニアムを記念しての統合デザインというロマンがあるんだろうけどユーザーからしたら知ったこっちゃねえわという部分がiPhoneXにそっくり。

およそ20年前にゲイツのしもべが通った道を、今度はジョブズのしもべが通るわけだ。

いや通るんじゃねえよ引き返せよ。

ぜってー失敗する。

確信を持って言える。

拗らせたオタクは「だが待って欲しい、むしろXPに近いのがXであり、Meに近いのが8ではないだろうか?」みたいな意味不明な事言って逆張りしてくるかも知れないから気をつけろよ。

まあ、俺の予想だと、Xと8が出て数年したらもっとMeじみた奴が出て来てアップル終わったなアトモスフィア地球が覆われる。

PSXばりの意味不明な奴が出て来るんだよきっと。

人類ってすぐ歴史を繰り返したがるからね。

2017-05-06

iwakan

風邪を引いた。

先日まで海外旅行に行ってたから、その疲労からだろう。

食中毒だったらどうしよう。まあいいか上司に移せばいいか

いつもは風邪を引くと寝るかほぼ流動体な食事を摂るかくらいしか選択肢がないんだけど、ずっと家にいると如何せん暇だと感じる。なので今日PCゲームの友人数人とスカイプ的なボイスチャット通話している。

今は世間的には”微熱”と言われるような体温だけど、幸か不幸か人より敏感だと思われる俺の身体windows meくらいの処理速度にまで落ちているか通話といっても基本的聞き手に廻っている。一人はうつ病真っ只中だったりで俗っぽい言い方かもしれないけど皆各々の事情を抱えて生きているんだなあ、と思う。

生きることは「違和感をなくすこと」だ。

飯を食うことも「空腹という違和感」を解消することだし、外国語勉強するのも「言葉が通じない違和感」を消すことだし、極限的なことを言ってしまえば、歩くことは他の足を交互に動かすこと以外の移動手段違和感があるからなのじゃないかとも思う。

水飲んで寝れば大抵治る風邪なんて身体病原菌に対する違和感を解消するための反射ともいえるんだろうけど、うつ病とかの精神疾患に明確な原因はあるのかな。”脳のイレギュラー”とか”様々な事象が原因となる”とか言われるだろうが専門外なのでわからないし、原因なんてわかったところでどうしようもない。「人間は必ず分かり合える」とかい意見に断固反対だ。他人気持ちなんて予測するか蓄積された自分経験に照合させて最適解を探すくらいしか手段はないでしょ。わかるんなら風邪引いてる俺の気持ち(しんどい)を記述してほしいし何なら風邪自体をもらってくれ。ガンダムなら完全にシャア側。品川区コロニー落とすぞ。

脱線したけど、総て「違和感を解消するために今何をすべきか」を考えすぎて行動に移すのもよくないのかもね。嫌いな人が近くにいる違和感が嫌でそいつを殺すとかは少なくとも現代社会では禁忌だし。食いたいから食うし行きたいから歩く。でもだとしたら殺人犯は何を思って殺すのかな。殺したいから殺すのかな。

他人気持ちは分からない。

風邪がつらい。

2016-12-20

再起動したMicrosoft死ね!!!

何なんだよMicrosoft

日見事に再起動したわ。

どうすんだよ録画できてねーじゃねーか。

何がProなら設定できますだよクソ。

Windows Updateの設定だけで1万円以上も出せるかボケ

まあ百歩譲って勝手再起動する事は告知もあるし良いとするよ。

強制アップデートした挙句不具合が出るってどういうことだよ。

内部でちゃんとチェックしてんのかよ。

ネット全然接続できなくなって治るまで凄いストレスだったぞ。

というかシャットダウンに種類があるなんて初めて知ったぞ。

標準が特殊シャットダウンになってるってどういうことだよ。

初回シャットダウン時に選択させろよ。

ふざけんなMicrosoft

HomeとProで価格差つけることは別に構わないよ。

ただHomeを不便にしてPro買わせようとするのほんとやめろ。

Proに付加価値を付けて買わせる様にしろ

Aeroオフにできるとかさ。

それこそプロでなければAeroオフになんかしないだろうし。

視覚効果なんかいらねーんだよ。

見た目はWindows 2000で十分なんだよ。

Windowsダサいとか言われたって別に良いだろ。

コンピューターはダサくて上等だよ。

使ってて楽しいとかそんなの良いんだよ。

一番重要なのは機能と応答速度だろ。

まじいい加減にしろMicrosoft

Windows Meユーザーを救済しなかった事もずっと覚えてるからな。


2017年流行語大賞候補

http://anond.hatelabo.jp/20161213000606

2014-01-21

発達障害ってのはPCで例えるとハードウェア不具合なわけ?? OSバグ

アスペルガーとかADHDとか広汎性なんちゃらとか、ああいうのは生まれつきで治らないっていうけど

それはハードウェアレベルおかしいということなのかな

特定能力が優れてたり劣ってたりっていうことはグラボとかサウンドとかが通常品と違ってるということなのか

それをドライバとかOSの修正プログラムとかで部分的矯正することができるということなのかね

それはそうとwindows MEって発達障害っぽかったよね

2013-09-30

ポールグラハム氏のエッセイで、プログラムのいくつかは”エッセイ”ではないかという話を読んではっとなった。

エッセイの元々の意味は「何かを理解するために書いてみる」ものだという。ソフトウェアもわからないままに書き始めたという意味で同じではないか、と。

この感覚を長らく忘れていた。

元々何かを作り始めることは好きではない。生粋クリエイターでもメイカーでもない。

手先は恐ろしく不器用だったし、作るより壊すのが得意だったからというのもある。

ブルースクリーンに陥ったWindows Meリブートするために

先生が教えてくれたalt+ctrl+delは、間違いなく最初に覚えたショートカットの一つだろう。

……蛇足だった。

理由がなければ何もしない。プログラマー怠惰な面だけ受け継いだ私は、いつまでも好奇心ばかり加速させて読めない本を読むか美味しそうと親指をしゃぶって何もしないだけのガキだ。あるいは、"試しに"やってくれと課題を言われるのをずっと待っているだけの案山子のような。

理解したいという欲求。分かりたいという欲望。あれは難しいからいいやと逃げてどれくらいになる?

常磐線でまた人身事故だ、あはは

2012-02-06

ああ、今じゃあメモリ2GBで32bit WindowsってんでもうDisられちゃうんだなあ。

おじさんの新入社員のころはWindows2000用のソフトウェアWindows MEメモリ128MBのマシンで開発しろって言われたよ。

VC6はそりゃあもう遅かったねえ。

しまいにゃHDDの基板上のチップパッケージ不良で大規模回収になって、ロットが対象のものだって発表される直前にクラッシュしたのさ。

おじさんがその会社にいたくなくなったのはそれが最初だった。バックアップ用のHDDもなければ、CVSなんて便利なものも無かったから、自腹で購入していたノートパソコンにこっそり移していなければ、ソースが全部クラッシュしていたところだったなあ。

そういやCVS使いたいって言ったらなんか知財の関係の人に申請書を出して許可を得なくちゃいけないとかで面倒くさすぎて諦めたこともあったなあ。ie以外のブラウザも禁止だったなあ。アレも禁止コレも禁止って言った割にはcode redとか感染しまくってて笑えたなあ。

2009-11-08

http://anond.hatelabo.jp/20091022013910

ちくしょう。VS2008 がやられた。

時間ほどコーディングしていると、IDEエディタ日本語入力が出来なくなる。

なんだよもう。なんだよもう。なんだよもう。

俺は Windows Me が好きだった。プログラムバグがあれば、すぐにぶっ飛んでくれるからだ。そしてバグさえ無ければうまく動いてくれた。皆が言うほど Me はドジッ娘なんかじゃなかった。繊細だっただけだ。皆が「Me がまたコケた」と言うたびに、やれやれどんだけ無茶な使い方をしてるんだ、付き合い方がなってないな、とせせら笑っていたものだ。全裸で。

ところが NT 系列はどうだ。プログラムバグがあっても、潤沢なリソース勝手バグを隠蔽しやがる。明らかにスタックあふれてんのにジッと黙ってビバノンノンしている奴の姿を、俺は何度か目撃した。GetMessage() はエラー値を返さない。ウィンドウは表示されない。ただただまったりと、たこルカマグロフィーバーを歌っているだけだ。そしてある時突然、どういうルートを辿ったのか svchost.exe がぶっ飛ぶという面白いオチがつくのだ。させ子のくせに。させ子言うな。すいません。

それはともかく、これ、再インスコしかないなあ。。。

2009-02-21

自民党と今の政府がやばい理由? 決まってるだろ

オレが支持してるからだよ。

ちょっと前までは共産党を少しかじった社会党を支持したこともありました。ですがその後二大政党とかそういう流れになっておかしくなった頃から、支持している理由がなくなって無党派に。その後、麻生太郎が就任した頃からいろいろ勘案して、民主党にはまだ政権を取らせるには時期尚早である、経済危機の最中につまらんことで政府を混乱させても意味がないという消極的な理由ではあるが、自民党支持者に。

とたんに支持率急降下。

思えばオレの人生はずっとそうだった。たとえばゲーム機一つとってもそうだ。

初めてふれたゲーム機は、ファミコンですらないゲーム機スーパーカセットビジョン」で、おまけにさわったソフトが「ベーシック入門」のサンプルプログラムの、記憶曖昧だが「pong」に似たようなゲームだったと記憶している。

その後、自分で初めて買ったゲーム機が、スーパーファミコンではなくメガドライブであった点ですでに間違っていた。なぜか?知るか。それはそのときのオレに聞いてくれ。その後、なぜかかたくなにスーパーファミコンを買わなかったオレが、なぜかサテラビューに心をひかれてスーファミに手を出したのが1995年。ただ、そのときにはすでにPSは発売されていて…。

その後遅ればせながらドラクエなどにはまり(そう、なぜかそのときまでやったことすらなかったのだ…)スーパーマリオRPGなどを通してすっかり妊娠となったオレが、次に選んだハードウエアはヴァーチャルボーイ。そしてNINTENDO 64。さらに最後期になってバイトができるようになって金ができた俺はドリームキャストに、ドラクエやりたさにPSを買い(すでにPS2の計画は明らかになってた)、その間にワンダースワンも試してる。もちろんクリスタルのほうだ。(ピピンアットマーク?それはさすがに無い。断じて自宅の押し入れなどにはない。3DOは欲しかったが金がなかった。飯野万歳)

そして今度こそ外れをひくまいとPS3を買ったがソフトがなく、XBOX360を買ってみてそれなりに満足している。ちなみにWiiは買う気はない。これはオレの些細なプライドだと思って欲しい。もはや意地だ。

ちなみに愛車はついこの間までマツダだったが、この間スバルに乗り換えた。携帯ははじめはドコモだったが、auに乗り換え、今はソフトバンクにしている。データ通信用にWillcomも使っている。

最近トラックボールを入手するのが年々難しくなっているのを嘆いているし、個人ではずっとWindows MEパソコンを使っていたが、WIndows Vista搭載機一斉発売の時にVista Home Basic搭載パソコンに乗り換えた。ちなみにガンダムよりザクや特にドムが大好きである。一番好きなガンダムガンダムXだが、劇場版Zガンダムにはまって揺らいでいる。

そんなオレが自民党支持者だ。特に政策を比べると、積極的によくわないが、少なくとも今この時期をうまく乗り越えるためには、自民党を支持して、少なくともその大枠だけでも維持する方向にしないと、日本は持たないのではないかと考えるようになった。

従って、自民党は滅びる。なぜならオレが支持しているからだ。

2008-02-27

Joel On Software私訳

訳してみた。あらためて、和訳はものすごく時間を要する作業だということがわかった。もうしないと思う。

注意:以下は意訳、適当訳、稚拙訳であり、誤訳を多々含んでいることは確実であり、Joel氏が本当に以下のように述べているとは限りません。

なぜMicrosoft Officeファイルフォーマットはこんなにもややこしいのか (そしてその対処法を幾つか)

Tuesday, February 19, 2008

先週、MicrosoftOfficeバイナリフォーマットを公開したが、このフォーマットは殆ど正気でないように見える。Excel 97-2003ファイルフォーマットは349ページのPDFファイルだ。でも待って、それで全部じゃない。このドキュメントには次の面白いコメントが書いてある。

それぞれのExcelワークブックは1つのcompound fileに収められている

つまり、Excel 97-2003ファイルはOLE coumpound documentで、それは結局、1つのファイル内にあるファイルシステムである。これは、理解するのにあと9ページはスペックを読まなくちゃならないぐらいには十分に複雑だ。そしてこれらの「スペック」は、普通我々が考えるようなスペックというよりは、Cデータ構造みたいに見える。これ全体が階層的ファイルシステムなのだ。

もしあなたが週末を、Wordドキュメントブログインポートしたり、あなたの個人的な財務データからExcelフォーマットスプレッドシートを生成するような気の利いたコードを書くのに使おうと思ってこれらのドキュメントを読み始めたなら、このスペックのややこしさと長さがそんな気をあっという間に失せさせるだろう。普通プログラマはこのOfficeバイナリファイルフォーマットについて次のような結論を下す:

この4つ全てについて、きみは間違っている。ちょっとだけ掘り下げて、これらのファイルフォーマットがどうしてこんなに信じがたいくらいに複雑なのか、なぜMicrosoftの悪いプログラミングを反映しているのではないのか、そしてそれを回避するためにあなたに何ができるか、を明らかにしよう。

理解すべき最初のことは、これらのバイナリファイルフォーマットはちょっと違ったデザインゴールを持って設計されたということだ。たとえばHTMLとは。

これらはすごく古いコンピュータで速く処理できるようにデザインされた。Excel for Windowsの初期のバージョンでは、1MBのRAM、20MHz動作の80386が Excelを快適に走らせることができるための妥当なものだった。このファイルフォーマット内には、ファイルを素早く開いたり閉じたりするための最適化が沢山仕込まれている:

これはライブラリを使うことを想定して設計されている。もしあなたがバイナリインポートするものを1から書き上げたいと思ったら、Windows Metafile Format (何か図を描く場合) や OLE Counpound Storage みたいなものをサポートしなくてはいけなくなる。もしあなたが Windows上でやるのなら、そうしたことをたいしたことのない作業にするためのライブラリサポート存在する... そういったフィーチャーを使うことは(元々)マイクロソフトチームのためのショートカットだった。でもあなたが全部を自分でスクラッチから書くなら、全部の作業を自分自身でやらなくてはいけない。

オフィスはcompound documentsに対して広範囲のサポートを持っている。例えば、スプレッドシートWord文書に埋め込んだりできる。完璧Wordファイルフォーマットのparserは、同じように、埋め込まれたスプレッドシートで何かインテリジェントなことが出来るべきだろう。

それは相互協調性(interoperability)を意識してデザインされてはいない。仮定されていたのは、WordファイルフォーマットWordからのみ読み書きされなくてはいけない、ということで、それは当時においては十分に合理的なものだった。これは、Wordチームのプログラマファイルフォーマットをどう変更するかについて決定を行う場合にはいつでも、彼らが気にするのは (a)何が高速か (b)Wordコードベースにおいて最小の行数になるのは何か、だったことを意味する。SGMLHTML-interchangeableといった標準ファイルフォーマットのようなアイデアは、最初にインターネットドキュメントの相互交換を実現するまで現実のものにはならなかった。それはOfficeバイナリフォーマットが最初に考案されてから10年後のことだったのだ。ドキュメントを交換するのにインポーターエクスポーターを使うことができるという仮定が常にあった。実際Wordは簡便な交換のために設計されたRTFと呼ばれるフォーマットを持っており、そのフォーマットは殆ど最初のころからあり、今も100%サポートされている。

それはアプリケーションの全ての複雑さを反映していなくてはいけない。 全部のチェックボックス、全部のフォーマッティングオプション、そして全部の、Microsoft Officeのフィーチャーは、ファイルフォーマットのどこかで叙述されていなくてはいけない。Wordパラグラフメニューにある、"Keep With Next" と呼ばれるチェックボックス、これはパラグラフを、その後ろのパラグラフと同じページに置くのに必要な場合は、次のページに移動させるもの(?)だが、これもファイルフォーマットの中に無くてはいけない。そしてこれはつまり、あなたがWordドキュメントを正しく読み込める完璧Wordクローンを実装したいなら、そういったフィーチャーを実装しなくてはいけないということだ。Wordドキュメントをロードする競争力のあるワードプロセッサを作っているのなら、ファイルフォーマットからそのビットをロードするコードを書くのには1分しかかからないかもしれないが、ページのレイアウトアルゴリズムをそれに対応させるのに何週間もかかるかもしれない。もしあなたがそうしない場合、カスタマーがあなたのクローンWordファイルを読み込んだら、全部のページがぐちゃぐちゃになってしまうだろう。

それはアプリケーション歴史を反映していなくてはいけない。 このファイルフォーマットに見られる多くの複雑さは、古く、複雑で、愛されず、めったに使われないフィーチャーを反映している。それらはファイルフォーマットのなかに後方互換性のためにまだあり、そしてMicrosoftにとってその辺りのコードを残しておくことには何らコストはかからない。しかしあなたがこれらのファイルフォーマットをparseおよびwriteする一貫した完全な仕事をしたいと思うなら、Microsoftインターンが15年前にやったのと同じことを全て、またやらなくてはいけない。要点は、何千人年の仕事が今のWordExcelには費やされてきたのであり、これらのアプリケーション完璧クローンを作りたいと本当に欲するなら、あなたは何千人年を費やさなくてはならないことになる、ということだ。ファイルフォーマットは単に、アプリケーションサポートする全てのフィーチャーの簡潔なサマリーなのだ。

手始めに、小さな例を一つ、深く見てみよう。Excelのワークシートは色々なタイプのBIFFレコードの集まったものだ。私はスペックの一番最初のBIFFを見てみたい。1904と呼ばれるレコードだ。

Excelファイルフォーマット仕様のこのレコードについての記述は非常に曖昧なものだ。そこでは単に、1904レコードが「1904日付システムが使われているかどうか」を示すレコードだ、と述べているだけだ。ああ、使えない仕様書の典型的な一例だ。あなたがExcelファイルフォーマットで何かしている開発者で、そしてファイルフォーマット仕様にこう書いてあるのを見つけたなら、あなたがMiocrosoftは何かを隠しているのだと結論付けたとしても無理はない。この情報の断片は十分な情報をあなたに与えはしない。あなたには幾ばくか外部の情報が必要で、私は今ここで、それを提供しよう。Excelワークシートには、2種類ある。日付のエポックが1900/1/1のもの(これには、Lotus 1-2-3 との互換性のために故意に入れられた閏年に関するバグがあるが、ここでそれについて述べるのは退屈すぎる)、および、1904/1/1のものだ。Excelは両方をサポートしているが、それはExcelの最初のバージョンMac版であり、それは単に簡単だったという理由でOSエポックを使っていて、しかしWindows版のExcel1-2-3ファイルインポートできなくてはならず、そしてそれは1900/1/1をエポックとして採用していたからだ。あなたが涙ぐむのも無理はない。歴史のどの時点においても、プログラマが正しいことをしなかった、という時はないのだが、しかし現実にあなたが手にしているものはこれなのだ。

1900と1904のファイルタイプは両方とも世の中には広く存在しており、それは通常、ファイルWindowsMacのどちらで作られたかによる。一方のタイプから他方のタイプへ黙って変換するのはIntegrity的に問題があるので、Excelファイルタイプを変換することをしない。Excelファイルをparseするためには、あなたは両方を扱わなくてはならない。それはファイルからこのbitをロードするだけの問題ではなく、あなたが日付表示と両方のエポックを扱うparsingのコードまで書き直さなくてはいけないということを意味する。実装には何日かかかるだろうと私は思う。

実際、あなたがExcelクローンの作業をするなら、日付の扱いについて、あらゆる種類の微妙ディティール発見することになるだろう。Excelは日付の値をいつ変換するのか? 表示の整形はどうやっているのか? なぜ1/31は今年の January 31と翻訳され、また一方で1/50はJanuary 1st, 1950と翻訳されるのか? Excelソースコードと同じだけの量のドキュメントを書かないがぎり、振る舞いに関しての微妙ビットを全て完全に記述することはできない。

そしてこのレコードは、あなたが扱う何百もあるBIFFレコードの最初の1つに過ぎず、しかももっとも単純なものなのだ。他のレコードの殆どは、より多くのプログラマーを涙に暮れさせるぐらいには十分複雑だ。

唯一導き得る結論はこれだ。

MicrosoftMicrosoftOfficeファイルフォーマットリリースしたことは大変有用なことだが、しかしそれでOfficeファイルフォーマットインポートしたり保存したりするのが楽になるということは全く無さそうだ。それらは狂気じみて複雑で、リッチアプリケーションで、そしてあなたは人気のある20%の部分を実装して80%の人々を幸せにするというくらいのことしかできない。バイナリファイル仕様によってなされるのは、多く見積もっても、著しく複雑なシステムリバースエンジニアリングにかかる時間を何分か削減するくらいだろう。

オーケー, 私はいくつか回避法を教えると約束した。良いニュースは、殆どの良く知られたアプリケーションにとって、Officeバイナリファイルフォーマットを読み書きしようと試みることは誤った決定だということだ。あなたが真剣に考えなくてはいけない代案が2つある。Officeそのものにそれをやらせるか、書き込むのが簡単なファイルフォーマットを使うかだ。

ヘビーな仕事Officeにやらせよう。WordExcelは実に完全なオブジェクトモデルを持っており、COMオートメーションの手段が可能で、これであなたは何でもプログラムでやるようにできる。多くのシチュエーションでは、Office内のコードを再利用するほうがそれを実装しようとするよりも良い。ここにいくつか例がある。

  1. Webベースアプリケーションがあって、それが既存のWordファイルPDFフォーマットに出力するようにする必要がある場合、それを実装するにはこうする: ファイルを読み込んでからWord 2007のビルトインのPDFエクスポーターを使ってそれをPDFとして保存する、数行のWord VBAコードだ。あなたはこのコードIISで動作しているASPASP.NETコードから直接呼び出す。これでうまくいく。最初にWordを立ち上げるときは数秒かかる。2回目はCOMサブシステムによりWordはまたあなたがそれを必要としたときのためにメモリ中にキープされている。それは通常のWebベースアプリケーションにとっては十分に速い。
  2. 上と同じ。ただしあなたのWebホスティング環境Linuxだった場合。フルライセンスWordインストールされたWindows 2003サーバを買う。そしてその仕事をする小さなWebサービスを構築する。C#ASP.NETでの半日の作業だ。
  3. 上と同じ、ただしあなたがよりスケールさせたいと望む場合。ステップ2で構築した全部のボックスの前にロードバランサーを置きなさい。コードは必要ない。

この手のアプローチは、全ての種類の一般的なOfficeタイプについての、サーバ上であなたがやりたいと思うであろうアプリケーションで、うまくいくだろう。例えば:

これらのケースの全てにおいて、Officeオブジェクトインタラクティブ動作でないことを教えてやる方法があり、だから表示をアップデートするのに煩わされたり、ユーザ入力を促す必要はない。ところで、このようなやりかたでいく場合には、gotchas(?)がいくつかあり、そしてそれはMicrosoftは公式にサポートしているものではない。だからあなたがそれを始める前にはKnowledge baseの記事を読むように。

書き込むファイルにはもっとシンプルフォーマットを使いなさい。単にOfficeドキュメントプログラムで生成したいなら、殆どいつでもOfficeバイナリフォーマットよりももっと良いフォーマットWordExcelでも問題なく開くことができるようなフォーマット存在する。

いずれにせよ、全てのOfficeファイルを完全に読み書きできるような、文字通りのOffice競合製品を作ろうとする(その場合には、何千年もの作業があなたに予約される) のでない限り、Officeバイナリフォーマットの読み書きをするというのは、何であれあなたが解決しようとしている問題を解決するためのもっとも労働集約的な方法だ。

2008-01-23

VistaWindows Meの再来かと思える瞬間

せいぜい10個くらいしか窓を開いてないのに、特に警告も無くそれ以上新窓やコンテキストメニューが開けなくなるのって、DWMがメモリシステムリソース馬鹿食いしてるからという理解でいいのかね。Ctrl+Shift+Escすら利かなくて少しだけ焦った。

2007-10-19

初音ミクを本当の「アイドル」だと誤認してるオタクがいるはずないじゃん。

増田だから建前もオタクの仁義も何もなく言っちゃうけど。まぁ多少はいるかもしれんが、おおかたはネタですよネタ。昔のギークPCやらワークステーション女の子の名前をつけて崇拝してた、とかと同じレベルの。ズリネタなんて、特に同人誌の特に擬人化なんて、ガワは言い訳ですよ。「お。イイ洒落っ気してるね。その洒落っ気がわかる粋なおれはこのエロ本を読む資格がある!」的な。N700系新幹線やらザクII MS-06やらWindows Meやらをベタに犯したくてたまらねぇ!なんてやつはそうそういないですよ。常考

むしろこの程度のことを誤認してしまうあなたの大谷脳具合が心配です。

http://anond.hatelabo.jp/20071019213250

 
ログイン ユーザー登録
ようこそ ゲスト さん