タグ

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

  • 職質裁判で不当判決が出たので控訴する

    職質裁判の一審判決があまりにも不当すぎる。判決文はGitHubで公開している。 https://github.com/EzoeRyou/calling-110-is-suspicious 判決文では、東京都(警察)側の多くの虚偽の主張は認定されなかった。以下は認定されなかった東京都(警察)による虚偽の主張である。 江添はパトカーとすれ違った際、顔をふせ足早に走り去った すれ違った場所の近くにある自動販売機で飲み物を買っていることからありえない 江添は手を小刻みに動かす所作をなした 裁判所の判断では言及されず 江添は吉野家の看板をひっくり返した 裁判所の判断では言及されず 江添は自らの意思で駐車場に向かった 江添は走った 特に最後の項目はとても興味深い。私は走ったところ警察官らに取り押さえられて駐車場に押し込められたわけで、裁判所は走ったのは怪しいとしている。しかしなぜか東京都(警察)の主張

    knjname
    knjname 2019/03/20
  • DNAの読み取りについてプログラマーが誤解していること

    世の中にはDNAの読み取りを使った技術が実用されすぎている。DNAを使った生物の共通祖先の判定、人間の出アフリカ以降の移動の推定、特定の病気にかかりやすい遺伝子を持つかの判定、親子鑑定、刑事裁判におけるDNA鑑定などなど。 あまりにもDNAの読み取りを使った技術が実用化されすぎているため、世間ではDNAの読み取りは簡単なものだと考えている。プログラマーとて例外ではない。 大抵のプログラマーはヒトDNAの読み取りを以下のように考えている。 「一の長い磁気テープを先頭から末尾までシーケンシャルにリードする」 より現実的に例えると以下のようになる。 長さ30kmの長大な磁気テープをだいたい長さ1cmのテープ片に切断する 上記1cmのテープ片を数百複製する 上記複製した数百の1cmテープ片をマイクロメートル単位のテープ片にズタズタに切り裂いて混ぜ合わせる 上記混ぜ合わせたマイクロメートル単位

    knjname
    knjname 2018/09/03
  • 違法な職務質問を受けたので国賠訴訟を起こした裁判の傍聴のお知らせ

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

    knjname
    knjname 2018/08/13
  • 本の虫: GCCのgit移行が難航中

    GCCはgitへの移行を計画しているが、GCCの既存のsubversionレポジトリをgitレポジトリに変換する作業が難航している。 GCCの移行作業を検証しているのは他ならぬEric S. Raymond(ESR)だ。 ESRお手製の変換ツール、reposurgeonはsubversionからgitへの変換ができる。 Resource page for reposurgeon 3.44 しかしGCCは30年もの歴史を持ち、そのsubversionレポジトリも複雑だ。 ESRはGCCのためにreposurgeonのバグを潰し、勢い変換しようと試みたが、意外な障害に出くわした。メモリ不足だ。 GCC's Conversion To Git Is Being Held Up By RAM, a.k.a. Crazy DDR4 Prices - Phoronix ESRの所有する64GBのメモリ

    knjname
    knjname 2018/07/31
    最新版ソースそのまんま移行して、裏でこれもやって、最後にrebaseみたいにすればいいんじゃないかなあ。まあその時だけローカルクローン死ぬけど。gitのメリットってそういう寝技ができることだし。
  • C++に提案されている静的例外

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

    knjname
    knjname 2018/07/11
  • 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 仲良く

    knjname
    knjname 2018/05/03
    “本の虫: LLVMで5番目に貢献の多い開発者、LLVMの最近のSJW運動に反対して開発をやめると表明”
  • C++入門書で再帰について解説しようとしたら思わぬ最適化できないコードに出くわした

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

    knjname
    knjname 2018/04/24
  • Haskellでwordsを実装してみた

    Haskellを学び始めたが、いまだにまともなコードを書くことができないでいる。理由は簡単で、まだ標準入出力が扱えないからだ。 標準入出力はUNIXでは極めて根的な機能だ。標準入出力が扱えるようになればだいたいの処理はできると考えてよい。というのも、UNIXではパイプによって標準入出力の入力元と出力先を変えることができるからだ。パイプを使えば、ファイル操作やネットワーク操作をコードで表現する方法を知らなかったとしても、操作ができるようになる。 ところが、Haskellでは標準入出力を扱えるようになるまでが遠い。別に書けないわけではない。今でもHaskellでHello,Worldぐらい書けるし、特定の処理がしたいのであれば似たような入出力処理をするコードをどこからか探してきて改変することで目的のコードを作り出すことはできる。そういう意味では、現時点でもHaskellである程度のコードは書

    knjname
    knjname 2017/12/26
    “本の虫: Haskellでwordsを実装してみた”
  • 国際標準規格の紹介 〜ISO国際標準規格プログラミング言語C++について〜

    はじめに こんにちは、C++標準会員の江添です。 今日は普段から表に出ている、閉鎖的なゲーム開発では使われていない開発環境についての紹介をします。 今回紹介するのは、ISO国際標準規格プログラミング言語の「C++」です。 なんと表の世界では、国際標準のプログラミング言語は、コンパイラーベンダーやC++利用企業と行ったC++に利害関係を持つ多数の代表が国際標準規格を制定しているのです。当たり前でしょ? C++は以下のような特徴を持っています。 エラーに気づきやすい静的型付け言語 C++経験者が理解しやすい言語仕様 OSに依存しない移植性の高いC++実装 実行環境に依存しないC++規格準拠の挙動の定義 C/C++の関数・クラスに最初からバインドされている 今でもクローズな実装の詳細のわからないプログラミング言語がたくさんあり、それらを使うデメリットは数多くあります。 国際規格の言語を使うのは様

    knjname
    knjname 2017/11/15
    ゲームについては、だいたい作ったら終わりというのが普通だから、アドホックになんでもできてしまうほうが都合がいい気はする 要するに外野からどう見えるかではなく成果が出ていればよい / “本の虫: 国際標準規格
  • VS CodeがDOMによるターミナル実装のパフォーマンスを改善できなかったためCanvasに変更

    Integrated Terminal Performance Improvements Electronという史上まれに見るそびえ立つクソのようなGUIプラットフォーム上で実装されているVS Codeが、ターミナルの実装をDOMによるものからCanvasによるものに変更したそうだ。これは、DOMによる実装ではパフォーマンスの改善が十分にできなかったからだという。 DOMでターミナルを実装する際の問題ごととして、テキスト選択、テキストアライメント、GC、パフォーマンスを上げている。 テキスト選択:ターミナルのテキスト選択を実現するためにDOMのテキスト選択の挙動をだいぶ上書きしなければならない。 テキストアライメント:一部の文字はモノスペースになってくれず、workaroundとして一文字ごとに固定長のspanで包む必要があるが、これはパフォーマンス上よろしくない。 GC:DOMでターミナ

    knjname
    knjname 2017/10/05
    そりゃ根本まで詰めれば分が悪いに決まってんだろうけど、Electronはいい道具には違いない
  • C++の未定義の挙動で呼ばれないはずの関数が呼ばれる場合

    Krister Walfridsson’s blog: Why undefined behavior may call a never-called function 以下のようなコードをClangでコンパイルすると、 #include <cstdlib> typedef int (*Function)(); static Function Do; static int EraseAll() { return system("rm -rf /"); } void NeverCalled() { Do = EraseAll; } int main() { return Do(); } Clangは以下のような最適化されたコードを吐く。 main: movl $.L.str, %edi jmp system .L.str: .asciz "rm -rf /" これは以下のようなコードと同じだ。

    knjname
    knjname 2017/09/26
  • OracleがJava EE 8の開発をコミュニティの手に委ねたいとか言い出す

    Opening Up Java EE | Oracle The Aquarium Blog Oracleがブログで、Java EE 8の開発をコミュニティの手に委ねたいと表明している。その文章がいかにも回りくどく面白かったので、とりあえず翻訳してみた。 Java EE 8についてOracleは目覚ましい進展を続けてきた。規格はほぼ固まり、この夏にリファレンス実装を提供できる予定だ。Java EE 8の提供とJavaOne 2017カンファレンスが近づいてくるにつれ、OracleとしてはJava EEの開発をより変容する業界と技術要求に対してアジャイルかつレスポンシブに対応できる開発体制を再考する余地があるのではないかと考える。 Java EEは競争的な市場において、互換性の高い実装、業界に広く採用されている技術、多大な既存のフレームワークとツール、エンタープライズとエンドユーザーに対する数

    knjname
    knjname 2017/08/19
    “本の虫: OracleがJava EE 8の開発をコミュニティの手に委ねたいとか言い出す”
  • 濫用にあたる職務質問を受けたと考えたので弁護士と現場検証してきた

    承前 の虫: 警察官に職務質問をされた話 の虫: 濫用に当たる職務質問を受けたと考えたので弁護士に相談して訴訟を起こすことになった話 さて、弁護士と職務質問を受けた現場にいって当時の流れを再現してきた。 ところで、私は今回の濫用に当たる職務質問を受けたことを弁護士に相談して、裁判費用と弁護士報酬を合わせて61万円を支払った。こう書くと、にわかにカンパを支払いたいという連絡が何件もやってきた。61万円は少ない額ではない。幸い、私には貯蓄と収入があるので、生活に影響を与える出費ではない。 この問題に身銭を切ってまで感心を寄せる人間がこれだけいるのだという可視化のためにカンパを受け取るというのも考えたが、現在、生活が困窮しているわけでもなく、またこれ以上の出費が見込まれるわけでもなく、かつ出所のわからない金をあまり受け取りたくはないというのもある。第一その金は61万の支出と相殺して所得はなか

    knjname
    knjname 2017/07/24
    “本の虫: 濫用にあたる職務質問を受けたと考えたので弁護士と現場検証してきた”
  • 濫用に当たる職務質問を受けたと考えたので弁護士に相談して訴訟を起こすことになった話

    去る7月3日の午後の通勤途中に、私は職務質問を受けた。その次第は以下のブログ記事に職務質問を受けた当日書いて投稿した。ただし、投稿時に日付を超えてしまったので投稿日時は7月4日になっている。 の虫: 警察官に職務質問をされた話 さて、振り返って見るに、私は先日の職務質問が警察官職務執行法第一条に規定された、「目的のため必要な最小の限度」を超えていて、「濫用」にあたるのではないかと考える。というのも、 「下を向いて歩いていた」、「帽子を目深にかぶっていた」という理由は、同法二条にある「合理的に判断して何らかの犯罪を犯し、若しくは犯そうとしていると疑うに足りる相当な理由」にはならない。 仮に「疑うに足りる相当な理由」であったとしても、職務質問を開始してかなり早い段階で、その疑いに対して「重い荷物を背負って長距離を歩いたので疲れたのではないか」、「人間は下ぐらい向くものだ」、「日差しが強く帽子

    knjname
    knjname 2017/07/14
    本の虫: 濫用に当たる職務質問を受けたと考えたので弁護士に相談して訴訟を起こすことになった話
  • ミニミニ入居安心サービスはクソだ

    今いる賃貸物件は、私の嫁と大家との間に、株式会社ミニミニ中央という不動産屋が仲介に入って賃貸契約したものだ。なぜ私の名義で契約していないかと言うと、私は電話番号を所有していないため、保証会社が審査を拒否したためだ。審査に落ちるどころではない。審査の拒否だ。しかし、なぜか私の嫁名義で保証会社の審査を出したら、私を保証人に加えろと言ってきた。審査を拒否するほどの信用のない人間を保証人には加えるほど信用するのは不思議だ。 引っ越して2年たち、事前の契約通りに更新手続きの書類が株式会社ミニミニ中央から送られてきた。内訳は不動産業界の謎の慣習に従って、以下の通りだ。 更新料(契約を維持して住み続けるだけで借り主がカネを払うのかよ? 更新料があるために引っ越されたら大家も家賃をとりっぱぐれて損するんだぞ?) 火災保険料(俺が所有していない不動産の保険を借り主たる俺が払うのかよ?) 保証料(家賃不払いの

    knjname
    knjname 2017/06/05
    ミニミニ入居安心サービスはクソだ
  • Rustのパッケージマネージャーでパッケージ名nulを作ったら全Windowsユーザーのパッケージマネージャーが壊れた話

    How I Broke Rust's Package Manager for All Windows Users - sasheldon.com 非Windowsユーザーが何気なくRustでnulという名前のパッケージを作って公開した。すると、全Windowsユーザーのパッケージマネージャーが壊れた。 理由は、nulという名前はWindowsでは予約語だからだ。Win32サブシステム経由で、どのディレクトリであれ、nulというファイル名を使おうとすると、それはGNU/Linuxでいう/dev/nullと同じような扱いになる。nulに拡張子がついていても同じだ。 RustWindowsサポートも重視しているので、これに対処してWindowsの予約語を禁止する変更がなされた。 Reserve windows crate names. by withoutboats · Pull Reques

    knjname
    knjname 2017/05/10
    コンコン狐 / “本の虫: Rustのパッケージマネージャーでパッケージ名nulを作ったら全Windowsユーザーのパッケージマネージャーが壊れた話”
  • Wandboxのスポンサーになるべく、めるぽんに肉をおごってきた

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

    knjname
    knjname 2017/04/06
    “本の虫: Wandboxのスポンサーになるべく、めるぽんに肉をおごってきた”
  • UbuntuがUnityを捨てる予定

    Growing Ubuntu for Cloud and IoT, rather than Phone and convergence | Ubuntu Insights 朝からなかなか衝撃的なニュースが飛び込んできた。結論から言うとこうだ。 Ubuntu 18.04ではデフォルトのデスクトップをGnomeにする。Unity8の開発は中止する。スマフォ対応は中止する。おそらくMirの開発もやめる。 CanonicalのMark Shuttleworthは、Ubuntuをスマフォ対応させて、どこでも同じ環境が実現できるという目標をやめて、UbuntuをクラウドやIoTに向けて発展させると発表した。 これはなかなか衝撃的だ。たしかに、Unity8とMirはこの長年開発しているが、さっぱり日の目を見ないソフトウェアだった。4年も開発していまだに実用化に至っていないデスクトップサーバー、コンポジタ

    knjname
    knjname 2017/04/06
    UbuntuがUnityを捨てる予定
  • npm、一見無意味なパッケージを消したら1000件ものパッケージが依存するパッケージであったことが判明

    npm、一見無意味なパッケージを消したら1000件ものパッケージが依存するパッケージであったことが判明 npmが一見無意味に思えるfsというパッケージをSPAMとみなして削除したところ、1000件ほどのパッケージが依存するパッケージだったので、削除を取り消した。 npm, Inc. Status - "fs" unpublished and restored 今日、数分ほど、"fs"というパッケージが、ユーザーからSPAMであるという報告を受けて、レジストリから非公開にされた。これは現在復旧されている。これは私(@seldo)による人為的なミスである。私は非公開が安全であるかを確認する内部のガイドラインに従っていなかった。ビルドが阻害されたユーザーに謝罪する。 詳細:"fs"というパッケージは、無意味なパッケージである。これは単に"I am fs"をログに残して終了する。このパッケージが何

    knjname
    knjname 2016/08/24
  • ダイヤルQ2風の電話番号でInstagramやGoogleやMicrosoftから金をむしりとれる脆弱性

    セキュリティ研究者が、とても興味深い脆弱性を報告して報奨金をもらった記事が上がっている。 How I Could Steal Money from Instagram, Google and Microsoft – Arne Swinnen's Security Blog プレミアムナンバーという電話上のサービスがある。これは一時期日で行われていたダイヤルQ2と同等の仕組みを持つサービスで、プレミアムナンバーという電話番号にかけた電話の通話料は、通常より高い。通話料の差分は、電話サービスの提供元に支払われる。 ダイヤルQ2は電話越しに何らかのサービスを提供して、電話料金で利用料を徴収できる、手軽な仕組みだった。その利用例は、投資顧問、アダルト、占い人生相談、義援金、ダイヤルアップISPなどに利用されていた。ダイヤルQ2自体は2014年に終わったが、海外ではまだ同等の仕組みをもつサービス

    knjname
    knjname 2016/07/18
    “本の虫: ダイヤルQ2風の電話番号でInstagramやGoogleやMicrosoftから金をむしりとれる脆弱性”