Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

ブックマーク / ido.nu (27)

  • iPhoneアプリの中身を見る方法 « ku

    iPhoneアプリのバイナリは.ipaをunzipすること以外はふつうのアプリのバイナリと同じです。 iPhone内蔵の写真を見るアプリのUIはSDKで提供されていない。 でもChanelのアプリがおんなじような見た目とUIを持っていたのを思い出して(ほかにも同じようなUIを持っているやつあったんだけど思い出せない。知ってたら教えてください)ダウンロードしてきた。こうして大きな画面で並べてみるとボタンの透明度(というか白い部分の明るさ)とか違っててひとめで同じものではなさそうなのがわかりますね… で、いじってみるとChanelのとiPhoneについてるやつは動作が違うので別物なのがわかった。Chanelのやつのほうは変なことをした時にわりと変な動作をする。でももしかして何かヒントがあるかもしれないので、このChanelのアプリの中身がどうなってるのか知りたい。 .ipaをunzipする i

    IMAKADO
    IMAKADO 2009/03/30
    nm シンボルの一覧を得る
  • iview - tumblrのためのiPhoneアプリ

    iviewはAppStoreでダウンロードできます(日のAppStoreでもちゃんとダウンロードできるようになりました)。 Tumblrでdashboardingするためのアプリケーション iviewはtumblrのdashboardで写真を見たりreblogするためのiPhoneのアプリケーションです。iviewは裏であらかじめ次のページ(とその次のページとその次くらいまで)をダウンロードするので、イライラさせられることなしにNextボタンを押すだけでdashboardをno-overheadで眺めながらreblogすることができます。 reblogしたい写真にであったときにはreblogボタンを押すだけであなたのtumblrアカウントにreblogすることができます。reblogボタンを押したらあとは全部裏側でやってくれるので、そのままdashboardingし続けることができます。

  • CPAN DateTime::Formatまとめメモ « ku

    こないだ MechanizedSeleniumでtwitterからnowaに投稿 を作ったときにメモったままそのままにしてたのを投稿。 perlだと DateTime::Format::* を使って my $str = "Tue, 01 May 2007 03:08:27 +0000"; my $dt = DateTime::Format::HTTP->parse_datetime($str); $dt->>epoch; で全部解決だけど日付フォーマットの名前がわからないとどのモジュールを使えばいいのかわからない。というわけでメモ。 DateTime::Format::HTTPのドキュメントにいくつかのフォーマットとその名前がリストされていてわかりやすかったです。 ISO8601 2006-11-22T18:37:34+0000こんなやつ。XMLRPCで日付を渡すときに使います。 My

    IMAKADO
    IMAKADO 2009/02/26
    DateTime::Format…Thu Feb 3 17:03:55 GMT 1994こんなやつ。曜日、月の名前と並んでいるところが特徴的です。tiwtterのuser_timeline.xmlがこれでした。timezone部分が3文字のタイムゾーンコードで書いてあればDateTime::Format
  • tomblooハックス - Share on Tumblrした写真を同時にダウンロードしたりもできる DownloadManager poster « ku

    Flickrでオリジナルサイズの写真をダウンロードするのって何回もクリックする必要があってすごい面倒なので、FirefoxのダウンロードマネージャにURLを送り込んでダウンロードするためのposterを作りました。とりあえずFirefox3専用。 90_DownloadManager.js 解説 Tomblooハックス - UIつきバージョン ポスト先にはてなダイアリーを追加するパッチを適用していると、右クリックしてシフトを押しながらどれか適当なtomblooのメニューを選ぶと、ページの一番上にこんなのが出てきます。 あとはボタンを押したら、tomblooがtumblrにpostしたりするのと同じ画像がダウンロードされます。ダウンロード先はよくわかんないけどたぶんfirefoxで設定している場所になる。 UIパッチなしの場合は下の応用に書いてあるtomblooの設定が必要。 応用 Pos

  • 見たページぜんぶの履歴が残せて、その履歴だけからGoogle検索できる Google History

    Windows2000の時代からずーーーーーっとほしかったものがついに出たのに誰も書いてくれないので自分で書く。 前からGoogleの検索履歴があとから検索できる Google Search History はあったけど、こんどの “Google Web History” はFirefoxの Google Toolbar と連携してみたページ全部の履歴をとっておいてくれて、さらにその履歴の中からだけ検索という芸当ができる。もちろん、ページの中のテキストも検索の対象に含まれます。 ということはつまり、Googleの検索で”自分の見たページだけから検索”ができるということ。あのページどっかで見たんだけど思い出せない、検索してもたくさん出てきてわからない、みたいなのは全部解決。del.icio.usにブックマークしたけど、サーバ重いし検索うまくできてるのかいまいちわかんないみたいなのも Goo

    IMAKADO
    IMAKADO 2008/05/21
    履歴から検索 2007年
  • 微妙に新しくなったtumblrでReblogCommandを動くようにするためのパッチ « ku

    訂正 2008.4.13 reblogCommandのコード、間違ってたみたいです。修正してます。Tombloo0.1.6で動作確認済。 Tombloo 0.1.3、LDR + Tombloo - 実用でGreasemonkeyからTomblooの機能が利用できるようになっているので、それを使ってrelbogするようにするためのReblogCommandのパッチです。Tomblooの機能に依存しているのでTomblooがないと動かなくなります。 Tomblooにもパッチが必要です。Tomblooは extensions/tombloo/chrome/content/browser.xul にgetReblogToken TUMBLR_URL を付け足すだけです。 --- browser.xul 2008-04-12 11:17:16.000000000 +0900 +++ browser.

  • tumblrの7つのコンテンツ « ZeroMemory

    tumblrの持っている隠れた新しいところはブログのコンテンツを7つに大別したところだ。 tumblrはpostの種類を7つにわけた。ふつうの文章、写真、引用、リンク、チャット、音楽、映像。 もちろんtumblr以前にもこれらのコンテンツをブログに投稿することはできた。でもそれはふつうの文章の中に何のマークアップもされずに入っていたので、キカイにはそのpostの内容がなんなのかはわからなかった。たいていのブロギングプラットホームにはカテゴリという概念があって、その投稿が何についての投稿なのかを示すことはできたが、これはニンゲンが読むためのものだった。キカイには投稿の内容を知る術がなかった。 tumblrはProjectionist: A tumblelogに感銘を受けて作られたらしい。そしてブログに投稿できる形式を7つに制限した。おそらく、投稿するときの利便性と、投稿された内容に合わせて最

  • Tomblooハックス - Vimeoのサポート « ZeroMemory

    Twitter / koyachi: jstnはvimeoで働いてるによればMuxtapeのjstnも働いているらしい個人的に今年最も注目しているVimeoはtumblrのブックマークレットではサポートされてるんだけどTomblooではサポートされてなかったので作りました。 Tomblooハックス - ポスト先にはてなダイアリーを追加するでTomblooの開発者のbrazilさんにいただいたコメントを参考にしてます。 Tombloo.Service.extracters = update( { 'Video - Vimeo': { check : function(ctx){ return ctx.hostname.match('vimeo.com'); }, extract : function(ctx){ return { type : 'video', source : ctx.hr

  • capture.clipboard.js FirefoxでキャプチャしてimgタグをクリップボードにコピーするJSActionsスクリプト « ZeroMemory

    FirefoxでキャプチャしてFlickrにアップロードしたりするやつの、アップロードしないでクリップボードにdataスキームでコピーするものです。 dataスキームというのはこんなかんじ <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEIUlEQVRYhe2XX0xbdRTHf/wZ4IDbEYOJybKn6YPRqMlexWxvxiUzPmhiNJkkzPhg1CwxmYlm2YuaaHBmvf17O1SCGbgMcG4anKVLmWOScn/33kLBdoWWwoVRaMet0F5uvz7c9kItxe7B7oWH83Jzvqef3/md3zk9BAC8cgpHB4N46ee7FbFjgyF45RQAgHjlFFq7/GA4CSZXZYzhJDx60Q+vnAI53DMJk

  • ふつうの非同期関数をDeferredにする方法 « ku

    2007.12.7 追記 MochiKitのドキュメントではないですがTwisted ドキュメント: Deferred の作り方が参考になります。 にわかDeferred信者になったもののMochiKit.Async.DeferredではXMLHttpRequestしか提供していないのでGreasemonkeyの中でGM_xmlhttpRequestや、拡張のコンテキストでnsIChannel#asyncOpenで使おうと思うととたんに困るのでした。DeferredはDeferred管理でない非同期の関数と一緒に使うととたんに破綻します。 GM_xmlhttpRequestはインターフェイスは似ているので(中身は同じなので当然)Curiosity is bliss: XMLHttpRequest - Security Bypassを使ってMochiKit.Async.Deferred.ge

  • Firebugのコマンラインを拡張してincludeできるようにしたら便利でした « ku

    さいきんFirebugでコードを書いている。書いてCtrl-Enterを押した瞬間に結果が確認できるので気持ちがいい。Canvasを使えばグラフィックも扱える。BASICでコードを書く感覚を思い出した。 Firebug上では、あんまり長いコードを書くのはつらいところが難点だった。自分で拡張してincludeできるようにしたらこれがすごくいい。Firebug上で実行して動作を確認しながら関数を書いていって、うまく動くようになった時点でincludeしているファイルのほうに移動してFirebugのコマンドラインを空にする。vim上でコードを書いてブラウザに戻ってきてreloadするのにくらべてストレスが少ない。 vim上でコードを書き換えたときもCtrl-Enterでもう一度includeされて実行されるので、リロードは発生しないし、Firefoxとvimとをいったりきたりしなくてもいい。

  • json2infogami siteinfo format converter « ku

    jsonで書いてあるSITEINFOを、infogamiのフォーマットにあわせるの、いつも手作業でやっててアホだったのに気がついた。 function json2infogami(firstarg) { var infogamiEscape = function (v) { return v.replace(/([_\*])/g, "\\$1" ) }; var textfilter = infogamiEscape ; var a = (firstarg.constructor.name == "Array") ? firstarg : arguments; var r = []; for(var i = 0; i < a.length; i++) { var siteinfo = ""; for ( var n in a[i] ) { var v = a[i][n]; siteinfo

  • apacheは%uでエンコードされたURIを受け取ってくれない « ku

    はてなブックマークの日語URLの扱いがへんな件 関連。 どこかで、URLに日語入れるならunicodeで書くといいよ、という話を読んだきがするんだけどどこかわかんない。 UTF-8だと、もともと2バイトですむものも3バイトになって、さらにそれが1バイトずつ%XXの形式にエスケープされて3倍になるのですごく長くなるけど、escapeを使えばunicodeのまま%uXXXXとエスケープされるので短くなるよ、と書いてあった。 前者だとN文字の日語が (N * 3) * 3 なのに対して、後者は N * 6 なので 2/3 の長さになる。というわけでやってみたらapacheはそもそも%uXXXX形式はうけつけてくれなくてBad Requestがでてくる。 設定したら変わるかなー、と思いながらソースをのぞいてみたら %[a-fA-F0-9]{2} にマッチしないのは問答無用でHTTP_B

  • javascript 1.6の新しいArrayメソッド « ku

    名前がいつも思い出せないので Firefox 1.5 の JavaScript の主な変更点: Days on the Moon 経由 Core JavaScript 1.5 Reference:Global Objects:Array - MDC を参考にリストにしておく。 filter var filteredArray = array.filter(callback[, thisObject]); callbackでtrueを返したものだけのArrayを新しくつくって返す。perlのgrep相当。 >>> [1,2,4,8,16].filter( function (n) { return n > 4} ); [8, 16] forEach array.forEach(callback[, thisObject]); callbackを呼ぶのみ。値は返さない。 every var

  • cakePHPのHtmlHelper::inputメソッドのダブルエスケープ問題 « ku

    cakePHPでダブルクオートとかのhtmlspecialcharsの対象になる文字をテキストフィールドに入れると、エスケープが一回分多くて <input value="&quot;" /> になって、ダブルクオートが一回エスケープされた状態でブラウザに出ちゃう問題で悩む。ようするにどこかでエスケープされたやつがさらにエスケープされてる。バージョンは cake_1.1.14.4797 です。 libs/view/helpers/html.php をみると /** * @deprecated Name changed to 'input'. Version 0.9.2. * @see HtmlHelper::input() */ function inputTag($tagName, $size = 20, $htmlOptions = null) { って書いてあるのでinputTagでは

  • watchメソッドでオブジェクトが存在するようになるのを待ってから実行する � ZeroMemory

    はじめwatchを全部waitと勘違いして書いてました。id:os0xさんご指摘ありがとうございました。 watchはIEにはないのでとりあえずFirefoxのはなしです。いつも断りなくFirefox前提で書いてますけど。 以前にscriptタグを動的に生成してページがレンダリングされてからjavascriptを読み込ませることで重たい処理をしていたりするjavascriptによるストレスを軽減するような細工をしたことがありました。 そのときに大変だったのは、動的にロードすると書いた順番でスクリプトのロードが完了するとは限らないので、依存関係のあるスクリプト間で同期をとる必要があったことでした。そのときはsetIntervalでポーリングして必要とするオブジェクトがそろったら実行、みたいなことを書きましたがFirefoxだとwatchを使ってスマートに書くことができます。 AutoPage

  • AutoPagerizeのSITEINFOについての考察 « ku

    AutoPagerizeのSITEINFOのpageElementについて気がついたことを書いておく。 LDRize paragraph構造とplagger EntryFullText構造 AutoPagerizeで複数のページをひとつに繋ごうとするとき、各ページの構成には大きくわけて二種類ある。 ひとつめはGoogleの検索結果のように、ひとつのページに10回程度の繰り返し部分があるもの。この場合pageElementにはこの繰り返されている部分にマッチするXPathが書かれている。これはLDRizeのSITEINFOにおけるparagraphで表現されるものと一致するので、ひとつのページ内に繰り返される部分が存在し、その部分ひとつひとつにマッチするXPathをpageElementとして記述するものをLDRize paragraph構造と呼ぶことにする。 もうひとつはCNETのインター

  • The art of AutoPagerize nextLink XPath writing � ZeroMemory

    SITEINFOのnextLinkケーススタディ - 0x集積蔵を読んで自分が書いたのを思い出したら、これを公開したつもりで公開してませんでした… os0xさんの書かれた記事のほうが網羅的なので、あちらを読んでもらえばよいですが、兄弟要素から取得するケースでnumberでaの中の数字を利用することができるときもある、というのだけいいたいので公開しておきます。 AutoPagerizeのSITEINFOを書いていると、ナビゲージョン部分のHTMLがださくてnextLinkをXPathで表現できなさそうなことがよくあります。 が、ふたつほどコツを見つけたのでご紹介。 following-sibling, descendant-or-selfを使う ありがちなのがナビゲーションに次のページへのリンクがなくて、数字だけが並んでいて今いるページだけハイライトされてるタイプのやつです。 Behanc

    IMAKADO
    IMAKADO 2008/03/04
    [autoPagerize][xpath][tutorial]
  • FirefoxのXPathEvaluator « ku

    なんかのテストケースにXPathEvaluatorという単語を発見。 Using XPath - MDCにも載っていてFirefoxにしか実装されていませんが、特権なしで利用可能です。特徴はXPath式のコンパイルと評価が分離されているところ。 式のコンパイルと評価だと圧倒的に評価の方が時間がかかることが多いと思われるので、全体からするとたいして早くなりませんが、いちおう数字をとってみると <html> <body> <script type="text/javascript" charset="utf-8"> window.onload = function () { var x = new XPathEvaluator(); var exp = x.createExpression("//html/body/script", null); var i = 10000; console.

  • XML::LibXML::ElementのnodePathでそのエレメントを示すXPathを得る « ku

    特定のエレメントからそのエレメントを表すXPathを生成することがよくある。perlだとこれが楽にできるのを XML::Diff — XML DOM-Tree based Diff & Patch Module - search.cpan.org のソースを見てて知った。 XML::LibXML::NodeにnodePathっていうメソッドがある。 This function is not specified for any DOM level: It returns a canonical structure based XPath for a given node. と書いてある通り use XML::LibXML; my $xml = <<'__XML__'; <root> <category> <name>fruit</name> <item> <name>apple</name>