タグ

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

  • nVidia、GeForceのデータセンターでの利用を禁止する

    NVIDIAが規約変更によりGeForceのデータセンター利用を制限。大学などの研究活動にも大ブレーキ - WirelessWire News(ワイヤレスワイヤーニュース) また清水亮がポエムを書いている。困るんだよね、名前の同じ人間にそういうことをされると私まで詩人だと思われてしまう。 nVidiaは確かに邪悪で不自由で存在自体が人道上の罪にあたる極悪企業であり、かのLinuxカーネルの最高開発者であるブリリアント・アッスホールの称号も名高いリーナス・トーバルズにも中指を突き立てられてFから始まるとてもここで書くことができないほどの醜悪極まりない侮辱の四文字言葉で罵られたほどの救いようのない時勢の読めない烏合の衆ではあるが、まさか自らの飯の種であるデータセンターへの利用を禁止するほどの寓話に出てくる金の卵を生む鶏を割くほどの阿呆ではないだろう。どれどれ、この私が直々にソースとやらを検証し

    zetamatta
    zetamatta 2017/12/23
    これさえなかったら、よい記事だったんだが>『不自由ソフトウェアの脅威を受け入れておきながら、今回のnVidiaの契約の妥当性に疑問を示す人間は論理的な思考ができない人間である』
  • 警察官に職務質問をされた話

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

    zetamatta
    zetamatta 2017/07/04
  • C++に提案されている統一関数呼び出し文法(Unified Call Syntax): N4165, N4174

    C++に提案されている統一関数呼び出し文法(Unified Call Syntax): N4165, N4174 N4165: Unified Call Syntax N4174: Call syntax: x.f(y) vs. f(x,y) この二つのC++標準化委員会の文章は、統一関数呼び出し文法を提案している。 現在、フリー関数とメンバー関数では、呼び出しの文法が異なる。フリー関数は、f( x, y, z )と呼び出すが、メンバー関数は、x.f( y, z )と呼び出す。これは汎用的なコードを書くのに都合が悪い。 template < typename T > void f( T x ) { // Tがクラス型である場合これを使いたい x.swap( 1, 2 ) ; // Tがクラス型ではない場合これを使いたい f( x, 1, 2 ) ; } 現状では、このようなコードは、テンプ

    zetamatta
    zetamatta 2017/06/03
    確かに我々一般ピーポーは「統一関数呼び出し文法(Unified Call Syntax)」という名前自体が分からない
  • 作業が早いプログラマーと遅いプログラマーの差の比は4:1

    An empirical study of working speed differences between software engineers for various kinds of task プログラマーの作業速度には差がある。作業速度が早いことだけをもって優秀なプログラマーとは限らない。そのソフトウェアの保守性が悪いかもしれないからだ。しかし、やはり作業速度の早いプログラマーは優秀と見られがちだ。特に、転職界隈では、優秀なプログラマーは、その作業速度の速さを形容して、「ニンジャ」とか「10倍プログラマー」などというタイトルで喧伝されている。さて実際には、プログラマーの作業速度は、全体としてどの程度違うのか。 プログラマーの作業速度が早いものと遅いものの比は、従来、28:1であると言われてきた。この数字には根拠となる研究がある。1967年にGrantとSackmanが公開した論文

    zetamatta
    zetamatta 2016/07/17
  • 本の虫: Bazaar-NG: 分散バージョン管理システムを7年ハックしてきて

    Bazaar-NG: 7 years of hacking on a distributed version control system Bazaarの開発者が、Bazaarが失敗した理由について、当時を振り返って書いている。なかなか面白い。 Bazaar-NG: 分散バージョン管理システムを7年ハックしてきて この7年間、筆者はBazaarプロジェクトに関わってきた。筆者はプロジェクトから距離を置き始めている今この時、筆者のこのプロジェクへの関わりや、何が良くて何が悪かったのかの意見などを、振り返ってみるべきだと思う。 この回顧録には多くの複雑な詳細が出てくるので、筆者の誤りもあるかも知れない。間違いを見つけたら知らせてくれ。 黎明期 < ddaa> dscmsには2種類ある。古臭いやつと、実験中なやつ。 2004年、筆者は、 SambaのコントリビューターであるMartin Pool

    zetamatta
    zetamatta 2016/07/09
    曰く>Bazaarの開発者が、Bazaarが失敗した理由について、当時を振り返って書いている
  • 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の意

    zetamatta
    zetamatta 2016/03/24
    なるほど、よく分かりました。ありがとうございます(池上さんテーストで)
  • ビッグデータツールチェインのセキュリティはビッグリスク、あるいは、誰もHadoopをスクラッチからビルドする方法を知らない件について

    ビッグデータツールチェインのセキュリティはビッグリスク、あるいは、誰もHadoopをスクラッチからビルドする方法を知らない件について The sad state of sysadmin in the age of containers コンテナー時代のシステム管理者の惨状 システム管理は惨劇に見舞われている。現状は悲惨だ。 筆者は昔気質のシステム管理者に不満はない。システムの稼働を維持し、アップデートし、アップグレードする方法を知っている者達だ。 この憤りは、コンテナーと構築済みVMと、それらがもたらす、「信頼」や「アップグレード」の欠如による悲惨な惨劇に対するものだ。 例えば、Hadoopを見てみろ。誰もHadoopをスクラッチからビルドする方法を知っているようには見えないぞ。依存性とバージョンとビルドツールが悲惨なほどに絡まりあっている。 この手のイケてるツールの中で、古典的なmake

    zetamatta
    zetamatta 2015/04/29
  • cpで大量のファイルをコピーした(4億3200万件、39TB)

    GNUのcpを使って大量のファイルをコピーしたところ、cpの設計上の問題で、極めてコピーが遅かったというお話。 My experience with using cp to copy a lot of files (432 millions, 39 TB) よう。俺は最近、大量のファイルをコピーする必要があったんだが、UNIXは20年もやってきた俺の経験からも、cpの挙動には驚かされたし、俺の意見はコミュニティに共有されるべきだと思う。 環境:古いDellのサーバー(2コア、初期メモリ2GB、追加して10GB、Ubuntu Trusty)と、新しいDellのストレージ格納機(MD 1200)にある、12個の4TBディスクでRAID 6が設定してあって、全体で40TBの要領を持ち、二つのドライブが同時に失敗しても問題ない環境。サーバーは遠隔地バックアップに使われていて、ディスクへの書き込みし

    zetamatta
    zetamatta 2014/09/12
    malloc したものは律儀にちゃんとfreeするというのも、時に裏目にでるということか
  • fork()は失敗するんだぜ、覚えときな

    fork() can fail: this is important あー、fork()のことね。プロセスがもっとプロセス作るためのやつな。いや、他にもプロセス作る方法はあるけどな。ま、面白い話がもうひとつあるから聞かせてやるよ。 forkは失敗するんだぜ。分かってるか? マジで分かってるか? マジだぜ。forkは失敗するもんだ。mallocと同じさ。失敗することもある。そんなに頻繁にってわけじゃないけどさ、でも失敗したら、無視できっこないぜ。ちっとは脳みそ働かせなきゃならん。 forkが0を返したら、そいつは子プロセスで、親なら正数を返すってことは、みんな知ってるよな。その値は子のpidだ。こいつを保存しといて、あとで使うってわけだ。 失敗を確認しない場合どうなるか知ってるか? そうだよ。お前多分、"-1"(forkのエラー通知)をpidとして扱ってるんだろ。 さて、問題の始まりだ。

    zetamatta
    zetamatta 2014/08/21
    失敗した時、世界が崩壊する。
  • ドワンゴに入社した

    そう。タイトル通りだ。筆者、江添亮はドワンゴに雇用された。一体、どのような経緯でドワンゴに入社するに至ったのか。また、どんな仕事をしているのか。それを説明するには、時系列を追って書いたほうがいいだろう。 2013年8月21日 ふとみると、以下のようなサブジェクトのメールが届いていた。 【ご相談】ドワンゴ主催の C++11, 14 に関する勉強会にスピーカーとしてご参加頂けないでしょうか C++11? C++14? なんと、日C++14などという単語を知っている企業があったのか。しかし・・・ドワンゴ? SPAMだろうか。いや、こんなにピンポイントなSPAMがあるわけがない。 それにしても解せないメールだ。ドワンゴといえば、もちろん、あの有名なニコニコ動画の企業だ。ニコニコ動画と言えばWebサイトだ。ニコニコ動画やその関連サービスの開発にC++を使っているのだろうか。いやまて、たしか子会社

    zetamatta
    zetamatta 2014/02/14
    「川上会長は名前マングリングの必要性をすでに理解しているようだ」― なるほど、それなら株価が上がるのもうなずける
  • bzrは死につつある。Emacsは移行しなければならない

    bzr is dying; Emacs needs to move Emacsのソースコードは、Bazaarでバージョン管理されてきた。しかし、Bazaarは分散バージョン管理システムとしては、Gitに敗北したし、もはや死につつある。Eric S. Raymondは、Emacsは他のバージョン管理システムに移行しなければならないと書いている。 私がこの投稿をしている理由は、バージョン管理システムとその周辺ツールのエキスパートとしての責務であって、この議論に参加したいがためではない。 bzrバージョン管理システムは死につつある。ほとんどの点で、もはや死んでいる。dev listは死んでいるし、Canonicalのほとんどの内部プロジェクトはbzrを捨ててgitを使っているし、古参開発者の一人が、なぜbzrが失敗したかについて書いている: http://www.stationary-trave

    zetamatta
    zetamatta 2014/01/08
    曰く「個人的にはMercurialの方が好きなのだが、だが、Mercurialにしたって、最近ははかばかしいことは聞こえてこない。私はgitの勝利に納得し、移行した」
  • Shebangという謎な事実上業界標準について

    Shebangとは、UNIXのシェルスクリプトの業界標準で、シェルスクリプトの一行目のコメントの、#!を意味する。sheが短母音か長母音か分からなかったので、英語ネイティブにたずねたところ、人によって意見が違う。短母音の方が多数派のようなので、一応シバンが近いものになるだろう。日語版のWikipediaでも、シバンとしている。この機能には他にも多数の名前があるが、もっとも有名なのが、Shebangだそうだ。 その業界標準的な文法は、以下の通り(ただし、後述するように、この文字列の扱いについては違いがある) #! 文字列 [改行] 普通、実行権限のついたファイルは、標準のシェルで実行されるが、このShebangがある場合は、#!から改行までの間の文字列を、後述するバラバラな方法で解釈して、execで実行し、その際の引数には元のシェルスクリプトファイルへのパスが指定される。 問題は、このsh

  • Windows要件を満たしたPCで、Microsoftの屈辱的なライセンスに同意せず別OSを使うのが困難な状況

    Windows要件を満たしたPCで、Microsoftの屈辱的なライセンスに同意せず別OSを使うのが困難な状況 [Phoronix] Windows 8 Hardware Has Another Problem For Linux mjg59 | Secure Boot isn't the only problem facing Linux on Windows 8 hardware マイクロソフトの不自由なライセンスへの同意を強要するWindows 8を動作させるハードウェア要件として、セキュアブート(Secure Boot)とファーストブート(Fast Boot)がある。 マザーボードのファームウェアがブートローダーの署名を検証し、ブートローダーはそこから先のOSやらドライバーやらの署名を検証し、未署名のコードが特権モードで実行されないようにするというのが、セキュアブートの仕組みだ。セ

    zetamatta
    zetamatta 2013/05/31
  • KDE、あやうくレポジトリを失いかける

    Too Perfect A Mirror - Me, my blog, and my Johnson 追記:上記記事の全訳 の虫: KDEレポジトリ消失問題の記事の全訳:完璧過ぎるミラー 追記:この記事は上記のブログ記事にざっと目を通して素早く書いたものであり、詳細を欠く。上記の記事は全訳しているので、より正確で詳細な内容のために、目を通すべきである。 2013-3-22に、git.kde.orgをホストしている仮想マシンをセキュリティアップデートのために一旦落とした。アップデート後に復帰させてみると、ファイルシステムが壊れていたらしく、KDEの1500以上ものレポジトリが消えていた。 問題は、この問題が気づかれぬまま復帰したので、ミラーサーバーが誤りをそのままコピーしてしまったことだ。 ミラーは正しいバックアップではない。 とてつもなく幸運なことに、この問題が起こる一日前、ミラーサーバ

    zetamatta
    zetamatta 2013/03/26
    ミラーはバックアップではないというのは意外と理解されていないんだな
  • 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

    zetamatta
    zetamatta 2013/02/16
    曰く『どうやら、Emacsにもようやくまともなテキストエディターがやってきたようだ。確かに、EmacsはそれなりのOSではあるが、まともなテキストディタ―を欠くと言われて久しい』
  • 自由ソフトウェア財団が技術的な指導力を失いつつある

    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

    zetamatta
    zetamatta 2012/12/23
    あー、確かに GNU はオワコン化しつつあるなぁ
  • Linuxのstableカーネルにext4をぶっ壊すバグが発見される

    [Phoronix] EXT4 Data Corruption Bug Hits Stable Linux Kernels このバグは、3.6.2でもたらされ、以前の安定版カーネルにもback-portされているので、3.4の最新の安定版カーネルにまで影響が及ぶらしい。 Theodore Ts'oによれば、この問題は、カーネルを短期間で二度正常にリブートすることで起こるのだそうだ。そのため、一般の普通のディストロを使っている利用者は、まずこのバグに出くわすことはない。しかし、サスペンドやハイバネートのかわりにリブートを使うラップトップ利用者や、カーネル開発者には、容易に問題が起こりうるのだとか。 なんだかだいぶ反響があるので追記。Theodore Ts'oのメールより LKML: Theodore Ts'o: Re: Apparent serious progressive ext4 da

    zetamatta
    zetamatta 2012/10/24
    曰く『3.6.2でもたらされ(中略)3.4の最新の安定版カーネルにまで影響が及ぶ』『カーネルを短期間で二度正常にリブートすることで起こる』
  • エディター戦争

    GNU/Linux環境に移行して数カ月たった。当初危惧していた、GNU/Linuxは難しいのではないかとか、使い物にならないのではないかという恐れは、全て杞憂に過ぎなかった。ただ、文化の違いというのはある。 たとえば、私が不自由なWindowsを使っていたときは、IDEを重視していた。IDEとは、エディタ兼ビルドシステム兼デバッガー兼バージョン管理システム等等。ところが、GNU/Linuxに移ってからというもの、どうもそういう考え方はしなくなった。エディタはエディタで、ビルドシステムはビルドシステムで、デバッガーはデバッガーで、バージョン管理システムはバージョン管理システムとして、別々に使うようのが自然であるように思われる。 特にエディタだ。最初は、geditを使っていた。というのも、馴染みやすいテキストエディタであるからだ。Ctrl+Cでコピー、Ctrl+Xでカット、Ctrl+Vでペース

    zetamatta
    zetamatta 2012/07/24
    いやぁ、vim も結構ひどいですよ。スクリプトとか
  • GNU/LinuxでWineを使ってDiablo 3を遊んでいたユーザーが全員BANされる

    Linux Users Banned from Diablo III Servers ~ Ubuntu Vibes | Daily Ubuntu Linux Updates ブリザードエンターテイメントのDiablo 3を、GNU/Linux上で動くWindows互換レイヤーであるWineを使って実行していたユーザーが、全員BANされたそうだ。ブリザードによると、チート扱いだそうだ。返金も受け付けてない。 これは分かりきったことだ。邪悪な制限ソフトウェアを使った当然の報いだ。不自由なソフトウェアは存在自体が非人道的であり、必ず避けねばならない。また、オンラインゲームは、容易に囲い込みの憂き目に遭う。オンラインゲームが自由であるためには、サーバーを実装しているソフトウェアがAGPLで公開されているべきである。そうすれば、自分でサーバーを立ち上げることもでき、非人道的な囲い込みは起こらない。

    zetamatta
    zetamatta 2012/07/07
    自由ソフトウェア主義者の方に言わせると「邪悪な制限ソフトウェアを使った当然の報い」ですって。まぁ、そうかもしれませんね
  • 本の虫: lambda 完全解説

    目的 この記事は、C++0xのlambdaを完全に解説せんとする目的を以て書かれた。サンプルコードは最小に留め、エラー処理等は省いた。この記事さえ読めば、今日からlambdaを恐れることなく使う物のC++0xプログラマになれるだろう。 lambdaとは何ぞや lambdaである。あるものは、lambda関数、あるいは無名関数という名称を使っている。いったいlambdaとは何なのか。 lambdaは関数である。また、特に名前はない。したがって、lambda関数、無名関数と呼ぶのは、間違ってはいない。しかしここでは、単にlambdaと呼ぶことにする。 lambdaを定義しよう lambdaは関数オブジェクトである。lambdaは関数オブジェクトである。これはとても大事なので二度書いた。lambdaは関数オブジェクト以外の何物でもない。ところが不思議なことに、皆lambdaが単なる関数オブジェ

    zetamatta
    zetamatta 2010/09/26
    曰く『この記事は、C++0xのlambdaを完全に解説せんとする目的を以て書かれた』― おぉ!
  • 1