タグ

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

  • うっかりチューリング完全になっちゃったもの

    Accidentally Turing-Complete ― Andreas Zwinkau 来なら、チューリング完全となるべきではなかったものがある。これは、そのようなうっかりチューリング完全になってしまったものの例である。 C++テンプレート 当初はチューリング完全を目指していなかったが、C++テンプレートはチューリング完全になってしまった。その証明は、この論文にある(PDF) x86 MMU x86のpage fault handlingは、単純なマシンの実装に使える。原理としては、page faultが1 wordをスタックに積み、それによりアンダーフローを起こして別のトラップを生成する。この仕組みは、「減算して0以下ならば分岐」処理を実現する。チューリングマシンを実装するには十分である。デモ動画、講演動画 マジック・ザ・ギャザリング マジック・ザ・ギャザリングはカードゲームであ

    うっかりチューリング完全になっちゃったもの
  • マイクロソフト、無駄な抵抗を辞めてWSLに本物のLinuxカーネルを同梱する

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

  • 本の虫: 帰ってきたきれいなリーナス・トーバルズ、無作法な開発者をたしなめる

    Linus Torvalds Shows His New Polite Side While Pointing Out Bad Kernel Code - Phoronix 人の心の読み方を学んで復帰したリーナス・トーバルズは、さっそく無作法なプルリクエストをたしなめている。その文章は大文字センテンスも4文字言葉も使っていない優しいものに変わっている。 問題はプルリクエストはBigBenゲームコントローラーに対するドライバーの追加で、このドライバーはデフォルトで有効にされていた。これはLinuxカーネルの慣習にそぐわないものだ。新しく追加された名前もきいたこともないようなデバイス用のドライバーが、いきなりカーネルでデフォルトで有効にはされないものだ。新参者のドライバー開発者は、大抵自分のドライバーはとても重要で、自分の所有しているデバイスは全員所有しているのでデフォルトで有効にするのは当然

  • 本の虫: Linus、今までの行いを謝罪し一時的にカーネルメンテナーの立場を退いて人の気持ちを勉強してくると発言

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

    t2wave
    t2wave 2018/09/17
    "これは「俺はもう燃え尽きた。もう逃げ出したい」っていう休みじゃない"
  • 世の中にはプログラミングを理解できない人間が存在する

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

    t2wave
    t2wave 2018/05/30
    “もっともらしくでっち上げた小論文を書いて読ませれば筆者は主題を理解していると読者を騙すことは可能だが、ことコンパイラーが相手では文法違反のソースコードを騙すことなどできない。”
  • W3Cよさらば! 遂に協力の方途尽く W3C、邪悪なDRMを採択し 我がEFF堂々退場す

    World Wide Web Consortium abandons consensus, standardizes DRM with 58.4% support, EFF resigns / Boing Boing EFFはW3Cが可決したWebにおけるDRM標準規格の取り下げを訴えた。W3Cにおいて可決された規格の取り下げの訴えは初めてのことである。W3Cは会議の結果、メンバーのうちの過半数である58.5%の賛成をもって、過半数によるコンセンサスとしてDRM規格の取り下げを却下した。これはW3Cのメンバーに利用者の自由と権利をないがしろにした不自由陣営が多いためである。 これを受けてEFFは、W3CはもはやオープンなWeb規格を制定する場ではないと判断し、即日W3Cを脱退した。 An open letter to the W3C Director, CEO, team and memb

  • 警察官に職務質問をされた話

    とても日差しの暑い7月、木場の自宅から銀座にある職場まで5kmの道を、5kgはある荷物を背負って徒歩で通勤していた。その日の私の出で立ちは、日焼けを防止するための大きな帽子、OD色の即乾シャツ、クライミング用のジーンズ風ストレッチパンツ、半長であった。勝鬨橋を超えて自販機で飲み物を買うと、急に警察官が3人近寄ってきた。 警察官「ちょっといいですか」 私「何ですか」 警察官「荷物の中を確認させていただきたい」 私「嫌です」 警察官「なぜですか」 私「応じる義務がないからです」 警察官「危険なものが入っているのではないですか」 私「入っていません」 警察官「では見せて証明してください」 私「見せる義務はありません」 このような問答がしばらく繰り返された挙句、私は出社をしなければならないのでその場を離れようとした。すると、警察官は回り込んで私の往来を妨害してくるではないか。人の往来を妨害するの

  • ここらでもう一度マストドンについて語っておくか

    オレが間違っていたぞ、清水亮。 なんで「オレが間違っていた」と最初に書けないのか。つまんねープライドもってんなー -- 清水亮 https://mstdn.onosendai.jp/users/shi3z/updates/1002 前回、前々回と、マストドンについての批判を書いた。結論を先に書くと、私の技術上の懸念以外の懸念はすべてあたらなかった。 の虫: そろそろマストドンについて語っておくか の虫: マストドンが直面している問題はすでにP2P技術が15年前に遭遇した問題だ そうこうしていると、ドワンゴがマストドンのインスタンスを立ち上げた。 https://friends.nico/ これはなかなか興味深い。というのも、私はドワンゴに雇用されているので、ドワンゴが悪意を持っているかどうかについては内部の情報があるため判断しやすい。マストドンはインスタンスの管理者が悪意を持っているか

  • HoloLensを体験したが10年早かった

    MicrosoftのHoloLensが日でも入手可能になったようだ。さっそく入手した人が身近にいたので体験させてもらったが、結論をいうと、10年早かった。 HoloLensは、一見するとバカバカしいまでに巨大で無骨なサングラスだ。そのレンズに投影することにより、あたかも空間上に物体があるかのように錯覚させることができる。空間上のある場所にウインドウや3Dモデルを設置すると、その場所に固定される。HoloLens装着者は空間に固定された表示物を好きな距離、好きな角度から見ているように錯覚する。 HoloLensがどのように空間を把握しているかというと、主に赤外線による深度センサーを用いて回りの深度を把握しているようだ。それにしても装着者の動きに追随する性能がすばらしく、ズレを一切感じさせない。 HoloLens風のコンピューターの性能が上がれば、通常のコンピューターの補助的に使うのはありで

  • バイトをはじめることにした

    そろそろ費にすら事欠くようになったのでバイトをすることにした。一日数時間の掃除だ。おそらく、C++の執筆にはさほど影響しないだろう。 結局、結果からいえば、当初の目論見であった、貯金の続くうちに、全力でC++を完成させるというのは、無理だったわけだ。やれやれ、最初から働きつつ執筆すべきだったのか。 C++は、ようやくオーバーロード演算子まで進んだ。といっても、途中のBasic Conceptsに当たる部分は飛ばしたし、コピーとムーブも飛ばした。コピーとムーブはどう書けばわかりやすくなるのか分からない。純粋なコア言語機能だけ説明してもわかりにくいし、かといって、プログラミングテクニックまで説明するのは書の範疇ではないように思う。コア言語に絞ってさえこの分量なのだから、最初の壮大な野望通り、標準ライブラリまで手を広げようと思ったら、いつまでかかるか分からない。 そもそも、一冊のまとま

  • 大学に行くべきだったのか

    C++の参考書は、ようやくテンプレートまで進んだ。この項目は、大胆な割愛や、簡略化した説明をしなければならないだろう。テンプレート仮引数とテンプレート実引数を完全に分離して説明するのは、さすがにわかりにくい。 しかし、いまさらになって、大学に行かなかったことが失敗ではないかと思いつつある。 理由はいろいろあるが、私は当時、大学に行かなかった。親の別居やら引越しやら、その理由を当時の外部要因に求めることはたやすいが、結局、大学に行かなかったのは私の責任である。 そして今、私がC++を学ぶために何をしているかというと、規格や論文の読解である。私は一度も、論文の構造とかプログラミング言語の規格書の構造について学んだことはないが、なんとなく感覚で会得していった。 これは正しくない学び方だ。最初に、学問を学問として、系統だてて学んだ方が良かったと思うのだが、いまさら悔やんでも始まらない。もちろん、論

  • 1