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

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

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

    コード進行を五度圏で可視化してみた - 西尾泰和のはてなダイアリー
    Nao_u
    Nao_u 2014/06/16
  • necomimiを改造して脳波データを取り出した - 西尾泰和のはてなダイアリー

    脳波で耳が動く「necomimi」が、なんと3000円台で投げ売りされて話題になっていました。僕も3150円で買いました。なんと中に入っている脳波チップを単体で買うより安い!(スイッチサイエンスではいま4980円) 頭に着けるための電極とセットになっているのにチップより安いだなんて!よしこれを改造してPCで脳波の値を取得できるようにしよう! necomimiの分解・改造に関しては既に先人がいくつかのエントリーを上げておられます。まずこちら: nekomimiを分解してみた。シールを剥がすとネジが出てくるのでそれを回せば簡単に開くとの話。これはそのとおりでした。簡単でした。シールを剥がす時にノリが残ってネチョネチョにならないように慎重に剥がす必要があるけど。 上記スイッチサイエンスのページから各ピンがどういう意味かの説明PDFが見れます。Pin1が額でPin2がその線のシールド線(ケーブル

    necomimiを改造して脳波データを取り出した - 西尾泰和のはてなダイアリー
    Nao_u
    Nao_u 2013/08/19
  • 「自信がない」は自信の持ちすぎ - 西尾泰和のはてなダイアリー

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

    「自信がない」は自信の持ちすぎ - 西尾泰和のはてなダイアリー
    Nao_u
    Nao_u 2012/11/11
  • 言語女子会: undefとnullは両方必要? - 西尾泰和のはてなダイアリー

    Twitterのタイムラインが面白すぎて、ついうっかり言語を擬人化して脳内で言語女子会なるものを開いてしまいました。なお、登場人物と実在の人物は1対1に対応しません。 undefinedとnullの両方必要なの? とあるプログラミング言語が集う女子会にて: Perl: そういえばさ、なんでJavaScriptちゃんってundefinedとnullの両方もってるの? JavaScript: えっ、未定義の変数にアクセスした時undefined返したいじゃない? Python: 例外投げて死ねばいいじゃん Ruby: 例外投げて死ねばいいよね Python & Ruby: ねー♡ Java: いやそこは参照型ならnull、数値型なら0で初期化すべきでしょ C: これだから最近の若い子は…初期化にだってコストが掛かるんだからね!デフォルトで初期化するなんて無駄遣いよ!必要な人だけが責任をもって初

    言語女子会: undefとnullは両方必要? - 西尾泰和のはてなダイアリー
  • 遺伝子をモチーフにした言語「Genomy」を作りました - 西尾泰和のはてなダイアリー

    最近、3年くらい前に書いた「そろそろ例のプロジェクトについて言及するか」についてTwitterで言及があったので思い出しました。「条件を満たしたものをすべて呼び出す」という設計思想でプログラムが書けてしまうという点について意外とみんなピンと来ないみたいだからコンセプトプルーフを実装してみようと思っていたんでした。 という訳で作りました。https://github.com/nishio/genomy 解説 「遺伝子はタンパク質の設計図」というところまでは教科書などでもよく言及されます。でも、その設計図には「どういう状況になったら作るべきか」「どういう状況では作るべきではないか」という情報も書かれています。 この「作るべきではない」(発現の抑制)がどう実現されているか、ザックリ説明しましょう。体の中にあるタンパク質があると、これがある遺伝子の周辺にへばりつき、その遺伝子からタンパク質を作る過

    遺伝子をモチーフにした言語「Genomy」を作りました - 西尾泰和のはてなダイアリー
  • 次の日曜日、新感覚シューティングゲームを展示します - 西尾泰和のはてなダイアリー

    次の日曜日、ちょっと面白いものを展示します。でかいテーブル型モニターで、フィギュアを使って直感的に操作できる新感覚シューティングゲーム!位置だけでなく角度も制御できるので、今までにない体験ができると思います。 イベントは18日のトレジャーフェスタ、場所は東京ビックサイト(東京国際展示場)東4ホールです。一緒に妖精眼鏡と、同じく未踏発のプロジェクトであるQUMA[YouTube]も展示されます。他にもいろいろ面白い展示が出るはず。ブースは結構でかいのですぐ見つけられるかと思います。 この作品は未踏で知り合った仲間たちで作っています。僕の他にはQUMAの発案者・開発者でもある久池井淳、未踏でマルチマウス・マルチモニター共有を開発していた上田真史、某巨大研究所の所属で週末ゲームプログラマとしていくつかのゲームをリリースした経験のある中山心太、の4人。フィギュアのコントロールには昨年の5月に僕と久

    次の日曜日、新感覚シューティングゲームを展示します - 西尾泰和のはてなダイアリー
  • 不完全にしてかなり言葉足らずな比較プログラミング言語学 - 西尾泰和のはてなダイアリー

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

    不完全にしてかなり言葉足らずな比較プログラミング言語学 - 西尾泰和のはてなダイアリー
  • 迷路最短経路問題 - 西尾泰和のはてなダイアリー

    人生を書き換える者すらいた。: 人材獲得作戦・4 試験問題ほかの話 僕が受験者で、こういう問題を出されとしたら、まず確認することがひとつある。 「迷路のサイズの上限が設定されていませんが、4TBのテキストファイルで迷路が与えられる可能性を考慮すべきですか?」考慮しなくていいと書いていない以上、デフォルトでは考慮すべきであり、で考慮するととてもめんどくさいので後で「あ、そこまで要求してなかったのに」とか言われないために出題者が自覚しているか確認する必要がある。 で、「yes」って言われたら…なかなか歯ごたえのある問題だな! 迷路が正方形とはどこにも書いていない以上、縦4マス横1テラマスの迷路でもvalid。だから「迷路のデータファイルを1行読んで」なんて書いてたらその時点でアウト。最初にすべきことは安全な文字数ずつ頭から読んでいって最初に現れる改行の位置を調べること。改行の文字コードがなんで

    迷路最短経路問題 - 西尾泰和のはてなダイアリー
  • Programmer's Nightmare Rules - 西尾泰和のはてなダイアリー

    ルール原文: http://www.silcom.com/~tomjolly/pnrules.htm チャット: http://www.lingr.com/room/programmers_nightmare プログラムをコントロールするゲーム(Ver.2では作っていく) 10点からスタートして20点になったら勝ち、0点になったら負け 「コントロールトークン」(Bit)を全部失っても負け Ver.1の方がルールを学びやすいが、より戦略性が問われる(じゃあそれでいいじゃん。以下Ver.1についてのみ記述する) まず次のカードをデッキから取り除くthe Break (3枚), Run (4), Secret (2), Insert (1)。Ver.1では使わない。 カードにはいろいろな命令が書かれていて、最初にそれが表向きに机の上に円形に配られる。これがプログラム。 その上に各プレイヤーが「B

    Programmer's Nightmare Rules - 西尾泰和のはてなダイアリー
  • そろそろ例のプロジェクトについて言及するか - 西尾泰和のはてなダイアリー

    以前、とあるシステムのソースコードを読む機会があったのだけどあまりにひどかった。あのひどいコードでまあまあまともに動いているというのが逆に信じられない。今日昼ご飯をべながら少し話していたのだけど意外と知られていないようなので、話せる範囲でいかにひどいのか説明してみようと思う。 まず、ソースコードが大雑把に見積もって3750万行あるのだけど、その中でまともに機能しているコードは3%しかない。10分の1程度のソースコードで同程度の機能を実現しているシステムもあるのでほんとあのシステムのコードはゴミだと言っても過言じゃない(*1) プログラマとしてはなんでそのプロジェクトはそんな状態になってしまったのか気になるところだけども、まあ多くのプロジェクト同様、真相を知る人は誰もいない。でもまあ、実際に機能しているコードのコピーみたいなものがあちこちに散らばっていることからしてコピー&ペーストが盛んに

    そろそろ例のプロジェクトについて言及するか - 西尾泰和のはてなダイアリー
  • 数学用語を必殺技化する - 西尾泰和のはてなダイアリー

    今日の86チャットまとめ ujihisa23の発言: 数学用語が非直感的で難しいってのだけど ujihisa23の発言: あれは中二病的にはむしろ良いこと from_kyushuの発言: 中二病www ujihisa23の発言: 「この非線形関数をラグランジュ緩和で不定積分したら名義尺度が下近似で証明終了。」 ujihisa23の発言: とかかっこよすぎるだろ asuinim/L4RK/nommyの発言: かっこいいな asuinim/L4RK/nommyの発言: 全中学生に啓蒙すべきだ 西尾泰和の発言: 数学用語が難しい名前なのは必殺技だと思えばOKなのか Haikuの発言: そういうことですね。(キラーン) 西尾泰和の発言: 「動的計画法!!!!」と書いて、ふりがなに「ダイナミック・プログラミング」と書いてある 西尾泰和の発言: うはー、かっこええーw ujihisa23の発言: おお

    数学用語を必殺技化する - 西尾泰和のはてなダイアリー
    Nao_u
    Nao_u 2008/06/03
  • プログラ魔法学に関する考察 - 西尾泰和のはてなダイアリー

    さっきの for i in range(1,101):print"FizzBuzz"[i*i%3*4:8--i**4%5]or iとか明らかに禍々しいオーラをまとっている。闇の眷属に間違いない。 こういう一見この世の物理法則に従っていないような生き物を生み出すのは「召還魔法」だと思う。 こういうのはネタとして魔界のものを召還して見せ物にするくらいなら問題ないのだけど、普段の作業や仕事のコード、特に他人とシェアするコードで必要もなく闇の力を利用すると「黒魔術使い」「ダークサイドに堕ちたな」と言われるので要注意。生半可な気持ちで禁呪を使うと高い代償を支払う羽目になる。 IEを華麗に撃墜する一行 - ぼくはまちちゃん!(Hatena)とかは攻撃魔法。たぶん赤魔術。対象に対する深い理解が必要なのでほんの一握りの人しか新しい呪文を開発することができないが、行使するのは作り出すより簡単なので多くのスク

    プログラ魔法学に関する考察 - 西尾泰和のはてなダイアリー
  • 1