最近の更新

関連


その他いろいろ

多機能フィードリーダSynapse製作中

2月までは目が回るほど忙しい

MODxでつくる! 最強のCMSサイト カバー
MODxでつくる! 最強のCMSサイト

クリップボードを監視し、コピーされた語句で検索・バルーン表示するClipDic v1.00をBSD Licenseのもと公開しました。

標準でGoogle検索、Wikipedia検索が含まれていますが、簡単な.NETアセンブリを書くことでユーザが検索モジュールを追加することが出来ます。(辞書を引くモジュールなどを作ると便利)

.NET Framework 3.5以上が必要です。

2008 10 13

Synapse 0.0.17α

一年と数ヶ月ぶりにフィードリーダSynapse 0.0.17αをリリースしました。

  • フィード巡回時の重さを軽減
  • idがintだったためしばらく使うとオーバーフローする問題を解消(ulongに変更)
  • 「ブラウザで開く」(O)と対にして使うグローバルホットキー「Synapseをアクティブ化する」(Ctrl+Alt+O)
  • 未読件数が時々狂うのは未だ直ってない

これだけ時間を空けると自分の書いたソースでも訳が分からない。一度リファクタリングしないとこのまま開発するのは難しそう。

ニコニコ動画の各種ランキングページを取得し、フィード-エントリを構築するSynapse用の拡張、NicoRankingSensorをソース付属(BSD)で公開しました。dlnicoと同様、ブラウザからクッキーを抜き出して共通に使用すると便利です。
NicoRankingSensor

2007 06 30

Synapse 0.0.16α

フィードリーダSynapse 0.0.16αをリリースしました。

  • GeneralSmartFeedで記事リストと記事が同じページにあるサイトに対応
  • グループの開閉を保存
  • 記事ビュー全面表示(F12)
  • デッドロック解消
  • 「次の未読」デバッグ
  • 拡張の仕様変更(下位互換)
  • マークされたエントリ一覧, 一括ON/OFF
  • 拡張セットの仕様変更
  • 拡張セットGUIエディタ
  • 未読+指定件数表示モード

DB構造が変更になったため、以前のデータベースを移行する場合は*.local.dbをDBMigration.exeにD&Dしてください。
今回追加された拡張セットエディタは設定»拡張»拡張セットGUIエディタから。
拡張セットエディタ
Synapse.Extensions.dllとTickerNotifier.dllのソース同梱。コロコロ変わる拡張の仕様を自然言語に直すのが面倒なので、ソース見てください。一応コメントはついています。

Synapse内では各所でC#のクラスをIronPythonで継承していますが、コンストラクタはほとんど定義していませんでした。
今回たまたま引数つきのC#コンストラクタをIronPythonのコンストラクタから呼ぼうとし、

class Foo(CSClass):
    def __init__(self, arg):
        super(Foo, self).__init__(arg)

とか、

class Foo(CSClass):
    def __new__(cls, arg):
        return CSClass.__new__(arg)

と書いてみても引数の数の不一致エラーを吐きまくって成功しません。
書き方としては後者が正しいらしいのですが。オーバーロードでも問題が発生するようで、このへんはIronPythonもまだ成熟してないなあと思ってしまいます。

結局あれこれ試してもだめだったのでコンストラクタはあきらめてしまいました。書き方がわかってないとIDEの自動補完のありがたみが増します。Visual Studio 2005 Express EditionではIronPythonは組み込めないようなので、Standard Editionでも買ってくるかもしれません。

因みにSynapseは拡張をつなげるエディタを作っています。土曜の夜くらいに0.0.16αか0.1.0βを公開するつもりです。Plaggerよりはユーザフレンドリーに。

2007 06 23

Synapse 0.0.15α

フィードリーダSynapse 0.0.15αをリリースしました。

  • Synapse.Extensions.dllに本体へのアクセス方法(SynapseMainBridge)を用意
  • 拡張セットの記述でglobalとfeedの併用を可能に
  • TickerNotifier(C#)分離、ソース公開
  • C#の生ソースコードによる拡張に対応
  • 上/下の未読フィード選択 [Shift + D/F]
  • 次の未読エントリ[Space]を次の未読フィードにつなげる (連動スクロール時)

TickerNotifierのソースはSynapse 0.0.15αから。
今回追加した未読フィード選択[Shift+D]/[Shift+F]は結構便利です。

2007 06 22

Synapse 0.0.14α

フィードリーダSynapse 0.0.14αをリリースしました。

今回は拡張の追加とフィードリストのデバッグが主です。
新しくTwitterの指定ユーザ/friendsの発言取得Sensor、Basic認証をパスするRSSAtomParserBasicAuth、各エントリにはてなブックマークやdel.icio.usの登録リンクを付加するLinkToOnlineBookmarkが追加されました。C#で拡張を作成するサンプルとしてRemoveAdsCSharp.dllも入っていますが、まだソースはありません。

  • 日付時刻が一部12時間制になっていたのを修正
  • TwitterSensor
  • Proxyの設定
  • Basic認証の必要なRSS/Atomを取得
  • 2pane viewで表示エントリ数制限
  • はてなブックマーク、del.icio.usに登録するリンクを付加 LinkToOnlineBookmark(Filter)
  • グループ並び替え挙動を改善(グループをグループにドロップすると挿入)
  • フィードのURL自動抽出のデバッグ
  • XMLにpreprocessを書けるように
  • IronPython以外の.netアセンブリによる拡張(Synapse.Extensions.dllを参照)
  • 巡回頻度0-86400s, 0sで自動巡回なし
  • 未読フィード削除、並び替えの挙動修正
  • 2Pane viewでソート
  • すべて既読/すべて未読の高速化

またまた拡張の仕様が変更になりました。各種メソッドをプロパティに置換し、拡張基本クラスをSynapse.Extensions.dll (Synapse.Extensions名前空間)として分離。
.NET(C#.NET、VB.NET, C++.NET等)で作成したアセンブリを拡張として利用できるようになりました。(C#のみ確認)
IronPythonによるものと同じようにExtensions\Filter等に配置し、拡張子は.dllとします。

(修正)IronPythonプロパティの継承は出来ない?ようです

2007 06 20

Synapse 0.0.13α

フィードリーダSynapse 0.0.13αをリリースしました。

  • フィードのタグ管理の基盤(タグ作成/編集、付加・除去)
  • IronPython拡張の仕様変更
  • 拡張セットの実装(N:1接続, XMLで設定)
  • 拡張の追加:新着エントリのメール送信、全文抽出、改行をbrに置換、タイトルがAD:やPR:で始まるエントリ削除、base付加、HTMLタグ除去
  • リストのアイテム毎スクロールで大きいDeltaを入力するとエントリを飛ばすバグ
  • リストビューのソート時に常に未読を上に表示するオプション

IronPython拡張の仕様が大きく変更になりました。Sensorは今まで通りですが、更新のあったエントリ/フィードの加工・選別(削除)を担当するFilterを新設し、Filter.ProcessFeed, Filter.ProcessEntryに新着の処理を書きます。XMLでこれらのFilterを好きなように接続し、メール送信したりTicker表示したりできるようになりました。
詳しくはSynapseのページを参照してください。

拡張の基本構造は暫く変えないつもりですが、些細な修正は加わるかもしれません。

2007 06 16

Synapse 0.0.12α

フィードリーダSynapse 0.0.12αをリリースしました。

  • データベース、設定、ショートカットキー設定をユーザごとに管理
  • データベースの自動バックアップ(日毎)
  • バージョンアップの際の設定・ショートカットキー設定の引継ぎ
  • 既読状況を変更しないフィードリスト上/下移動
  • iframeの除外
  • 強制更新
  • 自動エントリビュースクロールの連動スクロール対応

今回の更新は主にユーザごとの設定・データ管理に冠するものです。IronPython拡張の仕様は練れば練るほど納得できなくなってきて難航中。単なるフィードリーダとして使うだけなら、Sensor, Notifier, Filterくらいがあれば十分なのでしょうが…

2007 06 12

Synapse 0.0.11α

フィードリーダSynapse 0.0.11αをリリースしました。
自動スクロールが少し使いやすくなりました。まだ1tickでスクロールする量は調整できませんが、スライダでスクロール速度を調節できます。

  • Sensorの__init__付近で落ちる問題(引数つきコンストラクタの問題?)の修正
  • 暫定的(どのフィード集合の更新をどのNotifierに向けるかの設定が可能になるまで)に更新をすべてのNotifier(.\Extensions\Notifier以下とC#内部のTickerNotifier)に通知
  • 通知アイコンのコンテキストメニュー
  • Ctrl修飾せずaタグクリックすると外部ブラウザで開くオプション
  • 外部ブラウザ指定
  • 自動スクロールの速度調整トラックバー
  • 日付を含まないRSS, Atomでフィード取得日を設定
  • 設定をインポート・エクスポート

設定のインポート・エクスポートに対応したので、複数の環境で使うにも便利です。(exeと同じディレクトリにあるSynapse.0.0.11a.Settings.datがあれば毎回起動時に読み込まれますが、保存は明示的にExportしないと今まで同様のLocal Settings以下にしかなされないので注意してください)

次は未読/既読の操作周りを進めるつもりです。今までほとんど毎日更新していましたが、0.0.12aは少し間が空くかもしれません。

次のページ »