タグ

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

  • 本の虫: 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のメモリ

    kitaj
    kitaj 2018/07/31
    「つまり、現状ではゲームオーバーで負けたってことだ。GCCレポジトリはでかすぎる上に変すぎる。」
  • 世の中にはプログラミングを理解できない人間が存在する

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

    kitaj
    kitaj 2018/05/30
    プログラミング以前に人の話聞かないのが終わってると思う
  • C++入門書で再帰について解説しようとしたら思わぬ最適化できないコードに出くわした

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

    kitaj
    kitaj 2018/04/24
    そもそもC++に末尾呼び出し最適化があるということを初めて知った!ちょっと調べたらlambdaもか使えるようになってて全然知らない言語になってる…
  • 物理的に近くの相手とファイル共有する方法

    以下のようなTweetを読んだ。 ごめん言葉足らずだった。インターネットへの通信品質を信頼できないコミケ会場で、ビューワであるスマホやタブレット端末にPDFを送りつけたいんだ。 https://t.co/gzbcQKXkEN — ろ。まのふ (@kamiya344) January 19, 2018 インターネットが普及してからもうかれこれ20年以上もたつが、未だにこの問題が解決できていないのは嘆かわしいことだ。なのでこの問題を解決してみよう。 ただし、今回の問題は、大量に人が集まるため無線通信が難しい状況で、物理的に近い場所にいる相手とのファイル共有だ。 ファイルの転送自体は、前後にインターネット回線を確保してから行ってもいい場合は、どこかに暗号化したファイルを公開しておき、現場では復号鍵を配布すればいいだろう。 しかし、その場で直ちにファイルを転送したい場合はどうするのか。この場合、物

    物理的に近くの相手とファイル共有する方法
    kitaj
    kitaj 2018/01/20
    AirDropが便利なんだけど、apple以外で使えないのが残念
  • AtomとかいうGitHub発の不自由なテキストエディターについて

    GitHubが存在を公開した(流出したと言うべきかもしれないが)、Atomというテキストエディターの話題で持ちきりである。 このテキストエディターは、邪悪な不自由ソフトウェアであるので、自由の価値を重んずる読者は使ってはならないことはもちろんである。自由、不自由をさておいても(もちろん、さておくことはできない相談だが)、もちろん、敬虔なVim教徒である読者は即座に了解しているだろう。AtomがEmacsよりはいくらかは--自由の価値を重んじない浅はかな利用者にとっては--使いやすくなる可能性はないでもないが、Vimの牙城を崩すことは不可能である。Vimを倒すものはVimであり、NeoVimかもしれないが、Atomであることはありえない。その点で、我々信徒は安心できる。 さて、このAtomというテキストエディターは、自由ソフトウェアではない。その理由は、以下で言及されている。 Why is

    kitaj
    kitaj 2014/02/28
    コメントワロタ
  • 東京は住みにくい

    さて、東京に引っ越して数週間たった。結論から言うと、東京は住みにくい。 東京に来てまず気がついたのは、メシのまずさだ。どの飯屋に入っても、京都より数百円高い上に、クソまずい。私は未だに、東京でまともなメシ屋を発見したことがない。それは、何万円も払うような店ならば、少しは違うのかも知れないが、私はそんなごちそうをべたいのではない。普通のメシを普通の値段でべたいのだ。東京の飯屋は、800円や1000円も取る割に、どうやったらこんなにまずく作れるのだと疑問に思うほどまずいメシしか出てこない。 色々と考えた挙句、結局、東京には出汁という文化がないのではないかという結論に達した。東京には油か醤油の薄め液しかないのだ。 とくに、うどんとそばが最悪だ。そばはまだともかく、うどんはつゆの良し悪しで味が大きく左右されるというのに、東京の飯屋のめんつゆは、醤油の薄め液のようなものしか出てこない。パスタにケ

    kitaj
    kitaj 2014/02/11
    釣りなの? と思わんばかりの関西人的テンプレ反応でむしろ微笑ましい./ 東京はメシも食材も金さえ出せばうまいと思う.うどん・そばもうまい店はある.探してないだけ.
  • 1/9998 = 0.0001 0002 0004 0008 0016 0032 0064 0128 0256...

    1/9998 = 0.0001 0002 0004 0008 0016 0032 0064 0128 0256... \(\frac{1}{9998}\)は、4桁で2^13まで2の累乗のパターンが出現する。 \[\frac{1}{9998} = 0.0001\;0002\;0004\;0008\;0016\;0032\;0064\;0128\;0256\;0512\;1024\;2048\;4096\;8193\;6387\;\cdots\] Hacker Newsによれば、これは以下のような理由による。 The pattern will break down once you get past 8192, which is 2^13. That means th\cdots | Hacker News このパターンは8192を超えると破れる。つまり、このパターンはすごいことに52桁も継続

    kitaj
    kitaj 2014/01/30
    これはシビれるな.「基本的に無限に続く数列が、オーバーフローしているというのは、変態的に美しい」
  • 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したらしいのだ。

    kitaj
    kitaj 2013/11/12
    push --forceって戻せるんだ
  • Emacs上でのVim実装であるEvilのバージョンが1.0に達した

    江添亮 自由ソフトウェア主義者 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

    kitaj
    kitaj 2013/02/23
    「どうやら、Emacsにもようやくまともなテキストエディターがやってきたようだ。確かに、EmacsはそれなりのOSではあるが、まともなテキストディタ―を欠くと言われて久しい。」みんなもEmacs使いなよ!
  • OS XでFile:///と入力するとクラッシュするそうだ

    江添亮 自由ソフトウェア主義者 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

    kitaj
    kitaj 2013/02/02
    ホントだ.concon問題かよww
  • 自由ソフトウェア財団が技術的な指導力を失いつつある

    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

    kitaj
    kitaj 2012/12/23
    「とうとう、言うべきことが言われた感がある。」こんなことになっていたのか…
  • JavascriptによるPCエミュレーター

    Javascript PC Emulator Javascript PC Emulator - Technical Notes これは、QEMU作者による、Javascriptで書かれたPCエミュレーターである。その上で、Linuxカーネルを動かしている。どうも、Chrome 12では、バグにより動かないようだ。Firefox 4なら問題なく動く。にわかに信じがたい。 技術メモを読むとわかるが、これはかなり限定的なエミューレションである。しかし、Linuxカーネルを動かすには十分である。 エミュレートしているのは、主に以下のチップである。 a 32 bit x86 compatible CPU a 8259 Programmble Interrupt Controller a 8254 Programmble Interrupt Timer a 16450 UART. エミュレートされてい

    kitaj
    kitaj 2011/05/17
    これは面白いなぁ.
  • 1