タグ

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

  • DolphinエミュレーターとOpenGLドライバー、栄光と恥

    Official Dolphin Emulator Website - Dolphin Emulator and OpenGL drivers - Hall of Fame/Shame DolphinというGC/Wiiエミュレーターの開発者が、各種プラットフォームにおけるOpenGLの現状について気を吐いている。以下翻訳。 最近、NVIDIAとAMDが、グラフィックドライバーでLinuxをサポートするということが注目を浴びているが、我々は、Dolphinという、WindowsLinuxMacそして最近ではAndroidで動作するGameCubeとWiiのエミュレーターを開発するオープンソースのプロジェクトの経験から、現状を世界に知らせたい。 今年初め、Dolphin 3.5のリリースのあと、Markus Wick (degasus)とRyan Houdek (Sonicadvance1

    DolphinエミュレーターとOpenGLドライバー、栄光と恥
    rti7743
    rti7743 2013/09/29
    ケータイという不自由でガチガチな組み込みハードウェアの王者と、自由な開発環境という相反するものが出会ってしまったから。
  • 最悪のプログラミング言語、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
    rti7743
    rti7743 2013/09/03
    これってハンドアセンブルしてアセンブリ直書きしているみたいな状態だからこれはこれで仕方ないと思う。
  • KDE、あやうくレポジトリを失いかける

    Too Perfect A Mirror - Me, my blog, and my Johnson 追記:上記記事の全訳 の虫: KDEレポジトリ消失問題の記事の全訳:完璧過ぎるミラー 追記:この記事は上記のブログ記事にざっと目を通して素早く書いたものであり、詳細を欠く。上記の記事は全訳しているので、より正確で詳細な内容のために、目を通すべきである。 2013-3-22に、git.kde.orgをホストしている仮想マシンをセキュリティアップデートのために一旦落とした。アップデート後に復帰させてみると、ファイルシステムが壊れていたらしく、KDEの1500以上ものレポジトリが消えていた。 問題は、この問題が気づかれぬまま復帰したので、ミラーサーバーが誤りをそのままコピーしてしまったことだ。 ミラーは正しいバックアップではない。 とてつもなく幸運なことに、この問題が起こる一日前、ミラーサーバ

    rti7743
    rti7743 2013/03/26
    そもそもミラーだとバックアップになっていないしな。
  • ソニー、KDEの画像を絶賛著作権侵害中

    Sony Pirates KDE Artwork | blogs.kde.org 音楽CDにルートキットを仕込み、プレイステーションというデジタル制限管理機能付きの所有者が管理者権限を取得できない制限コンピューターを販売している企業であるソニーのWebサイト上で、KDEのシステム設定アイコン用のレンチとマイナスドライバーを組み合わせたLGPL3でライセンスされている画像が使用されている。また、ソニーのコンピューターのUEFIファームウェアにも、このKDEの設定アイコンが使われている。しかし、Webサイトの利用規約には、Webサイト上には、LGPL3ライセンスのことは一切言及せず、またWebサイト上の商標、著作権、その他所有権を侵害した場合には、民事、刑事上の責任を負うと書かれている。 また、ソニーのWebサイトの利用規約には、「このサイトへのいかなるリンクにも、事前に許諾が必要である」とし

    rti7743
    rti7743 2013/02/22
  • NetBSDカーネルがLuaをサポート

    江添亮 自由ソフトウェア主義者 C++ Evangelist C++標準化委員会の委員 ドワンゴ社員 C++11を執筆した。 株式会社ドワンゴで働いている。 Mail:boostcpp@gmail.com Twitter:@EzoeRyou GitHub: https://github.com/EzoeRyou 江添亮のマストドン@EzoeRyou 筆者にブログのネタを提供するために、品物をアマゾンお気に入りリスト経由で送りたい場合: Amazon.co.jp: 江添亮: 江添のほしい物リスト 筆者にブログのネタを提供するために、直接に品物を送りたい場合、住所をメールで質問してください。 View my complete profile ► 2020 (31) ► December (2) ► November (2) ► September (2) ► August (4) ► Jul

    rti7743
    rti7743 2013/02/17
    V8とかでjavascriptもサポートして欲しい
  • UbisoftのDRMにバックドアがある件

    Full Disclosure: Re: AxMan ActiveX fuzzing <== Memory Corruption PoC どうも実証されたようなので書くことにする。 UbisoftのゲームとともにインストールされるDRMは、ブラウザのプラグインをインストールする。そのプラグインには、バックドアか、あるいは想像を絶する阿呆の手によるセキュリティーホールが仕掛けられている。 OBJECT要素のtypeプロパティを"application/x-uplaypc"とすると、その要素のopenというプロパティを関数呼び出しして、BASE64でエンコードしたパスを与えることによって、パスで指定された任意のファイルを実行できる。 もちろん、著作権に関する世界知的所有権機関条約と国内法の整備により、DRMを回避するのは違法である。ゆえに、Ubisoftのゲームを遊ぶ人間は、いかにバックドアが

    rti7743
    rti7743 2012/07/31
    セキュリティホールを抱えたままシステムを運用するゲームがおまけでついてくると思えばOK。ゲーマーの人たちは良かったね。
  • 実名で悪質なコメントは防げない

    Surprisingly Good Evidence That Real Name Policies Fail To Improve Comments | TechCrunch YouTubeが悪質なコメントを防ぐために実名を強く推奨しだしたそうだが、実名を強制したところで、悪質なコメントや犯罪の防止には全く役に立たない。これはすでに現実に行われた例がある。 韓国では国民全員にユニークなIDを振り、PV数が10万を超えるサイトには、必ずそのIDを使わせる、すなわち実名にすることを義務付けた。 しかし、この法律が行われた韓国で、悪質なコメントは減ったかというと、実は増えたのだ。 Empirical Analysis of Online Anonymity and User Behaviors: The Impact of Real Name Policy 実名を強制したことで、わざわざIDの

    rti7743
    rti7743 2012/07/30
  • DNSの終焉が垣間見える、ぶっ飛んでて危険すぎるお名前.comの検閲事件

    忍者ツールズ全サービスが表示不可となる障害につきまして | ドメイン取るなら お名前.com ドメイン取得 年間280円~ 忍者TOOLSは、お名前.comというドメイン名レジストラにninja.co.jpのドメイン情報を管理させていた。忍者TOOLSは、ninja.co.jpというドメインを、自社の様々なサービスに使っていた。そのサービスは、忍者TOOLSのユーザーが使うものである。 さて、お名前.comの主張では、忍者TOOLSのユーザーがお名前.comの規約違反を起こしたために、ユーザーの規約違反は、すなわちそのユーザーのサービス提供元の規約違反であるとし、事前の協議や警告すらなしに、一方的にninja.co.jpのドメイン情報を消したそうだ。 これは恐ろしく危険な事件である。問題は、DNSが階層的な中央管理をされたシステムである以上、この問題は仕組み上どうしようもないという事である

    rti7743
    rti7743 2012/07/16
  • Twitterで引用拒否を主張する愚

    まず、「引用」は著作権の制限を受けるものであり、許諾なく行える行為である。 ところで、それ以外にも、Twitterとの契約がある。Twitterによってtweetするということは、Twitterとの契約に同意しなければならない。 Twitter / Twitter Terms of Service これを読むと、明らかに、Twitterは、ユーザーが投稿されたtweetに対して、ユーザーの投稿を利用するにあたって、著作権の保護を受けるあらゆる権利の許諾を受ける。その許諾は、Twitterの利用にとどまらず、Twitterの協力相手にも提供されるとある。 たとえば、TwitterはRetweetという機能を提供している。当然、ユーザーがTweetするからには、retweetの許諾を与えることに同意しているはずである。Twitterは、Tweetを外部に埋め込むためのHTMLスニペットと、その

    rti7743
    rti7743 2012/06/05
  • 60%の人間はプログラミングの素質がない

    Coding Horror: Please Don't Learn to Code Please Understand Learning to Code Coding Horrorで有名なJeff Atwordが、ある州知事が今年の目標としてプログラミングを習得することを挙げていることに対し、そもそも税金を払う我々市民は、政治家にはプログラミング習得以上に重要な、政治家にしかできない問題の解決を望む、よってプログラミングを学ぶのをやめてくれという記事を書いた。これに対して、反論が多数上がっているが、Jeffも読んでいるある論文をあげて、この議論の参加するためには、必ずこの論文を知っておくべきであると書いた人がいる。この論文は有名で、非常に興味深いので、全プログラマーが読むべきである。 ふたこぶラクダという名前で知られている有名な論文がある。この論文では、60%の人間にプログラミングの素質が

  • 本の虫: プリンスオブペルシャのソースコードを救ったギーク達

    The Geeks Who Saved Prince of Persia's Source Code From Digital Death | Game|Life | Wired.com プリンスオブペルシャのオリジナルのソースコードが発掘され、GitHubで公開されたことは記憶に新しい。しかし、その裏話はしっているだろうか。昔の電磁的記録のサルベージがいかに難しい作業であるか、認識しているだろうか。wired.comですばらしい記事がでたので、翻訳する。 WiredのGus Mastrapaはロサンゼルスで、ゲーム史に残る重要な財産を発掘する作業に立ち会った。 Jordan Mechnerは何でも保存してきた。 彼は、兄弟が近所で飛び跳ねる様を撮影した1985年に撮影したビデオテープを保存している。この動画から、彼はApple IIのPrince of Persiaのアニメーションを作成

  • オリジナルのプリンスオブペルシャのソースコードがgithubで公開された

    C++11の参考書、アマゾンお気に入りリストを公開中。 アマゾンの江添のほしい物リスト C++11の参考書、C++の文法と機能をGitHubで公開中。詳しくは、の虫: C++11参考書の公開:C++11の文法と機能を参照 GitHub: EzoeRyou/cpp-book レポジトリのzipダウンロード GitHub Pageで閲覧:C++11の文法と機能 江添亮 自由ソフトウェア主義者 C++ Evangelist C++標準化委員会の委員 ドワンゴ社員 C++11を執筆した。 株式会社ドワンゴで働いている。 Mail:boostcpp@gmail.com Twitter:@EzoeRyou GitHub: https://github.com/EzoeRyou 江添亮のマストドン@EzoeRyou 筆者にブログのネタを提供するために、品物をアマゾンお気に入りリスト経由で送りたい場合

    rti7743
    rti7743 2012/04/17
    おーーー
  • ハードウェアの信用

    The Invisible Things Lab's blog: Trusting Hardware 少々古いが、面白かったので紹介する。 なるほど、君はパラノイアにとりつかれているんだね。自分のマシンでは、LinuxとかGNUとかのオープンソースなソフトウェアしか走らせたくないってわけね。やろうと思えば、全ソースコードを自分の目で検証可能だって安心してるわけか(実際やらないんだろうけどさ)。パラノイア病がもっと進行してきて、オープンソースなBIOSとかにまで手を出し始めちゃった。バカな奴らがWindowsみたいなクローズドソースのシステム使ってるなんて訳がわからないよ。とまあ、こう満足してるわけだよね。 でーも、所詮そこまでなんだよね、君は。だってまだハードウェアを信用しなきゃならないでしょ。ハードウェアベンダーが、ネットワークカードのマイクロコントローラーにバックドアを仕込んでないこと

    rti7743
    rti7743 2012/03/04
    面白いww コンピュータ以外だって、住んでいる家の壁に盗聴器があるかもしれないし、コンセントに録音マイクがあるかもだし、道を歩いても監視衛星から監視されているかもしれない。攻めるより守る技術は難しい
  • C++におけるoverloadとoverrideとhiding

    2chC++相談室で、色々と議論が巻き起こっているようだ。少なくとも一人は、規格を参照しているようである。C++の規格上の、overloadとoverrideとhidingについて、分かりやすくまとめてみた。オーバーロードとオーバーライドは、単に音訳した際に、日人にとって音が非常に似ているという問題に過ぎないのだが。 同じ名前で、他のシグネチャの違う関数セットのことを、関数のオーバーロード(overload)という。 void f(int) ; void f(double) ; この例では、void f(int)とvoid f(double)は、オーバーロードされた関数のセットである。 Derived classがBase classと同じvirtual関数を宣言しているとき、Derived classのvirtual関数は、Base classの同virtual関数を、オーバーライド

    rti7743
    rti7743 2011/03/07
  • gccにconstexprが実装された

    GCC 4.6に、constexprが実装された。constexprについては、特に難しいことはない。単に、関数やクラスを、コンパイル時定数にできるというだけの話である。ともかく、せっかくなので使ってみる。この機能は、細々と解説するより、実際にコードを示したほうが分かりやすいであろう。 まずは、constexprな変数である。 int main() { constexpr int a = 0 ; // OK int value = 0 ; constexpr int b = value ; // エラー const int c = value ; // OK } constexpr指定された変数は、必ずコンパイル時定数になる。変数の初期化子は、定数式でなければならない。constとの違いは、constはコンパイル時定数でなくてもよいのである。constは、初期化子が定数式の場合、定数式にな

  • 本の虫: 多くのプログラマは言語を表面的な理解だけで使っている

    一般のプログラマの多くは、プログラミング言語というものを、ごく浅い表面的な理解だけで使っている。これは、いわゆる「入門書」によるところが大きい。入門書は、言語をできるだけパターンで教えようとする。かくかくしかじかの場合には、とらとらうまうまのように書いておけばいい、などといった具合だ。 たとえば、配列の全要素や、aggregateの全メンバーをゼロで初期化したいとする。多くのC++プログラマは、以下のように書く事であろう。 int a[100] = {0} ; このコードは、正しく動く。配列aの要素は、すべてゼロで初期化される。しかし、C++という言語を考えた場合、{0}と書く必要はない。空の{}で十分なのである。 int a[100] = {} ; では何故、多くのC++プログラマは{0}と書くのか。それは、多くの参考書が、そのように書いているからに過ぎない。大多数のC++プログラマは、

  • 今まで知らなかったswitch文の仕様

    switch文に指定する文は、ブロックでなくてもよい。 int main() { // OK switch(0) ; // OK switch(0) default : std::cout << "hello" << std::endl ; } もちろん、ラベル文がたったのひとつしか書けないので、実用上の意味はない。ブロックでなくてもいいとは知らなかった。てっきり、ブロックを指定するものだと思っていた。知らなかった。まあ、知っていても、全く役に立たない知識ではある。 追記:コメントを素直に実装するとこうなる void f( int const value ) { int i = 0 ; switch( value ) for ( ; i != 10 ; ++i ) { case 1 : case 2 : std::cout << "value is 1 or 2" << std::endl

    rti7743
    rti7743 2010/07/17
    すげぇ。。。
  • deleted定義

    Twitter / digitalghostの妹: int f(int); int f(double) ... おお! void f( int ) {} void f( double ) = delete ; int main() { f(0) ; // OK f(1.0) ;// error } これはすごい。いままでまったく気がつかなかった。よく見たら、deleteは、Deleted definitionsという名前であった。Explicitly-defaulted functionsとは、名前からして明確に異なるのである。素晴らしいことに、deleted定義を指定できる関数に、制限はない。つまり、メンバー関数である必要すらない。 なぜ、いままでメンバー関数にしか使えないという思い込みをしていたのだろう。これは素晴らしい。 ちなみに、こういうこともできる。 void f( int )

    rti7743
    rti7743 2010/04/30
  • 本の虫: 俺はCDを買ったんだ。ライセンスには同意してない

    I Bought a CD, not a Licensing Agreement - Everything Random Diggで話題になっていて、面白かったので翻訳。 この前、私はCDを買った。私は店に入り、目当てのCDを見つけ、カネを払い、店を出た。私は一度も、ライセンスに同意して署名することを求められてはいない。ソフトウェアによくある、購入後のライセンスへの同意もないのだ。単に、モノに対してカネを払っただけだ。 「違う」と音楽業界はわめく。「あなたは署名してはいないし、我々には証明することもできないが、ライセンスに縛られているのだ」と。 まあいい。仮に今、私が今まで買ったすべてのCDに対する、個人利用のライセンスを持っていたとしよう。私は、それを利用できるのだから、いいことだ。私が10年前に買った、あるCDは、傷がついていて、五つの音楽が再生できなくなっている。幸運なことに、この問