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

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

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

  • アウティングは違法か?

    以下のようなニュースがある。 「ゲイだ」とばらされ苦悩の末の死 学生遺族が一橋大と同級生を提訴 内容を要約するとこうだ。 同性愛者の男Aは、厳格な異性愛者の友人Bに好意を打ち明けた。Bは否定した。Bは周囲に、Aは同性愛者であることを暴露した。Aは心療内科に通院するほどの精神的苦痛を受けた。Aが籍をおく大学の相談室は、Aの相談に対して、同性愛問題を正しく把握せず、見当違いの性同一性障害を専門とする病院を紹介した。この対応にAは精神的苦痛を受けた。Aは精神的苦痛を理由として自殺した。 Aの遺族はBを訴えた。理由は、Bが周囲にAが同性愛者であることを暴露したことによる精神的苦痛は損害賠償を請求するに足るからだ。 Aの遺族は大学を訴えた。理由は、「同性愛者、うつ病、パニック発作についての知識・理解が全くなく、模擬裁判の欠席は前例がない、卒業できないかもしれない、などとプレッシャーをかけた」ことによ

  • 東京都知事選挙の候補者の主張の実現可能性の考察

    現在、都知事選挙が行われている[要出典]。筆者の手元には、東京都選挙管理委員会の発行した、「東京都知事選挙 選挙公報」と題された新聞様の文書がある。この選挙公報は、「立候補者21名のうち掲載申請があった20名から提出された原稿をそのまま製版の上掲載」しているという。 この選挙公報をつらつら眺めていると、多くの立候補者の主張する公約の実現には、極めて超法規的な権力(既存の国際条約、憲法、法律、条例への違反)、日の単年度国家予算(一般会計と特別会計を合わせて重複を省いた額、だいたい200兆円ほど)を超える金、時には物理法則を捻じ曲げる必要があることに気がついた。 しかし、それでもなお、公約を真面目に実現させた場合の状況を想像すると、なかなかにユーモラスな結果となることが予想される。そこで、この記事では、今回の都知事選挙の立候補者が選挙公報に寄せた内容を公約とみなし、文字通り実現させることが可

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

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

  • Craig WrightがSatoshi Nakamotoだとする証明はない

    WiredとGizmodeにより、Craig Wrightなる人物がbitcoinのオリジナルの設計者にして最初の実装者、Satoshi Nakamotoであると報じている。 Bitcoin’s Creator Satoshi Nakamoto Is Probably This Unknown Australian Genius | WIRED This Australian Says He and His Dead Friend Invented Bitcoin bitcoinのオリジナルの設計者にして最初の実装者は、当時Satoshi Nakamotoと名乗っていた。一見、日人のような名前であるが、彼は自らのことを多く語らず、またできるだけ身元の特定に繋がる痕跡は隠していた。当然、国籍はおろか、個人かどうかすらもわからない。彼の書いたコードのコメントはすべて英語で、非英語ネイティブに

  • コンピューター科学のアカデミック業界の残念な現状

    mhoye on Twitter: "Extremely angry with the state of academic CS research right now. (1/n)" MozillaでFirefoxのエンジニアリングコミュニティマネージャーであるMike Hoyeが、コンピューター科学におけるアカデミック研究の残念な現状に激怒している。 コンピューター科学のアカデミック研究の現状に激怒している。 MozillaがBugzillaを始めとした多数の情報を公開した結果として、多くの研究論文が書かれている。 我々はそのような研究には注目している。論文はじっくり読んでいるし、研究結果にしたがって今後の方向性も決めている。 しかし、我々は常に変化する世界に生きている。そのため、我々はデータをもとに結果を再検証して、仮定が正しいことを確認する。 ここで我々が行いたいことは、我々はある意

  • アメリカ合衆国政府が公金を投じて開発されたソフトウェアは自由ソフトウェアにする法案を公開

    江添亮 自由ソフトウェア主義者 C++ Evangelist C++標準化委員会の委員 ドワンゴ社員 C++11を執筆した。 株式会社ドワンゴで働いている。 Mail:boostcpp@gmail.com Twitter:@EzoeRyou GitHub: https://github.com/EzoeRyou 江添亮のマストドン@EzoeRyou 筆者にブログのネタを提供するために、品物をアマゾンお気に入りリスト経由で送りたい場合: Amazon.co.jp: 江添亮: 江添のほしい物リスト 筆者にブログのネタを提供するために、直接に品物を送りたい場合、住所をメールで質問してください。 View my complete profile ► 2020 (31) ► December (2) ► November (2) ► September (2) ► August (4) ► Jul

  • 普通のコンピューターからAMラジオを鳴らそう

    読者の持っている至って普通のコンピューターは、実はAMラジオを鳴らす発信装置が備わっている。 ラジオを鳴らすコードは以下にある。 https://github.com/fulldecent/system-bus-radio ただしこれはMac OS Xでしか動かないので、C++11に移植したコードが以下になる。また、このコードはスレッドを回して消費電力を上げることにより、オリジナルより出力も上げてある。 https://github.com/EzoeRyou/system-bus-radio 動かし方(GCCの場合) git clone git@github.com:EzoeRyou/system-bus-radio.git cd system-bus-radio make gmain make grun Clangの場合、以下のようにする。 make cmain make crun そし

  • 様々な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

  • GCC 4.8でぶっ壊れるSPECのお粗末なコード

    の虫: GCC 4.8のリリースノートとC++関連の変更で、GCC 4.8は464.h264ref: SPEC CPU2006 Benchmarkを壊してしまう。これはSPECベンチマークの規格違反によるものであると書いた。では、具体的に何なのか。それを解説している記事を発見したのでかいつまんで紹介。 Embedded in Academia : GCC pre-4.8 Breaks Broken SPEC 2006 Benchmarks Regehr: GCC 4.8 Breaks Broken SPEC 2006 Benchmarks [LWN.net] どうやら、SPECベンチマークは以下のようなコードを含むそうだ。 int d[16]; int SATD (void) { int satd = 0, dd, k; for (dd=d[k=0]; k<16; dd=d[++k])

  • Aaron Swartz自殺の背景事情

    Aaron Swartzが自殺したというニュースが世界に衝撃をもって伝えられた。Aaron Swartzは誰か。一体何をしたのか。何が彼を自殺に追い詰めたのか。 強欲な著作権である。 科学や技術はもちろんのこと、およそ学問は、論文に書かれて発表されている。 通常、論文の筆者は著作権を維持しない。論文を査読した者も権利を主張しない。実に、論文は多くの者に読まれるべきである。しかし、今日、その論文の閲覧を妨げている勢力が存在する。旧態依然の出版社である。 インターネットが普及した今日、情報の公開のコストは極端に下がった。しかし、論文は依然としてペイウォールの向こう側に隠されている。なぜか。旧態依然の出版社のためである。 昔の論文は、紙に印刷されている。ほとんどの論文は、すでにスキャンされ、少なくとも画像という形で電子化されている。しかし、その論文を簡単に読むことは出来ない。何故か。旧態依然の出

  • 自由ソフトウェア財団が技術的な指導力を失いつつある

    GNU sed 4.2.2 released, and a rant from the maintainer GNU sed 4.2.2のリリースに合わせて、メンテナーであるPaolo Bonziniが、GNU sedを含むGNUプロジェクトのメンテナーをやめると発言している。さらに、その理由について書き立てている。 私はGNU sed 4.2.2を喜ばしく発表する。 喜ばしからぬ発表として、私はGNU sed(8年間)とGNU grep(3年)のメンテナーから降りる。私はさらに、Autoconf, Automake, Libtool, gnulib, libsigsegv, Bsionのコミットアクセス権も放棄する。 GNUメンテナーと外部の者に告ぐ。この発表や、Nikos Mavrogiannopoulosの発表、gnutlsの移行は、驚くにあたらない。 gnutls is movin

  • リーナス曰く「2560x1600がラップトップの標準になってるべきだろボケ」

    Linus Torvalds - Google+ - So with even a $399 tablet doing 2560x1600 pixel displays,… リーナス・トーバルズがGoogle+で、ラップトップの解像度だけが全然向上していない現状に吠えてる。 399ドルのタブレットですら2560x1600ピクセルのディスプレイなんだぜ。ラップトップの解像度の標準もそれぐらいにしてくれよマジで頼むし。もちろん11インチでもだ。頼むし、"retina"とかいうクソな名前で呼ぶのはやめれ。単に、「まともな解像度」と呼べ。ラップトップがここ10年ほど、あんまり進化してないのは残念すぎるだろ。 俺は弁当箱みたいなラップトップは欲しくないが、1366x768とかいうのは旧世紀の遺物だろ。マジで、じきに携帯電話すらラップトップのクソな解像度を笑うようになるぜ。 もし自称技術ジャーナリスト

  • 全人類が一斉にジャンプしたらどうなるのっと

    Everybody Jump もし全人類が出来るかぎりお互いに近寄って同時に跳躍し、同時に着地したならば、どうなるのか。 --Thomas Bennet(とその他多数) このブログに寄せられる質問で多かったのがこれだ。これは、すでに考察されている。特に、ScienceBlogsとかStright Dopeの記事とかで考察されている。ここでは、運動量についてはよく考察されている。しかし、その余りの考察が足りない。 もっと詳細を考えてみよう。 まず状況を考える。全人類が魔法のように一箇所に集められたとする。 この人間の群れは、ちょうどロードアイランド州ほどの大きさの面積を占める。しかし、ここでは、そんな仮定の話のように、「ちょうどロードアイランド州ほどの大きさの面積」などとは言わない。この状況では、我々は具体的に考える。実際にロードアイランドに集まるのだ。 正午をもって、皆が跳躍する。 すでに

  • 実名で悪質なコメントは防げない

    Surprisingly Good Evidence That Real Name Policies Fail To Improve Comments | TechCrunch YouTubeが悪質なコメントを防ぐために実名を強く推奨しだしたそうだが、実名を強制したところで、悪質なコメントや犯罪の防止には全く役に立たない。これはすでに現実に行われた例がある。 韓国では国民全員にユニークなIDを振り、PV数が10万を超えるサイトには、必ずそのIDを使わせる、すなわち実名にすることを義務付けた。 しかし、この法律が行われた韓国で、悪質なコメントは減ったかというと、実は増えたのだ。 Empirical Analysis of Online Anonymity and User Behaviors: The Impact of Real Name Policy 実名を強制したことで、わざわざIDの

  • 日本国が危険な自主規制社会に突入しようとしている

    最近気になる声がある。「最近の広告にはわいせつ物が増えた。けしからん」という声である。この声は非常に危険である。 なぜ危険なのかというと、我が国では、刑法175条により、わいせつ物の頒布や陳列、頒布や陳列を目的とした所持は違法だからだ。 過去にも多数の芸術作品が、わいせつであるとして不当に撤去され、作者は罰せられている。実に、我が国は表現の自由を有せざる劣等国である。表現の自由が認められない世界では、思想の自由もなくなる。 したがって、我々はわいせつ性の判定に、もっと慎重になるべきである。なぜならば、一度わいせつ性が認められるや、その表現は違法になるからだ。表現を規制する法律を動かす便利な理由を自ら作り出しているのである。 さて、件の広告とやらは如何。幸い、あの有名な高木浩光氏が、スクリーンショット付きで実例を上げている。 togetter をスマホで見ると、常にこの手の広告。もうtoge

  • DNSの終焉が垣間見える、ぶっ飛んでて危険すぎるお名前.comの検閲事件

    忍者ツールズ全サービスが表示不可となる障害につきまして | ドメイン取るなら お名前.com ドメイン取得 年間280円~ 忍者TOOLSは、お名前.comというドメイン名レジストラにninja.co.jpのドメイン情報を管理させていた。忍者TOOLSは、ninja.co.jpというドメインを、自社の様々なサービスに使っていた。そのサービスは、忍者TOOLSのユーザーが使うものである。 さて、お名前.comの主張では、忍者TOOLSのユーザーがお名前.comの規約違反を起こしたために、ユーザーの規約違反は、すなわちそのユーザーのサービス提供元の規約違反であるとし、事前の協議や警告すらなしに、一方的にninja.co.jpのドメイン情報を消したそうだ。 これは恐ろしく危険な事件である。問題は、DNSが階層的な中央管理をされたシステムである以上、この問題は仕組み上どうしようもないという事である

  • 全プログラマーが知るべきレイテンシー数

    Latency numbers every programmer should know — Gist L1キャッシュ参照 0.5ナノ秒 分岐予測失敗 5ナノ秒 L2キャッシュ参照 7ナノ秒 Mutexのロックとアンロック 25ナノ秒 メインメモリー参照 100ナノ秒 Zippy[Snappy]による1KBの圧縮 3,000ナノ秒 1Gbpsネットワーク越しに2KBを送信 20,000ナノ秒 メモリーから連続した1MBの領域の読み出し 250,000ナノ秒 同一データセンター内におけるラウンドトリップ 500,000ナノ秒 ディスクシーク 10,000,000ナノ秒 ディスクから連続した1MBの領域の読み出し 20,000,000ナノ秒 パケットを、カリフォルニア→オランダ→カリフォルニアと送る 150,000,000ナノ秒 Jeff Dean著(http://research.googl

  • 演算力は無限になっとる

    Living in the Era of Infinite Computing Power めちゃカンタンな計算が、昔は遅かったんや。8bitプロセッサーで一万回ループしようとおもたらな、内側256回ループする外側で40回ループしたほうが速かったんや。16bitの加算と比較を行うために複数の命令を使わんでもええからや。 掛け算と割り算が、昔は遅かったんや。そもそも、そんな計算するCPU命令なんてなかったんやで。掛け算のオペランドの片方が定数やったら、加算とビットシフトに分解できるんやが(Nに44を掛けるには、N 左シフト 5 + N 左シフト 3 + N 左シフト 2や)、まあ、世の中そんなに都合よういってくれへんわな。 浮動小数点数が、昔は遅かったんや。FPU以前、浮動小数点数の計算はめちゃめちゃ遅いソフトウェアで行われていたんや。はじめのハードウェアは、マシなんはマシやったが、そんなす

  • カンタンなんがええのにワケわからへんもんをつくる

    We Who Value Simplicity Have Built Incomprehensible Machines 8086のAAA命令っちゅうやつは、まあ昔はよかったんや。1970年代は、二進化十進数、つまり一バイトで二桁を表す必要がある時代やった。BCDって何がそんなにええんや? おっきな数字が、マルチバイトの掛け算とか割り算とかせえへんでもカンタンに表示できるんや。加算した後はASCII化(ASCII Adjust After Addition)やからAAAっちゅうわけで、x86ハードウェアに三十年以上前から居座っとる。そこらにあるi7プロセッサーは全部、AAAをマイクロコードでエミュレートしとる。 Cライブラリ関数のmemcpyっちゅうやつも、まあ昔はよかったんや。memmoveはそこそこ早くて、もうちょいと器用なやっちゃ。コピー元とコピー先がオーバーラップする場合でもちゃん