Subscribed unsubscribe Subscribe Subscribe

枕を欹てて聴く

香炉峰の雪は簾を撥げて看る

Google Chrome Extensions Gallery

本日(2009/12/09), Google chrome extensions Galleryが一般公開ということで, ChromeFullFeedとTaberarelooをGalleryに公開しました. ChromeFullFeed Chrome Web Store - FullFeed for Chrome™ LDR Full FeedのGoogle Chrome用です. 全機能に関してLDR Full…

crxmakeをGoogle Extensions Galleryに対応

追記 id:os0x さんから, @Constellation ちょうど同じネタで書いてましたね。ちなみに、pemファイルを含める必要があるのは初回のみなので、割と事故率は低いかも。 http://twitter.com/os0x/status/6303238609 と教えてもらいました! Google Extensions Gal…

Ruby Net::GitHub::Upload

GitHubのdownloadsが遅延がひどく, Taberarelooのversionを0.0.2にしても一向に変化しないのと, いちいちdownloadsに入れるのが億劫になったので, Big Sky :: 被はてなブックマーク数を表示するGoogle Chrome拡張書いた。で見たNet::GitHub::Uploadを使おう…

Taberareloo ver 0.0.3にあたって

AutoUpdateについてのお詫び Taberarelooのmanifest.jsonが間違っていたため, AutoUpdate出来なくなってしまっています. すいません. installなさってくださった方は, 拡張機能のページからuninstallして, installしなおしてもらえると幸いです. すいません.…

Yet Another Tombloo on Chromium: Taberarelooを公開しました

Yet Another Tombloo on Chromium, Taberareloo(タベラレルー) を公開します. Constellation/taberareloo · GitHub Taberareloo(タベラレルー)はクロスポストに特化したTombloo互換を目指すChromium Extensionで, 現在, browserActionがscriptableに動作でき…

GoでY Combinatorとか不動点関数とかmemoizeとかできたよー

Y Combinatorとは何かという人は, この記事がわかりやすいです. Y コンビネータって何? - IT戦記 JSでは関数の型とかがいらないので, とてもシンプルにY Combinatorが書けます. var Y = function(f){ return (function(g){ return function(m){ return f(g(…

Goでtree

面白そうなのでGoでとりあえずtree command(色なし版)書いてみた. なぜtreeなのかはちょっとわかりません. channelも使えて満足です. goroutineもとってつけたように使っています. http://gist.github.com/231953 package main import ( "fmt"; "flag"; "pat…

Diff algorithm

id:smoking186 さんの指摘を受け, First Authorの名前などを付加しました. どうもです. 記事内のcodeは最適化などを施しておらず, 冗長に, 定義どおりに書いています. ifがまとめられたりとかしますが, そのあたりはご容赦を...Rubyでlevenshtein距離を見て…

Deferred.bind

これはすごい. JSDeferred に引数束縛の bind, curry を追加 / Google Chrome の JSDeferred のインテグレーションを書いた - #生存戦略 、それは - subtech ChromiumのAPIは非同期+callback必須ばかりで, 「うわー. JSDeferred / Mochikit Deferredがないと…

API Checkについて

id:you999 さんの疑問に. GM ver 0.8.2からGM_openInTabはデフォルト挙動, つまりconfigのbrowser.tabs.loadInBackgroundの値に沿った開き方をするように変更されました.(手前味噌のものでよければこちら参照Greasemonkey ver 0.82解説 - 枕を欹てて聴く) よ…

Greasemonkey ver 0.82解説

なんか解説を待たれていたらしいので, Twitter上だけでなく, 詳しく. 該当記事はこれ. http://www.greasespot.net/2009/09/greasemonkey-082-released.html * Do not inject scripts into file: and about: URLs by default, for security reasons. (#1000) …

ChromeFullFeed ver 1.0.0

LDRFullFeedのChromium Extension版 ChromeFullFeed ver 1.0.0 http://code.google.com/p/chromefullfeed/contentWindowの穴を埋めるため試行錯誤した結果, ひどい手を使いまくるという結果となりましたが, きちんと動作したので公開します. install Google …

Ruby/jsonschema

今まで, json schemaのvalidation libraryであるjsonschemaはPythonとJavaScriptのものが用意されていました.Chromium Extensionのmanifest.jsonのschemaをid:os0xさんがすでに書いていてhttp://gist.github.com/179669(os0x++)それをcrxmakeで利用したいな…

Chromium拡張作成: crxmake

以前作成したRuby Script Chrome Extension Packaging Script - 枕を欹てて聴く を整理してgemにし, 公開しました.Constellation's crxmake at master - Github http://github.com/Constellation/crxmake/tree/master install gem取得先にgithubを登録してい…

Ruby/CMigemo

にゃーーーーーー!! Cで書かずにはいられないな (Gem Authorsに)そろそろまぜろよ Constellation/ruby-cmigemo · GitHubということで, 表題とおり, RubyからC/Migemoを叩くlibraryを書きました. migemoはもともとRubyのlibraryなのですが, 個人で作っていたa…

LDRのFolderのblack listを作る

ふと, 思ったので. // ==UserScript== // @name LDR Block List // @namespace http://d.hatena.ne.jp/Constellation/ // @include http://reader.livedoor.com/reader/* // @include http://reader.fastladder.com/reader/* // ==/UserScript== var reg = /…

Chrome Extension Packaging Script

追記: 以下のscriptはgemとして公開しました. そちらのほうを参照してください. Chromium拡張作成: crxmake - 枕を欹てて聴く 現状, 拡張機能を作ることのできるのはWindowsだけなので, coLinux上で作れませんでした. せっかくなのでいろいろいじりたいとい…

Chrome Full Feed ver 0.0.1

Google Chrome用 LDRFullFeed, Chrome Full Feed version 0.0.1を作成しました. id:os0x さんの資料, 発言がものすごく参考になりました. ありがとうございます.chromefullfeed - ChromeFullFeed is extension for Chromium(or Google Chrome). loading full…

LDRize Siteinfo parse

多少修正 LDRize作者, snj14さんの許可を受け, Wedata上にLDRizeデータを放り込みました. 以下のRubyのscriptによって作成されたデータを一括登録しています 本家のものにあわせて. はじめに書いたRubyのほう. require 'open-uri' require 'kconv' require '…

command.exist? + library.exist?

Linux系でcommandが存在するか確認. 要はwhich的なもの. @env_path = ENV['PATH'].split(':') def command_path cmd result = nil res = @env_path.detect do |path| File.exist?(result = File.join(path, cmd)) end return res ? result : nil end で確認…

Human Readable File Size

ls -hすると 1.4K 1003 10Mというファイルサイズの表示になります. hはhuman readableのhなんですね! で, この数字を表示したい! となると面倒です... 以下にさまざまな例を出すので場合によって使い分けるといいかも. Integer Ver すぐ思いつくのはこれでし…

C文字列を扱う際に

家のADSL開通が5/5なのでstatic IPにならず(EMOBILEのCard使用), 家ではcoLinuxから外に出れなくてgitも使えないという悲惨な状況になってるのですが, 一月にひとつは何か書こうと思ったので.Archiveiwとかがarchiveのヘッダを読む際に後ろ何文字かをカット…

unsafeExec on JSDeferred

SmartLDR更新 - 素人がプログラミングを勉強していたブログ のを見て, 関数に押し込むのもいいなあと思った. けど, このままでは返り値が利用できない + Fxのlocation.hrefは非同期らしい JSDeferred を高速化する (試し中) - 冬通りに消え行く制服ガールは✖…

ある要素がAutoPagerizeのどのページから取得されたものかを判断する.

うたたね - Tombloo+ AutoPagerise のお作法(修正版) これ関連. こんなのでどうかな? AutoPagerizeのAPIとして追加する. window.AutoPagerize.nodeOriginUrl = function(node){ if (ap == null || typeof(node) == "undefined") return location.href; var…

Ruby Curses + 日本語

cursesで日本語表示するときに初期化としてsetlocale(LC_ALL, "");してるのを見たけど, Rubyでどうやったらいいかわかんなかったので. たぶん止めとけってお告げなんだろうなーと思いつつ. libncurseswを入れておく.(multibyte 文字列対応) /ext/curses - Re…

GM_listValues, GM_deleteValue, @unwrap

Greasemonkey 0.8.20090123.l # Added translations: ar-SA, bn-IN, hu-HU, id-ID, ro-RO, sr-RS, vi-VN. # Fix for ticket #111 (anomalous separators in the monkey menu). # Add GM_deleteValue() and GM_listValues() APIs (#38). # Restore the anonym…

Client Side Databaseについて

あんまり解説なかったのでメモ. iReader作ったときに利用した. 正直今のところSafariしか対応してないから, iPhone/iPod touch専用ページくらいしか使いどころないのですが.HTML5なのでいつかはcross-platformで役に立つことを願いつつ. 仕様 HTML Standard …

Github上の最新rawファイル取得URL

rawファイルがもっときれいなURLで取得できるようになってますね.例: LDRFullFeedのmaster branchのblue.gif http://github.com/Constellation/ldrfullfeed/raw/master/blue.gifつまり http://github.com/{user name}/{repos name}/raw/{branch name}/{file …

Tombloo + FTPUpload

あとで調べたら, どうやらnsIFTPChannelは使えない模様. 前に調べたのが実用可能のようなので, Tombloo + FTPUpload.FTP Upload for Tombloo あらかじめ extensions.tombloo.ftp.host extensions.tombloo.ftp.user extensions.tombloo.ftp.pass を設定してお…

Fx Socket

socket面白いなあ. ということでSMTPじゃないんだから別にnsIFTPChannelとかあるのにFirefoxのsocketでFTP 通信してみた. var Cc = Components.classes; var Ci = Components.interfaces; var WindowMediator = Cc['@mozilla.org/appshell/window-mediator;1…

LDR Full Feed 0.0.20

更新. wedataのtimeout処理やsiteinfo cache のversionの差異を吸収. LDR Full Feed for Greasemonkey alternative siteinfo url wedataがtimeoutしたときに, 自動的にalternative siteinfo urlをあたりにいくようになりました. defaultではutatane.appjet.n…

iReaderをupdate

累積的なのをupdateした. feedごとのitem表示件数を一律5に制限. 下の方にいくと自動で継ぎ足しするAutoPagerize風方式に変更. リファクタリング =>安定性, 速度. バグ修正 => 地味に色分けがしくじることとか. ある程度何とかなったので, 次からは機能向上…

LDR で Pinを読む(超簡易)

fuba/ldr-enhanced-pin · GitHub をみて, すごい! とか やりたい! とか思ったのですが, 自分はpinがfeedっぽく見れたらいいので簡易なものを.inspired from http://twitter.com/VoQn/status/1063396310 — Gist 直接install this scriptShift+Pでpinがfeedっ…

相対パス解決

なんか適当に書いた. 全くbrowserに頼らず, すべて展開する. きっとbugがある. そうに違いない.. pathToURLは, A要素を使ったもの(browserに頼ってるもの). 比較用. (from AutoPagerize) function pathToURL(path) { var link = document.createElement('a')…

LDR Full Feed 0.0.19

H2削除Filterを修正 更新しました. 動かない場合もあったそうなので. またFx3.1を使ってる方も結構いらっしゃるので. 更新点は以下のとおり. LDR Full Feed for Greasemonkey Fx3.1, Fx3, Fx2系のsupport Fx3.1でのsupportを開始しました. また, 前回からFx2…

iPhone/iPod touch用LDR/FLDR FrontEnd

iPhone用にLDRやFLDRのFrontEndが欲しい! │ ├ 1.LDR Touch / Aero Readerを使う │ │ [まちがい] │ 確実な方法ではありますが、フィードの読み方が少し自分には合わないのが難点です。 │ それよりも別の手段を探してみませんか? │ ちょっとした努力でなん…

Profile

FirefoxのProfile関係はXulPlanetにあるのが少し古いみたいでCc['@mozilla.org/profile/manager;1']は今はない. // Cc = Components.classes, Ci = Components.interfaces var ProfileService = Cc['@mozilla.org/toolkit/profile-service;1'].getService(Ci…

Tumblrの自分をfollowしている人で, 自分がfollowしていない人を全員followする

check followersのgreasemonkeyがなぜか自分ところでは動かなかったので. たぶん何回やってもできない人があると思うけど, それはもうもとのTumblrが閉鎖されている場合. mechanizeでアクセスしまくる力押し. #!/usr/bin/ruby require 'rubygems' require 'm…

GoogleReader の適当メモ

最新版のTomblooにGoogleReader用extractorとGreasemonkey ScriptのGoogleReader + Tomblooを追加してきました.自分ははてなダイアリーよりTumblrからはじめたようなTumblrファンなので, GoogleReaderからもTumblr使う人が増えるといいなという気分で書きま…

GoogleReader + Hatebu

これまでによくあるDOMでとって貼り付けるのとは違って, NativeのWidgetとして登録する. 修正 // ==UserScript== // @name GoogleReader + Hatebu // @namespace http://d.hatena.ne.jp/Constellation/ // @include http://www.google.com/reader/view/* // …

AppJet で適当Cross-Site

気分でこんなの書いてみた. セキュリティー的にひどいとかそんなの気にしてないぜ! ってな感じの実験的なもの. http://access.appjet.net/ Error 404 (Not Found)!!1 /* appjet:version 0.1 */ var default_params = [ 'url', 'method', 'callback' ] functi…

FirefoxからSMTPでメールを送る

Simple Mail を参考に. responseのチェックもしてないし, error処理も書いてないけど要はこの流れでできるということで. 使うときには, error処理とかも書かないと. 命令先は, Gmailのsmtpサーバーで. socketつないで, inputStreamを読みながら, outputstrea…

某侵略者のゲーム

JavaScript でテトリスみたいなゲームを作ろう! - セキュリティ&プログラミングキャンプ JavaScript 入門講座資料 に感化されて作ってみた.ゲーム作るのは難しいです... utatane: Test/InvaderIEでも動くけど, ネイティブじゃないからか使い物にならない遅…

Tombloo Hacks 41_ui_suggest_tags.js

patchesのひとつとして追加しました. 今のところfork先の所に入れてあります.41_ui_suggest_tags_jsはてなブックマークに限り, おすすめタグを表示します. クリックすると選べます. 大文字小文字は, candidatesに登録されているほうを優先しています. また, …

Cuil用応急処置

CSS

AutoPagerizeを読み込みまくるCuil用応急処置 @namespace url(http://www.w3.org/1999/xhtml); @-moz-document url-prefix("http://www.cuil.com/search") { body { overflow: visible !important; } div#bdy { overflow-y: visible !important; } } これをS…

Tombloo Hacks livedoorClip を追加先に追加する

主要なSBMの中でなかったので作りました. なんか理由があるのかな? iconは次のバージョンの仕様準拠し, ローカルでなくfaviconを直接利用しています. また, optionから選べば, tag補完のtagをlivedoor Clipからとってくることができます. 21_livedoorclip.js…

FirefoxのJSでdialogを拡張する

NortificationBoxみたいに最初からwindowから要素自体を取得することができないので、openDialogで作るしかない。 ただ、openDialogの第一引数はURIであり(本来ならここに、自分の作ったxulファイルへのURIを入れるが、今回はJSだけで何とかできないか模索)…

Tombloo Hacks HatenaBookmark投稿時にtitleを配慮する

追記 ちょい修正。 追記2 本家のほうにより簡潔かついい感じのpatchがcommitされています。 てか自分のコード汚いな。 HatenaBookmarkですでにtitleが設定されていたらそれにあわせる。 title書き換えまくって顰蹙をかうのを防ぐ。 初めてだから、ちょっとお…

LDR Full Feed 0.0.18

更新しました。更新点は以下のとおり。 キャッシュ互換性がないので、アンインストール時に関係のある設定ごと削除するのにチェックしてアンインストールしてください。 今回からはGM ver 0.8以降でしか機能しません。 LDR Full Feed for Greasemonkey AutoP…

Black Star for Haiku

追記 はてなブラックスターが変わります! - ぼくはまちちゃん!(Hatena) の変更に追従しました。Hatena Black Star for Haiku for Greasemonkeyコメントがつけられる、つけたスターが相手に加算される、相手にスターをつけたのがわかるなどが変更点です。今…