Twitterやってて良かったと思った

ある英語サイトの作者にTwitterで、リンクが間違っていると報告したら、すぐに修正してもらえてめっちゃ嬉しかった。 僕は英語がさっぱりです。翻訳サイトの力を借りてなんとか読める程度。そんな僕が、英語で報告するのはとても勇気がいることでした。そし…

弾さんのページにある、○○usersのリンク先を期待通りにするグリモン

id:j_okiさんの ここ見てていつも思うのだけどなぜ「○○users」画像をクリックするとはてブに飛ばずにもう一度同じエントリが_blankで開くのだろう? http://b.hatena.ne.jp/j_oki/20090629#bookmark-14263531 に共感したので、作ってみた。 // ==UserScript=…

JavaScriptで文字列を反転させる

要firebugです。コンソールに以下のコードをペーストして実行すると、右から左へ読む時代に戻れます。 $x('//text()').forEach(function(t) { var str = []; var l = t.length; for (var i = 0; i < l; i++) str.unshift(t.substringData(i, 1)); t.replaceD…

超!A&G+をサイドバーで見るJetpack Feature

ビデオを表示するデモを見て閃いた! 超!A&G+のデジタルラジオ表示してみよう。 agqr ソース jetpack.future.import("slideBar"); jetpack.slideBar.append({ // Listen for click events on the icon onReady: function(slide) $(slide.icon).click(functi…

nothing is drawnの解釈がブラウザによって違う。例によってIEとその他で

IE

http://social.technet.microsoft.com/Forums/ja-JP/internetexplorerja/thread/3d78a57b-9c19-442e-b709-c46826580cd7 で、議論中なのですが、一段落したのでこっちにも書いときます。 発現条件 IEだと、背景色も背景画像も設定していしていない要素は描画…

Web HookデバッグのTips

現在、コメントに日本語入っていると、そもそもPOSTデータ来ませんなおった はてなからPOSTが来たかログとる方法。 CSVに書き出すだけ。 CSVに情報が記録されていたら、自分のプログラムのせい。 なかったら、はてなから来てない。 はてなから来ないこともあ…

はてな Web Hook についてあれこれ考える

昨日は、俺が一番最初にTwitterに投げるんだ!と、勢いで実装しましたが、改めてどう活用したものかと考え中。 その気になれば、はてブのRSSや最近の活動から引っ張ってこれるので、ただ内容取れるだけならそんなに便利じゃない。リアルタイム性を生かすべき…

はてなブックマーク Web HookでTwitterに投稿

作ってみた。 titleがtitileになってるので注意直った twitterへの投稿は、http://d.hatena.ne.jp/hirataka522/20080126/1201300282を参考に truncate_text関数は、symfonyのhelperから拝借しました。 ベータ版ですが、PEARにServices_Twitterってのもありま…

HTMLのインデント、連続する半角スペース、改行を取り除くJavaScript

改行がスペースになったり、連続したスペースは1文字扱いだったりとややこしいレンダリング周り。さらに、ブラウザ間で差があるから発狂物。どのブラウザで見ても同じにしたい。スペース1つが命取りな場合もある。なんとかしたい! そんなことは、サーバ側…

全ユーザに、はてなブックマークプラスアイコンを付ける JavaScript と Greasemonkey

逆に考えるんだ!皆に付いていればいいんじゃね? var img = Ten.Element('img', { width: '25', height: '11', title: 'はてなブックマークプラス', src: '/images/plus.gif' }); var plus_icon = Ten.Element('a', { href: '/guid/plus' }, img); Ten.DOM.…

はてなブックマークプラスアイコンを消し去る JavaScript と CSS

そんなに見たくないなら、見えなくすればいいじゃない。根本的解決じゃなくて、ネタですけどね。 js Ten.Selector.getElementsBySelector('a.plus_icon').forEach(function(a){ Ten.Style.applyStyle(a, { display: 'none'}) }); css a.plus_icon { display:…

CiNii用AutoPagerizeのSITEINFO

2009 06/02 ページリンクを取得しないようにした。 2009 06/11 AutoPagerizeデータベースに登録した。autopagerize.user.jsを編集しなくてもページ継ぎ足されます http://wedata.net/databases/AutoPagerize/itemsへの追加方法が良く分からなかったから、と…

あえて画面遷移したい人のためのForm関数

Ajaxでデータ投げたら、エラーページのHTMLが丸々返ってきた経験ありませんか? その度に、Formを作成するのもめんどくさいので、関数化してみました。 $.form = function(s) { var def = { type: 'get', url: location.href, data: {} }; s = jQuery.extend…

アクセスできるかを含めてURLを判定するFormの作り方

久しぶりにsymfonyネタを1つ。 バリデーション通ったURLでもアクセスしたら、404返ってきたよムキー!ってなったので 要求仕様 sfValidatorUrl通る 実際にアクセスできる 以上の要求を満たすバリデーションを作成しました。 なお、アクセス検証のためにsfWe…

タブをまたいで移動する不思議な箱

それ、Greasemonkeyでできるよ。じゃなくて、Jetpackっぽいものを作ってみたくてコードの美しさ度外視で作ってみました。 xTabBox runボタンを押すと、3秒後にタブの先頭から、黒い箱がタブを横切っていきます。

はてブで表示されるページタイトルを省略しない形で表示する方法

アイドルマスター 『iM@S Collaboration Festival 2 - B』‐ニコニ... のように省略されているのを アイドルマスター 『iM@S Collaboration Festival 2 - B』‐ニコニコ動画(ββ) にしたいときどうするかってことです。 A要素のtitle属性が全文を持ってるので…

簡単な掲示板(CSV形式で保存)

php

2009/05/21 バックスラッシュ(\)対策に、addslashes, stripslashes通すよう修正。 2009/05/11 defineの第一引数をシングルクォートで囲むよう修正。$addr -> $addressに修正。 4年生への課題を自分もやってみた。 要求仕様 XHTML形式で出力 CSV形式でデータ…

snippetsEmu.vimでコード補完

vim

*2009/5/10 W3Cのチェッカー通るよう修正 楽するのがハッカーということで、マッピングの強化版snippetsEmu.vimで煩わしい作業を短縮します。 xhtml .vim/after/ftplugin/html_snippets.vimの末尾に以下の行を追加して exec "Snippet xhtml <CR></cr>

PHPのさわり

php

自分の研究には、2人来ました。二人ともPHPは初めてで、まだロジックとビューが混在したコードになっているのが微笑ましい。いろいろ教えてあげたいし、成長して欲しいけれど、整理できてないから列挙してく。T_WHILEの意味分からなかった俺だけど、何かの…

DOM Rangeを簡単に扱うexRangeのサンプル

テスト用のbookmarklet書きました。 IE8, Firefox3.0, Safari3.2, Google Chrom1.0で動作確認。 Opera orz javascript:(function(d){s=d.createElement('script');s.type='text/javascript';s.src='http://github.com/TakiTake/js/raw/d1197b42fa16b5d7d7e42…

IE用にTreeWalker.js書いた

まずは、ぺたり。http://github.com/TakiTake/js/tree/master 使うと、何が嬉しいの? IEでDOM Traversal関数が使えるので、DOMツリーの探索が容易になります。 XPathとどう違う? XPathは、条件に合うノードをガッと一気に取ってきます。 TreeWalkerは、DOM…

exRangeちょこちょこ更新中

exRange(Selection).pos()で[0, 0]になるバグ修正 wrap後にendContainerが無くなるバグの解決法見つからない IE用のTreeWalker関数未実装 詰んだ。 寝たらいい案浮かぶかな?

There is no open connection解決方法

symfonyでテストしようとしたら、コネクション開けないと怒られました。 基本に戻り、Jobeet8日目を読み返す。 コネクション確立用のDoctrine.php作ってなかった!

githubに登録してみた

ちょこちょこ作ってた、DOM Rangeラッパーライブラリをgithubに上げときました。 ちなみに、さっきアカウント作ったばかりでGit自体初体験。 Firefox3で動作確認。 DOM RangeとTreeWalker使ってるんで、早くIE対応せねば。 ぺたり、exRange 使い方 ソースの…

Twitter始めてみた

まだ、何が楽しいのか分からない状態。 フォローしてくれたら狂喜乱舞します。 ぺたり、http://twitter.com/TakiTake

IEでDOM Range扱えるライブラリあった

ierangeこれはすごい! あとで、試してみる

クロスブラウザでRangeオブジェクト扱う3

はてなスターの引用はどんな実装かな? とHatenaStar.js眺めてたら、引用した文字列と同じ文字列全部がハイライトされる仕様なのね。そうそう重複しないだろうから、こういう割り切ったのもありだと思う。 テキストノードだけ収集するのに、よさげなコード発…

クロスブラウザでRangeオブジェクト扱う2

選択範囲を任意の要素で囲う関数がネック。 Operaは、要素またいだsurroundContentsエラーになる。 テキストノードだけ抜き出して、それぞれ囲む必要がある。 もう少し汎用的になったら、どっかに上げる予定。 /** * exRange JavaScript Library v0.3 * どの…

Rangeオブジェクトメモ

リファレンスは、こことかここ DOM Range setStartやsetEndは、第一引数要素の第二引数位置へ始点(終点)を移動する。 下記の例だと、2から4までつまり、"cd"を選択している。 <span>abcde</span> var range = document.createRange(); var node = document.getElement…

クロスブラウザでDOM Rangeを扱えるようにした・・・い

IE対応しようとすると、途端にめんどくさくなる。 早さとかいいから、JSのエンジン変え(ry IE8の開発者ツールは、時代に追いついた感じで素晴らしい。 みんな、せめてIE8にしてくれ。 まだ、途中ですが経過報告。 メソッド毎にDOM Rangeのサポート有無で振り…

__proto__使ってprototypeを汚染せずに拡張する

(function() { var R = window.R = function(selection) { return R.init(selection); }; R = { init: function(selection) { this.__proto__ = selection ? selection.getRangeAt(0) : document.createRange(); return this; }, start: function(node, inde…

祝・日本優勝

バイト先のおっちゃんと昼休みにラジオ聞いてましたが、9回の裏で放送中断になり歯がゆかった。 てか、昼休みが2時間くらいあった気が、

Rangeをメソッドチェーンで操作する(簡易版)

メソッドチェーンって直観的で分かりやすいと思うので、Rangeオブジェクトをメソッドチェーンで扱えるようにしてみました。 とりあえず版ですので、もっと充実させていく予定。 今のところ、ただのラッパーなんでIEでも動くと少しは実用性が出てくるかも。 F…

動画公開!ただしIEに限る( #^ω^)

IE

なんならSilverlightいれるから、止めて欲しい。 だから、IEなくならないんだよ! とは言え、これはIEのせいじゃないね。

はてブって意外と見やすいね

はてブしか使ったことがなくて、他のSBSはどんな感じだろうと思ってちょろっと回ったときの感想。 何を今さらなことですが、しみじみと感じたので。 他のSBSは味気ない といっても、Yahoo!ブックマークとDeliciousとしか比べてませんが。 Yahoo!ブックマーク…

DateHelperを拡張してMM-dd形式の日付を出力させる

というような出力をしたくて、DateHelper.php -> sfDateFormat.class.phpと辿って行くと、getPattern関数に与える引数で形式を変えられることが判明。しかし、MM-dd形式での返り値がない! sfDateFormat.class.phpをオーバライドすればいいのですが、DateHe…

session_startがPermission deniedで蹴られた

php

phpMyAdminにログインできなかったのは、こいつが原因だったみたい。 セッションファイル保存するフォルダのグループがrootになっとる # ls -l /var/lib/php drwxrwx--- 2 root root サイズ 日時 session グループ変更で事なきを得ました # chgrp apache /va…

次期CiNiiが公開された

次期CiNiiカッコイイですね。 APIが素敵。ソースが美しい。 今のところAPI使う場合は、"ci.nii.ac.jp"ではなく"ciexam.nii.ac.jp"宛てに送らないと404になります。

忙しい時は掃除がしたくなる。ソフトウェア的な意味で

Fedora9からFedora10に乗り換えました。 アップデートではなく、真っ白なFedora10にバックアップを移し替える方式で。 事前準備 Fedora9へインストール済のパッケージ眺めて、Fedora10へ何入れようか決める。 yum list installed | less Fedora9の方から、設…

はてなからお祈りメールが来た

これで俺も、第一期お祈りメンバー 反省すべき点はいくつかあるので、次につなげたい。

ポスターセッションでボケる勇気が無いからここで

没案を貼っとく Webページ上でコミュニケーションを図っているイメージ

数値形式の比較

数値形式の文字列を比較する場合、それは整数として比較されます。by PHP Manual PHPのsort関数は相当おかしいを見てjavascriptだとどうなんだろうと試してみた。 String型 bookmarklet javascript: (function(){var s=["100", "0x64", "1e2", ".1E3"];for(v…

明日は中間発表

「メディア教育センター」って打とうとしたら、 メディア教育戦隊 って、タイポした。 かっこいい

htmlspecialchars_decodeはやめて、html_entity_decodeで実態参照をデコード

php

htmlspecialchars_decodeの場合 探せば関数があるでお馴染みのPHP <p>hoge&nbsp;huga&lt;&gt;</p> こんな、HTMLのタグ内の文字数を数えたくて実態参照を戻す関数ないかな?と思ったらあった。 htmlspecialchars_decode ' (length=11) 現実 string 'hog…

HTTP_Request2.php使ってみた

php

例によって、まだアルファ版です。 # pear install HTTP_Request2-alpha いつの間にか出力時にクォーテーションがエスケープされて何処だ?と思ったら、 magic_quotes_runtimeがセットされてた。 変えたら、元に戻しといてよ。

PHPのXPathをトリッキーに使ってHTMLのテキストノードを取得

以前、PHPのXPathでテキストノード取得したら、期待した順番通りに取得できなかった。と書きました。 ある要素の子ノード群に、エレメントノードとテキストノードがそれぞれ2つ以上あると起きる現象ではないかと推測します。 直下じゃなければいいのでは? …

phpのsvn関数使ってみた3

php

svn_deleteと間違えてsvn_fs_deleteの使い方必死に探してた。 だって、svn_deleteがマニュアルに載ってないんだもの。 載ってないけれど、普通に使えました。 使い方は、svn_addと一緒で、ファイルのパス指定してsvn_deleteした後に、svn_commitです。 せっ…

Diigoが今やってる研究に似ていて吹いた

この記事でDiigoについて初めて知ったけれど、今やっている研究に非常に類似してた。 アノテーションが付けられるソーシャルブックマーク まぁ、こっちはeラーニングをサポートするのが主な目的ですが。

一つのテーブルから、複数のリレーションを張るスキーマの書き方

口でうまく言えないので、例を絵で説明すると コメントテーブルは、コメントしたユーザのidとコメントされたユーザのidを持っている。を表す方法です。 User: columns: id: type: integer(4) primary: true autoincrement: true username: string Comment: c…

phpのsvn関数使ってみた2

php

使ってみたら、簡単でした。 パスは、絶対パスで指定します。