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

  • 非商用の曖昧性と危険性

    多くの不自由な著作物は、「非商用に限り利用可」などという利用許諾、あるいは利用契約を発行している。このような許諾のある著作物は、著作権が制限を受ける場合を除いて、利用してはならない。このような著作物の契約は、結んではならない。なぜならば、著作者は無知か、あるいは邪悪な意図をもってこのような設定をしているからである。 なぜ問題になるのかというと、ほとんどの場合、「非商用」の定義が明確に与えられていないからだ。定義が与えられていない場合、日語における一般的な「非商用」の意味に従うと解釈するべきである。 派生物の複製物の譲渡や公衆送信を受け取る際に対価を支払わねばならないとしたら、多くの者が、それは商用であるとするだろう。これは納得できる。 では、無償で入手できるが、広告付きのWebページから公衆送信している場合はどうか。Web広告は、現代ではいたるところにある。Web広告では、金銭を受け取る

  • 60%の人間はプログラミングの素質がない

    Coding Horror: Please Don't Learn to Code Please Understand Learning to Code Coding Horrorで有名なJeff Atwordが、ある州知事が今年の目標としてプログラミングを習得することを挙げていることに対し、そもそも税金を払う我々市民は、政治家にはプログラミング習得以上に重要な、政治家にしかできない問題の解決を望む、よってプログラミングを学ぶのをやめてくれという記事を書いた。これに対して、反論が多数上がっているが、Jeffも読んでいるある論文をあげて、この議論の参加するためには、必ずこの論文を知っておくべきであると書いた人がいる。この論文は有名で、非常に興味深いので、全プログラマーが読むべきである。 ふたこぶラクダという名前で知られている有名な論文がある。この論文では、60%の人間にプログラミングの素質が

  • どのプログラミング言語を学ぶべきか

    新手该学哪门编程语言 | 酷壳 - CoolShell.cn via :Which programming language should I learn first? | Pixelstech.net 最近、フォーラムでこんな質問を目にした。質問とは、「どのプログラミング言語を学ぶべきか」というものであった。ある人の答え。 それは目的によるな。 表現力が高いパワフルな言語でプログラミングしたい場合: Python 手っ取り早くWebサイトを立ち上げたい場合: PHP 「ロックスター」を自称するプログラマーと触れ合いたい場合: Ruby 当にプログラミングを学びたい場合: C 悟りを得たい場合: Scheme 抑圧感を得たい場合: SQL 遺伝的に淘汰されたい場合: Microsoft Visual Basic ひどく平凡でつまらないが安定して給与が支払われるファイナンシャル・アプリケー

  • 不自由なソフトウェアの時代は終わった

    もはや、不自由なソフトウェアの時代は終わった。単純に終わったのだ。もうこれ以上、不自由なソフトウェアの未来はない。金銭的な価値はともかく、ソフトウェアの質は自由な方が圧倒的に高い。だからWindowsとかiOSとかAndoridが手元にあるならば、窓から投げ捨てるべきである。 こう言ったからとて、私は何も、フリーソフトウェア原理主義に改宗したのではない。今や、自由なソフトウェアの方が質が高くなっているからという至極単純な理由から言っているのである。私は質を優先する。不自由なソフトウェアの方が優れているのならば、いくら金を払っても構わないし、ソースコードが公開されていなくても構わない。しかし、事実として、今や、不自由でクローズドソースなソフトウェアは劣っている。自由か、最低でもオープンソースなソフトウェアの方が優れている。わざわざ不自由でクローズドソースなソフトウェアを使う必要はない。まして

  • 最初のWebサーバーを保存せよ

    Help save the worlds first webserver. We need to track down a copy of the original tarball WWWDaemon_0.1.tar.Z to preserve in the annals of history. [x-post] : compsci 1991年8月20日、Tim Berners-Leeはcomp.sys.next.announceに対して、歴史に残る告知を投稿した。「info.cern.chから、WorldWideWebアプリケーションのアルファ版リリースをソースコードとバイナリの両方で公開する」 この投稿は、以下の三つのソフトウェアを示し、我々が今知る、いわゆるインターネッツを開始したのだ。 /pub/WWWNeXTStepEditor_0.12.tar.Z NeXT applicati

  • Eolasの悪夢、再び

    Patent Troll Claims Ownership of Interactive Web – And Might Win | Threat Level | Wired.com Eolasと聞いただけで身震いする者は、有能な技術者である。わからないものは、未熟者である。Eolasは「HTML内に自動的に外部アプリを起動させてやり取りをさせ埋め込みオブジェクトを表示するための手法」というあまりにも明白過ぎる特許を取って、一時期Webを混乱に陥れた特許ゴロである。わかりやすく言うと、Flashを埋め込むHTMLコード、embedやobject要素がこの特許に抵触する。 Eolasはマイクロソフトを相手取って特許侵害の訴訟を起こした。この訴訟には、WWWの父であるW3Cの長であるTim Berners-Lee人をはじめ、様々な企業、団体がマイクロソフトを援護したにもかかわらず、結局、特許

  • C++11ですみやかにプログラムの実行を終了する方法

    結論:C++11で新しく追加されたstd::quick_exitを使え。 プログラムの終了は、すみやかに行われるべきである。なにしろ、終了なのだ。終了にもたついていてはストレスがたまる。とくに、多くの実行環境では、プログラムの外部から、プログラムを強制終了させる方法がある。強制終了は大抵、プログラムの意志を無視して、強制的に一瞬で行われる。外部からできるのであれば、内部からできてしかるべきである。 なぜプログラムは終了時にもたつくのか。それは、終了時に特別な処理を必要とする場合もあろう。たとえば、数GBものデータを遅いHDDに書きださねばならない場合もあるだろう。これは妥当な理由である。では、確保したメモリやその他のリソースの解放処理はどうか。これは、疑問である。というのも、多くの近代的なOSでは、プログラムは個々に独立している。プログラムには独自の仮想メモリ空間が与えられ、必要に応じて物