タグ

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

  • Walter BrightによるEric Engstromの思い出話

    DirectXの作者の一人であるEric Engstromが死去した。これにことよせてD言語のWalter Brightが思い出話を書いている。 I've known Eric since around 1985 or so when he came to work at Data I/O. Our fr... | Hacker News Ericは1985年から知り合いだった。Data I/Oで働いていた頃だ。次第に疎遠になっていったが、あいつは常に特別なやつだった。 今となっては私しか覚えていないであろう思い出話をひとつしてやろう。いつ思い出しても笑えるし、まさにあいつらしい話だ。 あいつが1991年か92年あたりにMicrosoftで働いていた頃、問題を抱えているマネージャーがいた。アセンブリ言語で書かれたプログラムがあった。5万行ほどのサイズだ。プログラムには修正すべき不具合があっ

    masterq
    masterq 2020/12/15
    "理解してない。Walterの逆アセンブラーを使ってバイナリを逆アセしただけだ。" かっこいい。見習いたい
  • 検出不可能なゲームのチートが発表、今後のオンラインゲームのデザインはこのチートを前提に設計しなければならない

    検出不可能なゲームのチートが発表、今後のオンラインゲームのデザインはこのチートを前提に設計しなければならない PCILeechというソフトウェアスタックがある。 ufrisk/pcileech: Direct Memory Access (DMA) Attack Software これはPICeデバイスを使ってターゲットコンピューターのメモリをDMAで読み取るためのPCIeデバイスのFPGAの実装とその操作のための一連のソフトウェア群だ。 原理は簡単だ。ターゲットコンピューターのPCIeスロットにつないだPCIeデバイスからDMAをするだけ。これによりターゲットコンピューターのメモリ領域を読み取ることができる上、ターゲットコンピューターからは検出不可能だ。なぜならばDMAはCPUを介さずに行われる上、ターゲットコンピューターにカーネルスペース/ユーザースペースともに追加のコード実行を必要と

  • gitの10周年を記念したLinus Torvalsへのインタビューの翻訳

    10 Years of Git: An Interview with Git Creator Linus Torvalds | Linux.com gitの10週年を記念して、リーナス・トーバルズがインタビューに答えている。以下はその翻訳である。 なぜGitを作ったのか? トーバルズ:俺はソース管理ツールなんて作りたくなかったし、コンピューターの業界において最も興味がないものだと見なしていた(データベースは別だが)。それにソース管理ツールなんてどれも嫌いだった。しかし、BitKeeperがやってきてからというもの、ソース管理に対する見方が変わったね。BitKeeperは大抵のことを正しく行っていた。レポジトリのローカルコピーがあることと、分散マージはでかかった。分散ソース管理の何がいいかというと、ソース管理ツールの問題を吹っ飛ばせることだ。「誰が変更を行えるか」といった政治問題があるが、B

    masterq
    masterq 2019/06/26
    "基本的な考え方が正しいかどうかにかかっている。開発を始める前からそのアイディアについて考察していたわけだ"
  • 本の虫: Linus、今までの行いを謝罪し一時的にカーネルメンテナーの立場を退いて人の気持ちを勉強してくると発言

    Linus、今までの行いを謝罪し一時的にカーネルメンテナーの立場を退いて人の気持ちを勉強してくると発言 完全に背景事情を調べ上げたわけではないのだが、どうもLinusが毎年参加しているLinuxカーネルの会議に、Linusがスケジュールを間違えて参加できなくなるという事態が発生した。当のLinus人はもう20年も続いている会議だし自分がいなくてもやっていけるだろうと楽観視していたが、会議自体がLinusの都合にあわせてリスケジュールされた。 LinuxにおいてLinus Torvaldsといえば第一人者であり極めて重要な存在で、そのLinusが毎年参加している重要な会議にLinusが参加できないとあれば、その他のあらゆるコストを度外視して根回し調整を行い、Linusが参加できるようにイベント全体のリスケジュールを行うのは人間の感情から考えて当然である。しかし当のLinus人は他人の感情

    masterq
    masterq 2018/09/18
    "ほら、俺はツールの信者だからさ、一部の問題は、簡単な自動化で防げるかもしれないだろ" いやぁ、僕も言いきる強さが欲しいです。。。
  • ステレオタイプなLinuxカーネル開発者

    この記事はおふざけで書いた。 30人のLinuxカーネル開発者から、PC環境がステレオタイプというか、古典的というか、典型的というか、硬派なカーネル開発者像に合致するような人物を探してみた。主に、「ソフトウェア開発に愛用している生産性向上ツールを教えてください」という質問を参考にして考察した。もちろん、完全に主観的な見た目の評価である。技術力の評価ではない。 硬派の考察としては、主にGUIのソフトウェアも存在するような場合でもCLIのソフトウェアを使っていることや、そのほかの利用しているPC環境の一般人から考えての奇抜さを考慮した。ただし、カーネル開発ならば当然使うようなツールは除外した。 30人のLinuxカーネル開発者:Linus Torvalds Linux Torvaldsは、もちろんLinuxカーネルの元を最初に書いた人そのものなのだが、どうもインパクトに欠ける。いや、技術上は

  • C++入門書で再帰について解説しようとしたら思わぬ最適化できないコードに出くわした

    C++入門書を書き始めて早数カ月、すでに文章量が「江添亮の詳説C++17」の半分近くに達しているが、まだようやくループを説明したところだ。 ループの章を一通り書き終えて、ついでに再帰によってループを実現する方法について軽く触れて章を閉じようと、以下のようなコードを書いた。 void hello() { std::cout << "hello\n"s ; hello() ; } すると何故かsegmentation faultを起こすではないか。GCCでもClangでも同じ挙動になる。なぜC++コンパイラーはこの程度の末尾再帰を最適化できないのだろうか。 不思議に思って以下のコードも試すと、こちらは問題なく末尾再帰の最適化が行われる。 void hello() { std::cout << "hello\n" ; hello() ; } 違いは文字列だ。今回の入門書では、初心者に簡単にするた

    masterq
    masterq 2018/04/23
    やはりC++オワコンなのでは。。。
  • 国家政府用のbitcoin破壊工作ガイド

    How to Destroy Bitcoin with 51% (pocket guide for governments) あなた、政府系の人ですか? bitcoin危険だと思いますか? いやいや滅相もない他にやるべきことがたくさんありますよ。まあでも、ちょっとここではbitcoinが疎ましいと思ってくださいよ。そうそう、あなたは中国だとします。 どうやって止めるのですか? みんな暗号通貨はセキュアで無敵だって言うじゃないですか。ちゃんとコントロールしたいあなた達政府系の人にとってはだいぶおつらいですよね。 Bitcoinを止めるのは実際難しくて、個人を何人か逮捕してサーバーを停止させたぐらいじゃ止まりません。Silk RoadやE-GoldやLiberty Reserveとは違うんですよ。そして参加者はだいたい権力を嫌ってます。 暗号通貨では停止させるべき中央サーバーってものがないんで

    masterq
    masterq 2017/11/13
    いやぁ。恐しいですね。。。
  • Wandboxのスポンサーになるべく、めるぽんに肉をおごってきた

    WandboxというWebサイトがある。これはコードを与えるとコンパイルメッセージと実行結果を返してくれるサービスを提供している。コードとコンパイルメッセージと実行結果を保存してURLで共有する機能もある。 ここまではよくあるサービスだが、Wandboxが他のサービスと差別化を図っているのは、コンパイラーの種類だ。様々な言語のコンパイラーをサポートしているのみならず、同じコンパイラーでも複数のバージョンを提供している。これにより、あるコードの挙動がコンパイラーのバージョンで異なる場合の特定ができる。 なぜそんなサービスが必要なのか。コードぐらい自分のローカル環境で実行すればいいではないか。リモート環境にしたって、今日びVPSなど月数百円から使うことができる。ブラウザーから入力する程度の短いコードをコンパイルして実行するぐらい低スペックの格安VPSでも足りるではないか。 問題は、バージョンの

    masterq
    masterq 2017/04/06
    良い話でMSX・FANを読みふけっていて自分の小学校時代を思い出しました
  • もしスマートフォンが自由だったら今頃実現していた社会

    CanonicalがUbuntuをスマートフォンに対応させることを諦めた。これで、スマートフォンにまともなOSを移植するという大きな資が入っているプロジェクトは、ほとんど全部潰れたことになる。これは当然の話だ。現在のスマートフォンのハードウェアは極めて不自由なので、まともなOSを移植することは不可能なのだ。このため、筆者はスマートフォンの所有を拒否している。 スマートフォンの害悪について詳しくは以下を参照。 の虫: インターネット端末のシェアでスマートフォンがPCを上回ったというディストピア しかしもし、スマートフォンが自由だったら、今頃どうなっていただろうか。以下はスマートフォンのハードウェアが完全に自由なコンピューターの将来実現したであろう未来である。 江添亮は13時に目が覚めた。今日は比較的早起きをした方である。江添は眠たい目をこすりながら枕元のスマートフォンを操作する。そう、な

    masterq
    masterq 2017/04/06
    あんがいイイんじゃないでしょうか。江添さんフリーソフトウェアSF作家になるのアリなんじゃないでしょうか。
  • 高度に発展した特許業界はヤクザと見分けがつかない

    Azure IP Advantage – intellectual property protection | Microsoft Azure Microsoft AzureがAzure IP Advantageなるサービスを始めた。 特許ゴロによる大量のゴミ特許を抱えたうえでどれかに抵触しているだろうと当たりをつけて手当たりしだいに革新的な製品、サービスを提供しているものに訴訟を仕掛ける商売はいい儲けになっている。 そのような特許ゴロ訴訟に対抗する手段としては、こちらでも大量のゴミ特許を抱えておき、特許侵害を訴えられたら相手も自分のゴミ特許のどれかに抵触しているだろうとあたりとつけて特許侵害で逆提訴するというものだ。訴訟は技術を全くわかっていない弁護士と裁判官が何年も言葉遊びを弄した挙句、和解に終わるという泥仕合を繰り広げる。 といっても、そんなことができるのは大量の特許を保有できる資

    masterq
    masterq 2017/02/09
    これはさすがにおっしゃる通りですね...
  • 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ドライバー、栄光と恥
    masterq
    masterq 2013/09/28
    各社比較。すばらしい。
  • リチャード・ストールマン:子を持たないことの重要性について

    Why it is important not to have children. リチャード・ストールマンが、子を持たないことの重要性について書いている。 どうも文章が回りくどく翻訳が難しいので、原文もつけた。 Why it is important not to have children. なぜ子を持たないことが重要なのか -- Richard Stallman -- リチャード・ストールマン I decided not to have children. My family was full of tension and anger, and then I noticed that many others were too. Such a family life was in no way attractive. When older, often I saw parents re

    masterq
    masterq 2013/04/22
    それはちょっとちがうんじゃなイカ?
  • Aaron Swartz死去に対するTim Berners-Leeの詩

    Aaron is dead. from Tim Berners-Lee on 2013-01-12 (www-tag@w3.org from January 2013) Aaron is dead. Wanderers in this crazy world, we have lost a mentor, a wise elder. Hackers for right, we are one down, we have lost one of our own. Nurtures, careers, listeners, feeders, parents all, we have lost a child. Let us all weep. timbl アーロン死す この狂える世界の放浪者 我ら指導者、賢老を失へり 正しきハッカー、一人逝く 我ら一人を失へり 育む者よ、慈しむ者よ、聞く者よ、

  • 非同期入出力の残念な現状

    asynchronous disk I/O | libtorrent blog Libtorrent experience - the poor state of async disk IO | Hacker News libtorrentの作者が、ディスクI/Oをパフォーマンスを向上させるために非同期I/Oを試した結果、どの環境でも残念なので、ブロックI/Oをスレッドプールで行う擬似非同期I/Oで実装したとブログを書いている。その問題について、Hacker Newsでも議論されている。 非同期I/Oは、話を聞くとたのもしい機能に思える。読み書きが完了するまでブロックせずに、完了したらOSが通知するという仕組みだ。 問題は、その実装がどの環境でも貧弱だという事だ。 環境というのは、主にOS側のことだ。多くのモダンなOSは非同期I/Oを提供している。特に著名なのがみっつある。 Linux A

    masterq
    masterq 2012/10/28
    "読み書きやバッファやサイズなどは、512バイトに正しくアライメントされていなければならない。これを正しく行うのは、恐ろしい手間がかかる"全く同意できない。これだから...
  • 本の虫: lambda 完全解説

    目的 この記事は、C++0xのlambdaを完全に解説せんとする目的を以て書かれた。サンプルコードは最小に留め、エラー処理等は省いた。この記事さえ読めば、今日からlambdaを恐れることなく使う物のC++0xプログラマになれるだろう。 lambdaとは何ぞや lambdaである。あるものは、lambda関数、あるいは無名関数という名称を使っている。いったいlambdaとは何なのか。 lambdaは関数である。また、特に名前はない。したがって、lambda関数、無名関数と呼ぶのは、間違ってはいない。しかしここでは、単にlambdaと呼ぶことにする。 lambdaを定義しよう lambdaは関数オブジェクトである。lambdaは関数オブジェクトである。これはとても大事なので二度書いた。lambdaは関数オブジェクト以外の何物でもない。ところが不思議なことに、皆lambdaが単なる関数オブジェ

    masterq
    masterq 2010/01/05
    うーん。。。
  • 1