タグ

ブックマーク / kzr-2.hatenadiary.org (5)

  • 子どもがすべき50の危険なこと - Radium Software

    Fifty Dangerous Things (You Should Let Your Children Do) 作者: Gever Tulley,Julie Spiegler出版社/メーカー: Tinkering Unlimited発売日: 2009/12/11メディア: ペーパーバック購入: 10人 クリック: 943回この商品を含むブログ (2件) を見る この "Fifty Dangerous Things (You Should Let Your Children Do)" (「子どもがすべき50の危険なこと」)は, Kevin Kelly (Wired の創始者の一人として有名な編集者)のブログで紹介されていたものだ。このには,例えば「指を接着剤で貼り合わせてみる」だとか「9V電池を舐めてみる」だとか,そういった「あまり深刻ではない,ちょっと危険なこと」が50項目載せられて

    子どもがすべき50の危険なこと - Radium Software
  • JavaScript によるオーディオ&ビジュアルプログラミング - Radium Software

    僕は JavaScript が好きだ。できるだけ多くのことを JavaScript で済ませてしまいたいと考えている。 以前は JavaScript では絵や音を扱うことができないという点がボトルネックになって,応用の幅を狭めていた。これが最近になると, Canvas 要素のおかげで絵を扱うことができるようになったり, Flash を代行役にすることによって音を出せるようになったりと,いろいろ状況が変わってきている。 そこで今回は,以前から機会があれば触ってみたいと思っていた Processing.js と SoundManager 2 を使って, JavaScript によるオーディオ&ビジュアルプログラミングに挑戦してみた。 Processing.js とは Processing.js は,ビジュアルデザイン向けプログラミング言語 Processing を模して作られた JavaScr

    JavaScript によるオーディオ&ビジュアルプログラミング - Radium Software
  • アポロ11号のソースコード - Radium Software

    Google Code Blog - Apollo 11 mission's 40th Anniversary: One large step for open source code... アポロ11号の月面着陸から40周年ということで,最近やたらとアポロ計画関連の話題を見かける。そんな中,アポロ計画にちなんだ話題として Google Code Blog に投稿されたのが上のエントリー。 Google Code 上で公開されている Virtual AGC and AGS プロジェクトの中に, NASA のハードコピーから転記された物の AGC (アポロ誘導コンピュータ)のソースコードがありますよ……とのこと。 このソースコードには,オリジナルのアセンブリコードに記されていたラベルやコメントまでしっかり転記されている。それらの記述に目を通していると,そのコードを書いた人の考えや気持ちが伝

    アポロ11号のソースコード - Radium Software
  • 動かない時計と遅れる時計 - Radium Software

    Photo: Darren Hester Word Aligned - Stop the clock, squash the bug ルイス・キャロル「牧師館の雨傘」(The Rectory Umbrella) より 1年に1回しか正しい時刻を指さない時計と,1日に2回だけ正しい時刻を指す時計,どちらの方がいいでしょう? あなたはこう答えます ― 「間違いなく後者だ」 いいでしょう。それでは,私はふたつの時計を持っています。ひとつはまったく動いていません。もうひとつは1日あたり1分ずつ遅れていきます。あなたはどちらの方がいいでしょうか? あなたはこう答えます ― 「遅れる方だ,疑いなく」 それでは,よく考えてみてください。1日あたり1分遅れる方は,再び正しい時刻になるまで12時間,つまり720分遅れなければなりません。したがって2年に一度しか正しくならないということになります。 それに対し

  • 単純で正しそうなものが正しいとは限らない - Radium Software

    Coding Horror: The Danger of Naïveté 配列の中身をランダムな順序にシャッフルするコードを書きたい。単純でいいから分かりやすくて間違いの無いコードを書こう。例えば,こんな感じに…… for (int i = 0; i < cards.Length; i++) { int n = rand.Next(cards.Length); Swap(ref cards[i], ref cards[n]); } これは単純で分かりやすい! でも残念! このコードは間違っている。シャッフル後の順序に偏りが出てしまう。正解はこちら。 for (int i = cards.Length - 1; i > 0; i--) { int n = rand.Next(i + 1); Swap(ref cards[i], ref cards[n]); } ぱっと見て違いが分かる? イン

    単純で正しそうなものが正しいとは限らない - Radium Software
  • 1