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

  • Jenkinsの開発者、間違えて一ヶ月前のローカルレポジトリをgit push --forceしてしまう

    Jenkinsの開発者、間違えて一ヶ月前のローカルレポジトリをgit push --forceしてしまう Jenkin developers accidentally do "git push --force" to over 150 repos on github | Hacker News Jenkinsの開発者、Luca Milanesioによって、Jenkinsの多くのgitレポジトリに対してpushが行われた。不思議なことに、pushをしたというのに変更点はほとんどみられない。一体ルカは何をやったのだ。 Dominik Bartholdi やあみんな、とくにルカ。 昨日、GitHub上のJenkinsの多くのレポジトリ(50以上)に、なにか変なことが起こった。 どうやら、Luca Mmilanesioが、何の変更もないのに、たくさんのたくさんのレポジトリにpushしたらしいのだ。

    akiym
    akiym 2013/11/12
    さて、git push -fっと…
  • うっかりチューリング完全になっちゃったもの

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

    akiym
    akiym 2013/10/20
  • Apple流の新機能の隠し方:(BOOL)isYoMamaWearsCombatBootsSupported;

    How Apple hides new functionality in iOS: isYoMamaWearsCombatBootsActive | Hacker News Hacker Newsで、Apple流の新機能を隠す方法の話題で持ちきりだ。開発者が使う、公開しなければならないヘッダーファイルの宣言にある関数名から機能が推測されてしまう問題の対処方法として、まずヘンテコな名前をつけておき、後で実際の関数に置換するという斬新な方法が発覚した。 iOS 7 GM · 6ccf9c4 · JaviSoto/iOS7-Runtime-Headers · GitHub これまでのところ見つかっている名前は、以下の通り。 (BOOL)isYoMamaWearsCombatBootsSupported; (BOOL)isYoMamaWearsCombatBootsActive; (void)se

    akiym
    akiym 2013/09/13
  • 様々なUNIX環境のecho.cの比較

    UNIX V5, OpenBSD, Plan 9, FreeBSD, and GNU coreutils implementations of echo.c UNIX Fifth Editionのecho.cは、以下のような実装になっている。 main(argc, argv) int argc; char *argv[]; { int i; argc--; for(i=1; i<=argc; i++) printf("%s%c", argv[i], i==argc? '\n': ' '); } いかにも昔のC言語らしいコードだ。ヘッダーの#includeはなく、関数の戻り値の型も指定されない。仮引数の型も、今となっては物珍しいだろうが後書きだ。 OpenBSDのコードは以下の通り。 /* $OpenBSD: echo.c,v 1.7 2009/10/27 23:59:21 deraadt

    akiym
    akiym 2013/04/11
  • 1