ます素子 RSSフィード

masusoshi

2010-12-09

[]インストールされたAndroidアプリケーションのリストを共有

00:12 | []インストールされたAndroidアプリケーションのリストを共有を含むブックマーク []インストールされたAndroidアプリケーションのリストを共有のブックマークコメント

Androidアプリケーションのインストール情報を共有できたらいいなと思ってましたが今のところAppBrainが一番よさそうです。

OAuth認証が利用でき、フレンド登録をすればアプリケーション内で相手のリストを閲覧できます。公開設定にすれば自分のリストをjsで生成してくれるのでURL一つで共有もできます。無料アプリのダウンロード履歴はGoogleアカウントにヒモ付けされないので機種変時にも役立つかも知れません。

ただし日本のマーケットでのみ公開しているアプリケーションは表示されないようです。

  • My apps | Apps on the 001HT

http://www.appbrain.com/user/n00dle/apps-on-the-001ht

  • AppBrain App Market ~ Android用アプリケーション v5.11

http://jp.androlib.com/android.application.com-appspot-swisscodemonkeys-apps-ijzF.aspx

トラックバック - http://d.hatena.ne.jp/n00dle/20101209

2010-11-17

[]よく使うAndroidアプリケーションのリスト

06:11 | []よく使うAndroidアプリケーションのリストを含むブックマーク []よく使うAndroidアプリケーションのリストのブックマークコメント

Android端末の機種変とダウンロード履歴

HT-03AからDesireHDに乗り換えることにした。アプリケーションのダウンロード履歴について、有料アプリはGoogleアカウントにヒモ付けされてるが、無料アプリについてはそうでない。よって各自、端末変更時には手動で管理する必要がある。

インストール済みApps

自分用にリストにしたついでに上げておきます。大して入れてないので、ほとんど被ってるでしょうが。

トラックバック - http://d.hatena.ne.jp/n00dle/20101117

2010-09-30

[]Google

15:26 | []Googleを含むブックマーク []Googleのブックマークコメント

はじめに

  • Google 日本語入力 - CGI API デベロッパーガイド

  •  

    結果がjson形式の配列で返ってくるが、変な場所にコンマがあって素直にjson.loads()が通らないのでre.sub()で除去。

    google.py

    トラックバック - http://d.hatena.ne.jp/n00dle/20100930

    2010-09-05

    []Yahoo!

    15:25 | []Yahoo!を含むブックマーク []Yahoo!のブックマークコメント

    Twitter OAuth

    BASIC認証廃止されましたね。

    アクセストークンの取得スクリプトが便利です。

    moyashi.py

    Yahoo!知恵袋→ Yahoo!形態素解析→ マルコフ連鎖

    参考

    トラックバック - http://d.hatena.ne.jp/n00dle/20100905

    2010-08-29

    []デスクトップにホームディレクトリの内容が表示される(Ubuntu10.04)

    15:41 | []デスクトップにホームディレクトリの内容が表示される(Ubuntu10.04)を含むブックマーク []デスクトップにホームディレクトリの内容が表示される(Ubuntu10.04)のブックマークコメント

    日本語でインストールするとディレクトリ名がカタカナで(「デスクトップ」「ドキュメント」等)、気持ち悪いのでリネームすると再ログイン時に、デスクトップにホームディレクトリの内容が表示されるようになってしまう。

    これを解消するには

    [cc]

    ~/.config/user-dirs.dirs

    [/cc]

    を編集して

    [cc]

    XDG_DESKTOP_DIR="hoge"

    [/cc]

    にデスクトップディレクトリの正しいパスを指定してやる。

    []pdf

    15:25 | []pdfを含むブックマーク []pdfのブックマークコメント

    2009年09月29日創刊の比較的新しい、アスキー・メディアワークス出版のUbuntu専門誌です。

    上記URLで良質な記事がCCライセンスで次号発売以降に公開されています。

    特筆すべきはカバーガールでVol.5までをリストアップしてみると

    vol.1: 小池 里奈(16歳)

    vol.2: 荒井萌(15歳)

    vol.3: 瓜生美咲(15歳)

    vol.4: 福原遥(11歳)

    vol.5: 橋本楓(13歳)

    と編集部のブレの無さがうかがえます。

    特にvol.4は福原遥ちゃんのグラビアまで載っていて、この号の編集後記は「はい、まいんクラスタのみなさん、こんにちは!」で始まります。

    新時代のロリコン雑誌ともいえます。これからもUbuntuユーザー=ロリコン(中学生がピークだよ派)という揺ぎ無い事実を世間に知らしめていってほしいですね。

    僕は大橋のぞみちゃんのグラビアを強く希望しています。

    トラックバック - http://d.hatena.ne.jp/n00dle/20100829

    2010-08-17

    []Gist.vim

    11:08 | []Gist.vimを含むブックマーク []Gist.vimのブックマークコメント

    gistを友人に進められて使ってみたが、細々したコード群を管理するのには本当に便利。ただ任意のリビジョンを消せないのが不便。デリート機能付けてくれないだろうか。

    Gist.vim

    vim上でソースコードをgistとやりとりできるplugin。

    インストール方法

    まずgitとcurlをインストール

    [cc line_numbers="off"]

    $ sudo apt-get install git-core

    $ sudo apt-get install curl

    [/cc]

    Gist.vimをダウンロード。

    後の設定は親切な人が書いてくれた以下の説明が詳しい。

    gitを使ったことがないのでconfigファイルの設定の部分は非常に助かった。

    [cc line_numbers="off"]

    1. Vim をインストールしておく

    2. "~/.vim/plugin" がなければ掘っておく

    3. mattn 氏作の Gist.vim を "~/.vim/plugin" にダウンロードする

    http://www.vim.org/scripts/script.php?script_id=2423

    4. github のアカウントを取得しておく ( 取っておいた方が後々便利 )

    5. github にログイン

    6. Account Settings の Administrative Information の Username と API Token をコピっておく

    7. $ git config --global github.user Username

    8. $ git config --global github.token API Token

    9. .vimrc に以下の行を追加

    let g:gist_clip_command = 'xclip -selection clipboard'

    let g:gist_detect_filetype = 1

    let g:gist_open_browser_after_post = 1

    let g:gist_browser_command = 'firefox %URL% &'

    10. vim 上でテキストを編集する

    ( ファイル名を指定して Vim を起動すればこのテキストのようにファイル名をつけることができる )

    11. :Gist コマンドで gist に post

    12. その他のコマンドは Gist.vim のページを参照

    http://www.vim.org/scripts/script.php?script_id=2423

    [/cc]

    http://gist.github.com/414330

    トラックバック - http://d.hatena.ne.jp/n00dle/20100817

    2010-08-16

    []Python

    07:08 | []Pythonを含むブックマーク []Pythonのブックマークコメント

    追記

    ※最新のコード(全文)はgistに

    http://gist.github.com/527326

    ログ取得

    定期的に近時190tweetsをログに保存

    [cc lang='python']

    import twitter

    api = twitter.Api()

    lists = api.GetUserTimeline('your_twitter_screen_name',190)

    tweets = ""

    for s in lists:

    tweets += s.text

    idfile = open('tweets.txt', 'w')

    idfile.write(tweets.encode('utf-8'))

    idfile.close()

    [/cc]

    Yahoo!の形態素解析API

    Yahoo!デベロッパーネットワークでアプリケーションIDを取得。形態素解析APIを利用。

    各パラメータ等はhttp://developer.yahoo.co.jp/webapi/jlp/ma/v1/parse.html参照。

    [cc lang='python']

    def yahooParse(self,tweets):

    pageurl = 'http://jlp.yahooapis.jp/MAService/V1/parse’

    results = 'ma'

    my_filter = '1|2|3|4|5|6|7|8|9|10|11|12|13'

    params = urllib.urlencode({'appid':self.appid, 'results':results, 'filter':my_f

    ilter, 'sentence':tweets})

    html = urllib2.urlopen(pageurl, params)

    return html

    [/cc]

    帰ってきた結果(html)をBeautifulSoupモジュールを利用してパース。分解された形態素と品詞のタプルを要素としてリスト生成。

    [cc lang='python']

    soup = BeautifulSoup(html.read())

    wordlist = [(w.surface.string, w.pos.string) for w in soup.ma_result.word_list]

    [/cc]

    マルコフ連鎖

    マルコフ連鎖でセンテンスを生成。文が不自然にならないように文頭から特定の品詞を除いている。文末は操作していないので改良の必要あり。1〜70回の範囲でランダムに連鎖する。

    辞書markovはキーに2語(w1,w2)のタプルをもち、それぞれ形態素とその品詞のタプルとなっている。値はリストで、辞書に同一キーが存在するときにそれに続く語がどんどん追加されていく。

    e.g.) markov = { ( (u'私', u'名詞'), (u'は', u'助詞') ) : [ (u'鳥', u'名詞'), (u'とても', u'副詞'), ...] }

    ロジックは以下のページと同じものである。こちらの説明のほうがわかりやすい。

    [cc lang='python']

    def makeMarkov(self,wordlist):

    markov = {}

    w1 = (u'', u'')

    w2 = (u'', u'')

    for word in wordlist:

    if w1[0] and w2[0]:

    if(w1, w2) not in markov:

    markov[(w1,w2)] = []

    markov[(w1,w2)].append*1

    w1, w2 = w2, word

    count1 = 0

    count2 = 0

    sentence = u"error:文頭に適切な品詞なし"

    while count1 < 50:

    w1, w2 = random.choice(markov.keys())

    poslist = [u'接尾辞',u'動詞',u'助詞',u'助動詞',u'特殊']

    if w1[1] not in poslist:

    sentence = w1[0] + w2[0]

    cnt = random.randint(1,70)

    while count2 < cnt:

    tmp = random.choice(markov[(w1,w2)])

    sentence += tmp[0]

    w1, w2 = w2, tmp

    count2 += 1

    return sentence

    break

    return sentence

    [/cc]

    このsentenceをtweet。

    [cc lang='python']

    api = twitter.Api(self.screen_name,self.password)

    api.PostUpdates(sentence)

    [/cc]

    参考

  • MeCabとPythonでマルコフ連鎖を書いてみる(改) | Weboo! Returns.
  • PythonからYahoo!形態素解析APIを使う - 人工知能に関する断想録
  • *1:word[0], word[1]

    2010-08-12 T/O このエントリーを含むブックマーク このエントリーのブックマークコメント

    T/O

    トラックバック - http://d.hatena.ne.jp/n00dle/20100812

    2010-08-10

    []ついったん(@twittan)のように受信したDMをTweetするPythonスクリプト

    03:08 | []ついったん(@twittan)のように受信したDMをTweetするPythonスクリプトを含むブックマーク []ついったん(@twittan)のように受信したDMをTweetするPythonスクリプトのブックマークコメント

    追記2

    gistに最新のコードがあります。

    http://gist.github.com/534705

    WordPressでソースコードを表示させる

    はてなダイアリーからWordPressに移転させて、はてダで最も重宝していたスーパーPre記法の代わりを探す必要が出てきた。

    とりあえずCodeColorerというPluginがよさそうだったのでインストール。

    フォントが見づらかったので、cssを編集してフォントを「Monaco」から「Courier」にした。

    [cc line_numbers="off"] /wp-content/plugins/codecolorer/codecolorer.css [/cc]

    CodeColorerのテスト

    ついでに最近コードを書いていなかったので、任意のアカウントで受信したDMをそのままTweetするPythonスクリプトを作ってみた。

    もし利用することがあれば、当然DMを送った人はそれをTweetされるとは思っていないので、普段利用しているアカウントでは実行してはいけない。

    ついったん(@twittan)のように専用のアカウントを作ってbioに明示するか、認証したユーザーからのDMのみTweetするといいかも。

    tweetDM.py

    python-twitterモジュール使用

    [cc lang="python"]

    import time

    import re

    import twitter

    class tweetDM:

    def __init__(self, account, password, id_file, user_file):

    self.api = twitter.Api(account, password)

    self.id_file = id_file

    self.user_file = user_file

    def readFile(self):

    idfile = open(self.id_file, 'r')

    latest_id = int(idfile.readline())

    idfile.close()

    return latest_id

    def writeFile(self, status_id):

    idfile = open(self.id_file, 'w')

    idfile.write(str(status_id))

    idfile.close()

    def getDM(self):

    latest_id = self.readFile()

    dms = self.api.GetDirectMessages(since_id = latest_id)

    messages = []

    if dms:

    status_id = dms[0].id

    self.writeFile(status_id)

    usrfile = open(self.user_file, 'r').readlines()

    user_list = [user[:-1] for user in usrfile]

    for s in dms:

    if s.sender_screen_name in user_list:

    messages.append(s.text)

    return messages

    def main(self):

    messages = self.getDM()

    if messages:

    for s in messages:

    self.api.PostUpdates(s)

    time.sleep(15)

    if __name__ == '__main__':

    account = 'your_twitter_screen_name'

    password = 'your_twitter_password'

    id_file = 'latest_id.txt' #最後に取得したDMのstatus_id

    user_file = 'user_list.txt' #許可するユーザー(screen_name)

    obj = tweetDM(account, password, id_file, user_file)

    obj.main()

    [/cc]

    トラックバック - http://d.hatena.ne.jp/n00dle/20100810

    2010-08-09

    []WordPress

    15:24 | []WordPressを含むブックマーク []WordPressのブックマークコメント

    ブックマークとRSSボタンを簡単に作れるサービス「AddClips」で生成したコードを自動でヘッダに貼り付けたり、

    AmazonAssociatesやGoogleAdsenseのコードを個別ページのフッタに貼り付けたりしたい。

    この時は記事を生成するphpファイルを編集するすればいい。

    場所は記事一覧ページの場合…

    [cc line_numbers="off"]  /wp-content/themes/テーマ名/index.php [/cc]

    個別ページの場合…

    [cc line_numbers="off"]  /wp-content/themes/テーマ名/single.php [/cc]

    コメントや、id、class名を参考に、表示させたい位置にコードを書き加える。

    トラックバック - http://d.hatena.ne.jp/n00dle/20100809