タグ

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

  • 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は危なくて使えないラ

    mattn
    mattn 2020/02/17
  • 本の虫: Vimconf 2018のスタッフをしてきた

    VimconfとはテキストエディターVimに関する発表をするカンファレンスだ。国際カンファレンスを意識し、発表の多くは英語で行われている。今年は他ならぬVimの作者であるBram Moolenaar人を招待している。 去年のVimconf 2017には、雇用主のドワンゴがスポンサーをしていたので、スポンサーチケットで参加をした。 今年のVimconf 2018もドワンゴはスポンサーをしていたが、去年は私がスポンサーチケットを使ったので遠慮をして今年は別の同僚に譲った。自腹で行こうかと思ったが、チケット販売サイトはクレジットカードからの入金しか受け付けなかったので、購入を断念した。 残念、今年は参加できないか、と思っていたところ、運営スタッフから人手不足で当日のスタッフが足りないので来てくれと言われ、急遽スタッフとして受付のチケットもぎりをすることになったので、結果的に今年も参加することに

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

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

    mattn
    mattn 2018/10/29
    censored フィルタが完璧に動作している。
  • 世の中にはプログラミングを理解できない人間が存在する

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

    mattn
    mattn 2018/05/30
    全然関係ないけど for {} else {} は一度も回らなかったという意味であってもいいんじゃないかなと思ってる。
  • 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 仲良く

    mattn
    mattn 2018/05/07
  • 国際標準規格の紹介 〜ISO国際標準規格プログラミング言語C++について〜

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

    mattn
    mattn 2017/11/10
  • VimConf 2017に行ってきた

    以下で告知されているVimConf 2017に行ってきた。 vim-jp » VimConf 2017を開催します 私はVimを毎日使っているし、実際このブログ記事もNeovimで書いているが、肝心のVim力はさほど高くない。私はHJKLではなくArrow Keyを使うし、マウスも使う。大抵のテキスト編集作業はInsert Modeで行う。ノーマルモードで行う作業はペースト(これも面倒なのでInsert Mode内でCtrl+Rを使うこともしばしばあるのだが)やgJ、数行の自作の関数によるHTMLでエスケープが必要な文字のエスケープとか、ブログ記事をBloggerで公開するときに文やタイトルをコピーしたり、Bloggerへのリンクを挿入したりする作業だ。その他には:makeも使っているが、これは別にVimとはあまり関係がない。人から「でもあなたはoを使っているでしょう。他のエディターには

    mattn
    mattn 2017/11/06
  • 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 /" これは以下のようなコードと同じだ。

    mattn
    mattn 2017/09/25
    はたして「未定義だからしょうがない」と万人が言えるだろうか。
  • 濫用にあたる職務質問を受けたと考えたので弁護士と現場検証してきた

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

    mattn
    mattn 2017/07/24
  • 警察官に職務質問をされた話

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

    mattn
    mattn 2017/07/04
    「リュックの上から触って調べることで怪しいものがないかどうか所持品検査」シュールすぎるwww
  • 超会議2017でマストドンブースの運営スタッフをした

    序 私は江添亮、ドワンゴ社員だ。超会議2017で運営スタッフをした。このブログ記事は個人的なものだ。株式会社ドワンゴの見解ではない。こう書かなければならないのは悲しいことだ。結局、国語教育で存在しない作者の意図を答えさられた人が多いようだ。ちなみに、この文章はマストドンとfactorioがやりたくて仕方がない合間を縫って後ろ髪を引かれながら書いた。もし将来、この文章を使って「作者の意図を答えよ」という問題が出題されたときには、「作者はマストドンとfactorioの中毒者であるが我慢しながらこれを書いた」と答えるのが正解だ。 超会議2017リハーサル 概要 | ニコニコ超会議2017 公式サイト 超会議2017での私の割当は、神エクセル方眼紙で公開された。自由な表計算ソフトウェアであるLibre Officeでみてみると、私はゲームエリアにアサインされていた。 やった。事前に提出した希望通り

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

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

    mattn
    mattn 2017/04/21
  • そろそろマストドンについて語っておくか

    世間ではマストドンが流行っている。結論から言うとマストドンは思想的にも設計的にも失敗しているのでお祭りのように一時の話題になった後、急速に忘れ去られる運命にある。 マストドンを語るには、まずマストドンが実装しているプロトコルであるOStatusについて説明する必要がある。これはもともと、StatusNetというソフトウェアが提唱したプロトコルで、Twitterようなマイクロブログの更新通知のためのプロトコルだ。StatusNetは今は名前を変えてGNU Socialとして自由ソフトウェア財団の傘下になっている。 マストドンはいうなればGNU Socialの互換実装だ。その基的な思想や設計はGNU Socialと同じだ。どちらも現在の大手ソーシャルネットワークサービスに共通の問題に対処しようとしている。 問題とは何か。権力の一極集中である。TwitterにしろFacebookにしろGoog

    そろそろマストドンについて語っておくか
    mattn
    mattn 2017/04/17
  • GoogleがGoによるPython実装、Grumpyを発表

    Googleが既存の社内のPythonコードをGoで実行するためのPython実装を公開している。 Google Open Source Blog: Grumpy: Go running Python! google/grumpy: Grumpy is a Python to Go source code transcompiler and runtime. Googleの発表によれば、YouTubeのフロントエンドサーバーとYouTube APIはほとんどPythonで書かれているという。現在、YouTubeのフロントエンドはCPython 2.7で実行されているが、CPythonの制約により効率化には限界があるのだという。 GrumpyはPython 2.7のコードをGoのコードに変換するツールgrumpcの実装だ。grumpcPythonで実装されていて、astモジュールでPyth

    mattn
    mattn 2017/01/05
  • 高専プロコンの問題がクソすぎるのでプログラミングを放り出して人力に走るのは最適解であり協賛企業はプログラミングを軽視する企業として唾棄されるべき

    高専プロコンの問題がクソすぎるのでプログラミングを放り出して人力に走るのは最適解であり協賛企業はプログラミングを軽視する企業として唾棄されるべき 第27回高等専門学校プログラミングコンテストが不評を買っている。プログラミングコンテストと名前が付いているのにもかかわらず、選の上位入賞者は、人力で問題を説いたという。特にコンピューターを持ち込んですらいないチームまでいたという噂まで流れている始末。 なぜそんな残念な結果になるのか、高専生のアルゴリズム力が低いからこうなったのだろうか。この謎を改名すべく、筆者は課題を確認した。 http://www.procon.gr.jp/uploads/procon27/1_Apply27.pdf 課題を要約すると、以下の通りだ。 問題 「一枚の木の板(中密度繊維板)を切り出して、50個以下のピース(凹多面体を含む多角形)に分割する。このピースを枠内で組み

    mattn
    mattn 2016/10/09
  • npm、一見無意味なパッケージを消したら1000件ものパッケージが依存するパッケージであったことが判明

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

    mattn
    mattn 2016/08/24
  • 超会議2016でドワンゴの運営スタッフとして焼きそばを焼いた感想

    「江添さん、超会議で焼きそばを焼きませんか?」 恰幅のいい同僚が話しかけてきた。この男はドワンゴの料理研究部の部長である。 ドワンゴには福利厚生として同好会の設立を会社に申請でき、受理された同好会には部費も支給される。最も、会社が経費として出す金なので、いろいろと制約がある。例えば、飲費用には使えない。料理研究部は調理器具や職場近くのキッチンのレンタルなどに部費を使っている。 「焼きそば? 少し前に話題になったアレをネタにするつもりですかな。しかし、もう旬は過ぎてしまったのではありませんかな」 「アレ」というのは他でもない。一時期、ドワンゴから退職が相次いだ時期があり、その時のある退職者に対して、退職理由がよくわからないとドワンゴの川上宣夫会長と伊藤直也氏がスシをつまみながらのインタビュー記事で書かれたことを受けて、元ドワンゴ社員のkuzuhaが、言及されている退職者というのは自分であろ

    mattn
    mattn 2016/05/01
    「ドワンゴは本物の焼きそば職人を募集しています。」
  • Brian Kernighanがプログラミング言語Goの組版に使ったのはなんとtroff

    Ramakrishnan Muthukrishnan - Brian Kernighan on the typesetting of "The Go Programming Language" book L&RのKでありAWKのKでもあるBrian KernighanとAlan Donovanの執筆したThe Go Programming Language(邦訳は丸善からプログラミング言語Goとして6月15日に出版される予定)の組版には、Troff(具体的にはgroff)が使われたそうだ。同の組版に感心した人間が、Brian Kernighanに組版について以下のようなメールを送った。 親愛なるKernighan教授へ プログラミング言語Goのとても組版が美しい。個人的な感想では、LaTexでクマれたものより美しいように思われる。 同の執筆手順との組版について詳しい説明を願いたい

    mattn
    mattn 2016/04/13
  • FBIが2週間でiPhoneをクラックする方法について

    FBIがAppleに対してiPhoneをクラックするための特別なOSの開発を要求している裁判において、FBIにほぼ証拠捜査のためにほぼ任意の命令を下せる万能な昔の法律、、All Writs Actそのものの合憲性が問われかねない自体に陥っているため、FBI側も栽培を取り下げたいためか、FBIは2週間でiPhoneをクラックする現実的な方法があるので検証すると発言している。 果たしてそれは何なのか。以下の記事で、その方法が考察されている。 その前に、今回のFBIのiPhoneのクラックというのは、正確に言うと、iPhoneのPasscodeを突破したいというものだ。そのために、正解のパスコードを引き当てるまで入力を繰り返す、いわゆるブルートフォースと呼ばれる愚直な攻撃を実施したいのだが、iPhoneにはパスコードの入力を何度か間違えるとストレージからハッシュ値を削除するという仕組みが存在する

    mattn
    mattn 2016/03/28
    何年かかるんだ。
  • npmからkikとその他諸々が消されたまとめ

    npmとは、node.jsにおけるパッケージシステムのことだ。npmを使えば、他人の書いたnode.jsベースのプログラムとライブラリの入手と利用がとても簡単になる。 そのnpm界隈が混乱している。発端は以下のURLだ。 I’ve Just Liberated My Modules — Medium Azer Koçuluはkikという名前のnpmパッケージを公開していた。このkikというソフトウェアの中身についてはここでは関係がない。 さて、それとは別に、kik.comというスマフォ用のチャットアプリを出しているKik Interactive社がいて、kikという名前のパッケージをnpmで出したいので、名前を明け渡すように要求した。 Azerはこの要求を拒否した。すると、Kik Interactive社はnpmの管理者に片っ端からメールを投げまくり、そのうちの一人が反応して、Azerの意

    mattn
    mattn 2016/03/25