はてなには、どんな引力があるんだろう。 2008-02-18 - Web技術系クリップ 上記経由で知ったニュース。 http://d.hatena.ne.jp/mala/about ↑ この時点ではジョークだと思いました。 最速インターフェース研究会 :: そろそろはてな京都移転について一言いっておくか ↑ 本当みたいです。今日付けなんですね
9/15日にMozilla 24 出張Shibuya.js 24でしゃべってきました。 http://shibuyajs.org/articles/2007/08/24/Shibuya-js-24 資料はこちら。 http://ma.la/files/shibuya.js/mozilla24.html JavaScriptでBloom filterのデモ。今のところ実用性が無い。仕組みを理解するのには良いかも。 http://la.ma.la/misc/js/bloomfilter/ Bloom Filterについてはここら辺が詳しい。 http://chasen.org/~taku/blog/archives/2006/01/bloom_filter_1.html http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%AB%E3%83%BC%E3%83
プログラミングできるひとは「ゲーム作れよ」と言われることが多いような気がする。 ぶっちゃけゲームとか作れないし、たぶんウェブプログラマの多くはそうだ。 PerlやRubyやJavaScriptとかで何万ポリゴン動かしたりできない。 XMLをパースしたり、正規表現で置換したり、そういうのなら得意だ。 ゲームの人らは秒間3億ポリゴンとかやってるのに、何でこんなちまちましたことやってるんだろうと思ったりもする。 なんでこんな事やってるのかというと、面白いからやってるのだけれど、 プログラム書かない人らから見ると何やってるのか全然面白さが分からない、 3Dポリゴンが動いたり(乳が揺れたり)する方が面白いに決まってると思ってる。 彼らは失礼極まりなくて、リーナストーバルズに対しても 「お前の作ってるものは良く分からないから、ゲーム作れよ」って言うだろうね。 そういう連中を皆殺しにしないことには俺の人
リンク先まとめて登録できる機能が付きました。 http://blog.livedoor.jp/staff_reader/archives/51034585.html かとゆー家断絶からリンク張られてるサイトをまとめて登録とか http://reader.livedoor.com/subscribe/?url=http%3A%2F%2Fwww6.ocn.ne.jp%2F~katoyuu%2F&extract=on スタートマック体験モニタのブログをまとめて登録とか http://reader.livedoor.com/subscribe/?url=http%3A%2F%2Fwww.apple.com%2Fjp%2Farticles%2Fstartmac_monitor_2%2Fwinners.html&extract=on できます。 リンク先の全件にAuto Discoveryをかけると、
昨晩はライブドアで開催されたテクノロジーセミナーで「Technologies for UI」という題でプレゼンをやりました。 発表資料はpdfかhtmlで公開する予定ですが、とりあえずテキストだけ先にアップしておきます。 http://ma.la/files/livedoor/seminar2006/seminar.txt プレゼンツールがFirefox専用だったりするので、これも少し手直しして公開予定です。 こういう機会があるたびにプレゼンツールを作ってるような気がします。 ---- 追記:12/15 ライブドアのtechblogの方に発表資料をアップしました。 http://blog.livedoor.jp/techblog/paper/ldtech2006/ 上下カーソルキーでページをめくれます。
JavaScriptによるユーザースクリプトを追加できる「Greasemonkey」 Greasemonkeyを入れておくと、JavaScriptで書かれたユーザースクリプトを読み込むことができます。自分はGreasemonkeyを利用して下記のことを実行しました。 Going My Way:Gmailの中にGoogle Readerを表示するGreasemon
MozLabという拡張を昨日知ったのですが http://dev.hyperstruct.net/trac/mozlab この中に含まれているMozReplというのがヤバい。Firefoxにtelnet接続できるようになる。 とりあえずRubyで書いた簡単なサンプル、今見ているページをリロードするだけ。 require 'net/telnet' telnet = Net::Telnet.new({ "Host" => "localhost", "Port" => 4242 }){|c| print c} telnet.puts("content.location.reload(true)") telnet.close ひたすら自分が見ているURLとページタイトルを記録する系とか簡単に作れそう。 今見ているページのURLとタイトルを取得するサンプル。 require 'net/telnet'
今も昔も大変よく使われている古典的JavaScriptの一つjavascript:history.back()なんですが、実際に戻る操作が成功したのかどうかを判別することができません。タブブラウザなんかを使っててミドルクリックで新規タブで開いてたりすると、history.backをクリックしても無反応で何も起こらない、なんてことよくありませんか? そんなわけなのでhistory.backを実行後にページ移動が発生しているかどうかを監視して、戻るに失敗したときに特定の処理を発生させることができるような関数を作ってみました。 function try_back(errback){ var bs = false; Event.observe(window,"unload",function(){bs=true}); Event.observe(window,"beforeunload",func
replaceメソッドをhackしてsafariでもreplace callbackを使えるようにしてみた。Safari バージョン 2.0.2(416.13)で上手く動いたそうです。手元に環境が無いので細かい検証はできませんが、とりあえず。 http://la.ma.la/misc/js/replace_callback/ 解説JavaScriptのString#replaceメソッドは文字列を置換して新しい文字列を返すメソッドですが、第二引数に置換後の文字列を指定する代わりにfunctionオブジェクトを渡してやると、Perlでいうところのeオプションみたいなことができます。 // 大文字を小文字に、小文字を大文字に String.prototype.swapcase = function(){ return this.replace(/([a-z])|([A-Z])/g,functi
最近subscribe数晒しが流行っているのでスクリーンショットをとってみた。 全部で2149件。 あと既読も表示にしてレートごとの登録数出してみた。 高い方から271,344,105,12,20,1397件。 なんか数多いけど、未読件数じゃなくて登録件数。これはブックマークレットでも良いけど。 javascript:message([5,4,3,2,1,0].map(function(n){return subs.model.get_by_rate(n).list.length})) 普段はレートが5と4のフィードを読んで、レートの低いのは週末に全部読む。フォルダは使ってない。基本的に4、特に気に入ってるのは5、嫌いなやつは1、みたいな感じでレートをつけてる。上位二つの615件がちゃんと読んでるフィードで、それ以下は読んでも読まなくてもいいや、ぐらいの感覚。人のOPMLをインポートして、
作りました。 http://la.ma.la/misc/userjs/ldr_add_thumbnail.user.js こんな感じに動きます。 http://la.ma.la/misc/img/ldr_add_thumbnail.png SimpleAPIのウェブサイトサムネイル作成API http://img.simpleapi.net/ を使ったサムネイル表示をlivedoor Readerに加えます。 :saもしくは :simpleapi で、フィードごとにサムネイルの表示/非表示を切り替えられます。(コロンを打つとコマンド入力ができるので続けてsaエンター) 全部に対して有効にするとSimpleAPIに対する負荷が高そうなのと、キャッシュが無くて画像が出ないことが多いので、フィードごとに設定できるようになってます。いったん設定すれば、次に同じフィードを表示した時にもサムネイルが表
ピンを付けたページ、vまたはctrl+enterで開いたページを全部Google Bookmarksに保存します。 ラベルはLDRとフォルダと2006-05形式の年月を付けるようにしてみた。ここら辺は好みでカスタマイズしてください。 http://la.ma.la/misc/userjs/ldr_gbsaver.user.js Google Bookmarks http://www.google.com/bookmarks/ 注意 - あらかじめGoogleにログインしておく必要があります - Google側の仕様が変われば動かなくなる可能性があります - 削除は外部から叩けないみたいなので、ピンを外しても削除はされません メリット - ブックマークしたページがGoogleにインデックスされている場合は全文検索ができる(多分) - パーソナライズド検索を有効にしたときGoogleの検索結果
そのうち設定インターフェースができるんじゃないかと思いますが、待ちきれない方はGreasemonkeyスクリプトでカスタマイズできます。 Google readerみたいにj/kだけで全部読みたいControl.go_nextに次のエントリまたは次のフィード、という機能を当ててます。 http://la.ma.la/misc/userjs/ldr_keyhack_jk.user.js ブックマークレットでもできます。これをアドレスバーにコピペ。 javascript:Keybind.add("j",Control.go_next);void(0) 全てのキーバインドを無効化Keybind.clear()で全てのキーバインドを無効にできます。 http://la.ma.la/misc/userjs/ldr_keyhack_clear.user.js はてなブックマークのページにジャンプ。ht
Shibuya.jsでJavaScriptの開発環境の話なんかをしゃべってきました。 プレゼン資料はこちら。少し内容削ってます。 http://ma.la/files/shibuya.js/techtalk1.html - ページめくり s/a or space - 行移動 j/k or enter Webrickのソースは結構適当でadhocにルールを追加したりしてる。なんかsecondlifeがYAMLで設定かけるようなのを作ったとか何か言ってた。 プレゼン資料だけだとわかりづらい部分があるのであとで個別にエントリを書きます。 [雑談]Opera M2はじめました。 公私ともにメールソフトはBecky! Ver.2 + POPFileを使っていたわけですが、[http://la.ma.la/blog:title]の方の「Operaはメーラー」という大胆発言にやられてしまい、いくつかある
作りました。 http://cpan.ma.la/ Firefox用パネル。ブックマークしてプロパティ→サイドバーに読み込む。 http://cpan.ma.la/panel.html 全モジュールのリストを改行で区切ったテキストファイルを受信してクライアントサイドで検索させています。クライアントサイドで検索させているのでサーバー負荷は全くかかりません。 仕組み省メモリ、高速に動作するように工夫してあります。 - 配列に変換せずに一つの巨大な文字列から検索 → 切り出し。 - クロージャで次の検索結果を取得する関数を保持しておいて、描画が必要になった時点で検索を実行。 -- その代わりにトータルのヒット件数がわかりません。 今の所の機能- 上下で選択、エンターでperldoc表示、マウスクリックでもperldoc表示。 - 正規表現がおかしくなければ、そのまま使えます。 -- 例えば \d
デモ、IEかFirefox http://la.ma.la/misc/js/debugscreen/ IEとFirefoxではwindow.onerrorを設定するとJavaScript全体のエラーを補足できます。さらに返値をtrueにすると標準のエラーダイアログを抑制できます。 簡単なサンプルはこんな感じ。 window.onerror = function(mes,file,num){ alert([ "file : " + file, "line : " + num, "message : " + mes ].join("\n")); return true; } あまり細かい情報を取得できるわけではないので、例外処理に使ったりはできないのですが、エラーメッセージを親切にしたりできるかもしれません。 そんなわけで、ファイル名と行番号わかるなら自分自身をXMLHttpRequestで受
ていうのをだいぶ前に作ったんだけど、コードがごちゃごちゃで何やってるか自分でもよくわかってなかったのでちょっと整理して公開。フィボナッチ数列を求めるのに大変便利です。 http://la.ma.la/misc/js/haskell/ 関数の定義を記述すると、再帰処理でごにょごにょやって求めてくれる関数を生成します。メモ化もします。色々いじってたらなんとなく出来た。あんまり細かいツッコミされても困る。 実際のところJavaScriptは再帰処理をたくさんさせるとすぐにスタックオーバーフローで止まってしまうので使い物になりません。数を大きくすると即死したりするので注意が必要です。タイマーを使って再帰処理させるとかトリッキーなことをすれば回避することもできるのだけれど面倒くさい。 遅延評価っぽくなっていて、 // 代入はできる test = ack(100,100); // アッカーマン関数(1
良く出来たものはパクられなければなりません。技術者たるもの我が社の利益だとか愛国心だとかのためではなく、人類の幸福のために行動すべきです。たかだか見た目程度でしか物事を判断できない人間がパクりは悪などという風潮を広めてまわるのは残念でなりません。大企業だろうがベンチャーだろうが一個人だろうが関係ありません、良く出来たものはパクるべきです。パクられてこなかった人の気持ちを考えたことがありますか?胸に手を当てて考えてみてください! iRiderサムネイル表示とドラッグによる高速なタブ切り替えを備えたブラウザ。 http://www.irider.com/irider/ デモムービー(Flash)を見ると良い http://www.irider.com/demo/index.htm 百式の紹介。 http://www.100shiki.com/archives/2004/07/_iriderco
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く