TextNodeにも使えるgetBoundingClientRect

JavaScript(というかDOM? CSSOM?)には getBoundingClientRect という便利なメソッドが用意されています。これを使えば,ある要素のviewport上の座標,つまりブラウザ画面の左上を原点とした座標上での要素の位置を取得することができます。これまでは d:id…

ECMAScript5時代のクラス定義

Firefox4でES5のプロパティ定義がサポートされるようなので,実際に使うときに備えて覚え書きしてみる。 これまでこんな感じで書いてたJavaScriptのクラス定義。 // クラス const Hoge = function(prop) { this._prop = prop; }; Hoge.prototype = { _prop: …

KeySnailでタブを操作するプラグイン 「TabSnail」 を作った

以前公開した,ツリー型タブをKeySnailから操作するコマンド群をKeySnailプラグイン化してみました。インストールすると,タブ操作用の各種エクステ (コマンド)が利用できるようになります。ツリー型タブがインストールされていると,ツリー操作用のエクステ…

ニコニコ動画の「キーワードを含むタグ検索」に大百科アイコンを表示させるGreasemonkeyスクリプト

久しぶりに新Greasemonkeyスクリプトを作りました。 userscripts.orgが落ちてたのでソースコードを貼り付けておきます。適当にコピペして,保存したファイルFirefoxにドラッグすればインストールできるかと。できないかも。 userscripts.orgにアップロートし…

nicovideo Thumbinfo Popup を更新

ひさしぶりな更新。 インストールはこちら nicovideo Thumbinfo popup for Greasemonkey 修正内容 ニコニコ大百科アイコンが正しく表示されない不具合を修正 短縮URL (nico.ms) への対応 その他細かいバグ修正 thanks for サポート掲示板の>>41さん

MATLABで参照型

Wikipediaには MATLAB は参照を持たないため、オープンハッシュテーブル、線形リスト、木構造やその他計算機科学で一般的に用いられる間接参照を含むデータ構造を実装するのは困難である。 http://ja.wikipedia.org/wiki/MATLAB なんて書いてあるけど,実はM…

ツリー型タブをKeySnailから操作する

ツリー型タブでツリー表示されたタブを,KeySnailから操作するためのスクリプトを(半年ほど?前に)書きました。「暇な時にタブ移動のコマンドとか追加してKeySnailプラグインにしよう!」と思い立ってからかなり時間がたってしまいましたが,未だにプラグイ…

選択範囲のリンクを開いたり保存したりするJetpack

表題のJetpackスクリプトを作ったので公開しました。 The Jetpack Gallery’s Final Flight | Mozilla Add-ons Blog スクリプト自体は結構前に作っていたのですが,せっかくなので公開してみました。

Haskellに欲しいScalaの機能

Scalaのワイルドカードで無名関数を書ける機能が欲しい!! 例えば自然数が1から順番に入ってるリスト(配列)を2倍して1足して奇数のリストを作りたいとする。普通に書くとこんな感じ。 odds0 = map (\n -> 2*n + 1) [0..] 一時変数導入したら負けだと思うの…

NTEmacsからminttyを起動する

NTEmacs上の$HOMEとcygwinの$HOMEが食い違っているので少々面倒でした。minttyを起動したままEmacsを終了させようとすると,「子プロセスが残っている」ってメッセージが出てminttyごと終了させないといけないのを修正したい。 (defun mintty (&optional dir…

東工大授業日程カレンダーを公開した

昨年度まではどこかの誰かがGoogleカレンダー上に作ってくれた東工大授業日程カレンダーを使っていたのだが,今年度に入って保守されなくなってしまったようなので,新たなカレンダーを探すことにした。しかし,googleカレンダーのカレンダー検索機能が削除…

Haskellで麻雀の待ち判定プログラムを書いた

makeplex salon:あなたのスキルで飯は食えるか? 史上最大のコーディングスキル判定 (1/2) - ITmedia エンタープライズ ちょっと流行に乗り遅れた感があるけど書いてみた。どうやら自分の実力ではHaskellで飯を食うのは無理らしいw ソースコード 前半はユ…

Real World Haskell 3章 練習問題: GrahamScanアルゴリズムによる凸包の導出

割とHaskellっぽく書けたと思う。 import Data.List data (Num a) => Point a = Point { x :: a, y :: a } deriving (Eq, Show) (.+) :: (Num a, Ord a) => Point a -> Point a -> Point a a .+ b = Point (x a + x b) (y a + y b) (.-) :: (Num a, Ord a) =…

ブログ名を変えた

名前のバッティングが酷かったのでブログ名を変えてみた (参考: google:なんとなく日記)。 そもそも日記どころか月1回更新すら怪しいし,しかも内容は全然日記じゃないじゃん,けどパッと見の見た目変えたくないなーということで「目記」。読み方は謎。「に…

なんとなく

デザイン変えてみた。

let式とlet宣言の微妙な差異

ちょっとだけハマったのでメモ。let式内で複数の変数を定義するとき,同時に定義した他の変数は参照出来ない,というお話。 varの場合,同時に定義した変数xの値を参照することができる。 var x = "a", y = x + "b"; alert(y); // => "ab" let"宣言"の場合も…

JavaScriptでParsecっぽいものを作った

車輪の再発明してみた。Rhinoでしか動作確認してないけど多くのブラウザで動作するんじゃないかな。jsparsec.js この辺参考にしてます→inforno :: Javascriptでパーサジェネレータを書いてみた 関数名は基本的にParsecのものと合わせています。Parsec.Combin…

JavaScriptでcurry化

一昔前に流行ったネタでいろんな人がコードを書いていたと思うんだけど,3引数以上の関数をきちんとcurry化できる例 (「「「「関数を返す関数」を返す関数」を返す関数」…」に変換する) を見つけられなかったので,自分で書いてみた。 function curry(fun) {…

ParsecでJSONパーサ

自分の中で何度か目のHaskellブーム到来。 パーサコンビネータ読みやすい!カッコイイ!Parsecすごい!ってなことでなんかパースする題材は無いか探し回っていた結果,JSONの仕様書が目に入ったので斜め読みしつつ実装してみました。小数の実装が怪しいけど…

ニコニコ動画のタグ編集を補助するスクリプトの新バージョンを開発中

ニコニコ動画のタグ編集を補助するスクリプト nicovideo Tag Edit Helper の新バージョンを開発中です。 まだ現行バージョンの機能は全然搭載できていないのですが,新機能の「海外タグ編集機能」が実装できたので,開発版という形で公開します。 現行バージ…

nicovideo Add Stars To Tags を更新

インストールはこちら nicovideo Add Stars to Tags for Greasemonkey 新たに追加されたタグが海外タグと判定される不具合をある程度修正しました (常に国内タグとみなすようにした) タグ件数表示を復活させました

tree + less をカラーで

tree -C | less -R tree -C treeを常にカラー表示 less -R raw control charを表示

nicovideo Add Stars To Tags を更新しました

インストールはこちら nicovideo Add Stars to Tags for Greasemonkey カテゴリタグの増加に対応 海外タグハイライト表示機能の追加 タグ再読込時に大百科アイコンが表示されないニコニコ動画側の仕様を回避 大百科のアイコンの読み込みに失敗する不具合を修…

TopHatenar

垂直上昇ワロタww

nicovideo Thumbinfo Popup を更新

インストールはこちら nicovideo Thumbinfo popup for Greasemonkey 大百科の動画記事へのリンクがぶっこわれていたのを修正しました。 JSの記事もそうですがミスが多くて申し訳ないです…。

(基礎|変態)文法最速マスターシリーズのまとめ

数が増えてきたので別記事に分けてみました。分類は超テキトーです。変態文法シリーズも足してみました。 手続き型言語 汎用スクリプト言語 Perl Perl基礎文法最速マスター - サンプルコードによるPerl入門 Perlオブジェクト基礎文法最速マスター - 燈明日記…

nicovideo Thumbinfo Popup を更新

インストールはこちら nicovideo Thumbinfo popup for Greasemonkey 大百科の動画記事へのリンクが表示されなくなっていた不具合の修正と,投稿者名のリンク先をユーザーページに変更しました。

JavaScript基礎文法最速マスター

続々と増え続ける基礎文法最速マスターシリーズ(あまりにも増えてきたので他の言語記事へのリンクは別の記事に移しました)。 JavaScript 版は誰も書いていなかったようなので書いてみます。こういう解説記事的なものを書くのは初めてなので変なところがあっ…

nicovideo Tag Edit Helperを更新

インストールはこちら nicovideo Tag Edit Helper for Greasemonkey スクリプト中に余計な文字が紛れ込んでいて,一部機能が動作していなかったのを修正しました。

C-aで「行頭」と「インデントを飛ばした行頭」を行き来する Emacs23対応版

d:id:gifnksm:20090403:1238745022とかd:id:gifnksm:20090331:1238488792とかで書いたやつのEmacs23対応+改良版。js2-modeのC-aの動作を実現するelispとその物理行対応版。 (defun beginning-of-indented-line (current-point) "インデント文字を飛ばした行…