タグ

ブックマーク / edvakf.hatenadiary.org (16)

  • WebGLでライフゲームしてみた - by edvakf in hatena

    JavaScript Advent Calendar 2011 WebGL駅伝17日目になります。ほぼ独走状態でやってきましたが、明日から数日は書けそうにないと思うので、もしよかったら誰か代わりに書きませんか? id:ultraist さんとか id:ndruger さんとかいかがでしょうか(チラッ)。とりあえず明日は id:nakamura001 さんに書いていただけることになりました。 さて、表題のライフゲーム(Conway's Game of Life)というのは、ゲーミフィケーションやソーシャルゲーム的な意味のゲームではなく、ゲーム理論的な意味のゲームです。ある条件に添って個々の構成単位がほぼ独立に振る舞うことによって、全体として何らかの現象が観測できる、という遊びです。 白マスを死んだセル(細胞)、黒マスを生きたセルとして、それぞれのセルはある時刻の次の時刻に以下のような状態に変

    WebGLでライフゲームしてみた - by edvakf in hatena
  • JavaScript Advent Calendar/WebGLコース9日目・テクスチャーの使い方 - by edvakf in hatena

    JavaScript Advent Calendar 2011 WebGL駅伝9日目、独走2日目になります。今からでも参加したい方がいましたらぜひ教えてください。 さて、今日は昨日の内容を発展させて、画像を貼ってみたいと思います。 WebGLのテクスチャーとして使える画像は、通常は辺の長さが2の累乗である必要があります。ただし、やり方によってはどんなサイズの画像でも使えます。 今回は256x256で用意したこの画像を表示してみます。ただ表示するだけではおもしろくないので、色を反転させてみます。 Learning WebGLのLesson 5に似た内容です。 http://jsfiddle.net/tdUNW/1/ シェーダー 今回用意したシェーダーはこんな感じです。昨日と比べてみてください。 <script type="text/x-vertex-shader" id="vs"> // 頂

    JavaScript Advent Calendar/WebGLコース9日目・テクスチャーの使い方 - by edvakf in hatena
  • JavaScript Advent Calendar/WebGLコース8日目・二次元図形を描く - by edvakf in hatena

    JavaScript Advent Calendar 2011 WebGL駅伝参加者の方々、ありがとうございました。めでたく(?)最後のランナーまで辿り着きましたので、ここからは一人で走ってみたいと思います。(気力の続く限り…) もし僕の代わりに何日か書いてもいいよという人がいましたらコメントで教えてください。 とりあえず、これまでの方々の記事へのリンクを貼っておきます。 JavaScript Advent Calendar 2011/WebGLコース初日、WebGLの基的な考え方 - by edvakf in hatena THREE.js で WebGL | ヨモツネット 空が狭い: WebGL Advent calender 3日目 PhiloGLでのカメラの移動処理 - 強火で進め 3DCG Arts: THREE.js での輪郭線表示 ステレオ3Dビュー解説 JavaScrip

    JavaScript Advent Calendar/WebGLコース8日目・二次元図形を描く - by edvakf in hatena
  • JavaScript Advent Calendar 2011/WebGLコース初日、WebGLの基本的な考え方 - by edvakf in hatena

    JavaScript Advent Calendar 2011 参加者募集! - by edvakf in hatena ↑まだまだ参加者募集中です。 WebGL駅伝は、もし25人に満たなかったら、最後の人の次の日から僕が一人で走りたいと思います。ネタと時間的余裕が続く限り… なんてことを言っておきながら、実は僕自身はWebGLも3Dプログラミングも初めて2ヶ月の初心者なので、自分がWebGLを始めるときにどういう解説が欲しかったかということを考えながら入門編を書いてみたいと思います。(WebGL駅伝の他の参加者の方々にはつまらない内容だと思いますが) WebGLプログラムの流れはおおまかに言ってこれだけです。 シェーダーを用意する 頂点座標をシェーダーに投げる フレームごとにパラメータを変えてシェーダープログラムを走らせる シェーダーは頂点(vertexシェーダーとフラグメント(fra

    JavaScript Advent Calendar 2011/WebGLコース初日、WebGLの基本的な考え方 - by edvakf in hatena
  • node.js のソースぐらい読んでおきたい! - by edvakf in hatena

    JavaScript Advent Calendar 2010 という企画をやっています。既にもう7日目なのですが、まだまだ os0x さんや hasegawayosuke さんや nanto_vi さんや secondlife さんといったすごい方々が記事を書いてくれる予定になっていますので、是非チェックしてみてください。 今日は、最近話題の node.js を読んでみます。僕自身は node.js を追っかけてたのは今年の5月ぐらいで、ソースは半年以上見てなかったのですが、この機会にまた読みました。この記事は、C++ は一応読めるけど V8 とか libev はあまり知らない node.js 好きの人を念頭に置いています。 拙訳の Embedder's Guide - V8 JavaScript Engine に書いてあるようなことは説明なしでいきたいと思います。また、適宜 libev

    node.js のソースぐらい読んでおきたい! - by edvakf in hatena
  • ブラウザで英辞郎を検索する EijiroX - by edvakf in hatena

    最近 Mac から Windows に乗り換えたのだけど、Mac の Eijiro Viewer みたいな良い英辞郎検索ソフトが Windows には無いみたいなので作りました。(PDIC は英語Windows では文字化けした気が。あとインターフェイスがごちゃごちゃしてるしキーボードだけで使うように作られてないので好きではない) 辞書は同梱していません。自分で買ってください。 Google Chrome と Opera で使えます。(ただし Opera は動かすのがちょっと面倒) Chrome Extension Gallery に登録しました。 https://chrome.google.com/extensions/detail/incofakicgjnjoggkkepbldklfocgafh ソースコードは MIT ライセンスで公開しています。 https://github.c

    ブラウザで英辞郎を検索する EijiroX - by edvakf in hatena
  • AutoHotKey で SandS - by edvakf in hatena

    検索したら既にあるっぽいけど、作ってみたらできたので晒す。 よく見かけるのは Space Up:: Send, % "{Shift Up}" (A_TimeSincePriorHotkey < 200 ? " " : "") +Space:: Send, +{Space} Space:: RShiftというやつ(やそのバリエーション)とか。これは、Space 押し続けてたらキーリピートしてしまったり、Space 押す→他のキー→Space 離すっていうのを素早くやったらスペースも発射されてしまったりしてちょっと使い心地が悪い。 それから、使ったことないけどかなりちゃんとしてるっぽい、ここの 089.zip というやつもある。 でも 自分で作ることに意味があるんだということでペタリ。 使い勝手は Mac の KeyRemap4MacBook のものと同じにしたつもり。ツッコミ歓迎。 *Spa

    AutoHotKey で SandS - by edvakf in hatena
    kageroh_
    kageroh_ 2010/10/27
  • ブラウザがクラッシュしてもテキストエリアの内容を保存しておく UserJS - by edvakf in hatena

    最近、久しぶりにしばらく Firefox を使ってた。Firefox すごい。何がすごいって、クラッシュしても OS がカーネルパニック起こしても書きかけのブログが消えてなかったこと。 これは羨ましい。ということで UserJS を書いた。 注意: localStorage を使うので、ページ側から見られてしまったり、ページのスクリプトに思わぬ副作用を与える可能性があることを承知した上で使ってください。それから、もしブラウザがデフォルトでそういう機能を提供することになったら手動でアンインストールしてください。 http://gist.github.com/440103 ↑raw というところをクリックすれば生のスクリプトを表示。Chrome だったらそのときにインストールしますかという表示が出るはず。 Opera と Chrome と Safari (NinjaKit) で動くのを確認した

    ブラウザがクラッシュしてもテキストエリアの内容を保存しておく UserJS - by edvakf in hatena
  • iframe にもアドレスバーがほしい - by edvakf in hatena

    高木浩光@自宅の日記 - 新はてなブックマークの登録ブックマークレットは使ってはいけない iframe 内のフォームに入力するときはアドレスバーが無くて怖いので、アドレスバーっぽいものを出すような UserJS を書いた。 http://gist.github.com/424103 インストール (Greasemonkey 用) Opera, Firefox (Greasemonkey), Chrome で動くと思う。 こんな感じで、iframe のロード時とフォーカスしたときに数秒間 origin を表示。アドレスバーというか origin バー? でも、 @edvakf 利便性から言えばそれでも良いのだけど、 UserJS だと JavaScript で書き換えられるので、クライアントの UI で用意しないとセキュリティ的にアレと言うか https://twitter.com/usop

    iframe にもアドレスバーがほしい - by edvakf in hatena
  • Bloggerではてな記法を使うユーザースクリプト - by edvakf in hatena

    Blogger に個人的なブログを作ったので、慣れ親しんだはてな記法が使えるようにしてみた。 Opera, Chrome, Firefox (Greasemonkey) で使えるはず。 http://gist.github.com/346427 (ソース) http://gist.github.com/346427.txt#blogger-hatena-syntax.user.js (Greasemonkey でインストール) (Chrome は自動インストールにならないみたいなので、blogger-hatena-syntax.user.js という名前で保存して Drag & Drop したらいいかな) text-hatena.js を使わせてもらった。 特徴は、スーパー pre 記法のシンタックスハイライトに対応していること。オリジナルの text-hatena.js はスーパー pr

    Bloggerではてな記法を使うユーザースクリプト - by edvakf in hatena
  • JavaScriptでCSS Minifier - by edvakf in hatena

    JavaScript で書かれた CSS Minifier がほしいと思って探してみたんだけど、PHP などは多々あれど JS のは皆無だった。(サーバーサイド JS が流行れば出てくると思うんだけど) 色々探した挙句、こういうのを発見して、 Any recommendations for a CSS minifier? - Stack Overflow そこからのリンクで C# で超高速 CSS Minify アルゴリズムというのがあった。 KO Software - Blog - An Ultra Fast CSS Minify Algorithm やー、Stack Overflow すばらしいですね。 アルゴリズムは正規表現を使うのではなくて、一種のステートマシンを作る方法でやっていて、高速かつ CSS の仕様にもよく適合してるらしい。 というわけで、それを JS で書いてみた。 g

    JavaScriptでCSS Minifier - by edvakf in hatena
  • Migemoでページ内検索するためのGoogle Chrome Extension - by edvakf in hatena

    一応完成したので公開します。 MigemoFindInPage - Google Chrome 拡張機能ギャラリー 前に作った ChromeMigemo Extension に依存します。これがインストールされてないと動きません。 ページ内検索で、いつも「今自分はどこにいるの?」という感覚になるのが嫌いなので、驚きを少くするようにこだわりました。 見つかった語が現在見えてる画面外にあった場合、強制的にスクロールしない。 スクロールする場合はスムーズにスクロールさせる。 あとパフォーマンスはけっこうチューニングしたので、けっこう軽いと思います。標準のページ内検索だと「次の結果」(Mac だと Command+g) をずーっと押してるとものすごく重くなりますが、そういうことはありません。 キーバインドの変更はゆくゆく考えていきます。とりあえず当たり障りのなさそうなところを使うようにしました。

    Migemoでページ内検索するためのGoogle Chrome Extension - by edvakf in hatena
  • 要素が画面上に見えているかどうかを調べる - by edvakf in hatena

    document.elementFromPoint という便利な関数を知ったので、今作っている Chrome 用 Migemo ページ内検索で使ってみた。 これが困ったことに、ブラウザごとにかなり挙動が違うのだけど、来の動作はこんな感じらしい。 待望の document.elementFromPoint が Firefox 3.0a8pre にて実装された。仕様は nsIDOMNSDocument.idl に詳しく書いてあるが、おおよそ以下の通りである。 HTML, XUL どちらの document に対しても使用可能 document の左上を (0, 0) とし、位置 (x, y) にある実際に見えている要素を取得する 同一の document 内に存在する要素のみ取得可能。例えばインナーフレーム内の document 内に存在する要素は取得できず、代わりに iframe 要素を返

    要素が画面上に見えているかどうかを調べる - by edvakf in hatena
  • ある要素が見える位置までスクロール - by edvakf in hatena

    into_viewport という関数を作ってみた。 Chrome 以外ではチェックしてない。(でも IE 含め、他のブラウザで使えない関数などは使ってないはず) IE に getComputedStyle が無いのを忘れてた。var s = getComputedStyle(elem, null); のところを var s = window.getComputedStyle ? getComputedStyle(elem, null) : elem.currentStyle; にしたらいいのかな? (IE 持ってないのでわからない) 微修正。body や html 要素に overflow:auto などが着いてると変なことになる件。あと、Firefox と Opera では互換モードのとき document.body.scrollTop が使えて、標準モードのときは document.

    ある要素が見える位置までスクロール - by edvakf in hatena
  • LDR/Fastladderを高速化してみる・第2弾 - by edvakf in hatena

    FastladderよりLDRのほうが遅いのをなんとかしたいかも - by edvakf in hatena この記事の続き。前とはちょっと違う方向性で。 LDR/Fastladderは起動がちょっともたつくのが難点なのだが、その理由は、フィード一覧を取得するまでに個人設定を読み込んだりと色々待たなければならないことが多いためだ。 UserJS で設定を先に読んでおく 今まではこんな UserJS を使って、あらかじめ保存しておいた個人設定を読ませることにして (さらに、最初に右部分に開くガイドページを消してしまって) 高速化をしていた。 // ==UserScript== // @include http://fastladder.com/reader/ // @include http://reader.livedoor.com/reader/* // ==/UserScript==

    LDR/Fastladderを高速化してみる・第2弾 - by edvakf in hatena
  • Operaをさらに高速にする、あまり知られてない10の方法 α - by edvakf in hatena

    はじめに 2ちゃんねるでは下のようなコピペが「爆速」として知られているようだが、その他にもOperaを速くする方法はまだまだある。 アドレスバーにopera:configと入力 クイック検索に「Interpolate Images」と入力 Interpolate Imagesのチェックボックスを外す クイック検索に「Update」と入力 First Update Delayを「500」 Update Delayを「100」 Opera再起動 昨日見つけた記事では、実際に彼のコンピューターでは速くなったよ、として以下の10点が挙げられている。日付が2008年6月29日なので、もちろんOpera 9.5にも対応している。 10 Tips To Speed up Opera 9! - STUFF!!!! - by Higio なお、メニュー等は英語版のものしか知らないところも多いので、スクリーン

    Operaをさらに高速にする、あまり知られてない10の方法 α - by edvakf in hatena
  • 1