ダンボール掘ってみた(7)

ジェフミルズ ああジェフミルズ ジェフミルズ

1295003312

ProductName スリーパー・ウェイクス
ジェフ・ミルズ
Third-Ear JPN Ltd. / 2389円 ( 2009-12-09 )


Flaskでrobots.txt

Yetibotうざいっす。あと404でるのでrobots.txtのほうもちゃんと書いておいた。

@app.route("/robots.txt")
def display_robots_txt():
    return app.send_static_file("robots.txt")

Flaskでfavicon.ico

MLに流れてた。

app.routeでそれ用のを書く

@app.route("/favicon.ico")
def favicon():
    return app.send_static_file("favicon.ico")

または、メタ情報として書いとく

<link rel="shortcut icon" href="{{ url_for('.static',filename='favicon.ico') }}" />

自分で使うとしたら後者かな

追記 11.01.25

後者だとクローラーがやってきては404を残していくのでapp.routeで書いておくほうがいいかな

「なんちゃって育児休暇でパパ修行」を読んだ

文京区長が2週間休暇をとったっていう話。

賛否両論あるらしい。てか、あんのか? 子供は未来への投資以外のナニモノでもないと思うんだよなぁ。

「ニッポンの母」を名乗る女性からは僕が「育休」をとることに対して「女々しい」と書かれていました。(中略)この手紙を書いた「ニッポンの母」さんも、介護が必要になるかもしれません。そして、もしこの方の息子さんが介護休暇をとって身の回りの世話をしに来たら「女々しい」と言うのでしょうか?

ここはささる。っていうか出来すぎなのでつくり話と思いたい。僕らは次の世代に何を残すんだろうね。

あと、育児休暇っていうネーミングが良くないというのは賛成だ。休暇というよりは、より優先度の高い仕事に従事するわけだからな。そもそも、会社で働くのが一番重要なタスクという認識が間違いであろう。

  • 批判のなかでもっともこたえたのは「保育園の待機児童問題を解決してから休め」というもの
  • ノルウェーの「パパ・クォータ」という制度
  • キャリアロスはきっと取り戻せる

キャリアロスとかよくわからん。減点方式で自分の人生考えてもしょうがないんじゃないかな。

ダンボール掘ってみた(6)

数え足りない夜の足音は名曲だと。

1295003271

二枚目が好きで一枚目はあんま聴いてない。

ProductName Illuminate~the very best songs~
UA
ビクターエンタテインメント / ?円 ( 2007-11-08 )


JavaScript: The Good Parts読書会の資料はもちろんJavascriptで作るわけですが

1章だけ作ってみた。

Javascript読書会(第一回)

yaml+markdown形式のHTMLプレゼンテーションをgitで管理すると幸せになれるし、githubとかでシェアもしやすくなるんじゃないかなぁ。スライドシェアはスライドのシェアだけど、yamlのシェアはもっとソースに近いところのシェアだよね。

HTMLスライドってかなり表現力が豊かになる気がする。ニコニコスライドみたいなスライドにコメントを残せるような表現方法あればもっといいのに。まぁ論文にも必要だけどね。

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


2章の鉄道ダイアグラムって丁寧に見ていくと新たな発見がどんどん出てきて深い。

今回は3章までやる予定ですが、まだ、若干名空きがあるようです。今回が初参加のヒトが何人かいるみたいなので静岡東部あたりで「どうしよっかなー」と迷っているヒトは参加されるといいと思う。僕も一年くらい前に「お、静岡で関数型言語の読書会やるのかー!」と参加してみたわけですが色々刺激があって楽しいです。地域グループってのは東京までノソノソ出かけていくのとは違った面白さがあると思っている。

第1回JavaScript読書会

「弱い紐帯」ってのは自分の人生に置いて強い影響力を持つのかなぁと思う今日この頃。

ダンボール掘ってみた(5)

この曲いいですよね、といってもあんま賛同されないが。

1295003354

就職した先の寮の近くの北浦和のレコ屋(disk unionだっけ)で購入したのは覚えている。

この頃、drum'n'bassが面白くなってあんま聴かなくなっちゃったんだよな。

ProductName TRICK ART
キエるマキュウ
ファイルレコード / 2793円 ( 2000-11-30 )


北浦和から王子まで京浜東北線揺られたなぁ。たまに埼京線のると地獄やったな。

「ライフログ入門」を読んだ

まず最初に、所謂入門を読みたければライフログのすすめを読むべき。

または著者の連載楽しめたら買えばいいと思います。

結局のところライフログというのは自分自身を知りたいという欲求からくるもので、それは極めて個人的なものであり、本人が重要視しているものを他人が同じように重要と思うかはわからない。そういう意味で本書は美崎薫さんのライフログの実践を通して、自分にとって役に立つヒントを得るための本である(と僕は解釈している)

なので、少し片足突っ込んでいる状態でないと面白くないかも。

ProductName ライフログ入門
美崎 薫
東洋経済新報社 / 1575円 ( 2010-12-24 )


  • ライフログとは、この月並みで特徴の見つけにくい凡庸な記録の山をヴィンテージの宝物に変える技術である
  • ライフログとは、ログをとれるセンサー機器と蓄積できるストレージの発達によって生まれた様々な人生の断片を組み合わせて活用する作業であり、活用可能な状態のログをいう
  • ライフログの大部分の記録は、この単調で日常的な情報である
  • ライフログがブームになりにくい大きな理由は二つあると考えられる。ひとつは、プライバシーの問題であり、もうひとつは何がライフログかという定義があいまいなのでサービスしにくいということである
  • パーソナルライフログの目的は何を知っているか知らないかを知ることであり、人生についての新しい知見を得ること
  • 世の中にはバナナのシールを集めるコレクターもいるのだそうだから、なにをもって自分らしく生きるかなんてことは、自分で考えればいい

feedparserとfeedgeneratorを使ってRSSを加工する

職場でオープンソース版「Fastladder」を入れて使っている。

最近、最も保守的だと言われている知財の部署からエラー報告や、要望とかがちょくちょく寄せられるようになってきて、おー結構普及したなぁと延べ人数数えたら7割超えてた。Fastladderの前に一年くらい違うRSSリーダー使ってから3年半くらいかかってここまで来た感じ(RSSごときで3年もかかんのか?なんて思うんだけど、一般的に製薬業界はITリテラシー低いですね。なんでだろうかね?)。

地道な啓蒙活動に付き合って講習会を手伝ってくれたK君とかN君とか、別のサイトで普及活動に励んでくれたA君に感謝しないとな。

さて、登録されてるフィードの内容見てるとPubmedWIPOのPatentscopeが多いが、知財のヒトからエラー報告として挙げられた内容の中に400件くらいエントリのあるフィード(WIPO)を新規登録できないってのがあった。

研究者はプロジェクトの内容で検索かけるのだけど、知財のヒトは会社毎の検索式を追いかけたりするらしい。例えばPA/TAKEDA PHARMACEUTICALなんて検索かけると700件以上ヒットして、その検索式をRSSにすると500件のエントリが含まれるRSSが出力される。これがfastladderだと新規登録で弾かれる。ちなみに研究者の検索する状況ではそんな多量のエントリーの含まれるフィードは出てこなかったりするので今まで問題にならなかったみたい。

ソース見てないからわかんないんだけど、fastladderの未読記事のmax200件にしてるからそれで引っかかってんのかなぁと

んだよWIPOのRSSはmax指定できないの?->できないっぽい

とりあえず、feedのエントリ数を減らすような中継かませばいいんじゃないかと、休日を利用してササッと書いてみた。

import feedparser
import feedgenerator
from time import mktime
from datetime import datetime

MAX_ENTRIES = 10
wipo_url = "http://www.wipo.int/pctdb/en/rss.jsp?C=1&QUERY="
query    = "(FP%2FPA%2FTAKEDA+AND+FP%2FPHARMACEUTICAL)"

d = feedparser.parse(wipo_url+query)

feed = feedgenerator.Rss201rev2Feed(
    title       = d.feed.title,
    link        = d.feed.link,
    feed_url    = d.url,
    description = d.channel.description
    )

for entry in d.entries[:MAX_ENTRIES]:
    feed.add_item(
        title       = entry.title,
        link        = entry.link,
        description = entry.description,
        pubdate     = datetime.fromtimestamp(mktime(entry.updated_parsed))
        )

print feed.writeString('utf-8')

あとは、CGIかFlaskで動かせばOKでしょう。

pubdateのとこで若干はまったけどsofのパワーで解決。

今は、イントラQAサイトを定着させるのにちょっと力を入れてる。

プログラミング Google App Engineを予約した

欲しかったので即予約。

ProductName プログラミング Google App Engine
Dan Sanderson
オライリージャパン / 3570円 ( 2011-01-24 )


今年はGAEで幾つかつくろうと思っている。