mp3をoggに変換する

HTML5 Canvasの7章がaudioを扱う章で、oggが必要なのでググッた。

MP3は適当にyoutubeから引っ張ってきた。というか、B1ガンパレ的に「つけナポリタン」で。

今度CD買っとこ。

HTML5 CANVAS 6章終了

videoタグの使い方。動画の制御をやったあと、もう少し高度な使い方としてCanvas要素をつかった動画の扱いを学ぶという章。

最後のほう(6-10)でビデオのパズルを作る。ちなみに揃えるとPyConJPのシールを映した動画が出てきます。

html5 video

基本的にCanvasをうまく使う。

  1. video要素をjavascriptでつくってスタイルシートのdisplay属性をnoneにして表示させない
  2. playしたらcanvasの描画をsetIntervalで30FPSになるようにして
  3. video要素をcanvasに描画する
  4. ついでにcanvasの要素をいじれば画像いじるのと同じことができる。

ProductName HTML5 Canvas: Native Interactivity and Animation for the Web
Steve Fulton
Oreilly & Associates Inc / 2922円 ( 2011-05-13 )


新しいことをやろうと思ったら経営の層は出資者みたいなもんだ

経営に近い人達は当たり前だけど忙しいしだらだらとアポの時間を取れるわけではない。だから、自分たちは顧客とか出資者にプレゼンするつもりで臨まないといけない。同じ船に乗った同士とか昔の上司だからとか、よーく話せばわかるとか、そういうぬるい考えを持ってはいけない。

つまり、常にエレベーターピッチのようなものを用意して、現状の問題点と改善点を完結にプレゼンできるようにしておかないといけないし、30分程度の時間をもらえたらwin-winの提案をして資源を勝ち取らなければならないと思っているし、まぁ実践している(できているかどうかわからないけど)。

ProductName アントレプレナーの教科書
スティーブン・G・ブランク
翔泳社 / 2940円 ( 2009-05-09 )


というわけで、最近は寝る前にこの本を読んでいるんだけど、言い回しが堅苦しいのでよく寝られる。

内容はいいと思うんだが、咀嚼できてないので3回くらいは読まないと分からない感じ。

Console.scalaで出力する文字の色を変える

Console.scalaを読んでいたらANSI color codesをvalで定義してあった

scala> import Console._
import Console._

scala> println(YELLOW + "yellow" + RESET + " and "+ RED + "red" + RESET)

こんなので、色が付くので便利かも

term color

Function.scalaのchainメソッド

Scalaのソースを読んでいます。

Function.scalaのchainメソッドっていうのが面白い。

def chain[a](fs: Seq[a => a]): a => a = { x => (x /: fs) ((x, f) => f(x)) }

/:っていうのはfoldleftのシンタックスシュガーなので、よくあるパターンと対比ささせてみる

scala> (0 /: Seq(1,2,3,4,5))(_ + _)
res9: Int = 15

左からパタパタと倒していく。

つまりSeq[a => a]という関数のシーケンスを次々に適用していくわけですね。

故にチェイン

ProductName Scala実践プログラミング―オープンソース徹底活用
小笠原 啓
秀和システム / 2940円 ( 2011-06 )


集合指向言語として考えればSQLの言語仕様は非常に面白い

SQLはデータベース操作用の言語でとっつきにくいなぁと敬遠してたわけですが。

ORM便利だわと考えていた時期もあったのだけど、実際、多対多の設定もめんどくさいし集合関数とかジョイントかさせようとすると余計ややこしくなるので、やっぱSQLもきちんと覚えておかないといけないかなぁと。

ProductName 達人に学ぶ SQL徹底指南書 (CodeZine BOOKS)
ミック
翔泳社 / 2520円 ( 2008-02-07 )


本書は、集合を操作する言語としてのSQL言語を楽しみながら読める構成になっている。。3論理値の話も面白かったし、having句とかexists述語の使い方も勉強になった。これは良書でしたね。

SQLを集合思考言語と考えれば、宣言的な表現になっているのも素直だし、関数型言語脳で処理したほうが素直だなぁと思える。Play ScalaはORMじゃなくてSQLだしねぇ。

もし関数型言語とか集合論に馴染みが薄ければ、この二冊を読んでおくとよいかもしれません。

ProductName 離散数学への招待〈上〉
J. マトウシェク
シュプリンガー・フェアラーク東京 / 2835円 ( 2002-12 )


ProductName プログラミングHaskell
Graham Hutton
オーム社 / 2940円 ( 2009-11-11 )


積んである本に「SQLパズル」があるんだが、読むのが楽しみになった。

ProductName SQLパズル 第2版 プログラミングが変わる書き方/考え方
ジョー・セルコ
翔泳社 / 2940円 ( 2007-11-02 )


「誰が」会社を変えるのか: 誰なんでしょうねぇ?

著者はノーリツ鋼機の経営戦略室にいたらしい。ノーリツ鋼機といえばお家騒動的なアレとか産業が急速に減衰した業界ですね。

ProductName 「誰が」会社を変えるのか 近未来企業へのシナリオ
田中 淳視
文芸社 / 1470円 ( 2010-11-01 )


こういう背景を踏まえた上で読んでいくと、特に三章以降は恨みっぽい感情も行間に見え隠れしつつも、株主資本主義に疑問を呈している感もあるかなぁと。ネクスト・ソサエティで似たようなことをドラッカーも書いてたな。

一章、二章のどう働くかは参考になった。

  • ヒトを試算とみるか、コストと見るか
  • マーケティングにおけるスキミングポリシー
  • 成果における個人の努力によるものは2割程度
  • 経営とは「だれが」「なにを」「どうする」かをデザインすること

今週末はHTML5読書会があります

今回からHTML5&CSS3実践入門を読んでいきます。初回は三島で開催です。プログラムプログラムしてない本なので、スマホのヒトも、webデザイナーのヒトも楽しく勉強できると思いますよ。

ProductName HTML5&CSS3実践入門 最新Web標準を使いこなす (The Pragmatic Programmers)
ブライアンP.ホーガン
インプレスジャパン / 2940円 ( 2011-07-08 )


尚、当日は三島バルという飲み歩きイベントも行われているので、飲み歩きついでにちょっとHTML5でも勉強しておくかっていう参加のしかたもありだと思いますが。

ちなみに私は子供の面倒をみないといけない(第5土曜日は保育所が休みらしい)ので、読書会には参加できません ;-)

夕方からのこのこ出かけていってバルからの参加になるわけですが、@bg7860と久しぶりにウダウダと飲み歩く予定なので、会ったらよろしく。

公式サイトみると#三島バルっていうタグつけてつぶやけって書いてあるけど、タグ打ちめんどくさいし、酒のんで楽しんでいる状況でそんな面倒なことは多分しない(吉原バルで経験済み)位置情報オンにしといて、緯度経度情報でtweetフィルタリングするのが現実的なやり方じゃないのかなぁと思うが。

どうやろかね?

クライアントによっては自動で前回入れたタグが自動的に挿入される機能があったりすんのかな?そういうあたりもちょっと興味あるね。

  • 酒飲みながら日本語ハッシュタグをつけることができるか?
  • それを@bg7860が僕の代わりにやれるか

こういったあたりも。

HTML5 CANVAS 6-7

videoタグじゃなくてcanvas経由で動画を表示する。

HTML5 6-7

videoElement = document.createElement('video')
videoDiv = document.createElement('div')
document.body.appendChild(videoDiv)
videoDiv.appendChild(videoElement)
videoDiv.setAttribute("style","display:none;")
videoType = supportedVideoFormat(videoElement)

console.log(videoType)
videoElement.setAttribute("src","/videos/sample." + videoType)
videoElement.addEventListener("canplaythrough", videoLoaded, false)

theCanvas = document.getElementById("canvasOne")
context = theCanvas.getContext("2d")

videoElement.play()
setInterval(drawScreen, 33)

なんでvideoElementにイベントリスナー設定しているのに、最後の方でplayメソッドを呼び出しているのかわからん。6-5のサンプルに倣うんだったらvideoLoadedで呼び出すべきなんじゃないのかね?

ProductName HTML5 Canvas: Native Interactivity and Animation for the Web
Steve Fulton
Oreilly & Associates Inc / 2922円 ( 2011-05-13 )


HTML5のビデオ変換がめんどくさすぎる

HTML5 Canvasも6章になってvideoを扱う。この本の欠点はサンプルコードがないことかなぁ。

コードはなくてもいいけど本書でつかった画像とか、動画とかはダウンロードできるようにしてもらいたかった。しょうがないので、必要な画像とか動画は都度用意しているが、やはり手間だ。

そして、初めてvideoタグを使う時がやってきたので、動画のコンバーターをインストールしたり、サンプルの動画を用意したりしている。

現状のブラウザの対応状況の関係で、動画関連はメインの規格が3つくらいあって、面倒だとは聞いていたけど、用意するのは本当に面倒だった。WebMなんて特に面倒くさい。ogg(theora+vorbis)はffmpeg2theoraがあるので楽だった。MP4(H.264+AAC)は特許に縛られてるからどうだろうねぇ、現状iPhoneとandroidで動くので必要だろうけど。

入門HTML5のvideoの章が、「サルでもわかるHTML5ビデオ」みたいなスクリーンショット多めのチャプターでソフトウェアの使用方法にページを割いててなんだこれ?と思っていたんだけど、実際に動画を変換してみて、

あーこの章は必要だわ

と思ったのであった。

ProductName 入門 HTML5
Mark Pilgrim
オライリージャパン / 2415円 ( 2011-04-23 )


各ブラウザのサポート対応表を改めて見直していたら、別にWebMに対応しなくてもいい気もしてきた。

ところで著者のMark Pilgrimは今月の頭にinfosuicideしちゃったみたいなんだよね。