サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
円安とは
s-nobu.hatenadiary.org
Emacsで表を記述する際に使用していたtable.elというelispがありますが、Vimでも同様な便利なプラグインが無いか探してみました。 これというものは探せませんでしたが、table_format.vimというものを発見したので方法をメモ。 簡単な表を作成する際に、以下のフォーマットのようにスペース区切りで記述したとします。 header1 header2 data1 data2 datadata3 data4 この状態でC-vにて範囲を選択し、\tを押すと header1 header2 data1 data2 datadata3 data4 な感じで整形してくれます。これでも十分ですが、先に:s/ / | /gしておくと header1 | header2 data1 | data2 datadata3 | data4 となり、もう少しみやすくなります。 本当はこんな表が理想な
GrowlでbiffするPOP3サーバー用のソフトはいくつか有るようですが、IMAPサーバー用が見つからなかったので作ってみました。 AggregatorやCustomFeedでのプラグインにすればPlaggerでも出来ますが、短いスパンでポーリングしたかったので。 一応複数サーバー・フォルダーに対応しています。Cronに登録して使用してください。 #!/usr/bin/perl use strict; use warnings; use Net::Growl; use Net::IMAP::Simple; use Email::MIME; use YAML; use File::HomeDir; our $app = 'IMAP2Growl'; my $config_file = File::HomeDir->my_home . '/.imap2growl.yaml'; my $c =
sakuraインターネットで「LANG=ja_JP.UTF-8」していてもsubversionがエラーを出してくる。で、 alias svn="LANG=ja_JP.eucJP svn" でもいいんだけど、diffやlogが化けるので以下でお茶を濁す。 #!/bin/sh SVN="$HOME/local/bin/svn $@" if [ $1 = 'ci' -o $1 = 'comit' ]; then LANG=ja_JP.eucJP $SVN else LANG=ja_JP.eucJP $SVN | nkf --utf8 fi 追記: と思ったけどsvn:ssh://だとまだ変になる。 追記2: svn: warning: cannot set LC_CTYPE locale svn: warning: environment variable LANG is ja_JP.UTF-8
仕事でWikiが必要になり、Syntaxが自由に選べてMarkdownが使えるWikiとして、MojoMojoを試してみた(Kwikiでもよかったが、違うものを試してみたかった)。さくらインターネットだが、PlaggerでかなりのCPANモジュールを入れたはずなのに、かなりのモジュールを追加された。Devel::Callerがうまく入らないので、Perl本体も5.8.8にアップデートしてみた。 と前書きはこのくらいで、今回のネタ。 DBD::SQLiteがうまくインストールできなかった。エラーは、 Can't load '/home/xxx/.cpan/build/DBD-SQLite-1.14-Fb4B0v/blib/arch/auto/DBD/SQLite/SQLite.so' for module DBD::SQLite: /home/xxx/.cpan/build/DBD-SQLi
検索wordをtwitterすれば他の誰かがいい情報を教えてくれるかな? ということで作ってみました。 認証ダイアログがうざい場合はスクリプト内のusernameとpasswordを設定できます。 ちなみにポストが終わると成功しても失敗しても右のロゴに変わります。 ここからダウンロードしてください。
例えばこのEntoryの様に長いタイトルがついてる時にF::BreakEntriesToFeedsでuse_entry_title: 1すると、送信者の名前が長くなりすぎてGmailで受信するとデコードしてくれない。 ということで、適当にカットする。40という数字は適当。 英字のみのタイトルの時は短くなりすぎるので、シングル・ダブルバイト関係なしに72バイトくらいでカットできればいいんだけど。 Index: svn/plagger/lib/Plagger/Plugin/Publish/Gmail.pm =================================================================== --- svn/plagger/lib/Plagger/Plugin/Publish/Gmail.pm (revision 1896) +++ svn/pl
なんかみたときある顔だけどポーズが違うような 広告全体はこちらから http://f.hatena.ne.jp/images/fotolife/s/s_nobu/20081219/20081219192305.jpg
久々のPlaggerネタとスーパーpre記法のテスト。 NHKからRSSが配布されるようになったが要約の配布のみなので、Plaggerで全文を取得する。 EntryFullTextとTrueParmalinkのセットで。 asets/plugins/Filter-EntryFullText/nhk.yaml author: Nobuhito Sato handle: http://www3.nhk.or.jp/news/ extract: <p class="newstitle">(.*?)</p>.*<div class="hanyou">(.*?)</div>.*<span class="txt14">(.*?)</span> extract_capture: title body date extract_date_format: %m月%d日 %H時%M分 assets/plugi
Plaggerで夕刊フジのZAKZAKも購読していますが、夕刊紙のライバルということでゲンダイも併読しようとEFTを書いて見ました。 HTMLがかなりOldでidもclassもなく、;やスペース違いが混ざっって正規表現のチェックが大変でした。 追記) otsuneさんのコメントを反映しました。 2006-11-05 assets/plugins/Filter-EntryFullText/gendai.yaml author: Nobuhito SATO handle: http://gendai\.net/\?m=view extract: <!-- 記事部 -->.*<div align="right">(\d{4}年\d\d月\d\d日) ?掲載</div>\s<font class="size5"><b>(.*?)</b></font>.*?<span style="lin
いちいちVoxにログインしなくてもQotDがわかるようにPlagger用のCF::Scriptにしてみました。といっても、そのうちVoxでFeed出しそうですが。とりあえずWWW::MechanizeとHTML::TreeBuilder::XPathの練習ということで。 追記)IRCでmiyagawaさんよりhttp://questions.vox.com/library/posts/atom.xmlとhttp://questions-jp.vox.com/library/posts/atom.xmlがあると教えてもらいました。 WWW::Mechanize面白いです。WWW::BugMeNotと合わせれば、(ry このまま実行するとHTML/PullParser.pmが Parsing of undecoded UTF-8 will give garbage when decoding
参加しているMLもPlaggerで管理できたらいいんじゃないかと思い、CF::Mailmanを使用してみました。Filter::ReverseとFilter::BreakEntriesToFeedsを使用すれば、普通にメール配信されたものとほぼ同等です。はてブやDeliciousにブックマークすることも簡単なので結構便利なのではないかと思います。 動作には問題ありませんでしたが、EFTで日付を拾ってないっぽい。EFTと対象URLで確認したところ、日本語サイトでは日付もローカライズされていました。 IRCで対応方法を相談してみてなんとか解決しましたので、とりあえずメモしておきます。 問題点としては 日本語サイトと英語サイトで、フォーマットが違う extract_date_formatに日本語で曜日指定できるのか? と言う点になります。 とりあえず 1.についてはIRCにてmiyagawaさん
続いても社会人向けです。日経と並んで製造業の社会人(特に堅そうな上司)に大人気の日刊工業新聞 ビジネスラインをPlaggerで取り込み。 日刊新聞ではWebの他にNewsウェーブなる有料のメール配信があります。 3つの特徴がある見たいですが、3つ目の特徴の「低コストの実現」を、Plaggerを使うことによりさらに低コストにします。 ということで、EFTは以下の通り。日本語があるのでUTF-8で保存してください。 assets/plugins/Filter-EntryFullText/nikkan.yaml author: Nobuhito SATO handle: http://www\.nikkan\.co\.jp/hln/ extract: <!-- ■標題■ -->.*?<[Pp].*?>(.*?)</[Pp]>.*<!-- ■(?:抄録文|本文)■ -->(.*?)</(?:TD|
前回の更新からかなり間が空いてしまいましたが、久しぶりにPlaggerネタです。 以前からオンラインの新聞としてasahi.comのRDFを購読していましたが、NIKKEI NETに変更しました。理由は日経の方が社会人っぽいから。 NIKKEIでは、RSSの提供はありませんが主要ニュースのページを見ると、もうPlaggerで処理してくださいといわんばかりの構成になっています。活用しないてはありません。 ということで、EFTの差分は以下のとおり。 assets/plugins/Filter-EntryFullText/nikkei.yaml author: woremacx handle: http://www\.nikkei\.co\.jp/news/ -extract: <!--FJZONE START NAME="MIDASHI" -->(?:<!-- headline -->)?(.
はてブばかりが活用されていてあまり需要がなさそうですが、折角はてブからインスパイアした画像タイプのブックマーク数があるので活用。 はてブ用とは並べて使用しないでください。 assets/plugins/Widget-Simple/livedoorbookmarkusers.yaml link: http://clip.livedoor.com/page/ append: my $p = $args->{entry}->permalink; $p =~ s/#/%23/; $p content_dynamic: <img src="http://image.clip.livedoor.com/counter/[% entry.permalink.replace('#', '%23') %]" style="border: none;vertical-align: middle;"> conf
某所でなぜか期待されてしまったので適当にでっち上げ。 Publish::GmailとMIME::Lite::TT::Japaneseからパクリまくりです。 Plainテキストで携帯に送りたいと勝手に解釈したうえで…。 Plainテキストへの変換は以前に作っていたFilter::FormatTextを使用し、Publish::Iso_2022_jp_mailのみを作りました。 P::Iso_2022_jp_mailからF::FormatTextが自動的に呼ばれるので以下の2つをコピペして使ってください。 また、entryが長すぎる場合はここのFilter::Substrも併用してください。 ヘッダは Content-Disposition: inline Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=iso
皆さんがHackthon中*1なので、Plaggerでも新顔のプラグインのWidget::Simpleで遊んで見ました。 Widgetは面白いものの、使用しているテンプレートはmiyagawaさん謹製のP::GmailとP::Planet、P::PSPでしか使われていません(P::GmailをパクッたP::MaildirとP::IMAPも使用していますが…)。で、使用している箇所を見て見たらほとんど同じになっていたので、ちょっとハックして見ました。 ハック内容としては、Widgetを配置する場所の前に必ず記述してあるpostedtimeやpermalink、feedlinkもWiget::Simpleで記述しようと言うものです。 うまく使えれば、他のPublishでも面白い使い方が出来るのでは? plagger/lib/Plagger/Plugin/Widget/Simple.pm W::
Piece of a Puzzleさんからトラックバックをもらい、その通りにしてみたところ無事にTeratermでArisaka等幅にFontLinkしたConsolasを使用することが出来ました。ありがとうございます。-スクリーンショット- 教えてもらった通りTeraterm.iniを直接書き換えるとFontLinkしたConsolasを使用することが出来ました。どうもVTFont=Consolas,0,-16,128の128の部分が重要みたいです。その他に、-16の部分はフォントサイズで、-16で12ptになり、-12で9ptになるみたいです。 参考までに、Arisaka等幅にFontLinkさせるレジストリは以下の通りです。 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemL
ソースからインストールするときは以下のオプションでmultibyteとiconvが有効になるみたい $ ./configure --with-features=big --enable-multibyte vimrcには以下を記述すれば日本語もOK。元ソースは失念。 if &encoding !=# 'utf-8' set encoding=japan endif set fileencoding=japan if has('iconv') let s:enc_euc = 'euc-jp' let s:enc_jis = 'iso-2022-jp' " iconvがJISX0213に対応しているかをチェック if iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb" let s:enc_euc =
とりあえず公開してみる。 config.yamlでの指定はWordpressのデフォルトと思われる以下のcssで。っていうかこれ以外ではきれいに動かないかも? style_url: http://managedtasks.com/wpthemes/blog/wp-content/themes/default/style.css 埋め込まれているcssはどうすれば… <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head profile="http://gmpg.org/xfn/11"> <meta http
めざせchangeset/1000ということで、ここで公開したEntryFullTextのキャッシュを自動削除するパッチを更新して見ました。以前のパッチではpurgeが頻繁に発生し、キャッシュが増える以上に負荷が酷かったと思います。 そこでpurgeするタイミング(確率)を指定できるようにしてみました。 タイミング(確率)といっても、time % probabirity == 0な場合ですので過度な期待は禁物ですが、購読しているFeedの数が多くて、キャッシュサイズが気になる人には有用だと思います。いつかは削除されますので。 ちなみに、Ticket#306に別方法で登録されていますので、それまでのつなぎです。 Index: svn/plagger/lib/Plagger/Cache.pm ===================================================
nobu@shibuya.plゲット! yappoさんありがとう!! ということで、100Tipsに向けて、以前から気になっていたEntryFullTextのキャッシュを自動削除するパッチを作成してみました。 本当はauto_purgeで実装したかったのですが、うまく動かせませんでした。 --- svn/plagger/lib/Plagger/Cache.pm (リビジョン 941) +++ svn/plagger/lib/Plagger/Cache.pm (作業コピー) @@ -14,6 +14,7 @@ $conf->{class} ||= 'Cache::FileCache'; $conf->{params} ||= { cache_root => File::Spec->catfile($conf->{base}, 'cache'), + default_expires_in =>
昨日紹介したsbm-xpostですが、過去に入力したタグが見えたほうが便利だろうということで、Del.icio.usからタグクラウドを引っ張るパッチを書いてみました。 本当はyamlでパラメーターを指定できて、なおかつ、javascriptを書き換えてクリックしたらタグ入力欄に追加できれば最高でしょうけど。まあ、見えるだけでもかなり便利になるでしょう。 srcのusernameを自分のユーザー名に変更して、以下のコードを追加してください。 46 <div> 47 <script type="text/javascript" src="http://del.icio.us/feeds/js/tags/username?icon;size=12-35;color=87ceeb-0000ff;title=my%20del.icio.us%20tags"></script> 48 </div>
miyagawaさんが公開しているsbm-xpostなるスクリプトがあり、最近はこれを使用してDel.icio.usとはてなブックマークの両方にブックマークしています。 で、今日こんなページを発見しました。内容は、Firefoxの拡張のKeyconfigを使用してブックマークレットをショートカットで動作させるものです。 ということで、早速Ctl-Pに割り当ててみました。他にも応用できるし、結構快適かも。 やり方は、適当にショートカットを割当て、"Command" 欄に、 var w = window._content; var d = w.document; d.location.href='http://www.example.com/path/index.cgi?url='+escape(d.location.href)+'&title='+escape(d.title); を記入し、
otsuneさんが提案している、Subscription::ConifgでURLに日付を指定できるようにする件だが、これは自分も必要と考えている。 実際IRCへ要望として発言したときもある。その時は、Del.icio.usで、日付指定して一覧を取得したいと言う要望だったと思う。それについては、野良プラグインのCustomFeed::Deliciousを作成し、その後は必要と感じていなかった。 だが、もう一度考えてみるとやはり指定できるとうれしい局面はまだ存在する。otsuneさんの要望みたいに、毎日配信しているニュース系などはURLへ日付が必ず入るだろう。 その他に、ブックマーク数が5以上のブックマークをはてブ等のブックマークから取り出すことも効率的に出来るようになる。たとえば http://b.hatena.ne.jp/s_nobu/20060607 の様に昨日の日付を指定し、その上でブ
Publish::GmailでEntryがないFeedの時に、送信を押えるパッチ。 Filter::EntryIndexや、Filter::JapaneseHiragana、tDiaryComment.pm等でエントリーを全て削除されてしまったFeed用。 Index: svn/plagger/lib/Plagger/Plugin/Publish/Gmail.pm =================================================================== --- svn/plagger/lib/Plagger/Plugin/Publish/Gmail.pm (リビジョン 870) +++ svn/plagger/lib/Plagger/Plugin/Publish/Gmail.pm (作業コピー) @@ -52,6 +52,8 @@ sub no
bloglinesでのキーワード検索がはてなより広範囲な為、早速乗り換えました。 しかし、2バイト文字の判定は難しいらしく、言語を日本語にしても他のアジアの漢字圏のFeedも混ざってきます*1。そこで、英文のみかひらがながあるエントリーのみ残すフィルタを作成しました。 正規表現はこちらを参考にしました。 ここでもruleとして同じようなものが公開されています。が、英文のみのエントリーも削除してしまうのでFilterとして実装してみました*2。 package Plagger::Plugin::Filter::JapaneseHiragana; use strict; use base qw( Plagger::Plugin ); our $VERSION = '0.1'; sub register { my($self, $context) = @_; $context->register
ということで、車輪の再発明(車輪にもなってないかもしれませんが)かもしれませんが重複エントリーをはじくことが出来るプラグインを作って見ました。 とりあえずのたたき台なので、かなり未テストです。取扱いには注意してください。 追記 6/6: 正しく動いていなかったのでコードを修正 config.yaml - module: Filter::EntryIndex config: interval: 259200 # optional def. 259200 3days body_check: 1 # optional def. 0 expires: 2592000 # optional def. 259200 3days 上記の例だと同じID($entry->id_safe)を3日間、本文が同じでも30日間は無視する設定です。config:以下を指定しないデフォルトの設定では、3日間IDを確認す
Publish::Maildirへパッチを頂きました。多分人生で初めての経験です。勉強になる部分があり、大変ありがたいです。すぐに取り込めそうな場所は取り込みました。 とは言っても、動作に関係の無い点ばかりです。一番重要な点については、悩んでいます。というのは、このまま実装すると自分の環境では負荷がひどいことになりそうだからです*1。 頂いたパッチの拡張内容は、以下の設定をconfig.yamlに記述することで、動作を切り替えるようになっています。 mailfrom(問題なく取り込み済み) keep_read : 既読の縁取を再配信/未読化しない keep_deleted : 削除されているエントリーを再配信/未読化しない trash(上記のkeep_deletedで必要、デフォルトは.Trashのほうが一般的かも?) その中で、大きな拡張点は2と3です。 順番が逆になりますが、3から考え
HTMLの本文を整形したPlainテキストに変換します。 サンプル - module: Filter::FormatText config: bytes_per_line: 1行の長さ(optional def.72) always: HTMLテキスト以外でも実行するか?(optional def.0) 使い方や目的はこちら ダウンロード: FormatText.pm package Plagger::Plugin::Filter::FormatText; use HTML::TreeBuilder; use HTML::FormatText; use Jcode; use strict; use warnings; use base qw( Plagger::Plugin ); our $VERSION = 0.03; sub register { my($self, $context)
次のページ
このページを最初にブックマークしてみませんか?
『s-nobu.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く