静岡ナビっちRSSを作ってみた

静岡ナビっちにはRSSが用意されてないので自分用に作った。今までは一昔前のポータルっぽくて興味なかったんだけど、「今度行きたい」タグ付けして自分のリストを管理できる機能が気に入ったので使ってみようかなぁと。

あと、食べログは投稿のクオリティーがアレだから参考にならんしなと。ネガティブなコメント多すぎ。

考えてくと、ローカルに集中した(食べログよりも)密度の高い新着情報の提供はなかなか強みを発揮するのかな。ローカルのクーポンサイトも地元のNPOがやればいいんじゃないのか?クーポンシステムだってオープンソースのやつが存在してもいい気がするが。フラッシュマーケだって利益を出すってよりは、確実に顧客に届く広告って考えればいいもんね。

from pyquery import PyQuery as pq
import feedgenerator
from dateutil.zoneinfo import gettz
from datetime import datetime

rss_file = '/myrss/shizunavi_news.rss'

link = 'http://www.shizuoka-navichi.net/shop/?search_news=on'
title = '静岡ナビっち! 新着情報'
tz    = gettz('Asia/Tokyo')
feed = feedgenerator.Rss201rev2Feed(
    title       = title,
    link        = link,
    feed_url    = u'http://www.kzfmix.com/myrss/shizunavi_news.rss',
    description = u'静岡ナビっち! 新着情報の非公式フィード',
    language    = u'ja'
)

shizunavi_abs_url = 'http://www.shizuoka-navichi.net/shop/'

d = pq(url=link)

for item in d('div.box-shop'):
    shop_name = pq(item).find('div.info > h3').text()
    shop_link = pq(item).find('div.info > h3 > a').attr('href')
    guid = shop_link
    shop_abs_url = shizunavi_abs_url + shop_link
    info = pq(item).find('div.info').html()
    pubdate = datetime.now()
    #    print shop_name, shop_link
    feed.add_item(
        title       = shop_name,
        guid        = shop_link,
        link        = shop_abs_url,
        description = info,
        pubdate     = pubdate.replace(tzinfo=tz)
        )

with open(rss_file,'w') as f:
    f.write(feed.writeString('utf-8'))

今日の畑(110628)

大きくなっていたので収穫。残念なことにナスのレーンは間違いなく連作障害だったので処分してオクラゾーンにする。

1309259589

これは後2,3日かな。

1309259591

ミニトマトが2つとズッキーニを2本収穫

1309259593

料理本を見ながら美味しそうなレシピがないかなと探す。

ProductName ビオファームまつき 畑から届いた採れたて野菜レシピ
松木一浩
学研パブリッシング / 1575円 ( 2010-09-29 )


5つの、シンプルでありながら複雑かつ意味深い問い

サラリーマン研究者は資本主義社会においては労働力というサービスを提供する商品にすぎないが、一方で知識資本社会においては、自分で自分の知識資本をもとに経営する一種の経営者である。

つまり我々は知識資本の経営者としてドラッカーの5つの問いかけに答えなければならない。

  1. われわれのミッションは何か?
  2. われわれの顧客は誰か?
  3. 顧客にとっての価値は何か?
  4. われわれにとっての成果は何か?
  5. われわれの計画はなにか?

ProductName 経営者に贈る5つの質問
P.F.ドラッカー
ダイヤモンド社 / 1575円 ( 2009-02-20 )


  • 計画とはその都度のものではない。うまくいくものを強化し、うまくいかないものを廃棄していくという連続したプロセス
  • 組織には二種類の顧客がいる。活動対象としての顧客とパートナーとしての顧客
  • どれだけ利益をあげたかよりも、どれだけ大事な顧客をつかんだかのほうが大切
  • 計画とはゴールをアクションプランに翻訳するものである

PythonでPythonを動かす

PyPyじゃなくてsubprocessで。

import subprocess
import sys
args = (sys.executable, "-mSimpleHTTPServer")

print subprocess.call(args) == 0

blosxomのアーカイブをSQLiteに入れた

blosxomで書いてた2004年位からの1200くらいのエントリを取り込んでおいた。SQLite便利。山登りとスノーボード再開したいなぁ。

書評

仕事

chemoinformatics

フェス

釣り

snow board

curry

japanese

ramen

soba

trecking

金融危機後の経営、経済、政治、新興国、技術、環境、イノベーションをめぐる新しい現実とは何か?

28の論文がまとめられている。何人かの著作は読んだことがある(行動経済学とかスモールワールドネスとか)

株主資本主義ってのはどうなるんだろうねー。

  • 何故過去の労力(資本)が、現在の労働力(社員)よりも優先されなければならないか?
  • 株主資本主義はもはや社内の共感を呼ぶ考え方ではない。

っていう問いかけが非常に印象的であった。労働力は結局商品だからいいとして、知識資本はやっぱ自分のものであって、それに対応する対価はあっていいと思うんだよなぁ。成果主義とかはやはり自分の中では納得できなくて、自分の労働力の値段付けは自分で行いたいと思うのですよねー。

ProductName 大前研一の新しい資本主義の論点
大前 研一
ダイヤモンド社 / 1680円 ( 2010-08-06 )


  • 行動経済学によると、共同作業には人間関係や機能の面で多くの利点があるものの、倫理にもとる行動が生じやすい
  • 経済回復でなく新しい経済を発明する
  • シルバー市場
  • フロンティアとは、場所を意味するのではなく、その境界が広がったり狭まったりすることで、人々や組織がこれに適応し変化するプロセス
  • 流動化が高まれば高まるほど、ロケーションの影響力が決定的になる

プレゼンの心構え

スライドの見せ方はプレゼンテーション Zenを読めばよい。こっちは準備を入念にとか心構えとか話し方の本。少人数の会議を成功させるためにどうすればよいかとか。

PREP方式

  • 観点
  • 理由
  • 実例
  • 観点

ProductName ブライアン・トレーシーの 話し方入門 ー人生を劇的に変える言葉の魔力
ブライアン・トレーシー
日本実業出版社 / 1365円 ( 2008-07-17 )


  • 結末から考える
  • 5 x 5 のルール
  • この会議がうまくいったらどんな結果になるだろうか?
  • 全員が無言で賛成するような議題は皆何も考えていない(ので失敗する)

JavaScript: The Good Parts読書会(6章,8章)

行ってきた@富士のコミュニティf

配列かどうかの判定(6.5)

タイプがobjectで且つコンストラクタがArrayであるかという判定法ではグローバルオブジェクトで作成された配列を識別できない。

そこで次のような判定の関数を定義している

var is_array = function (value) {
    return value &&
        typeof value === 'object' &&
        typeof value.length === 'number' &&
        typeof value.splice === 'function' &&
        !(value.propertyIsEnumerable('length'));
}

さて、この判定でtrueを返すような配列じゃないオブジェクトを作りたい。

読書会の時にはlengthプロパティを設定しつつ列挙不可能な状態にする方法がわからなかったが、朝プリキュアを見てたらふとプロトタイプチェーン上にlengthプロパティをおけばいいじゃんと気がついた。

var fake_ = {'length':3 };

var fake_array = {};
fake_array.__proto__ = fake_;
fake_array.splice = function() {
    return 'Hello World';
}

console.log(is_array(fake_array));

これはtrueを出力する

applyの分かりやすい適用事例(8)

apply,callはthisに値を自由にセット出来るので継承に頼らなくても自由にメソッドを実行出来るということだが、実例としてはどういう場合に使われているのかという話になった。自分は再帰でつかったくらいしかなかったなあとちょっと調べてみた。

他のライブラリなんかにある便利メソッドを自分のオブジェクトでちょっと利用したいって時か、(ライブラリ開発者が)コントロールできないユーザーのオブジェクトにメソッドを注入したいとかそういう時に使うのかな。

ProductName JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス
Douglas Crockford
オライリージャパン / 1890円 ( 2008-12-22 )


おやつと懇親会

おやつは杉山フルーツの生ゼリー

1309047478

懇親会はうお菜

1309047481

PyPIデビューした

去年からダラダラと作っていたPythonのGAMESSラッパーをPyPIにあげてみたけど、初めてなので、なんかおかしい部分があったら指摘してもらえるとありがたいです。

登録は以下のサイトを参考にした

実際にやってみて分かりづらかったところはやっぱライセンスかなぁ。逆にclassifierのところはlist見ながら該当する部分をコピペしてけばいいだけだったので思っていたよりは楽だったな。

ProductName エキスパートPythonプログラミング
Tarek Ziade
アスキー・メディアワークス / 3780円 ( 2010-05-28 )