Shibuya.xss で話してきました

すごい面白かった。会いたかった人にも沢山会えたし。 適当な感じのスライドですが、そこそこ反応があって嬉しかった。 [Shibuya.xss] セキュリティ小ネタ二本 View more PowerPoint from send_

Sinatra での HAML::Template.options の設定に悩む

Sinatra で以下のように書いたとき Haml::Template::options[:escape_html] = true このようなエラーが出ることがある uninitialized constant Haml::Template (NameError) ものによって出たり出なかったりなのでどういうタイミングでどう書いてあったら期待…

Facebook ではてなスター

Facebook ではてなスターを使いたかったんだけど、 SiteConfig 書いただけだと HatenaStar Everywhere が満足に動かなかったので、ちょこっと user.js 等を書いたりした。 いるもの Greasemonkey http://s.hatena.ne.jp/js/HatenaStarEverywhere.user.js htt…

今年中にまた引っ越します。

戸越近辺とか武蔵小山とかに住もうかなと考えてます。他にお薦めの街があったら教えてください。あと、MacBook Air 11インチ欲しい!

Ciphers をサイト毎に管理する

SSH の平文回復できる脆弱性対応として、Ciphers ガチガチにしていたところ、仕事で使うサーバの一部の OpenSSH が古くて aes*-ctr だと通らなくて*1少し困った。 ちょっと試してみたところ Host 毎で Ciphers 設定できたので忘れないようにメモしておく .ss…

安全な HTMLDocument の生成方法について

何が危ないのか img.onerror や img.onload は src 属性の内容が評価された段階で実行されるので、外部ソースに対して HTMLDocument を構築する際などで、意図していないタイミングでスクリプトが実行されるケースがある。 具体的には、以下のような場合。 v…

apply/call での継承の話

この件について。 http://d.hatena.ne.jp/iskwn/20091215/1260828978 継承というかスコープがわかりやすいというのもメリットだと思うけど、カプセル化しやすいのも大きなメリットかなと思う。 function Foo(){} (function(){ var bar = 'bar'; this.bar = b…

JSCron よりもうちょっと Cron っぽいことをする

JSCron が Cron としてはかなりいまいちで不満だったので、適当にでっちあげてみた。 http://github.com/send/misc/blob/02d97e5ba9adbc124cf218d922e0a79fe262a6f2/js/cron.js if (!Array.prototype.indexOf) { Array.prototype.indexOf = function (elt /*…

if 文と {} とコーディングスタイル

最近、また if 文における {} 省略の話をよく見掛けるようになった。何年たっても繰り返される話なんだろうなと思う。 なので、人のことをとやかくいう前に、自分のコードの変遷を考えてみると、簡単に言うと以下の様になる。 OOP 厨以前 {} 必須派 {} なし…

プロンプトの色をローテートする

zsh

Introduction of the ZSH に載ってるやりかただと乱数を使ってるために同じ色になったりしてちょっと不満だったので zshrc を以下のようにしてみた。 PROMPT_COLOR=32 precmd() { PROMPT_COLOR="$[32 + ($PROMPT_COLOR - 31) % 5]";} PROMPT=$'%{^[[${PROMPT…

Twitter でベーシック認証越しになにかやるのは控えた方が良い

なんでも JSONP で取れるので、どこかでベーシック認証通していると、認証ダイアログも出ずに DM のぶっこ抜きなんかが出来てしまったりする。 DM を JSONP で取得するデモ(ソース見て貰えればわかるけど、サーバサイドにデータ送ったりしてません) http://k…

PHP6 を使ってみる 1

PHP6 をそろそろ試してみようと思ったので、まずはインストールから。 OS は、 Mac OSX Tiger. インストール先は /opt/local/php6 .まずは configure. ./configure \ --prefix=/opt/local/php6 \ --with-apxs2=/opt/local/apache2/bin/apxs \ --enable-filte…

URL っぽい文字列にリンク当てる vimperator plugin

URL っぽいのにリンク貼られてない場合、開くのが面倒だなと感じてきたので作った。 こういうのは GM とかの方が良いかなあとか思ったけど、重そうなので vimperator plugin で。 http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/tr…

.zlogin にした

前回の続き。 ログイン項目に登録しても上手く動かなかったので、 .zlogin に仕込んで動かすようにしてる。 スクリプト自体もコマンドの取扱いをちょっと神経質にしてみたり、ちょっとした bug fix した。 supervisedium #!/bin/sh RM="/bin/rm" CAT="/bin/c…

ldr で購読

:ldr [url] で購読。url 省略時は現在のタブ。 (function () { liberator.commands.addUserCommand(['ldr'], 'Subscribe URL with livedoor Reader', function(arg, special) { var url = (arg) ? arg : window._content.top.location; window.loadURI('http…

Adium の負荷状況を見て再起動する Bash Script

Adium で Twitter などのサービスを IM で受け続けていると、やがて CPU 食いまくって kill しない限り固まる現象が頻発する。 これがウザいなあとおもったので簡単な Shell Script 書いてみた。 なんちゃって daemon がこんな感じ。ファイル名は supervised…

いまどきのイベントハンドリングは遅いのかどうか問題

id:HolyGrail 周りで盛り上がってたので、ちょっと調べてみた。 DOMContentLoaded イベント使ったら、計測どころを何処にしていいかわからないので、それ以外の部分で。 昔ながらのやりかた。 <html lang="ja"> <head> <title>Test</title> </head> <body> <script> var start = new Date(); </script> <div> <ol> <li><a class="events" onclick="javascript:(function(){alert(1)})()">click!</a></li></ol></div></body></html>

LDR Full Feed が 時々動かなくなる件

w.Keybind オブジェクトができる前に走るから。 ちょっと、自分が適当に混ぜ込んだ Site Info とかも混じってるけど以下、 patch 。Keybind オブジェクトができるまで、 setTimeout まわるようにした。 --- ldrfullfeed.user.js.200802119 2008-02-19 23:48:…

DOMNodeInsertedIntoDocument イベントのクロスブラウザ対応試作

Firefox や、 Opera で DOMNodeInsertedIntoDocument イベントがあまりイケてなかったので、比較的マシな DOMNodeInserted イベント使って、似たような動きになるようなモノを作ってみた。 Firefox 2.0.0.12 と Opera 9.25 と Safari 3.0.4 で動作確認してま…

せつなくてまぶしくて

UTF-8 で。 // ==UserScript== // @name Twitter Append Setunakutemabushikute // @namespace http://d.hatena.ne/jp/send/ // @include http://twitter.com/home // ==/UserScript== /** * Original Source: * http://userscripts.org/scripts/show/9086 *…

AutoPagerize 対応の filter 管理GM

いちいち個別の filter スクリプトに AutoPagerize 対応入れるのもなんかなと思ったから、ちょっと書いてみた。 こういうの userscripts.org に上げた方がいいのかな? // ==UserScript== // @name Filterize // @namespace http://d.hatena.ne.jp/send/ // @…

"【告知】"がウザいという人がいるらしい。

自分でフィルタするか、removeしろよっていうのもアレかなと思ったので使い捨てGM。 // ==UserScript== // @name Twittfilter // @namespace http://d.hatena.ne.jp/send/ // @description twitter filter // @include http://twitter.com/* // ==/UserScrip…

不安になるコード

これで動くと思ってなかった。試してみて怖くなった。 foobar IF(true) echo "true\n"; claSs Aaa { public staTic function dump() { echo "aaa\n"; } pubLic funCtion doDump() { echo "!!!!!\n"; } } AaA::Dump(); AAA::DumP(); $Obj = new AaA(); $obj =…

一括実行系ななにか

php

分散系のこと考えてた時に出来たなにか _class_name = get_class($objs[0]); $this->_container…

Firefox + Firebug + Google Adsense におけるクラッシュ問題について

id:RAVERAVER:20071013 の 人に聞かれたので、 Firebug ML 読み直しました。 ML で、 John J Barton 氏 の発言を中心に見た限りでは、こういう感じなのかな? 現象 Windows*1 Firefox 2.0.0.7 以降 Firebug 1.05 以降 Google Adsense msvcrt.dll + Google Ad…

Mozilla24 出張Shibuya.jsでjQueryの話をしました。

反省点とか。 TAKESAKOメソッドでその場で資料を作ってたのでgdgdでした 調べる部分などはあらかじめ調べていたから良いかなと思ったら甘かった。 プロジェクタ等のチェックはやっておくべきだった。 フォントサイズとかコントラストとかレイアウトとかgdgd …

Port801セキュリティ勉強会の資料

箇条書きテキストしか用意していなかった。超適当 Webアプリケーションセキュリティ初歩の初歩 〜はまちやの傾向と対策〜 はじめに どうセキュリティに取り組むべきか 脆弱性の殆どは、境界で起きる 基本はバリデーションとエスケープ バリデーション そのシ…

週末のこと

土曜日 brazilさんが上京してるということで飲んだ。 いつものエンジニア連中に混じってtwitterで見かけるようなメンツがいた。 brazilに言われたこと すごく太った? 酒焼けした? Ustreamの時の目がヤバい 顔が18禁 てか、なんかみんなひどい。さかさマン…

ist貼れるかな?

iframeから脱出出来ない…

JS勉強会で話した内容

時間がなかったので、数分だけ喋った。ついでにFirebugの話だけじゃないよ。 以下の、htmlを題材に使った。 <html> <head> <title>send_のほーむぺーじ</title> <script type="text/javascript"> console.log("I hate %s !!!!","Safari"); </script> </head> <body> <div id="hoge"> <form> <input type="text" name="hoge" value=""/> </form> </div> </body></html>