タグ

ブックマーク / nishiohirokazu.hatenadiary.org (18)

  • 正統的周辺参加論が生まれるまでの心理学の流れ - 西尾泰和のはてなダイアリー

    Facebookに書いていると「この前メモしたアレをもう一度見たい」と思ったときに検索でヒットしなくて不便なのでこちらに転載。 - 今回の「組織科学」が「現場における学習」特集で、佐伯胖による記事が載っていて、イリイチのコンビビアリティの概念が出てきて、最終的に学ぶとは他者とコンヴィヴィアルな関係を生み出すことだ、と結論している。面白い。 組織科学 Vol.48 No.2 pp.38-49 佐伯胖 "そもそも「学ぶ」とはどういうことか:正統的周辺参加論の前と後" 正統的周辺参加論が生まれるまでの心理学の流れと、その後の変革の可能性についての話。 1913年にWatsonが「行動だけに注目したら心理学も自然科学になる(逆に言えばそれ以外は科学じゃねーよ)」と言ってから心理学は行動主義の全盛時代になった。この時代の考え方は「行動が起きた直後に報酬を与えたらその行動が強化される」(オペラント条件

    正統的周辺参加論が生まれるまでの心理学の流れ - 西尾泰和のはてなダイアリー
  • 書評:アンダースタンディングコンピュテーション - 西尾泰和のはてなダイアリー

    監訳者のささださんから「アンダースタンディング コンピュテーション―単純な機械から不可能なプログラムまで」を頂いたので紹介。 「プログラムの『意味』とは何か?」という抽象的な問いに真っ向から挑む。プログラムの「意味」には、「それによって計算機がどう操作されるか」で表現する方法と、「それを別の(もっとシンプルな)言語に変換するとしたらどうなるか」で表現する手法とがある。書ではこの2つの手法があることを解説し、それぞれの手法について深堀りしていく。 「計算機がどう操作されるか」路線では、もちろん次に「『計算機』って何だ?」という問いに挑む必要性が出てくる。まずは能力の劣った計算機である「決定性有限オートマトン」から初めて、それが正規表現というある種のプログラミング言語とどういう対応の仕方をしているのかを解説するのにまる1章割いている。このストーリー仕立ては面白い。 その後、有限オートマト

    書評:アンダースタンディングコンピュテーション - 西尾泰和のはてなダイアリー
  • Python Bytecode短歌 - 西尾泰和のはてなダイアリー

    64 00 00 0c 04 04 04 17 04 03 17 02 04 03 17 04 03 03 04 03 03 13 04 04 14 04 17 18 17 0b 53空関数のco_codeをこれで置き換えて実行すると、2014と表示されます。 詳しい説明は後で。 味わい 04を「ど」03を「ろ」17を「あ」と発音するなら 64 00 00 0c ど ど ど あ ど ろ あ 02 ど ろ あ ど ろ ろ ど ろ ろ 13 ど ど 14 ど あ 18 あ 0b 53となる。もうちょっと工夫の余地がある。 難しいポイント 変数や関数呼び出しを使うためにはバイトコード部ではなく定数テーブルに名前の文字列を積んで、そのインデックスを指定してLOAD命令を発行する必要がある。短歌以外の部分に意味のある文字列を色々書き込むと「31文字で完結」という短歌の良さが失われるので避けたい。だか

    Python Bytecode短歌 - 西尾泰和のはてなダイアリー
  • 文字列の解析 その3: 正規表現の歴史 - 西尾泰和のはてなダイアリー

    第1回では文字列から特定パターンの部分を切り出すことがなぜ必要になるのか、そして第2回ではパターンが複雑になるとそれを実装するコードがとても複雑になるということと、その複雑なコードを人間が書くのではなくコンピュータに作らせる「正規表現」について学びました。 ここではその正規表現がどのように生まれてきたのか、軽く歴史を振り返ってみましょう。[1] (注:書きかけです) マッカロピッツのニューラルネット 1943年、Warren McCulloch と Walter Pittsの2人が神経細胞(ニューロン)の振る舞いをモデル化して、複数の神経がネットワークとしてどういう振る舞いをしうるかについての研究を発表しました。[2] 後のニューラルネットワークにつながる研究です。[3] この論文の中で彼らは、複雑なニューロンの接続関係を表現するために、独自の記法を発明しました。 (脚注[1] 今回の話は

    文字列の解析 その3: 正規表現の歴史 - 西尾泰和のはてなダイアリー
  • 文字列の解析2 - 西尾泰和のはてなダイアリー

    「文字列の解析」の続編です。今回は正規表現のところまで行きます。 状態 前回作ったのは、「0〜9の文字」が続いているところを切り出すだけの、とても簡単な文字列解析でした。しかしそれでも、「0〜9以外文字」の文字が現れた時に行う処理は、それが「0〜9の文字が続いている範囲」の前なのか後なのかによって異なりました。 今後もっと複雑な文字列解析をする前に、まず、前回作った処理を図にして整理してみましょう。 前回の処理には「0〜9の文字が続いている範囲の前」と「0〜9の文字が続いている範囲の後」の2通りの状態がありました。この図では「0〜9の文字が続いている範囲の前」が「状態0」、「0〜9の文字が続いている範囲の後」が「状態1」で表現されています。 (脚注:この種のものを表現する言葉は、決定性有限オートマトン(Deterministic finite automaton, DFA)や有限状態機械(

    文字列の解析2 - 西尾泰和のはてなダイアリー
  • 「めんどくさい」「やる気がでない」時のチェックリスト - 西尾泰和のはてなダイアリー

    「めんどくさい」「やる気がでない」にも色々なパターンがあります。そこで質問に答えていくと解決策にたどりつくようなチェックリストを作ってみました。 追記: このエントリーの内容を元に平均10問の質問に答えるだけであなたの状況に合わせたアドバイスをする人工知能を作りました。オススメです。 Q1: やる気がでないのは今日に入ってからですか? 数日やる気がでない状態が続いているのですか?それとも今日に入ってからかですか? 今日に入ってから→Q2 数日続いている→Q8 Q2: 最近なにか新しい情報が明らかになりましたか? たとえば計画段階では知らなかった事実が明らかになって、今までやってきた作業が無駄になったとか。何らかの情報が最近明らかになりましたか? はい→状況が変わったのであれば、計画の通りに実行することが必要とは限りません。状況の変化に合わせて計画を変更したり中止したりしてはいけないのですか

    「めんどくさい」「やる気がでない」時のチェックリスト - 西尾泰和のはてなダイアリー
    nisemono_san
    nisemono_san 2012/11/19
    分岐を移動するのが面倒くさいので、あとでなんかつくろう。
  • git(VCS)の未来について - 西尾泰和のはてなダイアリー

    gitが素晴らしいとか自由度が高すぎてわかりにくいとかUIが酷いとか色々議論になっているけど、ちょっと歴史を振り返ってみると 1990 CVS 2000 Subversion 2003 SVK = Subverionをラップして分散バージョン管理に対応 2005 Git 2008 GitHub = Gitをラップして「ワークフローを限定してわかりやすく」 2010 gitflow = Gitをラップして「ワークフローを限定してわかりやすく」 2012 今ここ と進んできているんだからきっと2020年頃には GitHubやgitflowのような「ワークフローを限定してわかりやすくしたバージョン管理」がメジャーになってますよ。 近いうちに、かつて「svnは小学生までだよね、これからはSVKだよ」と言われたように「Gitを生で使うなんて小学生までだよね」と言われるようになり、 次に、かつて「SV

    git(VCS)の未来について - 西尾泰和のはてなダイアリー
  • Macのスクリーンショットで1日の作業を記録して動画で振り返り - 西尾泰和のはてなダイアリー

    スクリーンショットを10秒に1回撮影して連番の画像で保存するスクリプトを走らせて1日の作業を記録し、一日の最後にffmpegで動画にして振り返りをしてみた。結構面白いよ。 社内掲示板やメーラやエディタで文章がにょきにょき伸びていくのが見えるのも楽しいけど、一日の終わりに「ああそうそう、これを調べてたんだった、途中でインタラプトが入って忘れてた」「この調べ物をした後サイドバーに出てた記事を読みふけってしまったけど、必要ではなかったな」「この作業は今やるべきことじゃなかったな」「時間を結構無駄にしたな」などという振り返りができる。反省。 10秒に1回撮影したのを10FPSで動画にしているから1時間が36秒になる。もうちょっと速くしてもいいかも。1分に1枚にすると1時間が6秒か。その間くらいかなー。 記録用スクリプトが連番で画像を吐いているのは後でffmpegで読み込ませるため。screenca

    Macのスクリーンショットで1日の作業を記録して動画で振り返り - 西尾泰和のはてなダイアリー
  • 構文木を可視化するサイトを作った - 西尾泰和のはてなダイアリー

    ブラウザの上でJavaScriptの構文木をリアルタイムで可視化するサイトを作りました。構文木っていうプログラミング言語の基的な概念を、特に何かをインストールしたりすることなく簡単に実験・観察できます。 http://nhiro.org/learn_language/AST-Visualization-on-browser.html TODO ツリーのレイアウトの方法があんまり気に入っていない。論文を読んで実装したものがLazyK-on-browserの方にあるのでその内に差し替える LISPやPythonの構文木も表示できるようにする

    構文木を可視化するサイトを作った - 西尾泰和のはてなダイアリー
  • ポモドーロについて - 西尾泰和のはてなダイアリー

    質問されてTwitterでつぶやいておいたので、流れ去らないようにここにまとめておく。 まず「25分で1ポモドーロだから8時間だと16ポモドーロか」とか言ってる人はそれが「人間は100メートルを10秒で走れるから、42キロを4200秒で走れるはずだ」と言うくらいおかしいということを理解した方がいい。短距離走の速度を長距離走で維持することはできない。そういう「1日8時間働く」を前提とした計算をしている人はポモドーロの「短時間に集中して成果を出そう」という目標をそもそも理解できていない。 これは僕流の解釈というわけではない。アジャイルな時間管理術 ポモドーロテクニック入門の前書きでも読んだことがあればすぐに誤解に気づくはずだ。こう書いてある。「1日に12ポモドーロ分はこなせるだろうと思っていました。しかし、ふたを開けてみると、せいぜい8ポモドーロが現実的なラインということがわかりました」(文意

    ポモドーロについて - 西尾泰和のはてなダイアリー
  • heXeを試してみた(jQueryのcssとclickを使ってみる) - 西尾泰和のはてなダイアリー

    haXe(ヘックス)は静的型付け言語で、コンパイルするとJavaScript(とかいろいろな言語)ができるらしい。JSXをいじっていたら「コンパイルするとJavaScriptが出力される静的型付け言語にはhaXeもある」を教えてもらったのでこれも試してみよう。JSXでやった「型のことを全然考えてないjQueryを使ってクリックのハンドラを付けたり色を変えたりする」というのをゴールにする。 インストールする Download - Haxe インストーラをダウンロードして起動する。特に問題なくインストール完了。 ~$ haxe haXe Compiler 2.09 - (c)2005-2012 Motion-Twin Usage : haxe -main <class> [-swf|-js|-neko|-php|-cpp|-as3] <output> [options] Options : .

    heXeを試してみた(jQueryのcssとclickを使ってみる) - 西尾泰和のはてなダイアリー
  • Dive into .git 資料を公開しました - 西尾泰和のはてなダイアリー

    「Gitのいろんな概念が難しい」だって? じゃあ概念は置いといて、「物理的にはどうなってんの?」を確認してみよう! 社内勉強会でそういう趣旨の10分間デモをやった時の資料を公開しました。Gitがどんなものかイメージしやすくなれば幸いです。 Dive into .git語版 View more presentations from nishio

    Dive into .git 資料を公開しました - 西尾泰和のはてなダイアリー
  • 数式を含む論文の読解効率化 - 西尾泰和のはてなダイアリー

    知的作業の生産性はやり方の設計によって左右される。「数式だらけの論文を読む」というタスクも「とにかく頑張って読む」のではなく、やり方をうまく設計することで生産性向上ができるんじゃないかなぁ。そう考えて、自分を観察しながらやってみることにした。 読む論文はCRF(条件付き確率場)についての次の二つ: Lafferty: Conditional random fields: Probabilistic... - Google ScholarとSutton: An introduction to conditional random fields... - Google Scholar まずは目的の明確化。目的は達成したかどうかが客観的に計測できるものでなければならない。つまり「CRFを理解する」なんてのではダメ。「CRFを実装して学習過程を可視化した動画を作ってブログに載せる」を目標とする。

    数式を含む論文の読解効率化 - 西尾泰和のはてなダイアリー
  • 作りたいもの: 専門家の考える「よい状態」を実現に近づけるシステム - 西尾泰和のはてなダイアリー

    増井さんの作りたいものリストを作ろうというスライドを見て「確かに『いつかやる』リストに入れてるだけじゃ発展しないから、公開しても問題ないものは公開したらいいなぁ」と思ったのでやってみました。今回は早々に「自分がやることではない」と捨てて、リストに書いてすらいなかったことなのですが、公開するべきだと判断したので公開しておきます。 背景 今日の高木先生の日記(高木浩光@自宅の日記 - 「個人情報」定義の弊害、とうとう地方公共団体にまで) 現行個人情報保護法の「個人情報」の定義に不備があることを、これまでずっと書き続けてきた。「どの個人かが(住所氏名等により)特定されてさえいなければ個人情報ではない」(のだから何をやってもよい)とする考え方がまかり通ってしまいかねないという危機についてだ。 (中略) 私にできることはここまでです。ここから先は私の役割ではないと考えています。必要だと思われる方々で

    作りたいもの: 専門家の考える「よい状態」を実現に近づけるシステム - 西尾泰和のはてなダイアリー
    nisemono_san
    nisemono_san 2012/05/10
    自分が考えていることとしては、「解決策より論点の共有(専門家が何処を重要だと思うのか?その理由は?の量化)」と、その解決策に対するリファレンス出来ることのほうが重要な気がする。
  • 作りたいもの: JavaScriptのコードの質を保つためのガードレール - 西尾泰和のはてなダイアリー

    増井さんの作りたいものリストを作ろうというスライドを見て「確かに『いつかやる』リストに入れてるだけじゃ発展しないから、公開しても問題ないものは公開したらいいなぁ」と思ったので早速やってみました。3つ目。 JavaScriptのコードの質を保つためのガードレール JavaScriptは柔らかい言語で、typoとか変数名の変え忘れが実行時までエラーにならない。しかもしれっとundefinedとかになって、そのままHTMLSVGのpath文字列に埋め込まれてたりしてデバッグにコストが掛かってしまう。人間は間違える生き物だから、間違いをなくすことはできない。だから間違えた時になるべく早く気づけるようにする仕組みが必要だ。 Google Closure CompilerはJavaScriptのソースコードを静的に検証してエラーを報告してくれる。であれば自分がソースコードを編集している時にバックグラ

    作りたいもの: JavaScriptのコードの質を保つためのガードレール - 西尾泰和のはてなダイアリー
  • 作りたいもの: プログラミング言語のコア概念を学ぶサイト - 西尾泰和のはてなダイアリー

    増井さんの作りたいものリストを作ろうというスライドを見て「確かに『いつかやる』リストに入れてるだけじゃ発展しないから、公開しても問題ないものは公開したらいいなぁ」と思ったので早速やってみました。とはいえ、僕の『いつかやる』リストは一つのリストの要素に色々な設計やアイデアが書かれていて、全部一度に載せると読むのも大変。とりあえず1つ目だけ載せてみます。動機なんかを加筆。 プログラミング言語のコア概念を学ぶサイト 日語や英語で書かれた解説を読むより、実際に動かしてみたほうがわかりやすいこともある。 しかし、広く使われている言語は既に長年の改良が繰り返されていて、改築・増築を繰り返した老舗旅館みたいに複雑なものになってしまっている。 学習のために、小さくシンプルな、全体像を理解しやすい、わかりやすく可視化された「言語の実装」が必要だ。 そんなものはすでにあるのでは? かつて色々な方法で(Jav

    作りたいもの: プログラミング言語のコア概念を学ぶサイト - 西尾泰和のはてなダイアリー
    nisemono_san
    nisemono_san 2012/05/01
    個人的には、ガベージコレクションのアルゴリズムを解説してくれると嬉しいです!!!
  • 指輪のカパッと開く箱はどういう仕組みか? - 西尾泰和のはてなダイアリー

    あの「カパッ」と開く箱の仕組みについて、気になったので分解して見ることにしました。もちろん事前にの承諾は得ていますよ! 意外とシンプル。 蝶番と板バネが入っているだけ 板バネが両端を近づける方向に力をかける。蝶番のバネを引っ掛ける部分が少し前に出っ張っているので、蝶番がまっすぐの時には板バネの力は蝶番を前に曲げる方向に作用する。つまり、蓋が閉じているときには蓋を閉じ続ける方向にバネの力がかかる。 でも板バネは単に自分の両端を近づけたいだけ。蝶番が少し後ろに折り曲げられると、バネの両端を結ぶ線が蝶番の支点よりも後ろになるので、バネの縮む力は今度は蓋を開ける方向に作用する。それで少し開けるとカパッと開くわけだな。 最後に、板バネが物理的に蝶番にあたって止まるので蝶番は80度くらい開いた所で止まる。板バネは開き続ける方向に力をかけるので蓋はグラグラせずに開いた状態をキープする。 シンプルな構造

    指輪のカパッと開く箱はどういう仕組みか? - 西尾泰和のはてなダイアリー
  • 川喜田二郎の「発想法」 - 西尾泰和のはてなダイアリー

    棚にあったので何気なく手にとってパラパラめくってみたのだが、つい「おおっ」とか声が出てしまった。マインドマップやフォトリーディングに関心のある人ならぜひ読むべき。 各章の扉にはその章の話の流れがこんな感じで書いてある マインドマップやフォトリーディングが生まれる前に書かれたなのだが、読んでいると「おお、これフォトリーディングのソフトフォーカスのことだよな」という部分があったりして面白い。 KJ法がカードに色々書いてからそれをまとめていくボトムアップの構造化法ってことはよく知られていると思うけど、その肝の「まとめる」部分の話、カードを広げて「読むというより眺める」「どこかでもいいから流し目で見ていればいい」「やがて(中略)お互いに親近感を覚える紙切れ同士が目についてくるだろう」と、まるっきりフォトリーディングで「読まずに眺めていると重要なキーワードが浮かび上がってくる」ってのとそっく

    川喜田二郎の「発想法」 - 西尾泰和のはてなダイアリー
  • 1