タグ

ブックマーク / cpplover.blogspot.com (73)

  • OpenGLドライバー品質の実情

    Rich Geldreich's Blog: The Truth on OpenGL Driver Quality の虫: OpenGLでムカつくことに引き続き、Valve社員のRich Geldreichが、OpenGLドライバーの品質について嘆いている。 製品の対象顧客が極めて限定された実行環境でもないかぎり、まともなGL開発者は、ドライバーの実情にぶち当たる。(今、あるいは来年までに製品を実際に出荷しなければならない場合、このドライバーとやりあわねばならないのだ。単にお家で趣味プログラミングしてるだけなら、この手の現実問題と向き合う必要は多分ないだろう) D3Dしか使ったことがないのならば、覚悟しておいたほうがいいだろう。というのも、Windows/Linux用のGLドライバーはあまりにも多岐にわたるからだ。以下が、筆者の現在のドライバー品質についての意見だ。 ベンダーA ほとんど

    knjname
    knjname 2014/05/19
  • Google翻訳には秘密の特別版があるのか?

    Does Google Have A Secret "Google Translate" Service? 公に公開されているGoogle翻訳と、GAndroidChrome用のソフトウェア流通サイトに組み込まれているGoogle翻訳機能は、翻訳精度が違うというお話。 GoogleGoogle翻訳は、おそらくオンライン翻訳サービスの最大手と言えるだろう。Googleは、このサービスを使って自動翻訳コンテンツを生成してオンライン上に公開するスパマーと戦っている。 このため、Google自身が自動翻訳コンテンツの利用者だというのは、驚きに値する。まず最初に気がついたのは、Google Playで、アプリ説明に自動翻訳を付けたことだ。後にChrome Web storeでも同様になった。 さらに興味深いことに、この翻訳はほぼ人間のように見えることだ。少なくとも、Google翻訳オンラインの結

    knjname
    knjname 2014/05/04
  • OpenBSDが2014年度の寄付金目標額に到達したため、文字通り腐敗したサーバーインフラを再構築できるようになった

    OpenBSDが2014年度の寄付金目標額に到達したため、文字通り腐敗したサーバーインフラを再構築できるようになった OpenBSDが電気代を払えないほどの資金難に陥っていることはすでに報告した。その後、寄付が集まり、OpenBSDは持ちこたえた。さて、今回、OpenBSDの寄付金額が、今年の目標に達したそうだ。 'OpenBSD Foundation 2014 Fundraising Campaign.' - MARC List: openbsd-misc Subject: OpenBSD Foundation 2014 Fundraising Campaign. From: Bob Beck <beck () openbsdfoundation ! org> Date: 2014-04-10 16:23:41 Message-ID: 20140410162340.GA15909 ()

    knjname
    knjname 2014/04/13
    オーガニックなインフラ / “本の虫: OpenBSDが2014年度の寄付金目標額に到達したため、文字通り腐敗したサーバーインフラを再構築できるようになった”
  • ギークハウス新宿二丁目

    最近東京に出てきた筆者は、自らシェアハウスにすみ、またシェアハウス巡りをしている。今回は、ギークハウス新宿二丁目に伺った。 当日は、たまたまギークハウス新宿に飲みによばれたのであった。仕事帰りに向かったのだが、筆者はたまたま、妖怪ハウスに必要なゴミ箱を六箱も抱えていたため、上腕を疲労させながら新宿まで向かった。ギークハウス新宿で飲んでいたところ、場の流れで、ギークハウス新宿二丁目に向かうことになった。 ギークハウス新宿二丁目は、名前通りに、新宿二丁目に存在する。新宿二丁目というのは、ゲイバーが立ち並ぶところであるらしい。 新宿二丁目 - Wikipedia 実際に現地を観察した所、たしかにゲイバーが多かった。 ギークハウス新宿二丁目は、ゲイバーも入っている雑居ビルの上の階に存在した。どうやら、エレベーターが設置されていない雑居ビルの上層階というのは、客が入りづらく、なかなか借り手がいないら

    knjname
    knjname 2014/04/01
    いつまでも俗に染まらないで欲しい / “本の虫: ギークハウス新宿二丁目”
  • なんでGCCはa*a*a*a*a*a を (a*a*a)*(a*a*a) に最適化できないの?っと

    c - Why doesn't GCC optimize a*a*a*a*a*a to (a*a*a)*(a*a*a)? - Stack Overflow 俺は科学技術計算の数値計算の最適化をしてたんだけどさ。GCCはpow(a, 2)をa*aにしてくれるんだな。うん。で、pow(a, 6)は最適化されずに、ライブラリ関数であるpowを呼んじゃうんだ。パフォーマンス的に最悪。(Intel C++ Compilerはpow(a,6)のライブラリ関数呼び出しを消し去ってくれるんだけどな) どうもよくわからんのが、pow(a, 6)をa*a*a*a*a*aで置き換えて、GCC 4.5.1をオプション"-O3 -lm -funroll-loops -msse4"で使ったら、mulsd命令を5個使う。 movapd %xmm14, %xmm13 mulsd %xmm14, %xmm13 mulsd

    knjname
    knjname 2014/03/29
    浮動小数点の演算は言語のマニアックな知識として必ず出てくる気がする / “本の虫: なんでGCCはa*a*a*a*a*a を (a*a*a)*(a*a*a) に最適化できないの?っと”
  • SPAMは意外とうまい

    妖怪ハウスにSPAMが送られてきたので、ゴーヤチャンプルとSPAM MUSUBI(SPAMを挟んだ海苔巻き)を料理した。 うまい。これはうまい。SPAMがすでに塩分が多いということで、塩を使わなかったのだが、この塩味がちょうどいい。 なんと、筆者は今まで、SPAMの価値をバカにしていた。はるかに多い目方の肉が、より安く変えるこの日で、SPAMというのは無用の長物だと思っていた。あんなものは味のわからないイギリス人とアメリカ人のべ物だとばかり思っていた。しかし、この塩味は米とよく合う。 そしてゴーヤだ。筆者は今までゴーヤをべたことは一度もなかった。ゴーヤというのは、見るからに固そうで、どう料理していいかわからず、買うのを避けてきた。今回、ゴーヤチャンプルを作るために買ったのだが、これがうまい。苦くてうまい。薄切りにして炒めると実にうまい。 そして、SPAMとチーズとアボガドを挟んだ海苔

    knjname
    knjname 2014/03/22
    今度食べてみるかな。 / “本の虫: SPAMは意外とうまい”
  • みずほ銀行の信じられない契約軽視姿勢

    仕事のため、みずほ銀行の個人の口座を作る必要があったのだが、その銀行口座を解説する手続きで、対応にあたった行員が、極めて信じられないほどに契約というものを軽視していた。 みずほ銀行に口座を開く手続きのために、書類に必要な事項を記載し、署名捺印となった。行員は捺印の二箇所を私に指示した。一箇所は単に捺印するだけであったが(法的にも、印鑑は署名の代わりに補助的に用いることができるだけの極東の奇妙な風習である)、もう一箇所には、「私は規約に同意しました」的な文面があった。 はて、これはなんだろう。 私「すみません、これはなんですか」 行員「そこに押してください」 私「いえ、この規約ですが、これはどこにあるのですか」 行員「それでしたら裏にあります」 なるほど、裏にかかれていた。その規約を確認すると、みずほ銀行は私の個人情報を、市場調査などの統計解析のために使うことができるし、ダイレクトメールを送

    knjname
    knjname 2014/03/18
    契約軽視されてるからこそ理不尽な契約にちゃぶ台できるようになっているとも考えられる(ソース無し) / “本の虫: みずほ銀行の信じられない契約軽視姿勢”
  • 1/9998 = 0.0001 0002 0004 0008 0016 0032 0064 0128 0256...

    1/9998 = 0.0001 0002 0004 0008 0016 0032 0064 0128 0256... \(\frac{1}{9998}\)は、4桁で2^13まで2の累乗のパターンが出現する。 \[\frac{1}{9998} = 0.0001\;0002\;0004\;0008\;0016\;0032\;0064\;0128\;0256\;0512\;1024\;2048\;4096\;8193\;6387\;\cdots\] Hacker Newsによれば、これは以下のような理由による。 The pattern will break down once you get past 8192, which is 2^13. That means th\cdots | Hacker News このパターンは8192を超えると破れる。つまり、このパターンはすごいことに52桁も継続

    knjname
    knjname 2014/01/30
  • 技術屋にMac使いが多い理由ってなに?

    技術屋にMac使いが多い理由ってなに? : IT速報 答え:お手軽なUNIX互換環境だから。 今、個人が使うデスクトップやラップトップ用のOSとして、実用的なものに、GNU/Linux, Windows, Mac OS Xがある。読者の中には、FreeBSDも十分に実用的だと主張する者もいるかもしれないが、少数派だろう。 もちろん、サーバーや組込み用途には、その用途に合わせて別のOSが使われている。しかし、プログラマー個人が使うコンピューター用のOSは、圧倒的にMac OS Xである。これはとても残念なことだ。なぜならば、Macは不自由なソフトウェアで、しかもその動作するコンピューターまで、技術的な理由がなく制限されているからだ。 UNIX互換環境を必要とする理由としては、既存のPOSIX互換環境向けに書かれた有用なツールがとても多く、プログラマーはなんとしてもそのツールを使いたいのだ。

    技術屋にMac使いが多い理由ってなに?
    knjname
    knjname 2013/11/18
    本当にこういう理由だわ。まともなUnixはOS X。OS XでUNIXになってなかったら今の人気はまずない。設定ファイルをしこしこ書き換えたいのは業務のCUIでしか話さないサーバだけだわ。 / “本の虫: 技術屋にMac使いが多い…”
  • Jenkinsの開発者、間違えて一ヶ月前のローカルレポジトリをgit push --forceしてしまう

    Jenkinsの開発者、間違えて一ヶ月前のローカルレポジトリをgit push --forceしてしまう Jenkin developers accidentally do "git push --force" to over 150 repos on github | Hacker News Jenkinsの開発者、Luca Milanesioによって、Jenkinsの多くのgitレポジトリに対してpushが行われた。不思議なことに、pushをしたというのに変更点はほとんどみられない。一体ルカは何をやったのだ。 Dominik Bartholdi やあみんな、とくにルカ。 昨日、GitHub上のJenkinsの多くのレポジトリ(50以上)に、なにか変なことが起こった。 どうやら、Luca Mmilanesioが、何の変更もないのに、たくさんのたくさんのレポジトリにpushしたらしいのだ。

    knjname
    knjname 2013/11/12
  • 自由なGPUプロジェクト、またもや失敗

    [Phoronix] It Looks Like The Open-Source GPU Will Fail Again Open Source Graphics Processor (GPU) by Francis Bruno — Kickstarter Silicon Spectrumという会社が、FPGA上で2DのGPUを実装し、さらなる改良や3D機能の実装のために、三週間前からKickStarterでクラウドファンディングを募っていた。なんでも100万ドルの出資金が集まれば、さらなる改良もするし、ソースコードをLGPLv3で公開もするという。 先月の9日から始まっているので、今日で開始から25日目、締め切りまであと19日。今のところ集まったのは、たったの12440ドルだ。100万ドルには2桁も足りない。残りの98万ドルをポンと出す変人が19日以内に現れない限り、失敗する。 理由は色

    knjname
    knjname 2013/11/04
    そもそも土台の貨幣が不自由ですからね… / “本の虫: 自由なGPUプロジェクト、またもや失敗”
  • 日本語のC++参考書の行く末

    C++11の参考書をGitHubで公開したことはすでに発表した。 GitHub: EzoeRyou/cpp-book GitHubからzipでダウンロード GitHub Pagesでの閲覧:C++11の文法と機能 の虫: C++11参考書の公開:C++11の文法と機能 私はもう時間切れで、三週間後にはインターネット接続はおろか、コンピューターすら失う身だが、日語のC++参考書の行く末について案じてみたいと思う 日では、全国どこでも日語が通じる。日にいる限り、日語以外の言語を使う必要がない。法律の書かれている言語から日常生活の言語から教育で使う言語まで、すべて日語で行われている。 これは、凄いことでもあるが、悲劇でもある。日人は英語を学ぶ必要性を実感できないのだ。にもかかわらず、プログラミングは、英語を必要とする。 英語は、文法的にはあまりよろしくない言語である。例外的な文法

    knjname
    knjname 2013/10/28
    ある程度以上情報を求めているエンジニアは実情英語に精通せざるを得ないというところで、ある域を越した情報はますます日本語での需要が下がるのではないかと思いました。 / “本の虫: 日本語のC++参考書の行く末”
  • GNU Make 4.0にGNU Guileが組み込まれた

    GNU Make 4.0 released GNU Make 4.0がリリースされた。 今回のリリースでは、GNU MakeはSchemeの実装であるGNU Guileを組み込んだ。これにより、Makefileの中でSchemeが書けるようになる。 その機能は、GNU Make ManualのGuile Functionの項目で説明されている。まだ、オンライン版のGNU Make Manualが2010年から更新されていないので、コミット時のドキュメントの差分のリンクする。 8.13 The `guile' Function 具体的な組み込み方法としては、make側にguileという関数が追加され、この引数に文字列を与えると、SchemeとしてGuileで処理されるようになる。おそらく、このように。 Hello.o : $(guile (string-append "hello" ".c"

    knjname
    knjname 2013/10/10
    Schemeの中でMakefile書かせろよ → 途中省略 → Leiningen!(デデーン!) / “本の虫: GNU Make 4.0にGNU Guileが組み込まれた”
  • Gentooを最速でブートせよ

    Patrick's playground: October 2013 Archives KVM上のVMで、Gentooをひたすら短時間でブートして、haltさせる試み。 BOOTING FAST(ER) (より)高速に起動 日、筆者は積年の疑問を解決すべく遊んだ。どのくらい速く、KVM上のVMでブートして、haltできるのか。 そこで、この実験のため、CPUの速度を最低の1.4GHzにした。そうでなければ面白くないだろう。目標は、KVMのVM上のGentoo/amd64を、十分に短い時間でブートして、haltすることだ。 rootファイルシステムはsquashfsにした。最初に行った1GBのext4ファイルシステム vs squashfsでは、fsck+mountというありがた迷惑のため、5秒の差がでたからだ。うへぇ。stage3を展開し、いくつか設定をして(デバッグのためにログインした

    knjname
    knjname 2013/10/10
    これぐらい速いと携帯端末のホームボタン押下に匹敵できるねw / “本の虫: Gentooを最速でブートせよ”
  • どこまで行けば人間ではなくなるのか

    歯医者で、5年前に根管治療をしたところを、再び掘り返して再治療している。ひどく痛む。出された痛み止めを飲んだが、なかなか効かない。痛みを紛らわすために、駄文を書くことにする。 人間と非人間の境目について考えている。 人間はすでに、様々な方法で肉体に非人間的な拡張を施している。たとえば、メガネは視力を補強し、義歯は失われた歯を補強する。また、腕時計は人間に正確な時間感覚を与えてくれる。 このような拡張を施すと、もはや人間ではなくなるのだろうか。また、たとえ人間であるとしても、以前の人格とは異なる知的存在になるのだろうか。ここまでの拡張で、人間が人間ではなくなると主張する者はいない。 では、失われた手足のかわりに義肢を装着したら、人間ではなくなるのだろうか。その義肢が生身の人間以上の性能を持ち、素手でコンクリートを粉砕し、時速40kmで走れるようになったとしても、やはりまだ人間で、もとの人間と

    knjname
    knjname 2013/09/29
    意識のソフトプロブレム / “本の虫: どこまで行けば人間ではなくなるのか”
  • なぜいまだにコミケを開くのか

    この日には、「コミケ」という慣習的な催しがある。私は行ったことがないし、よく知らないのだが、何でも年二回ほど、東京のビッグサイトとかいう施設を貸しきって行われているそうだ。 聞くところによると、この「コミケ」では、「同人」と呼ばれる、手作りの作品(多くはマンガであるが、小説やソフトウェア、彫刻、あるいは独自のプリントがされたシャツやキーホルダーなどといった作品もあるそうだ)を展示し、また販売しているそうだ。この作品の質は玉石混合で、中にはプロの印刷屋に依頼して美しい印刷製の作品もあれば、普通のプリント用紙に個人用の簡易なプリンターで印刷して、ステイプラーで止めただけといった作品もあるそうだ。 大多数の作品は、後者のような簡易的な個人製作のもので、その価格も、原価程度だそうだ。 聞くところによると、この「コミケ」は、大変有名な催しで、全国から人間が一斉に一箇所に集まり、開催地はさながら芋

    knjname
    knjname 2013/09/08
    ある部分の人たちにとっては事実だし、そういう人たちにとってはオンライン配布で済むっちゃ済む。 / “本の虫: なぜいまだにコミケを開くのか”
  • 最悪のプログラミング言語、BANCStar

    Following is the email I received from Google for this article. This is so unhelpful to identify the cause. After carefully reviewing the article, I found one URL that was flagged to contain malware(probably usual old domain expired and purchased by other problem) so I removed that link. Please review and re-publish this article. I hope Google's flagging system tells me why it trigger the flagging

    最悪のプログラミング言語、BANCStar
    knjname
    knjname 2013/09/02
    今現在当たり前になっている関数とかの道具にありがとうと言いたくなる… / “本の虫: 最悪のプログラミング言語、BANCStar”
  • LinuxカーネルのMLにおける悪口の励行についての議論勃発

    Linuxカーネルのメーリングリストは、常に罵詈雑言に満ち溢れているが、そういうのは辞めて大人になろうという主張がSarah Sharp[1]によってなされた。なかなか面白い。 きっかけは、いたって日常的な罵倒混じりの議論に、Sarah Sharpが横槍を入れたところから始まった。 LKML: Sarah Sharp: Re: [ 00/19] 3.10.1-stable review On Fri, 12 Jul 2013 18:17:08 +0200, Ingo Molnar <mingo@kernel.org> wrote: * Linus Torvalds <torvalds@linux-foundation.org> wrote: On Fri, Jul 12, 2013 at 8:47 AM, Steven Rostedt <rostedt@goodmis.org> wrote

    knjname
    knjname 2013/07/17
    高木先生がおフェラ大会とか言ってたらリーナスさんになるんですかねえ… / “本の虫: LinuxカーネルのMLにおける悪口の励行についての議論勃発”
  • 昔の日本語ゲームの伝説的クソ英語翻訳

    Legends of Localization むかし、日ゲーム用制限コンピューター市場を独占していた頃、アメリカの子供たちは日産のゲームの伝説的なクソ翻訳に悩まされていた。"All your base are belong to us"のような伝説的なクソ翻訳は有名だが、そこまでは知られていなくても、やはりひどい翻訳は大量にあるものだ。 さて今、当時のクソ翻訳は、実際には何だったのかという事を、オリジナルの日語版と翻訳版を比較しつつ解説しているWebサイトがある。主にファイナルファンタジーが充実しているようだ。残念ながら、私はファイナルファンタジーはやっていないので、いまいち面白さはわからないが。 Final Fantasy IV: Mist « Legends of Localization たとえば、ファイナルファンタジーIVには、「ミストのどうくつ」というダンジョンがあり、

    knjname
    knjname 2013/06/29
    仕事でこんな英語が大量製造されているのを見ています
  • UNIX風OSで同じプログラムの複数起動を防ぐ方法

    若い頃、OSに不自由なWindowsを選んでしまったがばっかりに、今GNU/Linuxに移って、UNIXの流儀を飲み込むのに苦労している。 さて、UNIX風OSで、同じプログラムの複数起動を防ぐ方法は、一体どうやって実装すればいいのか。 クローズドソースのWindowsならば、ある決められた名前付きのカーネルオブジェクトを作成すればよい。カーネルオブジェクトはいくつも種類があるが、なんだっていい。カーネルオブジェクトの作成はアトミックに行われる。すでに同じ名前のカーネルオブジェクトが存在する場合、その情報も伝えられる。これにより、すでにカーネルオブジェクトが作成されたかどうかがわかり、重複起動も判断できる。プロプライエタリなWindowsのカーネルオブジェクトはリファレンスカウントされており、参照するプロセスが存在しなくなった時点で破棄される。そのため、プロセスがクラッシュしたり外から強制

    knjname
    knjname 2013/06/09
    pidファイルつくるのメジャーだけど、自分だけで扱う系だとps -ef | grep とかそんなん多いんじゃないんですかねえ