「CPU」を含む日記 RSS

はてなキーワード: CPUとは

2013-05-09

http://www.nikkei.com/article/DGXNASGG08015_Y3A500C1EA1000/

新たなアーキテクチャーを創設するくらいならオープンソース分散並列(OpenMP-MPI)のハイブリッド(CPU-GPU)数値処理ソフトウェア開発に力を入れたほうがいい。

少なくともオープンソースで動くOpenMP-MPI CPU-GPUの基本的な数値計算ソフト(特に行列計算)は世界最先端研究内容。こういったソフトを毎回アーキテクチャーごとに作るのは金の無駄だし、x86-x64環境で動くようにすればいい。

現状の数値シミュレーションなんてKrylov methodなどの行列処理が主な作業なんだから、それを汎用アーキテクチャで使えるようにしたほうがいい。CPU-GPUOpenMP-MPIで動く行列処理のソフトがあればそれが汎用の処理として使えるんだからくそみたいにコンパイルがめんどくさいアーキテクチャを作るくらいなら、汎用で使えるオープンソースソフトを作れよ。



そんなコードがTrilinosなんだけどね。

2013-05-05

2018年 コンピュータ将棋の現状

やあ2013年人達

私は2018年、つまり貴方達の生きる時代の5年後からタイムスリップしてきた将棋オタク増田です。

2018年コンピュータ将棋界はどうなっているか、そして人間が指す将棋世界はどう変わったのかを一足先に体験した身として書いておきたい。

GPU

2013年頃の最強ソフト一角GPS将棋東大クラスタを使ってCPUを並列にしていたけど、2018年ではCPU計算用途に使うソフトはだいぶ少なくなって、今ではGPUを使う事が当たり前になっている。これによって計算できる量は飛躍的に伸びて、2018年の最強ソフトGPS将棋の330倍の量を計算できるようになったんだ。

開発の主体は大学

東大チームのGPS将棋に触発されて全国の大学将棋ソフトの開発に乗り出し、今や個人の開発者ほとんど日の目を浴びなくなっちゃった大学が持つ計算リソースを贅沢に使えるチームに個人開発者が勝てるわけがないのは当然だ。東大は開発からは手を引いてしまったので、今は東工大東京理科大中央大学が3強だ。関東理系に強い大学がたくさん参戦して学生を集める宣伝としてもコンピュータ将棋が使われるようになっている。箱根駅伝みたいな感じ。

Google

Google世界コンピュータ将棋選手権に出場した2016年の事も書いておかなきゃね。その前年にそれまで個人が細々とやってきたあの3.1415.....の円周率桁数計算に進出してギネス記録を40000倍も更新して世界中から大人げない奴と白い目で見られたあの黒船Googleが何と将棋に興味を持っちゃったんだ。Googleが保有するクラスタのうち50000台を使っての勝負。「勝てるわけがない」「もし欧米企業に負ければ日本文化の敗北だ」ってマスコミは大いにかき立てたんだけど結果はなんと地元日本の代表、将棋に特化した100台ほどのGPUクラスタの勝利だったんだ。CPUという汎用計算リソースだけでは特化クラスタに勝てなくなってしまったという情報工学的にも大変興味深い一戦だった。

中国

その翌年2017年にはアジア代表として中国人民解放軍が参戦して来てこれまた大いに盛り上がった。人民解放軍はなんと一般庶民のコンピュータスマホを全て総動員、27億台のクラスタで勝負を挑んできたんだ。これにはたまげたね。「今後こそ勝てるわけがない」「もし負ければ技術立国日本の敗北だ」ってマスコミは大いにかき立てたんだけど、劣勢を跳ね返して終盤に奇跡の逆転勝ちを収めたのは何と日本代表だったんだ。終盤に日本が取られても取られても「6四 歩」を打ちまくったのが天安門事件(1989.6.4 一般民衆の蜂起)を連想させて共産党謹製プログラムが一部クラッシュしたのが勝因とされている。心を持たないはずのプログラムなのに、結局は書いた人の何らかの思想がそこに反映されちゃうっていう情報工学的に興味深い一戦だったね。

人は機械から何も学べない 人は人から学ぶ

プロ奨励会(プロの育成機関)の子らも、これだけ強くなったコンピュータ将棋を教師とはしていない。いまだに人から学んでいる。なぜなら、確かにコンピュータは強いけれど、その「理由」を説明できないからだ。

トッププロのような未知の領域に挑まなければいけない人にとってはコンピュータの指す異次元の手から少しは学ぶ事が可能だ。でも、特に奨励会の子らは一手ごとにその理由を解釈しながら強くなる段階だ。だからコンピュータ相手にいくら指しても上達しないし、棋符を見ても何も学べない。どんな世界でも、理由を解釈しなければ人は成長しないっていう良い例なんじゃないかと僕は思っている。

これはコンピュータ人間よりも遥かに強くなってしまった将棋世界から我々が学んだ最も大きな教訓なのかもしれない。コンピュータには物事の理由を説明できない。彼らがやっているのはただの計算なんだ。何の理解も解釈もしていない。ただ計算しているだけなんだ。2018年ソフトの主流手法はDeepLearningと呼ばれる人の脳のニューロン模倣した機械学習なんだけど、これはもう中で何をやってるのか作ったエンジニアですらもわからないブラックボックスだ。何をやってるのかわからないけど、強い。強いのは間違いないし誰も勝てない。でも彼(ソフト)は教師にはなれない。そこから何も生まれない。ただ彼自身が強いだけ。それだけなんだ。それにいったい全体、何の意味があるのだ?優秀な人間は優秀な人間を生み出す。そうやって人類は繁栄してきた。他の生き物だってそうだ。でも機械はそれ自体から何も次に繋げないんだ。

ああ、そろそろ帰らなきゃ2018年に。言いたい事は全て書いたよ。とにかく何が言いたいかって、やっぱり将棋は最高だってことなんだ。ハッシーのお陰で今は渋谷女子高生の間でも将棋が大ブームだから、僕みたいなオタクな風貌での将棋が強ければチョベリグな思いができるってわけさ☆まだルールぐらいしか覚えてないって言う人は今からでも遅く無いよ。

そんじゃーね

2013-05-01

もしも、あの会社将棋ソフトゲームを作ったら

google

最初は物凄く弱いけど、機械学習クロールによりあちこちから棋譜と定跡を吸収。あっという間にプロを超える棋力になるも、棋譜著作権めぐり将棋連盟と訴訟合戦に。

マイクロソフト

普通に強いけど操作性が悪くバージョンアップのたびに悪くなっていく。更にある局面になるとセキュリィティホールが開き個人情報流出する。

Apple

あなた将棋ライフのすべてが新しくなります、そうiShogiならね」とぶち上げるも、意外と普通の棋力。

Facebook

棋風や棋力からもしかして◯◯はあなた友達ではないですか?」と対戦相手を薦めてくる。

ソフトバンク

月額課金サービスだが自動更新の上に退会できずに社会問題化。消費者庁に注意勧告を受ける。

DeNA

戦法や棋士トレーディングカードが勝つたびに貰えるオンラインゲームを開発するも、一部のレアカードは高い課金をしないと手に入らないため社会問題化。更にゲーム自体が他社のパクリ将棋ウ○ーズ)のため訴訟合戦に。

はてな

非常に貧弱な棋力な上にCPUが行き場のない駒を打つ、王手放置など致命的なバグを抱えているにもかかわらず自信満々に有料サービスとしてローンチして炎上バグのたびに犬が現れる。バグ報告や機能改善などの要望がたくさん上がるも、それを無視して駒や盤のデザインを変えるなどして更に炎上

楽天

非常に貧弱な棋力な上に対局中にやたら広告が出る、おまけに対局しようとするとなぜか玉一枚しか無いという致命的なバグを抱えているにもかかわらず有料サービスとしてローンチして炎上。低い評価のレビューを消した上に社長が「文句を言っているのは一部の利用者だけ」と発言し更に炎上

DMM

勝つごとに美少女が脱いでいく脱衣将棋最初は弱く簡単に脱ぐが、最後の一枚になると突然強くなりなかなか脱げなくなる。対局ごとに課金のため、気がついたら相当の金額をつぎ込むことに。

LINE

将棋対戦ソフトのはずが何故かチャットや音声通話のほうがメインに。売春美人局巣窟になる。

2013-04-21

第1夜 ポップンミュージック

俺は疲れていた。

二転三転したお店の選定、花束の準備、あいつの根回し。会場は人気店で、乾杯ビールが少し遅れた。遅れて参加した古参は、「こんなことならボクの推薦したお店にすればよかったのに」と、同じセリフをのべ三度申し述べ、その度に会場の空気を底冷えさせた。俺は笑顔をほほに貼り付け応対し、ビールジョッキを五杯空けた。ビールは嫌いだ。

やたらクラッシュする俺らの成果物。うだつの上がらぬ俺の評価。「3-」と書いた俺の自己評価シートを指差し、「マイナス3の間違いか?」と、上司ゲラゲラ笑っていた。気の利いたジョークのつもりか。

鬱屈した思いでつり革を握っていると、ピロンと携帯が震えた。

「営業のノジマです。ASAP明日の朝までにお願いし」俺はメールを読むことを放棄し、電源ボタンを長押しする。ネクタイを外した。

俺は疲れていた。

予定の降車駅の手前で降りた。まだ終電には間がある。少しだけ新鮮な空気が吸いたかった。よれたスーツで街を歩き出す。

「どうですか帰りに一杯?」・・・うるさい。

「オニーサン、マッサージィ?」・・・うるさい。

「さっ、キャバクラのご利用は?」・・・うるさい。俺の気は晴れない。俺の居場所この街にも無いのか。

ふと、ゲームセンターの前を通りがかり、気まぐれに自動ドアをくぐる。一時避難だ。

何年ぶりだろうか、ゲーセン

高校時代は、ストII予備校に通っていた時分は、バーチャファイター鉄拳。1フレーム単位の読み合い、思惑のやり取り、日々、開発される新しいテクニック。一度も話したことはない、「馴染み」の対戦相手の客たち。当時のオレはゲーセンには「何か」があるように感じられた。

就職した頃、馴染みだったゲーセンの前を通りがかると、「プリクラ屋」に変貌していた。UFOキャッチャープリクラの前にあふれる笑顔、優しさ。彼氏彼女。明るい店内。かつて「ギャラクシアン^3」が稼働していたこともある一階は、屈託のない笑顔に塗りつぶされていた。オレはゲーセンに行かなくなった。どのみち、時間もない。ゲーメストバックナンバーを処分し、俺はいしか社会人」になっていった。

このゲーセンは「プリクラ屋」ではないようだが、あの日の空気とはやはり少し違うもので満たされている。しかし、「行くあてどない、どこか弛緩した匂い」を感じとることはできた。「イラシャイマセ」ぎこちなく声をかける店員に反射的に笑顔を返す。まずは店内を一望してみるとしよう。

何やらロボットものの大型筐体の前を通りがかる。少し興味をそそられるが、こういうものをやり込む根気が俺にはもう無い。

レトロゲーム100種類が遊べます!」・・・いまさらパックマンペンゴでもあるまい。俺に懐古趣味はない。

鉄拳シリーズの筐体の前で足を止める。少し懐かしい気がした。だが、俺の知っている「鉄拳」とはすでに大きく異る別物のように思えた。「鉄拳」のインストラクションカードを眺めていると、学生風の二人連れがコインを入れ、CPU翻弄し始めた。

ぼーっとその鮮やかな手際を眺める。俺が彼に追いつくにはいくら必要だろうか?楽観的にみて、一週間の事前研究と、数ヶ月間に30,000円ほどの資本投入というところか。俺はそれほどゲームが上手いほうではないから、どうにか勝負らしくなるにはそんなところだろう。

しかし、仮に勝負になったとして、その先にあるものは何だろう。さらなる研究と、技の正確さの向上、日々開発される新しいテクニック。俺にとって新しい体験は無いように感じられた。しばらく画面を眺め、その場を立ち去った。

気がつくとまた入り口付近に来ていた。「音ゲー」と呼ばれているものが固まっている一帯らしい。デイパックの太っちょが目にもとまらぬ勢いで両腕を繰り出し、画面中に降り注ぐバーを消している。俺はギャラリーの間に割り込んでしまったらしく、少しいたたまれぬ思いで脇によける。

しばらくギャラリーの後ろに佇んでいた。ふと、振り向くとそれはあった。ポップンミュージック。誰も気に留めている様子はない。こういうのが俺向きかもしれない。俺は「音ゲー」をやったことが無いが、気まぐれに、コインを投入した。

オッケーイ♪」不思議世界が展開しはじめた。ちょっと毒の効いたデザインキャラクターが画面を飛び跳ねる。明らかに若者向けのキャラクターたち。今の俺は擦り切れたようなオッサンだが、不思議と、彼らに受け入れられたような気持ちがした。

キャラを選択する。「オッケーイ♪」なんだか、少し楽しくなってきた。一曲目が始まる。どうもボタン対応がうまくいかず、隣のボタンを叩いてしまう。タイミングも合わない。バッシバッシとボタンを強打していているうちに終わった。

まりスコアも良くないが、二曲目が選択できるようだ。どういうルールかまだ把握していないが、命拾いしたらしい。続いて二曲目を選択する。

やはりボタンを強打してしまう。これは良くない兆候だ。手前の緑、赤、緑を意識に入れ、ほかを「例外」として扱うようにイメージを切り替える。少し押し間違いが減った。余裕が生まれたせいかタッチも少し柔らかくなる。まだタイミングがあわず目押しのコツを探っているうちに終わる。やはりスコアはあまり良くないが、不思議と楽しくなってきた。

そうこうしているうちにゲームが終わる。続けざまに2コイン目を入れる。「オッケーイ♪」俺たち、もうフレだよね。そんな感じ。また少し、心が軽くなってきた。

2クレジット目はあまり上達を気にせずに、好きにボタンを叩いてみる。女々しくて女々しくてー、少年よ神話になーれ、つーけまつーけまつけまつげ。そういえばカラオケも何年も行ってなかったな。

3コイン目は入れず、店を後にした。深呼吸し、空を仰ぐ。まだ終電には間がある。一駅だけ歩いてみることにした。

ポップンミュージック、いいじゃないか

たまにはこういうのもいいもんだ。

スーツを肩にかけ、歩き出した。

2013-04-20

今日笑ったレス

http://engawa.2ch.net/test/read.cgi/poverty/1366445969/

688 名前番組の途中ですがアフィサイトへの転載は禁止です[] 投稿日:2013/04/20(土) 19:54:32.28 ID:gI5sp80g0 [4/4]

プロコンピューターに負ける世界って将棋だけなんじゃないの?

699 名前番組の途中ですがアフィサイトへの転載は禁止です[] 投稿日:2013/04/20(土) 19:56:48.05 ID:ppjubaZU0 [3/10]

≫688

麻雀も負けるぞ

強いCPUだとしょっちゅう天和地和出すから

2013-03-26

http://anond.hatelabo.jp/20130326031038

いろいろと勘違いしてる推論が多いんだよなあ。

iPhone4Sまで売れに売れていたというのが本当なのであれば、購入者は基本2年縛りをしているわけでよほどの魅力がない限り5を見送るのは至極当然の話でしょう。

4Sほど売れないというのは4Sで購買層には行き渡っただけの話です。

4⇛4SSoftbankに加えauキャリアとして加わっているのですから4Sである程度のピークに達していると考えるのは妥当でしょう。

iPhoneハードウェアスペック最近Android端末に凌駕されているかのような誤認をしていますが、さすがにそれは端末を売ってる側としては無知識すぎでは?

iPhone4ハードウェアスペックは同世代スマートフォンと大差ないですし、iPhone4Sくらいの時期には同世代スマートフォンはすでに720pディスプレイに移行しつつありました。

iPhoneハードとしては基本的に一年程度は遅く、最近になって半年遅れ程度に追いついてきてるくらいの認識妥当でしょう。

ディスプレイCPU,メモリカメラ、といったものは他の端末と比較して最新にはいませんよ。要するにハードウェアスペックiPhoneを買うという前提自体が大間違いです。

2013-03-23

MacBookAir(2011)の修理を出したら2010になって帰ってきた話

うっかりMacBookAir(2011)を開いた状態で床に落とし、液晶を割ってしまって修理に出した話。

とある修理店に出して、液晶が修理されて無事に帰ってきた。なんだかピカピカになってて、まるで別のMBAみたいで「すごい磨いてくれたんだなぁ」と思った。

電源を入れると、以前の自分Macの中身でひと安心。しばらくMBAで作業。

ふと、あまりにピカピカな本体に違和感を感じ、なんとなく本体裏底にあるシリアルを見た。なんと2010のMBA刻印されてある。

「このMACについて」からSSDストレージを確認した。256GBだったはずが128GBになってた。えっ、と思って「本体裏のシリアル番号が変わってる」と修理屋に問い合わせたら、「裏底のボードを他の機体と付け間違えたので交換します」との返答。

MAC初心者PCに強くないので誰か教えてほしいのですが、これってどういうことなんでしょう。。

自分の本体の中身がコピーされて他のMBAに乗ることって可能?

裏のボードだけつけ間違えるってありえる?(2010と2011で合うのかどうか)

ちなみに、

・「このMACについて」の情報から見る限り、中身のシリアルは以前のまま。メモリCPUは変化なし。アップルマークあたりについていた傷がなくなってる(別のものになっているっぽい)、VMWAREたちあげて動画見るだけで異音(以前は無かった)などなど。。

誰か詳しい方ヒントを。。。

プロテクト強化後のもふったーも予想以上に酷かった件(追記あり)

ことのあらまし
  1. Twitterクライアントもふったーの作者「TweetDeckのconsumer secret簡単に抜ける、終わってる」(http://blog.livedoor.jp/blackwingcat/archives/1760823.html)
  2. 別の誰か「もふったーのconsumer secretも簡単に抜ける」(http://d.hatena.ne.jp/kusano_k/20130318/1363640368)
  3. もふったーの作者「プロテクト強化した」(http://blog.livedoor.jp/blackwingcat/archives/1762970.html)

プロテクトかけたアルゴリズムを実装したバージョン差し替え」たなんて言われると本当に「プロテクト」がかかっているのか確かめてみたくなるのが人情というもの。というわけで、プロテクト強化後のもふったー(v0.9.6b)からconsumer secretが抜けるか試してみた。結論から言うと、あっけなく取り出せた。以下に手順を記す。

手順

動作がよくわかっていないアプリケーションを解析して仕様を明らかにすることをリバースエンジニアリングと呼ぶ。ソフトウェアリバースエンジニアリングは基本的に対象を逆アセンブルしてひたすら読むことによって行う(その補助に1命令ずつ実行してレジスターやメモリーの様子を観察することもある)。しかし、よっぽど小規模なものでなければオブジェクトコード全体を逆アセンブルして最初から最後まで読むなんてのは不可能だ。人間の読速度には限界があるし、時間も有限だからだ。そして、詳しい動作を知りたい部分というのは全体のごく一部であることが多いので全逆アセンブリを読むのには非常に無駄が多い。

からリバースエンジニアリングはいかに詳らかにすべき動作を行っているコードを絞り込むか(=読むべき逆アセンブリを少なくするか)が重要になる。

この場合も同様だ。TwitterGUIクライアントを頭から読むのは到底無理なので、どうやって解析すべきコードの範囲を狭めるかを考えた。それにはOAuth認証においてconsumer secretがどのような役割を果たすのかを知る必要がある。

OAuth認証で、consumer secretはそのままサーバーに送信されたりはしない。signatureの生成にHMAC-SHA1が使われ、その鍵にconsumer secretが使われる。HMACは次のように算出される。

HMAC (K,m) = H ((K ⊕ opad) ∥ H ((K ⊕ ipad) ∥ m))

ここで

である

まずはこのあたりから攻めようと思った。SHA-1計算はいくつか特徴的な定数が使われるので、そこからSHA-1計算に使われているであろう関数444190を特定する。この関数エントリーポイントに中断点(ブレークポイント)を設定してOAuth認証をさせるべくもふったーの「ブラウザ認証ボタンを押す。狙い通り中断するので関数を抜けるまで実行する。関数401100の4012DAに出た。少し下を見るとこのようになっている。

CPU Disasm
Address   Hex dump          Command                                      Comments
00401311  |.  33F6          xor     esi, esi
00401313  |   8D8C24 A40000 /lea     ecx, [local.54]
0040131A  |.  394C24 14     |cmp     dword ptr ss:[local.90], ecx
0040131E  |.  75 0E         |jne     short 0040132E
00401320  |.  3BF5          |cmp     esi, ebp
00401322  |.  73 29         |jae     short 0040134D
00401324  |.  0FB68434 A400 |movzx   eax, byte ptr ss:[esi+esp+0A4]
0040132C  |.  EB 21         |jmp     short 0040134F
0040132E  |   3BF5          |cmp     esi, ebp
00401330  |.  73 1B         |jae     short 0040134D
00401332  |.  8B5424 18     |mov     edx, dword ptr ss:[local.89]
00401336  |.  52            |push    edx                                 ; /Arg1 =  [LOCAL.89]
00401337  |.  8D8C24 FC0000 |lea     ecx, [local.33]                     ; |
0040133E  |.  8BD6          |mov     edx, esi                            ; |
00401340  |.  E8 CB4D0000   |call    00406110                            ; \mofooter.00406110
00401345  |.  83C4 04       |add     esp, 4
00401348  |.  0FB6C0        |movzx   eax, al
0040134B  |.  EB 02         |jmp     short 0040134F
0040134D  |   33C0          |xor     eax, eax
0040134F  |   34 5C         |xor     al, 5C
00401351  |.  888434 B80000 |mov     byte ptr ss:[esi+esp+0B8], al
00401358  |.  83C6 01       |add     esi, 1
0040135B  |.  83FE 40       |cmp     esi, 40
0040135E  |.^ 72 B3         \jb      short 00401313
00401360  |.  895C24 3C     mov     dword ptr ss:[local.80], ebx
0040134F  |   34 5C         |xor     al, 5C

が注意を引く。もしかしてこれはopadとのxorではないか?

00401351  |.  888434 B80000 |mov     byte ptr ss:[esi+esp+0B8], al

xorした結果を格納している。

先ほどの中断点は無効化しこのループを抜けた地点である401360まで飛ばす。この時点でesp+0B8を見ると次のようになっている。

Hex dump
64 2E 16 64|37 04 32 6D|0F 0D 26 29|3A 37 1F 2F|
18 69 6E 6E|0D 25 29 33|11 34 29 69|12 36 24 1E|
05 16 33 6A|04 3B 0E 68|7A 5C 5C 5C|5C 5C 5C 5C|
5C 5C 5C 5C|5C 5C 5C 5C|5C 5C 5C 5C|5C 5C 5C 5C|

あとはこれと5Cとをxorすればconsumer secretが手に入る。終わり。

追伸

はてな増田スーパーpre記法で半角の<>が含まれていると投稿が出来ないのを早く直してください。

3/23 18:45追記

もふったーの作者から反応があった。「本気だったつもりのもふったーのデバッグ処理が残ってた」らしい(http://blog.livedoor.jp/blackwingcat/archives/1763951.html)。修正したとのことなので最新版(v0.9.6e)を見てみた。確かに若干変更されているが何の問題もない。SHA-1の呼び出しに中断点を設置して渡されているバイト列を見るだけ。

CPU Disasm
Address   Hex dump          Command                                  Comments
00401324  |.  8D4424 20     |lea     eax, [local.102]
00401328  |.  50            |push    eax                             ; /Arg1 = 
00401329  |.  E8 623A0400   |call    00444D90                        ; \mofooter.00444D90

ここでeaxが指すメモリーを見ると以下のようになっている。

01 23 45 67|89 AB CD EF|FE DC BA 98|76 54 32 10|
F0 E1 D2 C3|00 02 00 00|00 00 00 00|40 00 00 00|
40 4F 73 53|62 54 5C 7E|59 57 53 42|55 45 7A 57|
61 47 7A 5B|42 4F 7B 61|5D 66 5E 7A|42 7F 40 63|
79 66 05 55|79 4C 60 42|02 10 36 36|36 36 36 36|
36 36 36 36|36 36 36 36|36 36 36 36|36 36 36 36|

先頭32バイトゴミ無視して0x36とxorすればconsumer secretが得られる。

2013-03-13

サーバ初心者Webサービスを公開するうえで考えたこと

だって自作Webサービス公開しました

http://www.radiosonde.net/

これまで他の人に用意してもらったサーバ自分プログラムを動かしたことはありましたが

自分自身で一からサーバをセットアップしたことはほとんどなかったので、いろいろとハマりました。

作業を進める上で困ったり考えたりしたことを書いていきます

ちなみにサーバ自体はさくらのクラウドOSにはCentOSを使用しているので、それ前提のお話になります

SSHファイヤーウォールの設定

最初サーバを起動してから速やかにSSHファイヤーウォールの設定を変更しました。

はてブなんかでも定期的に話題になっているのでおなじみですね。

SSHポートを22以外の別のポートに変更する

rootによるリモートログインを禁止する

パスワードログインを禁止し、鍵認証有効にする

・念のためrootパスワードを潰しておく

SSHHTTP(S)など、どうしても公開しなければならないポート以外は遮断する

SSHポートについてIP制限が行えるならば尚良い

さらっと書きましたが、設定をミスって自分自身もログインできなくなり、何度かOSの再インストールを繰り返しています

から気付いた事ですが、さくらのクラウドではクラウド管理画面のリモートスクリーン経由でローカルログインできるので

別にOSインストールしなくてもiptablesの設定を変更できたんですよね...

逆に言うといくらファイヤーウォールとSSHを設定しても管理画面にパスワードログイン環境が残ってしまうので

パスワード管理には引き続きしっかり気を使う必要がある。ということでもあります


Webアプリの動作が重い

httpd,php,mySQL,memcachedなど必要サービスインストール、設定し

作成したWebアプリプログラムを乗せて動かしてみました。が、動作が重いような...

開発環境ではさくさく動いていたのに、本番環境ではどのページ遷移ももっさりしています

abで計測してみたところ、開発環境のおよそ2分の1のスコアとなってしまいました。

開発環境が仮想2コアのメモリ1Gだったのに対し、本番環境が仮想1コアのメモリ2G

CPUの性能について半減しているのでそのせいかな、と思いつつ設定を見なおしていたところ

特に使っていないと思われたipv6を停止した途端にパフォーマンス改善されました。

ページ遷移に伴うもっさり感が解消され、abの計測結果も開発環境と遜色ない結果が出ています

デフォルト有効になっていたipv6の影響により余計な処理が走っていたのかもしれません。


サーバから送信したメール迷惑メールと判定される

パフォーマンス改善に喜んだのも束の間、会員登録などの処理でWebアプリからメールを送信したところ、Gmail宛のメールがことごとく迷惑メールと判定されるという事案が発生。

spfの設定を行なうメールの内容について吟味するなどの回避策を試してみましたが一向に改善されません。

試しにHotMailexciteメールアカウントに送信したところ、そちらではそもそもメールを受け付けてもらえずエラーコードが返って来る始末。

困り果てていたところ、エラーの内容からサーバIPがspamhousにスパム送信元として登録されていることが判明しました。

postfixホスト名の設定がデフォルトで「localhost.localdomain」などとなっており、それをそのまま使っていたためにGmailスパム送信元として通報してしまったようです。

設定を修正し、spamhousに解除依頼を提出。事なきを得ました。


KVSの変更

クラウドを利用すれば、サーバを停止することなく簡単な設定でスケールできるようになる。

と、自分勝手に思い込んでいたせいなのですが、消えては困るデータの一部をmemcachedに保存する実装を行なっていました。

実際のところさくらのクラウドではサーバを完全に停止しなければプラン変更を実施できないし

そもそもサーバが落ちたらどうするんだよ。ということで、急遽KVSを変更する必要に迫られました。

速度の低下が気にかかったため、いくつかの候補を実際に動かし

phpスクリプトから1万件のデータ読み書きを行うという形でmemcached比較してみたところ次のような結果に。

サービス1万件書込1万件読込
memcached 2.55秒 2.30秒
handlersocket 21.23 2.71秒
InnoDB20.23 5.10
kyotoTycoon 8.22秒 7.72秒

さすがに読み書きそれぞれmemcachedが最速ですが、読み出しについてはhandlersocketも負けていません。mySQLから普通にSELECTしてもmemcachedの2倍程度の時間しかからないという結果が意外でした。

しかしながら書き込みのほうではhandlersocketもmemcached10倍近くの時間がかかっており、少々速度的な影響が気になってきますmemcachedの倍のパフォーマンスを記録したという記事を見たことがあるので、設定、チューニングについて生かしきれていない部分があるのかもしれないとも思いましたが、知識が不足しているところで無理をすると問題が発生した時に対処できないと考え、候補から除外することとしました。

結局、今回の用途では読み込み処理より書き込み処理のほうが圧倒的に多いことも考慮し、kyotoTycoonを採用しました。実際の利用箇所に組み込んでabで計測してみたところ、だいたい30%程度のパフォーマンス低下にとどまっており、これなら許容範囲かと考えています

mySQLレプリケーションが止まる

実行系と参照系に分ける形でmySQLレプリケーションを行なっていたのですが、度々レプリケーションが停止する現象が発生しました。

一部のテーブルについて肥大する可能性が考えられたため、参照系に接続するプログラムで使わないテーブルをレプリケーションから除外していたのが原因です。

例えばtabelAをレプリケーションし、tableXをレプリケーションしないという設定にしたうえで

実行系でINSERT INTO `tableA` SELECT `value` FROM `tableX`などといったクエリを発行すると、参照系にtableXが無いためエラーが発生して止まってしまます

レプリケーションするテーブルを限定する場合プログラム側でも注意を払わないと危険です。当たり前ですが。

サーバ監視にmonitを使用

監視といえばcactinagios定番なのかもしれませんが、設定が複雑そうで尻込みし、monitを使用することにしました。

簡単な設定でloadaverageやメモリHDDの使用量をチェックできるほか

httpdmysqldなどといったサービスプロセス監視し、もし落ちていたら自動で起動してくれるので助かります

Webアプリの秘匿

パスワード保護を行うとしても、サイト全体の管理画面など自分しか使わないプログラムWeb晒しておきたくない。

というわけで、一部のWebアプリを秘匿する設定を行いました。

管理画面のWebアプリを9999番など閉じているポートに設置した上で、SSHを利用したトンネルを掘ります。といっても

ssh -t -L 9999:localhost:9999 user@xxx.xxx.xxx.xxx

上記のようなコマンド管理画面のWebアプリを置いたサーバログインするだけです。

ブラウザアドレス欄にhttp://localhost:9999/と打ち込めば、接続が開いている間のみアクセス可能になる感じですね。

サーバログインできる人でなければ実行できないことなので、気分的にある程度安心します。

SSHログバックアップ

自動ログバックアップを行いたいと考えたのですが、パスワード無しの鍵でログインして転送する形には抵抗がありました。

調べてみたところ、authorized_keysに公開鍵を記入する際の設定で、その鍵でできることを制限するという手段があるようでした。

具体的には、authorized_keysに

no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="some commands" ssh-rsa AAAAB3NzaC1yc2EAAA...

などとして公開鍵を追加しておくと、その鍵でログインした直後にcommand=""の部分で設定したコマンドを実行して接続を終了する挙動となり

接続フォワードもできなくなるため、パスワード無しでも鍵の流出に関するリスクを最低限に留めることができるというわけです。

commandの実行結果は標準出力から受け取ることができるので、例えばcommand=""の部分にファイルの内容を表示する処理を設定していたとすれば

ssh -i .ssh/no_password_key user@xxx.xxx.xxx.xxx > /path/to/file

などとしてログインの結果をファイルに書き込むだけで、簡単にファイル転送が実現できます


まとめ

他にも大小さまざまな問題に行きあたりましたが、忘れてしまったor書ききれないのでここまでとします。

たった1つのサイトを公開するにしても問題というのは尽きないものだと実感させられました。

今は基本的な情報だけでなく、ちょっと突っ込んだ内容でも検索で解決していけるので嬉しいですね。手がかりを残してくれた先達に感謝することしきりです。

現状ではひとまずの見切りを付けて公開していますが、より堅牢で負荷に強いサーバとなるよう、随時チューニングを行なっていこうと考えています

最後

作ったWebサービスについて少し書きます

サイト名は「Radiosonde」

個人サイトや小規模な商業サイトなどプロモーションにあまりお金をかけられないサイトを主な対象とした、無料で出稿できる広告ネットワークサービスです。

既存サービスで近いのは「あわせて読みたい」や「zenback」、各社提供RSS相互リンクサービスなどになるでしょうか。

広告としての体裁がある分、それらより若干積極的な性質になるのではと考えています

現時点ではサービス本体のプロモーションに苦心するという本末転倒のものの状況でありますが、もしよろしければ見ていただけると嬉しいです。

2013-03-10

http://anond.hatelabo.jp/20130310181105

なんだろう、下請けにいいものを作ることを求められても困るぞ?

 

できた後に、発注書に書いてないような高スペックを求められたり、常識ですよねとセキュリティーを求められたりするが

必要仕様があるなら、全部 発注前に!書いてくれ。

とくに、監視CPUがどうのこうの、というのは 仕様書に明確に どういう値でどう監視するか、という仕様を書いてくれ。

 

そうじゃないなら、最高の製品を求めるなら、下請け、ではなく社内エンジニアを使ってくれ。

できるかできないか?という話題をすれば出来ることがあるが、

見積もっているか見積もっていないか?という話題では、発注書に書かれていないことは見積もってないし、

発注書に書かれていない事は、下請け側に裁量権がある。

 

勝手なことを言うようだし、いろいろあるし、言ってることも最もだと思うことも沢山あるが

下請けにいろんなことを期待しすぎ。

下請けじゃなく、納品業者で製品ならともかく、下請けしているものに、発注書以上のことを求められてもな。

 

正直、クオリティーを求めることは、製品として出ているパッケージを買うか、社内エンジニアでヤッてくれ。

常識的な品質というものは、ひとによって違うからどうにもならんし

 

そもそも、金額の問題による所が多すぎる。僕が年収XXで、僕の能力がこのぐらいですから、1人月でこのぐらい出来るはず。

というのは、正直 通じない。

かつてプログラマだったSE体験談

http://anond.hatelabo.jp/20130309233920

下請けが客より技術的に上なのは当たり前」というが、それこそ思い込み。

俺は15年以上プログラマをやってきた。そんな俺がリーマン・ショックで職を失い、得た職はSE(SEになった後で「戻ってきてくれ」的な電話元請けからかかってきたが、SEになってしまったので断った)。

今まで下請けだったのに、上流工程やったり、下請けが作ったプログラムの受け入れ検証をやる事になった。

そこでは元請け元請けで、技術力があったところで下請けの尻拭いしか出来ない事を思い知った。

俺「あの、すいません。今ちょっとnetstat見たら、CLOSE_WAITだらけでして。ソケットクローズあたりで問題がありそうですよね?」

下「へ?くろーずうぇいと……ソケットとは限りませんよね?とにかく調べますが、それが何か問題でも?」

俺「このタイミングで必ずゾンビプロセスが発生するようなんですが」

下「はぁ。ゾンビって特にリソース食わないですよね?それが何か問題でも?」

俺「今回の修正、場当たり的で、多分ケースAは解決しますがケースBで破綻しますよね。これこれこう直して下さいよ」

下「いや、こちらではあらゆるケースを想定してその修正にしましたので。何か問題でも?」

俺「この監視システムクラウドに載せる事を考慮に入れてませんよね?CPUガンガン振り回しても、監視システムが報告する使用率が90%超える事が無いんですが」

下「クラウドクラウド側に文句言って下さいよ」

まぁこんな感じで、いちいち素晴らしい回答が来るのですよ。

元請けなんだが下請けデバッガのような存在になっていく(一般公開される前にバグを潰すに越した事は無いので、別にいいのだが)。

上流工程特にITスペシャリストじゃなくてもなれるかも知れないが、下請けこそ、IT経験者で適当プログラマになった人は多いでしょ。

特に下請けかつ課長部長あたりだとITも分からず、単にスケジュール表をこねくり回してるだけで居るだけ邪魔な人が多いわけで。

まおゆうあたり見て、教育上下世界、そしておっぱいの素晴らしさを認識して、元請けやら下請けやらのフィルターでモノを見ないようにすべきではないだろうか。

2013-02-25

かいけど

Xbox360はGDDR「3」ね。

あとPCI-Eに刺すGPU元増田が書いてるように転送がむっちゃ遅くなるからCPUマザーボードGPU全部で包括的革新が起きないとPS4の構成に同じ価格帯で並ぶには5年程度じゃギリギリ無理。

GPU DirectもあくまでマルチGPU間の並列処理データ受け渡しのオーバーヘッドを無くす技術から普通GPGPU処理でCPU・メインメモリ頼りの構図はnVidiaけが頑張っても覆せない。

PS4や次世代箱に勝てる構成が近い将来に来るとしたらAMDのHSAかIntelXeon Phi統合CPUハイエンド向けに作られた時だけじゃないか

http://anond.hatelabo.jp/20130225110346

http://anond.hatelabo.jp/20130224232133

PS4主記憶にGDDR5を使ってきたので、同じ主記憶向けメモリという括りでDDR4 SDRAM比較対象にした。

当然ながらPCでGDDRがメインメモリに使われる可能性はまずあり得ない。GDDRを使うとメモリMBに直付けと言う選択肢しか無くなる他、特許の問題が絡む。モジュール開発を前提にコストを削減しているPCでは展開しにくく、そもそもメモリは直付けであるUltrabookタブレットではこれを行かせるような設計がまず難しいのと、すでにDDR3で直面している発熱と消費電力の高さという問題が存在するためにGDDR5がメインメモリ採用される事はまず無い。

従って、主記憶の速度という単純な物差しを持ち出すのならば、GDDR5とDDR4 SDRAM比較対象にした。

意味は分かって貰えたか

ちなみに

また、GPUコンピューティング世界ではGPU間でメインメモリを通さずにデータ転送できる仕組みが現在進行中で、NVIDIAはCUDA5.0でGPUDirectと言う仕組みを導入しこれを実現した。これは一見するとDMAによく似た仕組みに見え、結果としてやっている事は確かに似ているのだが、Remote DMAといった代物で結構中身が違う。CPUはもちろん、メインメモリを通さずにGPU間でメモリ転送を実現してやろうというものだ。さらに、ここにもうちょっと賢いコントローラをはさんでやると言う事が考えられていて、これは実はAMDだけではなく、NVIDIAが従来やっていたGPUボックスというGPUSLIして専用のコントローラ積んで、PCIeと専用のバスで繋ぐようなシステムを作っていたが、それの応用、あるいはIntelがXeonPhiでやろうとしている。

なので、メモリ帯域では

と言う事になる。

2013-02-23

http://anond.hatelabo.jp/20130223105631

女には理解できないかもしれないけど、男は恋愛に憧れたりしない。

恋愛とか性欲というのは生理現象で、それ以上でもそれ以下でもない。

サメシャチが闘ったらどっちが勝つかとか、そういうことを考えているときのほうがワクワクするし、スポーツカーや新しいCPUスペックを眺めている時の方がドキドキする。

女って、女だろ?

京浜急行みたいに速く走ることが出来るわけでもないし、コーカサスオオカブトみたいな強さだってないだろ?

恋愛にワクワク要素なんてあんまりないでしょ。

デートしたいなぁとか、セックスしたいなぁというのは、腹減ったとか、そういう感覚に近い。

さして深刻でないが、かといって我慢できるものではない。

好きとか嫌いという感覚もそれと同じだ。

女の人って性的な目でみられるのが嫌なのってどういう感覚なんだい?

逆に、金づるとみられてたって、バカと思われてたって、どうでもいいように思う。

というか、どう思われてるかなんて考えたことがなかった。

大嫌いと世界中の人に言われたってそんなに堪えないと思う。

割と人に嫌われるほうみたいで、何度か悪口を言われるのを耳にしちゃったりするんだけど、

ニンジンピーマンを嫌う人がいるように、俺を嫌う人だっているんだろう、くらいに思うだけで。

あんまり気にならない。

逆に、

「気を悪くさせちゃうようなことしたかな?」

ちょっと申し訳ない気分になる。

もちろん、好かれたら嬉しいけど。

ちいと話がズレたけど、飯を食いたくなければ食べたくなるまで食べなきゃいい。

夜寝れなきゃ、寝たくなるまで寝なきゃいい。

それと一緒で、好きになる人がいないなら、好きになるまで好きにならなきゃいい。

趣味仕事が楽しければ、そんなこときっとどうでもよくなる。

好きになる時には好きになるし、セックスしたくなるときはしたくなる。

こればっかりは、相手がいるから、自分が好いたところで付き合えるわけでもなく、セックスできるわけでもないんだけど(逆レイプとかするなよ笑)、数打ちゃあたる。長い人生には、恋人になることもセックスをすることもある。

気にすんな。

http://anond.hatelabo.jp/20130223131402

そのPS42014年PCハイエンドと同等、2016年のミドルと同等なレベルなんだよなぁ

切り口にもよるけれどそーでもない。

PS4CPUGPUの石の性能は、3年前のハイエンドとほぼ同程度だよ。ただ上にのっかるソフトが違うので効率面では、現在のミドルレベルのゲーミングPCぐらいにはなっていると思う。

一方メモリ帯域と言う面だと、2016年であってもPCは追いつけないはず。今年中に現在メモリの次世代規格であるDDR4のモジュールが出回ってくるけれど、現状計画だとDDR4は最大で3200Mbps、メモリ帯域幅は最大で65GB/秒程度が限度だと思われている。一方、今回のPS4帯域幅176GB/秒と言われているのでそう簡単には追いつかれないと思われる。

ただし、今のウルトラハイエンドグラボでは、GDDR5を6GB搭載しているもの存在する。(※ただし売価10万以上)プロユースでは8GB搭載したものがあるし、GPUコンピューティング用のアクセラレータではさらに大量に積んでいるものがある。そしてPC世界でもCPUGPUの間のメモリ転送の遅さをどうにかしたいというアプローチは行われているので、どうなるかはちょっと未知数かな。

http://anond.hatelabo.jp/20130223131402

元増田であった話では、

1)AMDが描いてた未来予想図PS4で実現。

2)1)をPCでできなかったのはCPUを握ってるインテル利権

ということ。

からPCインテル支配な内はPCではできない構成だし、2016年のミドル構成でも達成できない可能性が高い。

ぼくのかんがえたPS4分析 - SONY製造業としての業から解き放たれたPS4

http://anond.hatelabo.jp/20130223090512

に触発されて俺なりのPS4分析をしてみた。

ハードウエア製造業の夢より、ソフトウエアクリエイタの夢 - ハードからソフトへと言う現実

一言で言うと↑これがPS4だと思う。

三行でまとめると

PSのビジネスモデルを振り返ってみるのだが、この切り口から行くとPSはSONY半導体戦略、そしてSONY製造業と言う性質とと切っても切れない関係がある。

利用上の注意

なおすべて妄想となっておりますので、これを真に受けて被った損害などについては一切責任を取れません。皆様におかれましてはその旨ご了解のうえご覧いただけますよう、よろしくお願いいたします。ご協力頂けない場合につきましては、いい歳こいたアラフォーの髭ヅラ男が涙目になると言う非常にウザイ状況が発生することとなり、誰も得をしません。ご理解とご協力をお願いいたします。

PSの歴史SONY戦略について

初代PSとそれがもたらしたもの

SONYゲーム機を一緒につくろうと言って任天堂に近づいたものの交渉が決裂してできあがったのがPSであったわけだがこれが大ヒット。

さらにPSでは、内部で使われている半導体を自社設計・自社かそれに近いFabで作る事によって

など副次的な効果もあり、さらに「SONYの旗艦」といったイメージを作り上げることができた。この他に、CD-ROMを手がける部門や、SONYのCDプレス工場部門等々、PS景気により、直接的なPSによって生み出される効果以外に、PSという揺るぎない需要存在する事で、設備投資などに積極的になれたといった効果がうまれた。

PS2では完璧芸術品であったDreamcastを殺すほど大成功

初代は始めどこまで意図されいたかは不明だが2台目ではそれらの経験が生かされる事となりより強化された。まず一番は半導体工場で有り、旺盛なその需要と、それによって得られた利益投資に回し新プロセスを開発、シュリンクすることによって最終的な黒字を目指すことで赤字で販売をスタートすることとなる。

ゲームハード赤字でも、ソフトが売れれば黒字。こんなの当たり前だろ、と言う話であるが、総合情報機器メーカであるSONYでは少し事情が異なる。これは、ソフトウエアライセンス事業による利益によって、間接的に半導体生産設備投資を補填すると言う形を意味する。もちろんそれ以外にもSONYの製造部門にもPS2赤字でも販売すると言う行為によってもたらされる間接的な利益が流れた。

ご存じの通り、PSは我が愛する芸術品たる至高のゲーム機Dreamcastを完膚なきまで叩きのめし世界最高の企業セガプラットフォームから引きずり卸しパチンコ屋に買われる所まで追い込む等大成功をとげた。そしてゲーム機生産により、SONY製造業部門を引っ張っていくという当初の見込みは大成功した。

それをさらに強化したのがPS3、そしてCellであった。

PS3Cell BE が見た夢

PS3時代になると、パソコンの旺盛な需要の元、急速に進化した集積回路は、プロセッサの新規開発コストさら半導体プロセス開発に必要な資金が膨大に膨らむという現実に、様々な企業が立ち向かうよう時代が来ていた。世界の巨人たるIntelと、それ以外という構図が生まれ、世界中でFabの統廃合が進んでいた。

その中で目をつけられたのがゲーム機という存在であるパソコンに対抗できるほどの膨大な需要を生むゲーム機は、薄利という性質を持ちながらも数が出るため、生産設備を拡大しやすプロセス開発の資金を捻出する事に有利であった。さらSONYは、ゲームハードウエアが、当時のパソコンなどに比べて圧倒的に高い性能を持っていなければ存在価値が無い、と言う観念を持っていた。これはかつて任天堂がもっていた思想であった。

さらIBMなどの思惑とも一致、開発がされたのがCell B.E.であり、この存在PS3を生んだ。そう、ここまで来てSONYは、半導体のためにゲーム機デザインしたのである

もちろんこの説にはいろいろな異論はある。しかし俺は順序としては、ソニーグループ全体の長期的な戦略にPSが生む半導体工場の増設という戦略が大規模に組み込まれていたのは間違いないのでは無いかとみている。そこで完成したマシンは、化け物であった。現在まで続く潮流であるGPGPU的な動作もこなCell B.Eがもたらす高性能と、高い拡張性を備え、既にゲーム機では無いとまで言わしめるものができた。この性能は当時の最新鋭コンピュータを大幅に上回るものであった。

しかし……。GPGPU概念は早すぎた。性能を引き出すことが、当人であるSONYでも難しかったのである。そしてこれはミドルウエアや開発ツールの乏しさにも繋がる。そのためスタートアップに失敗した。この失敗は、PSがゲーム機として優れていなかった、あるいは、他者装置に負けた、と言う意味で失敗では無い。製造業としてのSONYが、自社の思惑通りに事を運べなかったと言う事での失敗である

ハードウエアの夢、ソフトウエアの夢

結果SONYは、PS3需要を当て込んだ生産設備リストラ・売却するなどの対処をを迫られる。さら韓国勢などの追い上げ、AV市場の急速な変化、SONY本体の体力の低下、パソコン高速化などにも影響を受けることになる。

PS3のものは、OSの改良、ミドルウエアや開発ツールの向上などにゆっくりではあるが立ち上がってきたが、製造業としてのSONYPS3に期待した効果は得られず、ハードウエア屋、製造業がみた夢はここに破れた。

さら時代は動き、集積回路は、Intelプロセスで1世代以上先を行き、それ以外はすべて後から追うという構図が完全に定着してしまった。SONYも、SONY半導体と言えば、集積回路ではなく画像素子、と言う時代が来て久しい。世界中半導体製造業者の統廃合は進み、国内半導体産業は衰退した。新プロセス開発の難易度や、集積回路の大規模化から来る開発コストの上昇はいかんともしがたくなっていた。

ゲーム必要とするスペックはもはや飽和している。少しでもリアルに、少しでも高性能にと言う方面はすでにマニアのものだけになってしまい、それら需要だけで、そのとき販売されているパソコンを上回る高性能チップを開発、載せるコストを満たすことはできなくなっていた。具体的に言えば、ウルトラハイスペックの、GeForece GTX SLIクラスにも勝ちうるGPUを、専用設計オーバーヘッドを極力少なくすることができるとはいえ新規設計することが難しくなっていたのであるさらにはゲーム機業界ではスペック競争を離れた任天堂Wii、あるいはDSを生み出し、ケータイ、そしてスマフォとと言う存在カジュアルゲーム市場をかっさらうようになった。特に日本では据え置きゲーム機リビングルームに置かれ、パーソナルな空間に置いてゲーム機携帯ゲーム機になったのである

そして決定的だったのが、ゲームエンジンの躍進と越境であろう。従来はゲームエンジン製作環境ゲーム会社門外不出のものであった。しかしそれらが会社を通じて流通し始め、さらには専門業者も現れるようになったのである

家庭用ゲーム機と言えば、ゲーム機の性能を引き出すためにソフトごとにアセンブラ最適化チューニングを施す。それを行っても常に動作が一定になることがメリットとして、パソコンに比べてゲームは常に一定の動作をすることが担保できるためにゲーム製作に専念することができた。しかし、パソコンは十分に高性能になった。家庭用ゲーム機も十分に高性能になった。その結果、チューニングを行わなくてもそこそこの画面が作れるようになってきたのである。そこで余った能力ゲームエンジンオーバーヘッドを許容するようになり、ゲームエンジンの躍進に繋がった。さらゲームエンジンプラットフォーム間の差異すら吸収し始めた。あるゲームエンジン採用すれば、あまり手間をかけること無く、パソコン版、PS版、XBOX版、Wii版と複数プラットフォームで出せるようになったのである。これは、ゲームエンジンが新たなるゲーミングプラットフォームとして君臨する可能性を示唆していた。

しかし、チューニングなどといった、ユーザとは直接関係の無い部分に手間をかける必要が無く、作ったゲームがどこでも動く。これはクリエイタとしては非常にありがたい事なのでは無いか

ビジネス書に出てくる例えがある。ユーザねじ回しが欲しいのでは無い。ねじを回したいのである。同じように、客はゲームがしたい、もっといえば楽しいことがしたいのであって、別にゲーム機が欲しいわけでは無いのであるクリエイタはゲームを作りたいのであって、ゲームハードウエアを使いたいわけでは無いのである。ここに合致したのがクロスプラットフォームゲームエンジンであり、そしてこれらはクリエイタに作りやす環境提供し始めた。さらゲームエンジンは新たに現れたライバルであるタブレット/スマートフォンにも対応している。

しかゲームエンジンの躍進は、プラットフォームビジネス崩壊意味したし、PS3は性能を引き出すには高いレベルの専門的チューニング必要であった。しかゲームエンジンはそこにコストを払う事を選択せず、PS3は高い性能を持ちながらも、それ以外のあまり高性能ではないプラットフォームとほぼ同等、せいぜい高解像度テクスチャーに入れ替えられた程度のゲームしか提供されない、と言った事が発生するようになっていた。

ソフトウエアの夢が花開くのがPS4,PSVita

そしてPS4が出た。

PS4は有り体に言って、x86-64アーキテクチャコンピュータに、OpenGL/CL対応GPUを搭載した、本質的にはそこらのパソコンと変わらない構成である

さらに言えば、最新のCorei7+GeForce GTX…と行かなくとも、そこらのパソコンに較べ、性能は高くない。しかし、根本的にゲーム専用機が持つ、汎用パソコンには無い特徴

を備えている。さらには、GPUを扱いにくくする要因の一つとして上げられる、GPUCPUメモリ転送をほぼ考えなくて良いと言う仕様を打ち出してきた。これはCellCPUプログラミングが分断され、非常に開発を困難にしていたPS3反省ダイレクトに生かしてきたと考えられる。これはAMDが出していたコンセプトだ、と話題に上がるが、あくまでもパソコンの話であって、ゲーム機の分野では少なくとも、PS2プログラミングが困難な部分を、高速なバスで繋ぐことで隠蔽するよな仕様であったように記憶している。

さらx86-64アーキテクチャにしたことで、ゲームエンジンがPC向けエンジンの次に、素早くPSにも対応できる素地を整えた。Power向けに施す必要のあるチューニング不要にしたのである。従来はパソコンで開発されたクロスプラットフォームゲームは、パソコン向けと、家庭用ゲーム機向けの2種類作られた。そして家庭用ゲーム機向けは往々にして、ターゲットとなるハードウエアの中で一番性能の低いところに合わせたデータで作られた。平たく言えばPS3の方がXBOX360よりもはるか映像表現は優れているのに(※ただし使いこなせれば) XBOX360との差異はテクスチャムービー解像度程度の違いだけになってしまう事を意味していた。しかx86-64にしたことで、家庭用ゲーム機向けに統一してダウングレードされたデータからPS版を生成させるのではなく、パソコン向けのデータから生成させた方が早いと言う状況を作り出し、他の家庭用ゲーム機にくらべてアドバンテージを得ようとしているのでは無いだろうか。これはPS VitaARM採用したことも同じ事である

さらに、SONYは、PSVitaから進めてきた戦略として、自社による強力にプラットフォーム感の差異を吸収するミドルウエア群…これはゲームエンジンと読んでも良いのかも知れないが…を提供してくるだろう。x86ならば従来の資産を生かすこともできるし、世の中に出ているコンピュータ向けのライブラリも利用できる。急速に開発しやす環境を立ち上げているのではないだろうか。これはゲームエンジンにより脅かされる、プラットフォームビジネスへの対抗措置でもあるだろう。

これにより「雑事に捕らわれること無く、ゲームの楽しさ・表現のものに専念する」と言うクリエイタの夢を叶えるハードウエア、それがPS4であろうと思う。

平たく行ってしまうと、自社の半導体商売が死んだことにより、その死絡みから解き放たれたPSは、クリエイタ主導でゲームを作ると言う根本に立ち返って作ったのがPS4だ、と言う話である

しかしこれだとハードウエア製造業の夢はどうなってしまうのだろうか?そしてユーザ別にクリエイタの夢などはどうでもいい。下手をすると高性能なハードウエアを所有していると言う欲を満たせなくなる分だけこちらの方がまずいかも知れない。それをどうカバーするのか?と言う話になる。

「夢」PS4

ハードウエア/製造業の夢はどうなるのか

SONYは、次世代戦略として明らかにソフトウエア重視に舵を切っている。SONYは今、収支から見ると製造業では無く金融業であるが、その次に利益を生み出しているのは音楽映像ソフト部門とゲーム部門である

まずはここを潰してしまっては会社として立ち行かなくなる。それはまずい。ではどうするかというと、従来の「製造業としてのSONYを強くするために、PSの需要を利用する」のではなく「コンテンツ・製造複合体としてのSONYの核にPSを据え、関連商品を生み出す形で恩恵を得る」と言う形に舵を切ってくることになる。PS3でも一部行われているが、たとえばPSのリモートプレイを可能にするパソコンタブレット、PSを再生装置としてコンテンツ供給できるメディアサーバといった具合である

しかしこれらに対応させるために大切なPS本体の魅力を失わせては困ると言う事は強く意識されなければならないし、意識されていくだろうと思う。

ユーザの夢はどうなるのか

ユーザの夢は、将来的には作りやすゲームプラットフォームが生み出す新しいコンテンツという形で満たされることになるだろうが、直近では、ソーシャルへの展開という形で示されていると思う。将来的にはいかにコンテンツを集められるかと言う事にかかっている。が、ぶっちゃけていうとユーザから見たら、これほど夢の無い話は無いと言わざるをえない。

今回発表されたタイトルデモなどは実際にはチャンピオンで有り、実際にプレイして得られるのはPS3とそれほど感覚的に、革新的に良くなったと感じる部分は薄いと思う。この点で、PS4は、PS3と実働コンテンツはそれほど変わらないと思っている。マイナーバージョンアップ程度。パソコンWindows XPで評価が固まったようなものである。これはおそらく次に発表される新型Xboxでも同じだ。任天堂は少し別格の応えを出したが苦戦している。

結論 またしてもセガは早すぎた

かつてセガが出した芸術品とも言える至高のゲーム機DreamcastOSWindows CEを搭載した。プロセッサこそ独自であったがそれは当時のWIndows CEではあたりまえであり、むしろそこにWindowsと言う汎用のソフトウエアを利用したことで非常にゲームが開発しやすく、PCゲーム移植やす環境を作り上げた。それらはアーケードのnaomiプラットフォームや、ワンチップで埋め込まれたパチンコなどで今でも生き続ける。

任天堂WiiUコントローラに画面をつけDreamcastに追いついたように、SONYは、PS4で作りやすゲーム機という点で追いついたと言える。

またしてもセガは早すぎた。時代セガに追いついていなかったのであるDreamcastはその名の通り「夢を投げる」存在であったのだ。

PlayStation4は夢が無い」という幻想をぶち壊す

最初に言っておくと、増田SCEが嫌いな方でPS3Vitaも持っていない。

PSPスパロボの新作が出るまで持っていなかったほどだ。

そんな増田だが、PlayStation4発表でのハードウェアに対する誤解の数々を見てちょっとばかり怒りを覚えたので少し書いておく

x86」ではなく「AMD64

いきなり「何が違うんだ?」と思う人や「何も違わないだろ?」と言う人も居るかも知れない。

だが後半を語る上でもこれは重要な話なので省略しないでおく。

最近PCは当たり前のように64bitのメモリ空間を扱えるようになった。

この増田を読んでる人でも64bit OSを使っている人は少なくないはずだ。

これをもたらしたのは、x86 CPUを作ったIntelではなくx86互換CPUを作っていたAMDである

じゃあIntelは何をしていたのかと言うと、64bit CPUを作っていた。x86を完全に捨てて。

Intelは「IA-64」という64bit CPUを開発して商品も出していたが、これは現在ではほぼ完全に消えている。

何故かと言うと、x86が動かなかったからだ。

確かにIA-64は64bitをネイティブで扱えて「x86の古臭い負債」が全く無かった。しかし、現実世界x86で作られた既存ソフトウェアを求めたのだ。ゲーム業界でも似たような話を聞いた気もする。

それに対して、AMDは「64bitを扱えるx86」を作ってしまった。これが「AMD64」であり、現在業界標準としてx86-64と呼ばれているものである

知っての通り、x86-64現在Intel CPUでも対応している。AMDが作った命令を使わされる事になったIntelは何を思っただろうか。逆に、これまでIntelの命令を使ってきたAMDは何を思っていたのだろう。

Cellが目指した「理想的」なヘテロジニアスコンピューティングGPUが実現した「現実的」なヘテロジニアスコンピューティング

PS3に搭載されていたCellは、非x86スカラプロセッサPowerPC CPU(PPE)と、複数のベクトルプロセッサSPEを組み合わせたヘテロジニアス(非対称)プロセッサだった。(スカラベクトルについてはググろう)

スカラプロセッサが得意な処理、ベクトルプロセッサが得意な処理を両方とも高速に実行できる。それがCellの目指した「夢」だった。

しかし、知っての通りCellが目指した夢は破れた。

スカラプロセッサベクトルプロセッサプログラム最適化は全く別の概念で、プログラマーにとっては野球サッカーを同時にやらされるような物である

しかも、スカラプロセッサベクトルプロセッサの間でデータの交換もある。野球サッカーキャッチボールて。

スーパーコンピュータ「京」スカラベクトルの合わせ業で池田某氏に何度も叩かれるほどの超絶難産だった事は記憶に新し…いっけ?

それが原因でPS3の性能を最大限に引き出したソフトほとんど存在せず、こともあろうにXbox360とのマルチソフトが溢れる結果となった。(ちなみに増田360も持ってないのでエルシャダイプレイ出来ていない、問題だ)

それに対し、PC世界ではPS3360が発売してしばらく後に新たなヘテロジニアスコンピューティングが生まれていた。

CPUに比べて進化が止まらないGPUベクトルプロセッサの代わりとして使う試みだ。

GPUスパコン用のベクトルプロセッサCellSPEと違い、最近のどのPCにも搭載されているので量産効果で割安というメリットがある。

DirectXバージョンも2桁に突入機能が増えるにつれて、「もうこれで計算すれば良いんじゃね?」となったわけだ。

結論から言うとこの試みは無茶苦茶ヒットした。近年開発されたTOP500スパコンGPUが使われていないものを探すのが難しくなってきたし、

最近Photoshopなんかの比較的身近なツールもGPUコンピューティング対応してきてヌルヌル動くようになっている。

しかし、そんなGPUにも欠点はある。「CPUメモリから絶望的に遠い」のだ。

IBM発明MS-DOSWindowsが動くことで爆発的に普及した今のPCは、GPUを外付けにすること前提で設計されていた。

DirectXOpenGLのような例外を除いて、基本的に現代OSCPUとメインメモリソフトを動かすように出来ている。

GPUも、一旦メインメモリ上でGPURAMに載せるためのデータを生成し、CPUからGPU動かすよー」という命令を出さなければ動かせないのだ。

これはGPUにとって致命的すぎる欠点だった。これが原因で、遅さを跳ね返せる最新のミドルレンジハイエンドGPUでなければ逆にCPUより遅くなってしまうケースばかりだ。

現実的な理由で始まったGPUコンピューティングがぶち当たった現実的な壁である

CPUGPUAPU(加速するプロセッサ)の夢

このGPU欠点を克服する方法について、AMDはかなり前(少なくともGPUコンピューティング流行るより前の2007年以前)から取り組んでいた。

GPUコンピューティングが遅いのはCPUから物理的に遠いため命令を送る時間が掛かり、メモリの扱いも異なるせいである。

なら同じ場所に載せてしまえば良いのだ。

CPUからGPUに命令を送る遅延を無くし、CPUメモリGPUメモリを交換する時間も減らせばGPUコンピューティングデメリットは消え失せる。

夢のある話だ。

しかし、AMDには発想と設計技術はあったがカネと製造技術Intelと比べて絶望的に劣っていたため、

初めてのCPUGPU統合したプロセッサIntelに先を越されてしまった。(IntelGPU絶望的に遅いからって実質出てないなんて言っちゃダメだ)

これにはAMDもかなり堪えただろう。けれどもAMD戦略を曲げなかった。

IntelGPU絶望的に遅いのでほとんど意味は無かったが、少なくとも前世代のIntel GPUに比べると格段に実効性能が上がっていたのだ。CPUGPUを近付ける統合には間違いなく意味があったということである

AMDCPUGPUを同じチップにするだけでは無く、メモリアドレス空間」も一緒にする道を目指した。

こうなるとCPUの使っているメモリGPUから直接扱え、GPUの使っているメモリCPUから直接扱えるようになる。

これが実現するとCPUGPUが完全なヘテロジニアスコンピュータに一歩近付くのだ。

しかし、そんな夢のあるCPU+GPUの開発は当然難航した。

半導体工場部門を分社化して売り払ってもまだ開発は遅れた。

2011年にやっとAMD初めてのCPUGPUであるAPUを出せたが、メモリアドレス空間はまだ別々だった。

2012年になってもメモリ空間は別々のままだったが、AMDARMiPhoneAndroidWindows Phoneに載っているARMである)と合同でHSA(ヘテロジニアスシステムアーキテクチャ)を推進すると発表した。

世の中の現実的な人々は笑った。「アーキテクチャだけを作ってもハードソフトが出てこないんじゃ話になりませんよ」と。

同じ2012年AMD2013年中にHSAの第1世代製品を出すとだけ発表し2012年は終わった。

ぼくのかんがえたヘテロジニアスコンピューティングマシン

そして2013年2月21日米国時間20日)、Sony Computer EntertainmentPlayStation 4を発表した。

Cellコケしまったので載らない事は誰もが知っていたが、載っているハードウェア一部の人が驚いた。

―HSAであるPC用のHSA対応APUがまだ正式発表されていない中で、なんとHSAを載せてきた。(2013年末発売だから当たり前だというツッコミは止めろ!)

CPUx86-64Jaguar 8コア(ちなみにPC向けJaguarは4コアまでだ)、GPURadeon HD 7800相当でPS3と違いガチで1.8TFLOPS(理論上1秒間に計1.8兆個の小数点を含む計算を実行可能)のスペックを持つ代物だ。

このCPUGPUは8GBのGDDR5メモリを共有して動作する。8GBと聞くと最近PCから考えると少なく聞こえるかも知れないが、(わたしのメモリは16GBです)

GDDR5とはGPUの描画計算を速く済ませるために作られた超高速メモリであり、ご家庭のDDR3メモリとは比べ物にならない速さが出せる。

実際の所PS4がHSA対応かは正式発表されていないのだが、PC向けJaguarはHSA対応と発表されており、SCEPS4APUCPUGPU)と呼んでいてこの変態メモリ構成とすると、発売までにクッタリスペックダウンしない限りHSA確定と見て良いはずだ。

また、PlayStationはこれまで一度もx86CPU採用した事が無く、これが最初(で最g)のx86採用機となる。

Intelが初代XboxCeleron搭載)であっさり諦めたx86ゲーム機市場制圧の夢を、AMDが思いもよらぬ形で果たしたのだ。

これまでPCしか発売されてこなかったDiabloが、x86-64PS4向けに初めてコンシューマ版を発表した事もx86-64採用が決してつまらない事ではなかった証だろう。(Diabloと戦うハメになるサードの方々にとっては非常につまらないが)

CPUGPUの”フュージョン”…(HSAは以前はFusionと呼ばれていた。そういえばドラゴンボール映画も今年やな…)

AMDが長年の間見てきた夢が、PS4で初めて現実世界に現れることになる。(※ただし次世代XboxもHSA採用PS4より先に発売したりしない世界線に限る)

こんな馬鹿らしいほど夢が詰まったマシンを「x86搭載だからPCみたいで夢が無い」という一言で切り捨ててしまう人に増田絶望した。

なおこの増田Core i7GeForceで書かれた模様


追記

予想以上に反響が大きくてビビったので

でも、それってユーザーの夢にどう繋がるの?

という趣旨感想についてだけ補足。

性能の引き出し易さがPS3と比べて格段に良くなるのでPS3ラストレムナント人喰いの大鷲トリコのような非情現実が減る。以上。

2013-02-14

Apple Store

先週の金曜日(9日)にApple Store通販ね)でMacbook Pro Retina 15インチを 16GBで注文して、

今週末到着だってワクワクしてたら、さっき配送状況のページ見たらなんかその注文がキャンセルされて、

昨晩の価格改定版の機種に変わっていた。

ので、CPUが2.3GHzから2.4GHzになっていた。値段かわってないからまあお得したんだろうけど、

到着予定が来週月曜からになってしまった。うーむ。

2013-02-04

http://anond.hatelabo.jp/20130203154719

今時のパソコンをいきなり与えられた人(普通はそうだけど)は、そもそもポインタなんて機能が何故必要なのか理解できないと思う。

JavaとかPerlとかVBとかは、扱いたいデータを直接切り貼りするだけでプログラムとして成立するし、それで十分なわけで。

そのレベルコンピュータの仕組みや、メモリの使い方を理解する必要性は、普通は全く感じられないからね。


それにポインタ意識しながらプログラミングするというのは、前述の演算必要データ構造に加えて、メモリ管理上のデータ構造も扱うという、2重のデータ構造を考えないといけない。

これはプログラム初心者には全く想像できない領域だし、そうそう簡単な事じゃないと思うわ。

ましてやC言語の*pとp[]の交換性が、基本環境依存データ型のバイト長をいちいち把握しながらポインタ演算してアクセスなんて面倒でしょうがいか結構必須とか、そもそもポインタ演算を使いこなせればハードリソースビット単位で搾り取れて、それをアセンブラよりはシンプルかつ抽象的に実装できるC言語は非常に効率がいいとか、まず理解不能でしょ。

そんなことが必要な分野が世の中にはあるという現実すら知らないだろうし。


尤もマイコンキットから入って「メモリデータをロードして、そのデータメモリ上の格納場所CPUから分かるように(ry」というアプローチなら、ポインタを使う以外に方法が無いので嫌でも覚えるだろうけど。

2013-01-18

続々・うへぇ苦労するのガイドライン

見出しはこれ http://anond.hatelabo.jp/20121219191602

UNIX

http://toro.2ch.net/test/read.cgi/unix/1288765389/232

232 :名無しさんお腹いっぱい。:2012/03/25(日) 15:05:26.72
今月はじめ、職場に新しいPC(Pentium4結構ハイエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要がありOSオープン系を採用するのは 
聞いていたのですが、搬入されたPCのダンホール箱に乗っかっていたのは 
UNIXインストールパッケージでした。 

「うへぇ~、よりによってUNIXかよ」 

デバイスドライバがない、コマンドが変・オプションがない、X環境が古い、 
今の奴は日本語入力大丈夫なのか(Wnn/Canna/kinput2)、将来の64bit移行はどうなのか、 
今時のネット必須flashプラグイン存在するのか不安はつきませんし、 
非メジャーなのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初にそれに触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、唯一CADなどのエンジニアリング環境が充実していたUNIX大学など 
教育機関に浸透していて、日本UNIX界に多くのバカを輩出しました。 

これから私は、おそらくそういうバカが、makeしてもemacsが入らない、 
TeXが入らない、コンソールでEUCは使えないのか、Rubyが使えないのかなどと、 
サバ管気取りの偏ったどうでもいい我侭を言い出し、(だから鯖にするんじゃねーよ、 
鯖の常識で話すなつーのに)それと戦わなければならないのでしょう。 
そして時代によって決着している、過去10年のUNIX界隈のくだらないそれらの議論が 
再現され、それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではPlamoでもDebianでもRedHatでもKondaraでも 
Slackwareでもなんでもいいですがメジャーかつ現行のLinuxにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

NFS

http://toro.2ch.net/test/read.cgi/unix/1355909018/4

4 :名無しさんお腹いっぱい。:2012/12/19(水) 18:44:07.79
今月はじめ、職場に新しいPC(Core i7結構ハイエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要があり、複数マシンファイルを共有するのは 
聞いていたのですが、起動したマシンの/etc/fstabの項目に書かれていたのは 
nfsという文字でした。 

「うへぇ~、よりによってNFSかよ」 

ファイルロックすると刺さる、ファイルを消したのに.nfsXXXが残る、 
今の奴はACL大丈夫なのか、ファイルのCapabilityに対応してるのか、 
今時のLAN上で使ってもセキュリティ大丈夫なのか不安はつきませんし、 
ユーザーが減ってるのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初にそれに触れてすりこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、唯一ローカルディスクネットワーク上かの区別なく透過的にファイルアクセスできたNFS大学など教育機関に浸透していて、日本ストレージ界に 
多くのバカが輩出しました。 

これから私は、おそらくそういうバカが、ファイルに書き込んだら所有者がnobodyに 
なっちゃったよとか、タイムスタンプがずれるよとか、NFSv4にしたらマウント 
できなくなったよとか、TCPよりUDPの方がオーバーヘッドが無い分速いはずだよね 
などと、鯖管気取りの偏ったどうでもいい我侭を言いだし、 
(だからNFS鯖にするんじゃねーよ)それと戦わなければならないのでしょう。 
そして時代によって決着している、過去25年のNFS界隈のくだらないそれらの議論が 
再現され、それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではSambaでもNetatalkでもFTPでもなんでもいいですが 
安定してユーザーが多いファイル共有システムにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

FreeBSD

http://toro.2ch.net/test/read.cgi/unix/1351627596/3

3 :名無しさんお腹いっぱい。:2012/10/31(水) 10:57:28.82
今月はじめ、職場に新しいPC(Core i7結構ハイエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要がありOSに*BSD採用するのは聞いていたのですが、 
搬入されたPCのダンホール箱に乗っかっていたのはFreeBSDインストールパッケージ 
でした。 

「うへぇ~、よりによってFreeBSDかよ」 

カーネルが変、日本語環境がない、ソフトが変・揃ってない、今の奴は 
日本語文字コード大丈夫なのか(utf-8)、x86_64環境大丈夫なのか、 
今時のネットに繋いでもセキュリティ大丈夫なのか不安はつきませんし、 
非メジャーなのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初にそれに触れてすりこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、唯一PC98環境が充実していたFreeBSD大学など教育機関に浸透していて、 
日本FreeBSD界に多くのバカが輩出しました。 

これから私は、おそらくそういうバカが、ポーツ(笑)emacsが入らない、 
TeXが入らない、コンソールでEUCは使えないのか、Rubyが使えないのかとかなどと、 
鯖管気取りの偏ったどうでもいい我侭をいいだし、(だから鯖にするんじゃねーよ、 
鯖の常識で話すなつーのに)それと戦わなければならないのでしょう。 
そして時代によって決着している、過去20年のFreeBSD界隈のくだらないそれらの議論が 
再現され、それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではUbuntuでもdebianでもFedoraでもRHELでも 
OpenSUSEでもなんでもいいですがメジャーかつ現行のLinuxにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

SPARC

http://toro.2ch.net/test/read.cgi/unix/1209056071/887

887 :名無しさんお腹いっぱい。:2012/10/21(日) 11:56:55.61
今月はじめ、職場に新しい組み込みマシン(ファン付きだけど結構省スペース構成)が 
入りました。多分私が開発全般をまかされそうな雰囲気です。業務的にとある 
構造分析シミュレーションなど行う必要があり、プログラムアセンブラを 
使用するのは聞いていたのですが、添付のサンプルソースコードからチラッと 
見えたのはsethi %hi(hoge),%o0という命令でした。 

「うへぇ~、よりによってSPARCかよ」 

長くなるバイナリーコード奇数アドレスワードアクセス不可、使いにくい 
レジスタウィンドウ、今時の素早いコンテキストスイッチ対応できるのか不安は 
つきませんし、今の若者はこんなCPU使わないので人材も少なくソフト開発も大変です。 
おそらく導入に際して、大学など教育機関最初SPARCに触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、32bitCPUでRISCでM68K系よりも高速で動作したSPARC大学など教育機関に浸透していて、日本CPU界に多くのバカが輩出しました。 

これから私は、おそらくそういうバカが、16bitイミーディエイト値すら1命令でロード 
できかないのかよとか、関数呼出しのたびになんで約100バイトスタックフレームが 
要るんだよとか、フラグレジスタの読み出しがなんで特権命令なんだよとか、 
%g0ってレジスタ値変わらないし壊れてるよ、初期不良で交換だよとか、 
アセンブラ通気取りの偏ったどうでもいい我侭を言い出し(だからSPARC使うんじゃ 
ねーよ) それと戦わなければならないのでしょう。そして時代によって決着している、 
過去25年のCPU界隈のくだらないそれらの議論が再現され、それに巻き込まれるの 
でしょう。もう今からうんざりです。 

だからお願いです。教育現場ではi386でもi568でもi686でも 
x86_64でもなんでもいいですが現行のCPUにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

続・うへぇ苦労するのガイドライン

前のはこれ http://anond.hatelabo.jp/20121219191602

PC-98

http://toro.2ch.net/test/read.cgi/unix/1036951410/601

601 :名無しさんお腹いっぱい。:2012/07/10(火) 15:04:00.62
今月はじめ、職場に古いパソコン(i486DX2の結構ローエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要がありハードパソコン系を採用するのは聞いていたの 
ですが、搬入されたパソコンのダンホール箱に印刷されていたのはPC-9801という 
文字でした。 

「うへぇ~、よりによって98かよ」 

NetBSD/OpenBSDインストール不可、Solarisも不可、SATA-HDDからブートできるのか、 
今時のLCDディスプレイにつながるのか、FreeBSD9.xは対応してるのか、 
今時のネットに繋いでもセキュリティ大丈夫なのか不安はつきませんし、 
非メジャーなのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初にそれに触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、唯一コンソールでの漢字ROMによる日本語表示ができたPC-98大学など 
教育機関に浸透していて、日本パソコン界に多くのバカを輩出しました。 

これから私は、おそらくそういうバカが、makeしてもemacsが入らない、 
TeXが入らない、firefoxは使えないのか、Rubyが使えないのかなどと、 
サバ管気取りの偏ったどうでもいい我侭を言い出し、(だから鯖にするんじゃねーよ、 
鯖の常識で話すなつーのに)それと戦わなければならないのでしょう。 
そして時代によって決着している、過去20年のパソコン界隈のくだらないそれらの 
議論が再現され、それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではPC/ATでもSPARCでもPA-RISCでも 
PowerPCでもなんでもいいですがメジャーかつ現行のマシンにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

Z80

http://toro.2ch.net/test/read.cgi/unix/992942337/737

737 :名無しさんお腹いっぱい。:2012/09/16(日) 16:27:31.40
今月はじめ、職場に新しい組み込みマシン(ファンレス結構省電力構成)が入りました。 
多分私が開発全般をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要があり、プログラムアセンブラを使用するのは 
聞いていたのですが、添付のサンプルソースコードからチラッと見えたのは 
LD A,(HL)という命令でした。 

「うへぇ~、よりによってZ80かよ」 

アドレッシングモード皆無、リロケート不可、使いにくいインデックスレジスタ、 
今時の関数引数スタック渡しに対応できるのか不安はつきませんし、 
今の若者はこんなCPU使わないので人材も少なくソフト開発も大変です。 
おそらく導入に際して、大学など教育機関最初Z80に触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、8bitCPUi8080上位互換i8085よりも多くのツギハギ命令を追加拡張した 
Z80大学など教育機関に浸透していて、日本CPU界に多くのバカが輩出しました。 

これから私は、おそらくそういうバカが、ADD A,(HL)はできるのにADD B,(HL)は 
できないのかとか、相対アドレスのCALL命令はないのとか、 
スタックフレームポインタとして使いたいのにLD HL,SPっていう命令ないじゃんとか、 
アセンブラ通気取りの偏ったどうでもいい我侭を言い出し(だからZ80使うんじゃねーよ) 
それと戦わなければならないのでしょう。そして時代によって決着している、 
過去30余年のCPU界隈のくだらないそれらの議論が再現され、それに巻き込まれるの 
でしょう。もう今からうんざりです。 

だからお願いです。教育現場ではi386でもi568でもi686でも 
x86_64でもなんでもいいですが現行のCPUにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

xinit

http://toro.2ch.net/test/read.cgi/unix/1011306728/134

134 :名無しさんお腹いっぱい。:2012/07/15(日) 14:17:53.53
今月はじめ、職場に新しいPC(Core i7結構ハイエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要があり、X Window System上のアプリケーションを 
使用するのは聞いていたのですが、OSを起動して黒いバックに白い文字だけの 
英語の画面に表示されていたのはlogin:というプロンプトでした。 

「うへぇ~、よりによってxinit方式かよ」 

CUIログインなんて古い、コマンド入力なんて古い、今の奴は日本語入力設定大丈夫 
なのか(XMODIFIERS)、今時のマルチシート環境対応できるのか不安はつきませんし、 
xinitユーザーが少ないのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初にxinitに触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、X11で唯一$HOME/.xinitrcを手書きするというCUI方法環境設定できた 
xinit方式は大学など教育機関に浸透していて、日本X11界に多くのバカが輩出しました。 

これから私は、おそらくそういうバカが、GNOME/KDEはどうやって起動するのか、 
ウィンドウマネージャを終了したらXごと落ちたとか、ck-xinit-sessionはないのか 
などと、X11通気取りの偏ったどうでもいい我侭を言い出し(だからxinit方式にするん 
じゃねーよ)それと戦わなければならないのでしょう。そして時代によって 
決着している、過去25年のX11界隈のくだらないそれらの議論が再現され、 
それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではgdmでもkdmでもwdmでも 
xdmでもなんでもいいですがグラフィカルなディスプレイマネージャにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

tcsh

http://toro.2ch.net/test/read.cgi/unix/1094041299/383

383 :名無しさんお腹いっぱい。:2012/07/12(木) 19:20:13.06
今月はじめ、職場に新しいPC(Core i7結構ハイエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要があり、制御コマンドとしてシェルスクリプトを 
使用するのは聞いていたのですが、そのファイルを開いて1行目に書かれていたのは 
#!/bin/tcshという文字列でした。 

「うへぇ~、よりによってtcshかよ」 

ファイル記述子のリダイレクト不可、クオートのネスティング等に無理あり、 
今の奴でさえシェル関数は使えないし、パイプラインの終了ステータスおかしいし、 
今時の担当者が扱ってセキュリティ大丈夫なのか不安はつきませんし、 
スクリプトとしてのcshは嫌われるのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初cshに触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、シェルで唯一aliasやhistoryやジョブコントロール機能が使えた 
csh大学など教育機関に浸透していて、日本シェル界に多くのバカを輩出しました。 

これから私は、おそらくそういうバカが、$*でスペース入りファイル名が扱えないとか 
$<でファイルから読めないのかとか、if文の条件式のコマンドリダイレクト 
できないのかなどと、シェル通気取りの偏ったどうでもいい我侭を言い出し 
(だからcshスクリプト書くんじゃねーよ)それと戦わなければならないのでしょう。 
そして時代によって決着している、過去25年のシェル界隈のくだらないそれらの議論が 
再現され、それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではbashでもzshでもkshでもashでも 
Bourne shでもなんでもいいですがBシェル系のシェルにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

続く。

2013-01-01

全てのwebエンジニアPython勉強するべき2013年到来

 

あけおめ!今年は巳年。へび。へびと言えばPython。そう今年は全てのwebエンジニアPython勉強する最高の環境が整った年なのです。

 

既にPerlRubyを習得してるけど、それに加えてPython必要

必要です!必要だと思います。もはやPythonwebエンジニアにとって必修言語となりつつあると思いますLinuxの多くの箇所でシステム言語として用いられ、可読性の高さから多くの技術書籍のサンプルコードとして用いられ、科学技術系分野におけるエコシステムの充実っぷりはますます磨きがかかっており、様々なライブラリがどんどん出てくる現状を「Pythonからいか自分には関係無い」と遠巻きに眺めるのはもったいないです。

 

習得するのにどのくらい時間かかるの?

あなたが既に他の言語に慣れ親しんでいるなら、特にRubyなどに精通していれば「1週間」で基本的な読み書きは出来るようになるでしょう。そのくらいPythonは敷居の低い言語です。またweb上のチュートリアルドキュメントが大変に充実していますので(もちろん和訳済み!)費用0円で勉強開始できるお手軽言語でもあります

 

バージョン2系と3系のどちらをやればいい?

これは大変に悩ましい問題で、自信を持ってお薦めできるバージョンが無いのが残念な現状です。2系と3系は特に文字コード周りを中心に言語体系にそれなりの差があり、日本語を扱うエンジニアにとっては悩ましい問題です。結論としては「どちらも読み書きできる」ようにした上で「3系で書く」ですかね。2と3の違いを理解しておかないと必ずどこかで躓きます特にweb上の情報はまだほとんどが2系ですが、ぱっと見て2と3のどちらのバージョンで書かれた情報なのかを判断できないと多くのweb上の情報を利用できずにもったいないです。

 

お薦め和書は?

先述しましたが和訳済みのチュートリアルが充実しているのがPythonの特徴でもありますので、まずは目を通す事をお勧めします。

・2系ドキュメントTOP

http://docs.python.jp/2/

・3系ドキュメントTOP

http://docs.python.jp/3.3/

・公式ドキュメントでは無いがお薦め(少し進んだトピックが中心)

http://www.doughellmann.com/PyMOTW-ja/contents.html

ぜひ超充実したドキュメント群を覗いてみてください。「チュートリアル」を読めばだいたいの言語仕様がつかめるはずです。「ライブラリリファレンス」はあなたの最高の辞書となるでしょう。

その上で、やっぱり書籍勉強したいということでしたら以下の本がお薦めです。

プログラミング自体が初めての人向け

Pythonスタートブック(辻 真吾)

・他言語を既に知っている人向け

みんなのPython 第3版(柴田 淳) ・・・2版と3版で大きく内容が異なります 2版はPython2系、3版はPython3系を中心に解説

・進んだトピックを扱う中級者以上向け

エキスパートPythonプログラミング(Tarek Ziade/和書)

 

IDEで楽したい

pythonはインデント存在があるので無機能エディタで大規模なコードを書くのは案外骨が折れます。贅沢系IDEの代表格はPyCharm(有料$99)でMac,Windows,Linuxの3プラットフォーム対応しており、一つのアカウントでいくつものマシンインストールできます(同時に使う事はできない)。30日間の無料トライアルもありますトライアル期間が過ぎても一回あたり(たしか)5分ぐらいなら継続して使えます無料IDEだとEclipseプラグインNetbeansあたりでしょうか。Netbeansは公式開発は既に終了しておりあまり安定していません。

 

色んなライブラリなど

ここからは雑多に箇条書き風にお薦めしていきますね。

webフレームワーク

大規模な開発ならDjangoが第一候補。歴史が長いフルスタックフレームワークですがまだ正式版がpython3系に対応していない。最近勢いがあるPyramidは3系に対応済み。各webフレームワークについては各開発者同士が「筋が悪い」「Pythonとしておかしい」「トレンドから3年は遅れてる」などとガチンコで思いの丈をぶつけ合っている以下の記事も参考にしてください。http://www.atmarkit.co.jp/news/201209/24/pycon.html

とりあえず最低でもDjangoPyramidは両方使ってみてから自分にあった方を選択するといいと思います

・Numpy/Scipy

科学技術系の人が好んでpythonを使う理由の一つがNumpy。数値行列計算を内部でCを使って計算するために非常に高速。インターフェイスは書きやすpythonだけども実行速度はCネイティブ並みというとてもありがたいライブラリです。現在Pythonの盛り上がりに間違いなく大きく影響しているライブラリ

・nltk

言語処理で使われるライブラリ英語ベースとなってますが工夫すれば日本語でも全然使えます。参考文献 http://nltk.googlecode.com/svn/trunk/doc/book-jp/ch12.html

・multiprocessing

並列処理ライブラリCPUマルチコアを全て使い切って無駄無く高速に処理を行いたい時に重宝します。個人的に大好きなライブラリ。頑張ればちょっとした分散並列システムも作れます。このライブラリのお陰で自宅にある10台*(擬似)8コアでお手軽python並列処理クラスタを30分ぐらいで作る事ができました。

以上です

楽しいですよpythonもっと日本pythonエンジニアが増えることを祈ります

巳年元旦

2012-12-28

http://anond.hatelabo.jp/20121228200309

CPUSoC)とフレームワーク進化計算すると、もうプログラマ技術はいらない、学生バイトでいい時代が来る。

そうなったばあい、1円でも安い人がいい。というだけ。インドが強いとかそういう事を言っていない。

インドでなくても1円でも人件費が安ければそこでいい。

50年後は、一般的なプログラマ職といまのアニメーター差分がない、そういう時代がきかねない。

そうなったら、大学を出ている必要性など無い。

 

しろ、たいていのプログラムがオートジェネレートぐらいないきおいになっていかねない。

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