タグ

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

  • コード進行を五度圏で可視化してみた - 西尾泰和のはてなダイアリー

    Songleの外部埋め込みプレイヤーがJavaScriptでカスタマイズできるので、それを利用して五度圏の可視化をするデモを作ってみました。 スピッツの「ロビンソン」 中島みゆきの「地上の星」 きゃりーぱみゅぱみゅの「ファッションモンスター」 ロビンソンはコードの動きがわりとおとなしいですね。一方ファッションモンスターはGm Fmを交互にピコピコ動いてダンスを見ているような楽しさが。 Songleは音楽の理解を支援するサービスで、楽曲からコード進行などの情報を抽出し、可視化したり、コード進行を強調して再生したりしてくれます。詳しくはSongleのサイトの解説をごらんください。外部埋め込みプレイヤーを使うと、JavaScriptからそのコードの情報が取れるようになるので、以前から興味のあった五度圏での可視化を試してみました。100行未満のソースコードで実現できてとても手軽でした。このデモのソ

    コード進行を五度圏で可視化してみた - 西尾泰和のはてなダイアリー
  • やる気を出すシステム5000ユーザ突破記念エントリー - 西尾泰和のはてなダイアリー

    ひっそりと運用していた質問に答えるとやる気を出すためのアドバイスをしてくれるシステムがつい先日で5000ユーザーを突破しました。このシステムのおかげでやる気が出たという方も2000人いるようで、作ったかいがあったというものです。 ところでこのシステムは、用意した回答の中から適切なものが見つけられなかった場合に「なぜやる気がでないのだと思いますか?」と自由記述で問いかけて、あらためて自分の気持ちを見つめてもらうというのをやっています。これだけデータが集まってくると、この自由記述の中にも共通のパターンが見えてきます。そこで、5000ユーザ突破記念ということでいくつかピックアップして解説します。 自虐的レッテル貼り 「なぜやる気がでないのだと思いますか?」という質問に対して「ぐーたらだから」「クズだから」「怠け者だから」「ダメ人間だから」「いつまでたっても一人前の仕事ができないから」という種の回

    やる気を出すシステム5000ユーザ突破記念エントリー - 西尾泰和のはてなダイアリー
    auient
    auient 2013/09/02
    下手なカウンセリングより役に立つ
  • 「自信がない」は自信の持ちすぎ - 西尾泰和のはてなダイアリー

    「原稿書かなきゃいけないんだけどなぁ」とか言いながら現実逃避で読んでいた「心は病気―役立つ初期仏教法話〈2〉」に心に刺さる言葉があったのでここに書いておく。 正確な引用ではないので、正確な言葉が知りたければP.60から3ページくらいを読むとよい。 人間が自信をなくす原因は、自信の持ちすぎである。 自分が「この程度の仕事サクッと終わらせられる」と思っているのに、実際にやるとうまくいかないとき、人は自信をなくす。 「抜群のスピーチをしよう」と思って、実際にはうまく喋れなくて、自信をなくす。 妄想の中の自分が事実に反して素晴らしすぎるから、その「妄想の中の素晴らしい自分」が振る舞うように振舞おうとして、できないので苦しむ。 「自分の仕事に自信がない」というのは、奇跡的な成功を頭で妄想しているせい。現実の自分ができるようにしかできない。できることをすればよい。「自分は精一杯やった」と思える状態を

    「自信がない」は自信の持ちすぎ - 西尾泰和のはてなダイアリー
    auient
    auient 2012/12/06
    人間が自信をなくす原因は、自信の持ちすぎである。/ 自分が「この程度の仕事サクッと終わらせられる」と思っているのに、実際にやるとうまくいかないとき、人は自信をなくす。
  • 作りたいもの: JavaScriptのコードの質を保つためのガードレール - 西尾泰和のはてなダイアリー

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

    作りたいもの: JavaScriptのコードの質を保つためのガードレール - 西尾泰和のはてなダイアリー
  • 不完全にしてかなり言葉足らずな比較プログラミング言語学 - 西尾泰和のはてなダイアリー

    プログラミング言語は人が作ったもの。人は誤るもの。なので完璧なプログラミング言語は存在しない。 「人は誤るもの、しかし誤りに固執するのは馬鹿の所業だ。」(キケロ) プログラミング言語も、間違った設計をして、馬鹿でない人がそれを修正することの繰り返しで発展してきた。 というわけで言語間での設計判断のい違いとか失敗した設計とかを収集中。一部抜粋して講義資料に入れるつもりなので他の事例をご存知でしたらぜひ情報をいただけるとありがたいです。 if(x = 0) C言語では代入が式であるためif(x == 0)のつもりでif(x = 0)と書いてしまい、常に偽になってしまう。 x = 0の値はint、条件式はboolでないといけないので型エラーだよ派: Java x = 0は式ではないので条件式に入れたら構文エラーだよ派: Python 条件式にx = 0をいれたらx == 0と解釈するよ派: H

    不完全にしてかなり言葉足らずな比較プログラミング言語学 - 西尾泰和のはてなダイアリー
  • 他の言語に慣れた人がRubyを使ったときにつまずきがちな9つのポイント - 西尾泰和のはてなダイアリー

    他の言語に慣れた人がPythonを使ったときにつまずきがちな9つのポイントの続編。ささださんも書いています see: だいありー 0は真, 空文字列も真 C言語などと違って、0は偽ではない。PythonJavaScript, PHPと違って空文字列も偽ではない。 >if 0 then print "true!\n" end true! > if "" then print "true!\n" end (irb):1: warning: string literal in condition true! 括弧がなくても0引数での関数呼び出しが起きる PythonJavaScriptでは式中に現れた関数名は関数を指す。しかしRubyでは0引数での呼び出しが行われる。 # Python >>> def foo(): print "foo!" ... >>> foo <function foo

    他の言語に慣れた人がRubyを使ったときにつまずきがちな9つのポイント - 西尾泰和のはてなダイアリー
    auient
    auient 2012/03/17
  • シェルスクリプトを多重起動しないようにする - 西尾泰和のはてなダイアリー

    最初はこう書いていた。 lockfile build.lock ... rm -f build.lockだけど、lockfileは失敗した時にデフォルトでは無限にリトライをする。ちょっと出来心で$ for i in {1..100}; do ./foo.sh; done;したから100人の待ち行列が出来てしまった。 やりたかったことは「既に起動していたら続行しないで終了」だったので-r 0でリトライ回数を0にした。 lockfile -r 0 build.lock || exit 1 ... rm -f build.lock

    シェルスクリプトを多重起動しないようにする - 西尾泰和のはてなダイアリー
    auient
    auient 2012/03/17
  • 最もタメになる「初心者用言語」は Python! - 西尾泰和のはてなダイアリー

    追記:これはネタだったのですが、思いの外ページランクが高いみたいで「初心者 Python」で検索した人がここに来てしまうそうです。 当にPython初めての人は下の記事を読むといいと思います。 Pythonの紹介 Instant Hacking Python チュートリアル - 最もタメになる「初心者用言語」は JavaScript。 - IT戦記 http://d.hatena.ne.jp/amachang/20080204/1202096633 Pythonだってクロージャつくれるもんっ!>< // JS function make_counter(){ var x = 0; return function counter(){ x++; console.log(x); return counter; } } make_counter()()()() # Python def mak

    最もタメになる「初心者用言語」は Python! - 西尾泰和のはてなダイアリー
  • 1