タグ

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

  • 村上原野(ボレロ村上)の思い出

    村上原野(ボレロ村上)の思い出を色褪せないうちに書いておこうと思う。 村上原野の父親であり師匠であった猪風来は縄文土器による芸術家である。縄文土器の制作方法を復元した人物だ。 猪風来プロフィール | 美術館の紹介 | 猪風来美術館 縄文土器は窯を使わずに野焼きで焼き上げる。野焼きで窯ほど燃焼温度が上がらないので、低温でも焼き上がるような粘土を使わなければならない。その製法は再発見され、村上原野が縄文土器作成を学ぶ頃には、一通り完成していた。製法を復元した上で、その製法を使って芸術品を作るというのだ。 聞いた話では、猪風来は極めて形から入る芸術肌の人間で、縄文人の心を理解するために、北海道に竪穴式住居をこしらえて家族で住んでいた。つまり、村上原野の父親と母親と人は中学生か高校生ぐらいまで北海道の竪穴式住居に住んでいたのだ。 竪穴式住居とは歴史の教科書にも出てくる様式の原始的な家だ。地面を掘

  • C++20標準規格がほぼ固まった

    2020年2月10日から15日までプラハで行われた会議により、C++20のDIS(Draft Intarnational Standard)が可決された。これはC++20となる標準規格と同じ文面であり、もうこれ以上変更はない。今後、このドラフト案に対して各NBによって可否の投票が行われる。何事もなければこのまま可決されてC++20が制定されるだろう。 今回残念なのはstd::formatだ。これはpythonにあるようなテキスト整形ライブラリだ。ただしロケールに依存している。std::formatのロケールを引数に取らないコンストラクターはグローバルなlocaleオブジェクトに依存する。今の所ロケールの影響を受けるのはtype specifier nで、数値を桁区切りにして出力する機能だ。 std::formatがlocale汚染されたことにより、std::formatは危なくて使えないラ

  • Googleがブログ記事を検閲

    私のBloggerのGMailアカウントに以下のようなメールが来ていた。 Hello, Google has been notified that content in your blog contains allegedly infringing content that may violate the rights of others and the laws of their country. The infringing content that has been made unavailable can be found at the end of this message. For more information about this removal and how it affects your blog, please visit https://support.goog

    daruyanagi
    daruyanagi 2019/12/09
    忘れない権利
  • AMDのZen 2でRDRANDが-1を返すので最近のGNU/Linuxがブートできない問題

    AMDのZen 2アーキテクチャの新製品が発売されて沸き立っているが悲しいお知らせがある。最近のGNU/Linuxディストロはブートしない。例えばUbuntu 19.04はブートしない。 理由は、ハードウェア乱数を返す命令、RDRANDに不具合があり、常に-1を返すのだという。このため、rdrandを直接使っているsystemdが失敗し、結果としてブートできなくなる。 AMDによればこの問題はBIOSアップデートで修正可能であるという。しかしこれはとても怪しい陰謀論を考えたくなる。なぜRDRANDが常に-1を返すような不具合が未然に発覚せずに製品リリースまでこぎつけてしまったのか。なぜファームウェアのアップデートで修正可能なのか。まさかバックドアなのではないか。 陰謀論はともかくとして、もう一つの問題は、なぜsystemdはRDRANDを直接使っているのかということだ。Linuxカーネルの

  • マイクロソフト、無駄な抵抗を辞めてWSLに本物のLinuxカーネルを同梱する

    Announcing WSL 2 | Windows Command Line Tools For Developers 「自分らはLinuxカーネルだ。防衛を解除して投降せよ。自分らの技術上の差異は自分らのものとする。自分らの文化は自分らの益とする。抵抗は無意味だ。」 マイクロソフトはWSL 2で物のLinuxカーネルを同梱して利用すると発表した。 最初のWSLは、マイクロソフトによるLinuxカーネルのシステムコールの互換実装であった。これは様々な互換性とパフォーマンスの問題を抱えていた。互換性は果てしなく低く、パフォーマンスは主にファイルシステム周りがとてつもなく遅かった。 新しい実装であるWSL 2では、物のLinuxカーネルを使い、完全なシステムコール互換性を実現する。このLinuxカーネルはマイクロソフトによってビルドされている。最初のバージョンはLinux 4.19となる

    daruyanagi
    daruyanagi 2019/05/08
    すでにある仕組みを流用してどやーって提供したら、当初想定していた用途を超えて使われだした(まぁ、公式に使っていいって押しちゃっらからだが)から、それに合わせてアーキテクチャー変えただけの話やで
  • 職質裁判一審で不当判決、曰く、110番通報を要請することは不審事由にあたる

    警察官に職務質問をされた話が2017年の7月、これが違法な職務質問であると考えたので国賠訴訟をし、一審判決が今日言い渡された。 曰く、「原告の請求を棄却する」。負けたわけだ。ではなぜ負けたのか。判決の言い渡しでは主文しか読み上げられないので、判決文を取りに行く。 当日は、東京都(警察)の主張によれば、パトカーで私とすれ違った際、私を視認し、しばらくみていたところ、私はパトカーを見るなり顔を伏せて足早に通り過ぎたということだ。裁判所は東京都(警察)のこの主張を採用しなかった。というのも、車道と歩道の間には植え込みが多くあり、私をしばらく見るなど不可能であるからだ。したがって今回の職務質問は適切な不審事由なしで始まっていることが認められた。 その後10分間ほど、私を路上にとどめて職務質問が行われた。裁判所はこれを適切であると判断した。不審事由がなく始まった職務質問ではあるが適切だそうだ。 その

    daruyanagi
    daruyanagi 2019/03/13
    よくわかんないけど法律は難しいでござる
  • Linus Torvalds様、ユーザースペースの互換性を壊した開発者に強い態度をお示しになる

    Linuxカーネル4.18から、userns mountに対して暗黙にSB_I_NODEVを設定するようになったために、既存のsystemdのnspawn実装が壊れた。 以下が問題のパッチだ。 https://github.com/torvalds/linux/commit/55956b59df336f6738da916dbb520b6e37df9fbd Linuxカーネルにおいては、ユーザースペースの挙動は変えないという強い下位互換保障がある。以前のバージョンのカーネルで動いていたユーザースペースのコードが新しいバージョンのカーネルで動かなくなった場合、それは理由が何であれ新しいバージョンのカーネルのバグであるとみなされる。たとえそれが、ドキュメント化していない明示的に保証されているわけではない昔のカーネルの暗黙の挙動であれ、その挙動に依存している既存のユーザースペースのコードがあるので

    daruyanagi
    daruyanagi 2018/12/25
    ヒトの心が分かった上で罵倒してる
  • 本の虫: Linus、今までの行いを謝罪し一時的にカーネルメンテナーの立場を退いて人の気持ちを勉強してくると発言

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

    daruyanagi
    daruyanagi 2018/09/17
    地球が割れないか心配になるレベル
  • 本の虫: TempleOSの作者Terry Davisが列車に引かれて死んだ

    Man killed by train had tech following | The Dalles Chronicle Man killed by train had tech following By Neita Cecil As of Friday, Septem - Pastebin.com 両親と喧嘩をして勘当され路上生活をしていたTerry Davis(Terrance Davis)が8月11日に列車に引かれて死んだことが確認された。享年48歳。 Terry DavisはTempleOSの作者だ。 TempleOS 読者の多くはTempleOSを知らないだろう。TempleOSとはx86-64 Ring-0上で動作するOSだ。プロセス分離はなく、メモリ保護もなく、そもそも仮想メモリではなく物理メモリアドレスを直接使うOSだ。コンセプトは古き良きCommodore 64の現代

    daruyanagi
    daruyanagi 2018/09/10
    "キリスト教の神の神殿をコンピューター上に再現するTempleOS" 世の中、いろんなものがあるんやなぁ……
  • Steam Playで不自由なWindows用ゲームをGNU/Linux上で実行するにはPython 2が必要

    Steam Playが発表されたので、早速使ってみた。 Steam PlayというのはWineからforkしたValveのProtonを使ったGNU/LinuxWindowsゲームを実行する機能だ。なぜWineをforkしているかというと、ProtonではWineにまだ入っていない変更を使っているからだ。例えばDirectXをVulkanで実装したdxvkや、同期処理をユーザースペースで行うValveが開発したWineに対するパッチesyncを使っている。 https://github.com/ValveSoftware/Proton Steam Playを使うには、まずSteamクライアントのSettings→Account→Beta participationからSteamクライアントBetaを使う設定であるSteam Beta Updateに切り替え、Steamクライアントをアッ

    daruyanagi
    daruyanagi 2018/08/23
    不自由なゲームは不自由な環境でやればいいのではないだろうか(クソコメ
  • 違法な職務質問を受けたので国賠訴訟を起こした裁判の傍聴のお知らせ

    私の裁判の傍聴をしたいという人が何人かいるので、ここで証人尋問の傍聴の告知をしておく。 日時: 2018年9月19日 水曜日 13時30分から16時頃まで 場所: 東京地方裁判所631号法廷 傍聴をするためには、指定の日時の少し前に東京地裁に行き、金属探知機のある入り口を通過し、そのままエレベーターで6階まで上がって時間通りに631号法廷に行くだけだ。特に予約や手続きは必要ない。また、途中退出してもよいそうだ。 裁判の内容だが、私は約1年前に警察官から違法な職務質問を受けたので東京都を相手に起こした国賠訴訟だ。 の虫: 警察官に職務質問をされた話 の虫: 濫用に当たる職務質問を受けたと考えたので弁護士に相談して訴訟を起こすことになった話 裁判を起こすことになって初めて知ったのだが、警察というのは地方自治体の行政であるので、東京都内で生じた警察の行為について裁判を起こす場合、被告は東京都

    daruyanagi
    daruyanagi 2018/08/12
    東京にいたら行ってみてもよかった(
  • C++に提案されている静的例外

    C++に静的例外が提案されている。 [PDF] P0709R1: Zero-overhead deterministic exceptions: Throwing values 例外はそのパフォーマンスへの影響が懸念され、一部のC++プロジェクトではコンパイラーオプションによって例外自体が無効化されていた。 これは由々しき事態だ。というのも、例外は標準C++の機能の一部であり、標準ライブラリは例外の存在を前提にして設計されている。例外が無効化されているということは、それはもはやC++ではない。C++風の別言語を使っていることになる。 なぜ例外は忌避されるのか。例外のパフォーマンスが非決定的だからだ。例外の実装はスタックからの確保ではなくヒープからの動的なメモリ確保が必要で、例外のキャッチにはRTTIによる型情報の比較が必要だ。 ifとgotoによるエラー処理のパフォーマンス特性は決定的に見

  • 世の中にはプログラミングを理解できない人間が存在する

    現在、C++によるプログラミングの入門書を書いているので、初心者のプログラミングの学習過程にとても興味がある。私自身も初心者の気持ちを取り戻すためにHaskellを学んでみた。最初の数日は頭が痛くなるほど難しかったが、そこを過ぎてみれば後は楽になってしまった。結局、初心者の気持ちはあまりわからなかった。結局、プログラミングの基礎はすでに学んでしまっているので、 先日、FizzBuzzがわからないから教えてくれという知人がいたので、これは初心者の気持ちを知るいい機会と話を聞いてみたところ、想像を絶する世界が見えてきた。 まずこれが動かないと悩んでいたコードだ。 for ( int i = 0 ; i <= 100 ; i++ ) { } else if ( i % 15 == 0 ) { Debug.log("FizzBuzz") ; } else if ( i % 3 == 0 ) { D

    daruyanagi
    daruyanagi 2018/05/30
    そもそもこれって文法的に成り立つんだ?
  • 本の虫: OpenBSD、1985年に追加されたIntelの最新の誇大広告された機能を使わないことにより脆弱性を華麗に回避

    OpenBSD、1985年に追加されたIntelの最新の誇大広告された機能を使わないことにより脆弱性を華麗に回避 “We didn't chase the fad of using every Intel CPU feature” | Hacker News 'Re: CVE-2018-8897' - MARC 前回の記事であるIntelの古いマニュアルを誤読したために生じた脆弱性では、IntelのCPUがスタック切り替えるためにss/spレジスターをアトミックに更新する汚いハックとして、ssレジスターが変更された直後の1命令は割り込みが遅延される古い仕様があるが、多くのOSはこの古い仕様を把握していなかったため、ssレジスターを変更した直後の1命令でカーネルモードに入り、かつハードウェアブレイクポイントが設定されたことにより割り込みを起こせば、カーネルモードに入った直後にカーネルのコード

    daruyanagi
    daruyanagi 2018/05/14
    OpenBSD さん、パネェ
  • glibcのabortマニュアルの中絶方針ジョークについて

    Who controls glibc? [LWN.net] 「glibcのabortのマニュアルにはabort(終了)とabortion(中絶)をかけた中絶ジョークがあり、これはマニュアルとして有益ではなくて混乱の元なので削除するというパッチが提出され、受け入れられたが、RMSの反対により差し戻された」 これだけ読むとくだらない出来事のように思えるし、人によってはこのジョークの存在が好ましくないとか下品だと思うかもしれない。しかし、これは単に下品なジョークで片付けてよい問題ではない。実は音はもっと深いのだ。 まず、ジョークの内容は中絶ジョークではなく、中絶方針ジョークなのだ。 glibcのabortのマニュアルには以下の記載がある。 将来の変更警告:連邦検閲規制委員会に提案された方針によれば、この関数を呼び出すことができる可能性についての情報を我々が与えることが禁止されるかもしれない。我々

  • 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 仲良く

    daruyanagi
    daruyanagi 2018/05/03
    なんでもそうだけど、デカくなると色々面倒だな(クソブコメ
  • 年収1200万円と2億の資産でできる贅沢はパトロネージュ

    以下のはてな匿名ダイアリーの記事が注目を集めている。 贅沢な生活って何が楽しいの?(追記しました 独身34歳男、年収900万+配当収入300万くらい。 贅沢の良さがわからない。 家は相続で貰ったので家賃無し。金融資産は相続したものと合わせて2億を超えた。 生活費は月に12万くらい。配当込みで年間800万以上金が増えていく。 別に金を使うのが嫌いなわけではない。ただ、使う気がおきない。 この増田は1200万円の年収と2億の資産を保有している。増田が過去に行った贅沢は以下の通り。 飛行機のファーストクラス(100万円) ホテルのスイートルーム(100万円) オーダーメイドのスーツ(50万円) 懐石料理(20万円) ステーキ(10万円) これらの贅沢がありきたりでつまらないのは当然だ。なぜならば、これらの贅沢には、何も1200万円の年収と2億円の資産は必要ないからだ。ただ100万円を貯金して一度

    daruyanagi
    daruyanagi 2018/02/04
    34にもなってこの程度の幼稚な悩み抱えてるようじゃ、どっちにしろ猫に小判な感じある
  • 60%の人間はプログラミングの素質がない

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

    daruyanagi
    daruyanagi 2018/01/25
    わいはかろうじてできるマンやなぁ
  • 今流行りの投機実行脆弱性の影響を一切受けないDOOM実装が公開される

    https://github.com/xoreaxeaxeax/movfuscator/tree/master/validation/doom このDOOMは条件分岐を一切使用していない。したがって今流行りの投機実行の脆弱性であるMeltdownやSpectreによる脆弱性は存在しない。 ちなみに、現代の性能のコンピューターで、1フレームの描画に7時間ほどかかるので、このDOOMで遊ぶには若干の忍耐力を要求される。しかし、脆弱性の完全な排除のためには若干のパフォーマンスの低下はやむを得ないところだろう。 このDOOM実装はオリジナルのDOOMのCコードに若干の変更を施して、M/o/Vfuscatorでコンパイルしたものだ。 https://github.com/xoreaxeaxeax/movfuscator M/o/Vfuscatorとは、IntelのMMUがチューリング完全であることを

    daruyanagi
    daruyanagi 2018/01/18
    しゅごい……へんたいでしゅ……
  • C++の入門書を書くためにHaskellを学ぶことにした

    C++17の参考書、江添亮の詳説C++17はすでに書き上げて、来年の出版を待つばかりになっている。 https://github.com/EzoeRyou/cpp17book 次に書くC++の入門書にしようと思っているが、入門書を書く前に、少し時間をかけてHaskellを学ぼうと思っている。 なぜHaskellを学ぶのか。Pandocのためだ。 Pandoc 私のは、Markdownで書いてPandocで各種フォーマットに変換している。アスキードワンゴでは、Pandocを使ってlatexに変換した上で、手作業で出力されたlatexを編集して組版している。つまり、私の参考書の執筆はPandocに支えられていると言ってよい。 さて、アスキードワンゴ編集部(ドワンゴ)は私がを出版契約している出版社であり、かつ私が雇用契約している会社でもある。アスキードワンゴの編集者は私の編集者であり同僚

    daruyanagi
    daruyanagi 2017/12/12
    へぇ、めんどくさいな(