文字化けを解消するかもしれない Latin1toUtf8

Yahoo! Widgets の Google Calendar モジュールだと日本語が化けすぎ。 何と間違ってるんだろう、と調べてみたところ、Google Calendar から送られてくるデータはutf-8 なのに、それを Latin1であると解釈して、ユニコードに変換しているっぽい。Latin1の7ビ…

Ruby/SpiderMonkey

わ、はてなダイアリー市民じゃなくなってたよ! RubyistグループでRuby/SpiderMonkeyモジュール(仮称)作成日記書いてます。 http://rubyist.g.hatena.ne.jp/nazoking/ 名前から見てわかるとおり、RubyからJavaScript(SpiderMonkey)を使うためのモジュー…

DHTMLで子を探す、親を捜す

結構よくある処理だとおもう。 function searchParent(e,f){ return e && (f(e)?e:searchParent(e.parentNode,f)) ; } function searchChild(e,f){ return e && (f(e)?e:(searchChild(e.firstChild,f) || searchChild(e.nextSibling,f))); } searchChild エ…

マウスホイールでlivedoor Readerの前後フィードに移動するGreasemonkeyスクリプト

すごいよmalaラン http://d.hatena.ne.jp/nazoking/20060430/1146405656 http://la.ma.la/blog/diary_200605010152.htm これ以上スクロールできなかったらホイールで前後のフィードに移動。 次のフィードに移動するまでの閾値を入れられるようにしてある。 h…

newを実装する

new は予約語なので、代わりにneoで*1 Function.prototype.neo =function(){ var obj={}; obj.__proto__ = this.prototype; var ret = this.apply(obj,arguments); if( ret && typeof(ret)=='object' ){ delete obj; obj = ret; } return obj; }ふむ… obj={}…

ライブドアリーダーを使ってみた

世間で褒められまくっているLivedoor Readerですが、うーん、僕の使い方にあわない!このままじゃ世界中のRSSリーダーがLivedoor Readerを目指してしまって(leaderとreaderをかけた駄洒落)僕がRSS界から追いやられてしまう!!! で誰かが僕のために理想の…

ROW_NUMBERのようなことをする

オラクルにはROW_NUMBERという関数があるらしい。SELECTした表の行番号が取れるようだ。MySQLでは変数を使うと同じようなことができる。 SET @r=0; SELECT (@r:=@r+1) as row, * FROM `users`; こんなかんじ。変数なんて初めて使ったよ。

Open-URIでHTTPヘッダ指定

open("http://example.com/",'User-Agent'=>'Mozilla/5.0').readそうかー、"r"とかの代わりに渡せばいいんだ…知らなかった ってリファレンスに書いてあるじゃん! ソースを追ってしまった

PHP5でJavascriptを動かす J4P5

これはすごい http://j4p5.sourceforge.net/ JavascriptをPHP5上で走らせる、というPHPスクリプトである。スクリプト言語でスクリプト言語を実装する意味はよくわからないかもしれないが…きちんと、クロージャやプロトタイプも使える。 実装を見てみると、な…

一番短いajaxライブラリ

「ajaxはもうスーパーサイヤ人と同じくらい普通(c)id:amachang」な時代のための簡単コピペライブラリ function ajax(url,onload){ var x=null try{ x= new XMLHttpRequest; }catch(e){ try{ x= new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ x= new Acti…

説明にとらわれる

たとえば東洋的であったりとか、日本的であった場合、あるいは「西洋的」でなかった場合、それを成した人が、たまたま日本人であった場合、「日本人だから」などという修飾句で飾ってしまう事がある。(男だから、とか、エンジニアだから、とか、そういうの…

勉強会の進め方。PHP勉強会とRuby勉強会

両方行ってみた。 PHPは発表会。一人の発表者が勉強してきてプレゼンし、みんなでそれを聞く Rubyはみんなで勉強する会。いくつかの少人数グループに分かれて「みんなで勉強」し、その結果を最後にセッションに参加していないほかの人に報告する。ので「〜に…

NiceLinkをGreasemonkey 0.6.4 対応

NiceLink for HatenaDiary を Greasemonkey 0.6.4に対応しました。 http://nazo.yi.org/greasemonkey/ Firefoxを極める256のテクニック掲載記念ということに(本が届きました!)

userChrome.css を変えた

ノートパソコンを使っていると画面が狭い! /* 指示されていないタブアイコン */ .tabbrowser-tabs *|tab:not([image]) .tab-icon { display: none; } /* タブがロードされている間タブロードインジケータを表示 */ .tabbrowser-tabs *|tab[busy] .tab-icon …

自分で作ったパッケージを他のマシンからapt-getで

配布側 mkdir [ブラウザから見えるapt用dir] mv [自分で作ったパッケージ.deb] [ブラウザから見えるapt用dir] cd [ブラウザから見えるapt用dir] apt-ftparchive packages . | gzip -c9 > Packages.gz apt-ftparchive sources . | gzip -c9 > Sources.gz 受け…

パッケージされているけれど古いバージョンのアプリケーションの最新版をパッケージする

apt-get source [古いバージョンのパッケージ] wget [新しいバージョンのソースtar] 古いバージョンのディレクトリに入る uupdate -u [新しいバージョンのソースtar] cd [../新しいバージョンのディレクトリ] debuild 署名がうまくいかないorz…でも強制実行…

nazokingさんの思ってること

まさか「nazokingさん」と音声で呼ばれることがあるとは思わず決めた実に適当なIDで呼ばれること数週間、東京では本名よりもそっちの名前で呼ばれることの方が多かったりする(会社の人や同居の人にさえ!)のだが、違和感を覚えつつ大阪では業界引きこもり…

デスクトップを開くショートカット

新しい会社で自分用のパソコンの環境構築してるので 適当な場所に右クリックで「新規作成」「ショートカット」 C:\WINNT\explorer.exe /select,::{208D2C60-3AEA-1069-A2D7-08002B30309D} 名前とかアイコンは適当に。 これがあるとデスクトップを開く。Winキ…

ということで東京に着きました。明日から仕事

東京に行くことになりました

東京で働くことになりました。職場は東京ドームの近く。ご一緒にポテトはいかがですか?を見かけた人から、mixiで誘われました。ajaxで就職した! ソーシャル! インターネット! 職活2.0!注:mixiの会社「に」じゃないよ!12月の頭から(細かなスケジュー…

100ドルPC

100ドルPC用エロゲで発展途上国の子供達にも萌えを!

人力 Amazon Mechanical Turk

http://mojix.org/2005/11/05/112320 http://www.mturk.com/mturk/welcome これおもしろいなぁ。 Amazon Mechanical Turkhは、仕事が HIT = Human Intelligence Task と名付けられているとおり、「機械ができないことをお金で釣った人間にやらせる」システム…

はてなって

「絶望した!」をキーワード登録しながら、久米田康治→ダメコモンセンス→コスプレと順番にたどっていった。 ダメコモンセンス 久米田康治がかってに改蔵の作品中で提唱した概念。オタクの常識と一般人の常識とは大きく異なるというので、オタクにとっての常…

colinux 経由の ruby-run-script-immediate

rubyの勉強をしようと思ったがwindows上だと何かと不便なのでcoLinux上に環境構築(つってもapt-getだけ)しかしエディタはWindows上でxyzzy使ってるので…irbだといろいろ面倒なので「スクリプトを書く→結果を見る」みたいなことを繰り返して勉強したいとこ…

知らない間に

知らない間にはてなダイアリー市民でなくなってた…絶望した!

プリミティブ値

JavaScriptではあらゆるオブジェクトはObject型の子である。数値や文字列といったものでも例外ではない。オブジェクトはプロパティーを持ち、それは拡張できる。 var a = new Object(); a.p = "test"; alert( a.p ); // "test" JavaScriptにはString型、Numb…

prototypeでオブジェクト型プロパティーを定義してはいけない

function Class(){ } Class.prototype.p1=new Array();さて上のコードに問題があることがわかるだろうか? JavaScriptではクラス定義の代わりにprototypeを使う。 オブジェクトは自信に定義されていないプロパティーはprototypeチェーンをたどって検索し、そ…

高速しりとり

http://www.horaguchi.net/article.php/1349/ を読んで思いついた。誰かもうやってるかもしれないけど。 基本はしりとり 順番に名詞を発言していく 発言者は前の人が発言した名詞の、最後の文字から始まる名詞を発言する 「ん」が最後につく名詞を発言しては…

関数の実行時間を得る

↑のエントリに関連して。JavaScriptだと Dateオブジェクトは数値として扱うことができ、その場合ミリ秒の数字になる。従って var start = new Date(); testfunction(); var end = new Date(); var span = end-start; // start から end までのミリ秒を得ると…

MozillaDOMの不思議 style.display をいじるよりappendChildの方が早い

GreaseMonkeyをいじっていたんですが、2ちゃんねるのスレッド一覧をインクリメントサーチするスクリプトを書いてたんです。 // as は 検索したい文字列のリスト // as[i].element は文字列に対応する A エレメント // ↑はdocument.getElementsByTagName('A'…