タグ

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

  • 射幸心と価値

    世はソーシャルゲームが盛りである。今や、どこもかしこもソーシャル化している。実際、ソーシャルゲームの売上はすばらしいし、何よりも利益率の高さは目を見張るものがある。私自身は、不自由なソフトウェアを所有したいとは思わないし、所有という概念のない課金アイテムを使う権利を得たいとも思わない。しかし、現にソーシャルゲームが流行していることは認めざるを得ない。使えば壊れる1500円の物理的に存在しない釣竿が飛ぶように売れる時代に、もはや六千円程度でやりこみ要素のある、よく作りこまれたゲームを出すなどバカバカしい。 しかしなぜなのか。なぜ人はソーシャルゲームに金を落とすのか。 ここでは、ソーシャルゲームの射幸心を煽る作りの善悪とか違法性などの是非については考えない。そもそも、結論めいたことも書かない。ただ、現状の不思議な状態を記録としてとどめておきたい。 およそ、射幸心を煽る仕組みは、ビデオゲーム以前

    todesking
    todesking 2012/05/12
  • 邪悪なJSONライセンス

    JSON.org License Literally Says it "shall be used for Good, not Evil" | Javalobby JSON.org License Literally Says it "shall be used for Good, not Evil" | Hacker News JSONライセンスというものがある。 The JSON License このライセンスは、見たところ、MITライセンスに一行加えたもののように思われる。 Copyright (c) 2002 JSON.org Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files

    todesking
    todesking 2012/03/14
  • バイトをはじめることにした

    そろそろ費にすら事欠くようになったのでバイトをすることにした。一日数時間の掃除だ。おそらく、C++の執筆にはさほど影響しないだろう。 結局、結果からいえば、当初の目論見であった、貯金の続くうちに、全力でC++を完成させるというのは、無理だったわけだ。やれやれ、最初から働きつつ執筆すべきだったのか。 C++は、ようやくオーバーロード演算子まで進んだ。といっても、途中のBasic Conceptsに当たる部分は飛ばしたし、コピーとムーブも飛ばした。コピーとムーブはどう書けばわかりやすくなるのか分からない。純粋なコア言語機能だけ説明してもわかりにくいし、かといって、プログラミングテクニックまで説明するのは書の範疇ではないように思う。コア言語に絞ってさえこの分量なのだから、最初の壮大な野望通り、標準ライブラリまで手を広げようと思ったら、いつまでかかるか分からない。 そもそも、一冊のまとま

    todesking
    todesking 2012/03/06
    こういう人は働かなくても生きていけるべきなのでは
  • Chromeが起動時に三つのランダムなドメインに接続しようとする理由

    Chrome connects to three random domains at startup.” — Mike West Chromeを起動した際、http://aghepodlln/とかhttp://lkhjasdnpr/のようなランダムなドメインへの接続を試みる。何でこんなコトをしているのかという見当はずれの推測が、いくつか出回っている。事実としては、この挙動は必要なのだ。以下の説明で、この疑問を晴らす。 このような接続要求の目的は、現在使用しているネットワークが、存在しないホスト名への接続要求を検知して勝手にリダイレクトするかどうかを判定するものである。例えば、少なからぬISPが、http://text/のようなDNSルックアップの失敗に対し、http://your.helpful.isp/search?q=text(あなたの親切なISP)へリダイレクトしている。この「親切

    todesking
    todesking 2012/02/19
  • Dartがダウンキャストに警告を出さない理由

    Dartでは、ダウンキャストには警告を発しない。 class S { } class T extends S { } void main() { S s = new T() ; // アップキャスト T t = new S() ; // ダウンキャスト } この例では、静的型Tの変数tに対して、静的型Sで、実際の型もSのインスタンスを束縛させているが、これは警告を発しない。アップキャストに警告を発しないというのは自然だが、ダウンキャストに警告を発しないというのは、オブジェクト指向に馴染みのない人からすれば、不思議に思われるかも知れない。現にこの場合、実際の型はTではないのだから、この場合に限っていえば、エラーである。しかし、これは正しい挙動である。では、なぜ警告を発しないのか。 なぜならば、規格に明確に書かれている挙動だからである(13.4 Interface Types)。クラスは暗黙の

    todesking
    todesking 2011/11/24
    うっ
  • Bitcoinについて

    Coding Horror: Multiple Video Cardsが、Bitcoinのお陰で中古GPUを格安で手に入れられたと書いていたので、Bitcoinの歴史と現状をまとめて見ることにした。 そもそも、諸君はBitcoinを知っているだろうか。いや、知らなくても無理はない。日では、あまり有名ではないように思う。だから、まずBitcoinとは何かという説明をしようと思う。 Bitcoinとは、演算保証によって信頼を得ている貨幣である。およそ、貨幣というものが広く一般に使われるには、貨幣に対する何らかの信頼が必要である。たとえば、貨幣が金と交換できる保証であるとか、国による保証などといった、信頼が必要である。そのような強い保証のない貨幣は、広く信頼を得ることができず、一般に普及することはない。 Bitcoinは、P2P技術によって実装されたオンライン上の仮想貨幣である。すべての貨幣の

    todesking
    todesking 2011/10/23
    bitcoinおもしろい、フィクションかと思った
  • 世界で最も短いC++0xのアトミック操作ライブラリーの解説

    そんな解説は存在しない。 このタイトルに釣られた者は、生涯memory_order_seq_cstを使うこと。その他は気にしなくていい。memory_order_seq_cstはデフォルトとなっているので、プログラマーはメモリーオーダー自体を指定する必要がない。 そもそも、この記事に釣られた人間が、アトミック操作ライブラリーを使いこなせるわけがない。おとなしくmutexやcondition variableやfutureを使っておいたほうが賢明だろう。 Anonymous said... 酷い!釣られた! でも一つでも解説が有るならその中で最も短い物もあるはずですよね? May 16, 2011 at 7:12 AM Anonymous said... つまり、アトミック操作ライブラリーの解説自体がこの世界に存在しないか、存在しても有限の長さではないということか。 May 16, 2011

    todesking
    todesking 2011/07/07
    ひどい
  • Boost.Localeが採択された

    Boost.Localeが、賛成10、反対5で採択された。たったの15人しかレビューしていないライブラリーが、万人の役に立つと、どうしていえようか。しかも、15人のうち、東アジア人としてレビューしたのは、私一人なのだ。まあ、役に立たないライブラリがひとつ増えるだけだ。 localeによる翻訳に対する、ユニークな識別子としての入力には、ASCIIを渡さなければならない。何故ならば、このライブラリの作者は、英語こそが至高の言語であり、全プログラマーとソフトウェア開発に携わる全人間は、当然のごとく英語を使うべきであると信じているからだ。何故ならば、およそ日語のような言語は、理解するものが少なく、他の言語に翻訳しにくい。英語こそが全世界の共通語であり、英語で書かれていたならば、各国語への翻訳は簡単だからだというのである。 そのため、翻訳文へのマッピングにはASCIIを渡さなければならないのだ。

    todesking
    todesking 2011/04/24
    boost::locale、たしかにけっこうひどい設計……
  • 本の虫: Dark_Shikari、WebPについて語る

    Diary Of An x264 Developer » H.264 and VP8 for still image coding: WebP? H.264のエンコーダー、x264の開発者の一人である、Dark_Shikari氏が、WebPについて語っている。基的に、WebP規格自体は悪くないのだが、公式のエンコーダーであるlibvpxがクソすぎる。 Dark_Shikari人曰く、まだ追記するかもしれないとのこと。今は完全に一致しているが、念のためリンク先の翻訳元(英語)を参照することをおすすめする。 JPEGはかなり昔の圧縮フォーマットで、あまりよろしくない。実際のところ、MPEG-2時代の動画フォーマットですら、JPEGには勝てる。なぜ皆が移行しないのかというのは、単純だ。特に利点がないからだ。たとえJPEGより2倍すぐれていたとしても、全世界に対して、20年間使い慣れた画像フォ

    todesking
    todesking 2010/10/08
    フムムーン
  • Concepts Extending C++ Templates For Generic Programming

    この情報は恐ろしく昔のもので、現在のドラフト規格とまったくあっておりません。検索で飛んでこられた方は、この情報を信用せず、ご自分で規格をご確認ください。 これは最高にためになる動画だ。 コンセプトとは、C++のパラダイムのひとつ、ジェネリックプログラミングを、もっと分かりやすくするための文法だ。 前半の5分ほどは、ジェネリックプログラミングはなんであるかを解説している。 The reason we think that we can make it simpler is that many of the way people use template now are... tricks! There're complelcated tricks. You can't even read in the book in many faces. You have to dig for newsg

    todesking
    todesking 2007/04/27
    C++0xのconcept map。IF定義のみならず意味まで。