タグ

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

  • LLVMで5番目に貢献の多い開発者、LLVMの最近のSJW運動に反対して開発をやめると表明

    One Of LLVM's Top Contributors Quits Development Over CoC, Outreach Program - Phoronix [llvm-dev] I am leaving llvm Rafael Avila de Espindolaは2006年からLLVMに対して4300以上もコミットした開発者で、現在LLVMの全Authorの中で第5位のコミット数を保有する開発者である。Rafaelは最近のLLVM Code of Conductと今年のアウトリーチプログラムへの参加を、「社会不正義」(Social Injustice)だと吐き捨ててLLVMの開発をやめる声明を出した。 LLVMのCode of Conductは以下の通り。 LLVM Community Code of Conduct — LLVM 7 documentation 仲良く

  • レールに沿わない人生を送っていたら、未だにレールに乗れていない人間のお話

    レールに沿うの沿わないのという話題が、ここ数日ブログ界隈でもちきりだ。どうも背景事情には、「ブログを開設して稼ぐ方法を教えます」というセミナーを開いて稼いでいるマルチ商法もかくやと思われるブロガーの存在が出てくる。いつの世にも、当に儲かるのは、金鉱掘りではなく、ツルハシやジーンズを売る者たちだ。 そもそも、ブログは登場してからもう15年以上は立っている赤錆びた存在であり、ブログで稼ぐというのも、すでにレールに沿った人生ではある。 普段なら、そのようなマルチ商法まがいの、速やかに忘れ去られる短命な話題には乗らないのだが、あのchokudai氏も流行にことよせてブログを書いているのを見て、私もひとつ、ブログを書いてみようと思い立った。 大学院在学中にレールに乗ったまま起業した話 - chokudaiのブログ 省みるに、私の人生はまったくもって世間の一般大衆の想定するレールに沿っていないから、

  • Lenovoのファームウェアがファイルシステムを改ざんするクソ仕様なので絶対に使ってはいけない

    最近のLenovoのBIOSのアップデートに以下のものがある。 Lenovo Newsroom | Lenovo Statement on Lenovo Service Engine (LSE) BIOS この脆弱性はLenovoの一部の顧客用PCにインストールされているBIOS中に存在するMicrosoft Windows機構に関与する機能、Lenovo Service Engine(LSE)に関連したものである。 などと抽象的でわけのわからない文面で脆弱性の説明と修正した旨が案内されている。では具体的にどんな脆弱性だったのか。驚くべきバカなことが行われていた。 Lenovo G50-80 dialog box - Ars Technica OpenForum Windows 7か8をブートする前に、BIOSはC:\Windows\system32\autochk.exeがLenovo

  • C++参考書、C++11/14 コア言語を9月に出版予定

    C++11/14のコア言語の参考書。「C++11/14コア言語」が出版社ドワンゴ、販売KADOKAWAとして、9月に出版される。内容は、以下を書籍にしたものだ。内容としてはすでにすべて読むことができる。 EzoeRyou/cpp-book EzoeRyou/cpp14-appendix アマゾンには情報が掲載されたようだ。 Amazon.co.jp: C++11/14 コア言語: 江添 亮: 紙のの他にも、KindleとepubとPDF版も現時点で出す予定だ。また、もちろんのソースコードも公開される。 ソースコードは、Markdown形式だ。もともとこのはXHTMLで手書きされたが、それでは扱いづらいため、これを一度Markdownに変換した上で修正し、pandoc経由でtexに変換してから各フォーマットを生成している。不自由なフォント以外のソースコードは公開できるだろう。

  • x86のmov命令はチューリング完全

    世の中には様々なチューリング完全なシステムがある。 の虫: うっかりチューリング完全になっちゃったもの x86のMMUはチューリング完全である。 BGP(Border Gateway Protocol)はチューリング完全である。 http://vanbever.eu/pdfs/vanbever_turing_icnp_2013.pdf さて、x86の命令セットは極めて複雑で冗長であることが知られている。なんと、mov命令はチューリング完全であるそうだ。 http://www.cl.cam.ac.uk/~sd601/papers/mov.pdf もちろん、mov命令でメモリ上に任意のコードを書いて実行させればチューリング完全になるが、論文ではそのようなコード生成や自己書き換えによるイカサマは行っていない。また、アドレスモードもたいていのRISCにあるようなものしか使っていないという。 x8

  • Pingプログラムの話

    The Story of the PING Program そうだ。UNIXのpingを書いたのは俺さ。pingというものは誰でも知ってるだろうが、これはある夜、俺が千行程度で書いたハックだ。 名前の由来はソナーの音だ。俺は大学でソナーとレーダーシステムの設計をさんざんやっていたので、サイバースペース的なものとは親和性が高かった。新しい分野に既存の概念を適用したというわけだ。pingはIP/ICMP ECHO_REQUESTとECHO_REPLYパケットを使って時間を測り、ターゲットマシンへの「距離」を計測する。 4.2a BSD UNIX用のPINGを書いた着想は、1983年の7月に、ノルウェイでのDARPA会議で、Dave MIlls博士からきいた話が元だ。博士はFizzball LSI-11システムで、ICMP Echoパケットの時間を計測して、経路遅延を計測したと話していた。 19

  • The Old New Thing: 実行ファイルのベースアドレスが0x00400000である理由

    古参MS社員のRaymond Chenが、なぜWindowsのデフォルトのベースアドレスは0x00400000に配置されているのか。最初の4MBは何だという質問に答えている。 Why is 0x00400000 the default base address for an executable? - The Old New Thing - Site Home - MSDN Blogs DLLのデフォルトのベースアドレスは0x10000000だが、なぜEXEのデフォルトのベースアドレスは0x00400000なのか。なぜこの値なのか。4メガバイトに何の意味があるのか。 これには、x86のディレクトリエントリひとつでマップできるアドレス空間であることと、1987年に決められた設計のためだ。 EXEのベースアドレスの制約としては、64KBの倍数であることのみだ。しかし、ベースアドレスを選ぶ理由に

  • C++11参考書の公開:C++11の文法と機能

    C++11の参考書をGitHubで公開する。 GitHub: EzoeRyou/cpp-book GitHubからzipでダウンロード GitHub Pagesでの閲覧:C++11の文法と機能 序 書はC++11のコア言語の文法と機能を、標準規格書に従って解説したものである。正式なC++規格書として発行された後の、ひとつ後のドラフト規格、N3337 を参考にしている。ドラフト規格を参考にした理由は、正式なC++規格書は、個人での入手が煩わしいためである。読者に入手が困難な資料を元に記述された参考書は価値がない。そのため、読者が容易に入手できるドラフト規格のうち、正式なC++規格書とほとんどかわらないN3337を参考にした。 書の対象読者は、C++を記述するものである。C++実装者ではない。そのため、サンプルコードを増やし、冗長な解説を増やし、C++コンパイラーを実装するための詳細な定義

  • 1