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

  • 世の中にはプログラミングを理解できない人間が存在する

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

    honeniq
    honeniq 2018/05/29
    興味深い。 受験勉強なんかも「いかに効率よく点を取るか」みたいなところあるし、変な最適化されてる人はいそう。
  • オーストラリア警察が世界最大の児童ポルノサイトを11ヶ月運営していたことが判明

    VG exposed the largest child sexual abuse forum. It was run by the police. ノルウェイのタブロイド紙のヴェルデンス・ガング(VG)は、Tor経由でアクセスできるいわゆるダークウェブの中で世界最大の児童ポルノサイトであるChilds Playは、オーストラリア警察によって運営されていたことをつきとめた。この顛末は倫理的にも技術的にも興味深い。 この児童ポルノサイトは、当時ダークウェブの児童ポルノサイトの中でも世界最大級の規模を持っていた。各国の警察は様々な捜査の上、このサイトを運営していた二人の逮捕に至った。そして、Webサイトは、各国警察相談の上、おとり捜査が合法な国、オーストラリア警察、アルゴスの手に委ねられた。アルゴスはWebサイトのホスティングをオーストラリアのレンタルホスティングサービス、Digital Pa

    honeniq
    honeniq 2017/10/08
    白面を憎むあまり白面になっていく的な
  • 高専プロコンの問題がクソすぎるのでプログラミングを放り出して人力に走るのは最適解であり協賛企業はプログラミングを軽視する企業として唾棄されるべき

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

    honeniq
    honeniq 2016/10/09
  • 500マイル以上離れた場所にメールが送れないのだが

    http://web.mit.edu/jemorris/humor/500-miles From: Trey Harris <trey@sage.org> 今から私が書く話は、起こりようのない問題についてだ。この話を広く一般に公開してしまうのは惜しい。というのも、いい酒の話のネタになるからだ。この物語は、退屈な詳細や問題を隠すために、多少事実を変えていて、物語を面白く脚色している。 数年前、私はキャンパスのメールシステムを保守する仕事をしていて、統計学部の学部長から電話を受けた。 「大学の外にメールを送るのに不具合が発生しているのだが」 「どんな問題でしょう?」と私はたずねた。 「500マイル以上メールを送れないのだよ」と学部長は説明した。 私はラテを吹き出した。「何だって?」 「ここから500マイル以上離れた場所にメールを送信できないのだよ」と学部長は繰り返した。「実際は、もう少しあるの

    honeniq
    honeniq 2015/04/10
    500マイル以内でも届かないところはルーティングの遅延とかが原因やね。 / “本の虫: 500マイル以上離れた場所にメールが送れないのだが”
  • 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の要領を持ち、二つのドライブが同時に失敗しても問題ない環境。サーバーは遠隔地バックアップに使われていて、ディスクへの書き込みし

    honeniq
    honeniq 2014/09/13
    思っていたよりも色んなことを中でやってるんだな / “本の虫: cpで大量のファイルをコピーした(4億3200万件、39TB)”
  • fork()は失敗するんだぜ、覚えときな

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

    honeniq
    honeniq 2014/08/21
  • シニアエンジニアによるガラケー大戦回顧録に参加した

    シニアエンジニアによるガラケー大戦回顧録 : ATNDに参加した。 この会合の主旨としては、当時の邪悪で不自由極まりないガラケーの開発姿勢が、如何に悲惨で惨めで肥溜めの中の蛭のようなものだったかを、非公開の会合で語ろうというものだ ガラケーの開発では、技術的に誤っている手法が実に多く使われていた。なるほど、不自由で貧弱なガラケーの実装が規格準拠しておらずバグだらけだったこともあろう。それにしても、ガラケーとは関係がないサーバーの中だけで完結する場所におけるクソもあった。何故そんなことになってしまったのか。 理由は、情報が公に出せず、したがって共有されなかったことだ。情報が共有されないため、表立って議論や相談が出来ない。その状態でかろうじて見つけたちっぽけな情報を元に、技術的に極めて劣っていながらも、何とか動くものを作り出していた。そして、その動くものを、正しいやり方だと勘違いしていたのだ。

    honeniq
    honeniq 2014/06/09
    “シニアエンジニアによるガラケー大戦回顧録 : ATND” / “本の虫: シニアエンジニアによるガラケー大戦回顧録に参加した”
  • プログラミングを学ぶ方法がわからない

    最近、プログラミングをどうやって学べばいいのかわからなくなってしまった。 筆者はドワンゴに雇われている。ドワンゴに入社して早4ヶ月になろうとしている。ドワンゴに雇われている名目は、C++の啓蒙である。C++の啓蒙にはC++教育も含まれる。したがって、筆者はそろそろC++教育をしなければならない。 筆者は、プログラミングを教育する最良の方法は、参考書を執筆することだと考えている。直接対面して教えるのは非効率的だ。文章を書いておけば、大勢が学べる。では、どのような参考書を執筆すればいいのか。すでにC++11のコア言語の参考書は書いた。 EzoeRyou/cpp-book C++14対応も、正式なC++14規格制定後に行わなければならない。そしてライブラリは、もし他にやる人がいないのであれば、やらなければならないだろう。 しかし、これらのは、C++をこれから学び始める人向けではない。C++

    honeniq
    honeniq 2014/05/22
    広告が面白すぎて本文の内容が飛んでしまったので2回読んだ。 / “本の虫: プログラミングを学ぶ方法がわからない”
  • 最悪のプログラミング言語、BANCStar

    Following is the email I received from Google for this article. This is so unhelpful to identify the cause. After carefully reviewing the article, I found one URL that was flagged to contain malware(probably usual old domain expired and purchased by other problem) so I removed that link. Please review and re-publish this article. I hope Google's flagging system tells me why it trigger the flagging

    最悪のプログラミング言語、BANCStar
    honeniq
    honeniq 2013/09/03
    先輩がニーモニックで書いたコードを、夜な夜な新人が手書き変換するような職場かと思ったら、先輩全員コレを直接書くとは。人間ってすごいわ。 / “本の虫: 最悪のプログラミング言語、BANCStar”
  • もし大工の採用面接がプログラマーのように行われていたら

    If Carpenters Were Hired Like Programmers | DawO_od 面接官「なるほど、あなたは大工なのですね」 大工「そうです。私は大工として今までやってきています」 面接官「実務経験は何年ほどでしょうか?」 大工「10年です」 面接官「すばらしい。それはいい。さて、これから職場にふさわしいかどうか、いくつかの技術的な質問に答えてもらおうと思うのですが、よろしいでしょうか?」 大工「はい」 面接官「まず、弊社は茶色の家の建築が主な仕事内容でして。以前に茶色の建築の経験はおありで?」 大工「えーと、私は大工です。だから家は建てますよ。塗装の色の好みは人それぞれでしょう」 面接官「ええ、それはわかります。ですが、茶色経験は何年ほどでしょうか?」 大工「おいおい、分からんよ。建築したあと、どういう色で塗装されるかなんて私の知ったことじゃありません。たぶん、6ヶ

    honeniq
    honeniq 2013/06/01
    タクシー会社の面接で、クラウンで10年やってるって言ったら、「セドリックは何年くらい運転したことがありますか?」って聞かれてるようなもん。 / “本の虫: もし大工の採用面接がプログラマーのように行われていた
  • 各種GNU/Linuxベースのディストロのダウンロードの分かりやすさ調査

    Linuxディストリビューションのisoイメージのダウンロードリンクはなんでどこもわかりにくくしてんの?Firefoxのトップページくらいわかりやすくしてくれよ — かずー氏 (@kazoo04) May 8, 2013 このつぶやきにピンときたので、各種GNU/Linuxベースのディストロの公式サイトから、ISOイメージのダウンロードの分かりやすさを主観的に比較してみた。 まずそのまえに、わかりやすいという触れ込みのFirefoxの公式サイトをみてみよう。 Mozilla — Home of the Mozilla Project — mozilla.org たしかに、これ以上にないというぐらい分かりやすい。上部にダウンロードと書かれており、クリックするとダウンロードが始まる。利用者の環境は自動的に判定し、私の環境の場合、GNU/Linux用のビルド済みのバイナリがダウンロードされた。そ

    honeniq
    honeniq 2013/05/09
    すごくわかる。結局、インストールDVD付きの入門ムックを勧めることになるのか。 / “本の虫: 各種GNU/Linuxベースのディストロのダウンロードの分かりやすさ調査”
  • FedExの帯域

    FedEx Bandwidth もし可能であればいつ、インターネットの帯域がFedExに打ち勝つのか? —Johan Öbrink テープを満載したワゴン車の帯域をあなどるなかれ。 —Andrew Tanenbaum, 1981 2040年 数百ギガバイトのデータを転送したいとしたら、通常はインターネット越しに送るより、FedExでHDDを送るほうが速い。これは何も目新しいアイディアではなく、スニーカーネットと呼ばれているもので、Googleが内部的に大量のデータを転送するのにも使っている手法だ。 しかし、今後も常にそうだろうか? Ciscoの推定によれば、インターネットの総トラフィックは、毎秒167テラビットである。FedExは654機の貨物飛行機を所有しており、一日あたり120万キログラムもの積載容量がある。重さ78グラムのラップトップ用のSSDは、1テラバイトの容量がある。 つまり、

    FedExの帯域
    honeniq
    honeniq 2013/02/05
    鳥類キャリアとの比較も欲しいな。 / “本の虫: FedExの帯域”
  • リーナス曰く「2560x1600がラップトップの標準になってるべきだろボケ」

    Linus Torvalds - Google+ - So with even a $399 tablet doing 2560x1600 pixel displays,… リーナス・トーバルズがGoogle+で、ラップトップの解像度だけが全然向上していない現状に吠えてる。 399ドルのタブレットですら2560x1600ピクセルのディスプレイなんだぜ。ラップトップの解像度の標準もそれぐらいにしてくれよマジで頼むし。もちろん11インチでもだ。頼むし、"retina"とかいうクソな名前で呼ぶのはやめれ。単に、「まともな解像度」と呼べ。ラップトップがここ10年ほど、あんまり進化してないのは残念すぎるだろ。 俺は弁当箱みたいなラップトップは欲しくないが、1366x768とかいうのは旧世紀の遺物だろ。マジで、じきに携帯電話すらラップトップのクソな解像度を笑うようになるぜ。 もし自称技術ジャーナリスト

    honeniq
    honeniq 2012/11/01
    高解像度向けにウィンドウ拡大機能とかがあればいいのかな。もちろんOS標準で。 / “本の虫: リーナス曰く「2560x1600がラップトップの標準になってるべきだろボケ」”
  • 全人類が一斉にジャンプしたらどうなるのっと

    Everybody Jump もし全人類が出来るかぎりお互いに近寄って同時に跳躍し、同時に着地したならば、どうなるのか。 --Thomas Bennet(とその他多数) このブログに寄せられる質問で多かったのがこれだ。これは、すでに考察されている。特に、ScienceBlogsとかStright Dopeの記事とかで考察されている。ここでは、運動量についてはよく考察されている。しかし、その余りの考察が足りない。 もっと詳細を考えてみよう。 まず状況を考える。全人類が魔法のように一箇所に集められたとする。 この人間の群れは、ちょうどロードアイランド州ほどの大きさの面積を占める。しかし、ここでは、そんな仮定の話のように、「ちょうどロードアイランド州ほどの大きさの面積」などとは言わない。この状況では、我々は具体的に考える。実際にロードアイランドに集まるのだ。 正午をもって、皆が跳躍する。 すでに

    honeniq
    honeniq 2012/08/22
    エンディングのムービーでディスク一枚使うゲームってこんな感じだと思う
  • UbisoftのDRMにバックドアがある件

    Full Disclosure: Re: AxMan ActiveX fuzzing <== Memory Corruption PoC どうも実証されたようなので書くことにする。 UbisoftのゲームとともにインストールされるDRMは、ブラウザのプラグインをインストールする。そのプラグインには、バックドアか、あるいは想像を絶する阿呆の手によるセキュリティーホールが仕掛けられている。 OBJECT要素のtypeプロパティを"application/x-uplaypc"とすると、その要素のopenというプロパティを関数呼び出しして、BASE64でエンコードしたパスを与えることによって、パスで指定された任意のファイルを実行できる。 もちろん、著作権に関する世界知的所有権機関条約と国内法の整備により、DRMを回避するのは違法である。ゆえに、Ubisoftのゲームを遊ぶ人間は、いかにバックドアが

    honeniq
    honeniq 2012/07/31
  • DNSの終焉が垣間見える、ぶっ飛んでて危険すぎるお名前.comの検閲事件

    忍者ツールズ全サービスが表示不可となる障害につきまして | ドメイン取るなら お名前.com ドメイン取得 年間280円~ 忍者TOOLSは、お名前.comというドメイン名レジストラにninja.co.jpのドメイン情報を管理させていた。忍者TOOLSは、ninja.co.jpというドメインを、自社の様々なサービスに使っていた。そのサービスは、忍者TOOLSのユーザーが使うものである。 さて、お名前.comの主張では、忍者TOOLSのユーザーがお名前.comの規約違反を起こしたために、ユーザーの規約違反は、すなわちそのユーザーのサービス提供元の規約違反であるとし、事前の協議や警告すらなしに、一方的にninja.co.jpのドメイン情報を消したそうだ。 これは恐ろしく危険な事件である。問題は、DNSが階層的な中央管理をされたシステムである以上、この問題は仕組み上どうしようもないという事である

    honeniq
    honeniq 2012/07/16
  • 60%の人間はプログラミングの素質がない

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

    honeniq
    honeniq 2012/05/17
    その素質の差は後天的なものなんだろうけど、こんなにハッキリ分かれるのはなぜ? / “本の虫: 60%の人間はプログラミングの素質がない”
  • 1