Archive for the ‘programming’ Category

EvernoteのノートのタイトルをAppleScriptで一括変更する

Sunday, March 20th, 2011

Brogtrottrというサービスがあります。
RSSの記事をメールとして送信してくれるサービスです。

個人的に、このサービスをGoogle Readerと組み合わせて利用しています。
具体的には、Google Readerで気になった記事は共有するようにして、 共有アイテムのRSSをBrogtrottrでEvernoteに送信し、気になった記事がEvernoteに自動的にクリッピングされるようにしています。

ただ1点、Brogtrottrが残念なのが、メールのタイトルが変更できないという点。
Brogtrottrからのメールのタイトルは”サイト名: タイトル”のようになり、Google Readerの共有アイテムのようにサイト名が長いと、Evernoteに登録した際非常に冗長になってしまいます。

幸い、Mac版のEvernoteではAppleScriptでノートのタイトルが変更できます。

ということで、冗長なタイトルになっているノートを一括して変更するAppleScriptをさっくり書いたので、メモとしてあげておきます。

なお、AppleScript中の”switchText”はこちらから引用させていただきました。
感謝です。

(more…)

PythonでTwitter BOTを作る

Saturday, September 11th, 2010

とあるツイートにインスパイアされて、Flickrから写真を取得してTwitterに投稿するBOTを作ってみました(ネコイヌペンギンウサギハムスター赤ちゃん、とリスト)。

TwitterのBOTくらいなら簡単に作成できる…と思っていたのですが、先日のBASIC認証廃止で、OAuthによる認証が必須となり、簡単なBOTでも結構ややこしい手順をふむ必要が出てきました。
そこで、少しでも楽をするために、今回はPythonを使って構築しています。
適当なライブラリを活用することで、認証の処理がかなり容易になります。

以下、一連の作業と作成したソースコードの記録です。

(more…)

gitとDropboxでお手軽・無料のSource Hostingを実現する

Saturday, January 16th, 2010

以前から興味があった、バージョン管理システムの一つである git を導入しました。

目的としては、もちろん開発しているソースのバージョンを管理する、というのもありますが、それ以上にHostingサービスを使って、複数台のPCから最新のコードにアクセスできるようにしたい、というものがあります。

ただ、調べてみたところ、有名な github を含め、基本的に Hostingサービスではプライベート用途で使う場合はお金がかかる模様 (ソースコードを公開するOSSの場合は基本的に無料です)。

それでは、ということで、複数PC間のデータをバックグラウンドで意識せずに同期してくれる無料ストレージサービス Dropbox とgitを組み合わせて、手軽にプライベート用のSource Hostingを実現することにしました。要は、リモートgitサーバを使う方法で、その宛先をDropbox内のローカルファイルにするだけです。

ここではプログラミングのソースを例に上げていますが、同じやり方でバージョン管理をしたい書類なども管理できると思いますので、お試し下さい。
なお、Dropbox自体の機能として、 30日以内であればファイルを以前のバージョンに戻す機能もあります

  1. Dropbox をインストールします。
  2. gitをインストールします (Macの場合は MacPorts からインストールできます)。
  3. Dropbox フォルダにgitのリポジトリを入れるフォルダを作成します。

    cd ~/Dropbox
    mkdir repo

  4. 上で作成したフォルダに {プロジェクトのフォルダ名}.git というフォルダを作成し、”–bare”オプションを付けてinitします。

    cd repo
    mkdir test.git
    cd test.git
    git --bare init

  5. プロジェクトが新規の場合、上で作成したDropbox上の {プロジェクトのフォルダ名}.git をcloneします。

    cd ~/dev
    git clone ~/Dropbox/repo/test.git

  6. 既存のソースなどを追加する場合は、一度そのプロジェクト上でadd、commitした後、Dropbox上の {プロジェクトのフォルダ名}.git にpushします。その後のpush、pullを楽にするためにremoteでoriginを追加しておきます。

    cd ~/dev/old_prj
    git init
    git add .
    git commit
    git push ~/Dropbox/repo/test.git master
    git remote add origin ~/Dropbox/repo/test.git

  7. あとはgithub等リモートサーバを利用するときと同様です。変更を加えてpushすればDropbox内のリポジトリが更新され、その内容が他のPCにも自動的に同期されて、リポジトリが最新の状態に保たれます。

    git pull
    ...
    git push

ちなみに、Dropboxが使えるのであれば、最初からそのフォルダ内で開発するのが最も楽で確実だと思いますが、その場合、開発時に自動的に作られるファイルや一時ファイル等も同期されてしまうことになります。
それを気にするかは好みの問題ですが、もし気になるような方は上記の方法で必要なファイルのリポジトリだけを同期するというやり方を試していただければと思います。

(参考)