「現代経済学の直観的方法」書評

恥ずかしい話なんだけれど、僕は昔、といっても高校を卒業するくらいまで、経済がどうして成長するのかが直観的に理解できなかった。
人が店で物を買う、店はまた別の企業から商品を買い、企業は人を雇って(労働力を買って)商品を作る。その流れだけを見れば、お金はただ単にいろいろな企業と人の間を回っているだけで、経済の規模がどんどん大きくなっていくような余地はどこにも無いように見えたから。


「経済が何故成長するのか?」という疑問に対する答えを言ってしまえば、利子の付いた借金があり、それがいろいろな設備投資の形で世の中にバラまかれる、そしてその過程を多くの人がくり返すことによって、世の中にあるお金の総量がどんどん増えていくという仕組みになっているのだ。でも、その単純な構造が直観的に腑に落ちたのは、大学生になってからだったように思う。学校の社会科や政治経済の科目を勉強して経済の用語はひととおり知っていて、新聞の経済欄や論説にも目を通していたにも関わらず、だ。


日本の長期のデフレや金融危機など、経済と金融というものが現代の社会の中で重大な問題となっていることは分かっていても、肌感覚として明確なイメージが抱けない、個々の現象としては理解できても本質的な後ろにある原理が分からない、そういう落とし穴みたいなものが経済分野には多いように感じる。(例えば僕が分からなかった利子と経済成長の関係のように)


前置きが長くなったけど、「現代経済学の直観的方法」は、そういう"経済とは何か"という疑問にズバリ真正面から答えてくれるすごい本だった。

この本の一番面白いところは、経済を成長させるためではなく、経済を遅くすることができないか、という観点から書かれているところ。 むしろ経済の成長を遅くできないという特徴が、現代の社会の様々な問題を引き起こしているという視点は興味深い。

通常の経済の解説書は、色彩の差はあっても結局は「いかに経済を繁栄させるか」という主題を巡って記述がなされている。

それに対して本書は全く正反対に「成長を続けて止まれない資本主義経済をどうすれば遅くできるか」という主題を設定し、いささか天の邪鬼な視点で裏口から現代資本主義のメカニズムに迫ってみようという方針をとる。

読者にも経験はおありと思うが、今まで何度読んでもわからなかった問題が、逆の視点から見ると実にあっさり把握できるということは稀ではなく、本書はその方式の利点を最大限に活かす方針をとっている。 (P.8)


特に印象に残ったのが、利子というものが受け入れられるようになった歴史。借金が経済の表舞台に立つようになったのは、比較的近代になってからのことであり、それ以前は農村経済は定常状態の中にあったのだという。では、どういう経緯によって借金と投資が社会に受け入れられたのかは本書に譲るけど、この2, 3世紀くらい、経済の規模が指数的に拡大し続けたことは、もしかすると人類の歴史からすると、異常状態なのかもしれない。

しかし私としては、ここで一つ経済学者から見れば気違いじみていると見えるような見解を提出してみたい。すなわちそれは「資本主義とはその外見とは裏腹に、実は最も原始的な社会経済システムなのであり、それ以上壊れようがないからこそ生き残ってきたので
はないだろうか」ということである。
実のところ現代資本主義社会とは高度なテクノロジーと弱肉強食の金貸しの理屈をるつぼで混ぜて作った合金のようなものであり、いわば未来性と野蛮性の奇妙な混合物である。そのためどちらに注目するかでしばしばその見方は180度変わってしまうことになるのである。

実際もし後者の野蛮性の部分にもっぱら光を当てた場合、例えば金貸しなどというものが人類最古の職業であって、少なくとも中世までは人類がその英知を傾けて抑え込もうとしたものだったということなどがどうしようもなく浮かび上がってくる。
(p.45-46)

卑近な金儲けや投資の話ではなく、経済を人間の欲望のせめぎ合いに基づいたダイナミックな社会システムの中の論理として捉えたい人におすすめの本。



ちなみに、こちらから第一章が読める。
http://book.motion.ne.jp/

追記

この本は、全体を通して「経済を遅くするためにはどうしたらいいか」という問題意識から書かれている。
しかし、その方法を扱った第七章については、具体的な政策とは言いがたく、はっきりいってお手上げなのではないかと感じた。
著者は比喩を使って語ることは上手なのだが、比喩へ写した後の操作を「解決法だ」と言われると、まるで「この人形の皮膚は塩化ビニールでできているから、塩化ビニールの重合反応を観察すると火傷の治療法が分かる」と言われているような気分になってしまう。

kindle3レビュー

kindle3を購入したのが、手元の記録だと確か9月の頭。
購入して以来すっかりはまってしまい、これまでほぼ一日欠かさず使っている。紹介するには多少旬が過ぎてしまったようにも思うけど、特に日本の英語学習者にとってはかなりオススメなデバイスだと思うので、しばらく使い込んだ今の時点でのレビューを書いてみようかと思う。

目次

  1. ハードウェア/ソフトウェアと全体的な使用感について
  2. kindleというサービスについて
  3. 無料本ソースと使い方について
  4. その他、有用なkindle連携サービスについて
  5. 自分のkindleの使い方について。特に英語学習の観点から

1. ハードウェアについて
まずは、kindleの画面であるE-inkについて。他の方の、多くのレビューでも上げられているけど、「kindleの画面に使い方を説明したシートが張られているのかと思った。」 E-inkの画面は、眼を近づけても液晶のようにドットが見えず、まるで印刷物のように綺麗。こればかりはPCのディスプレイを通して見るのでは分からないから、一度現物を見てみるとよいと思う。
発光もせず、ドットも見えないkindleを使い慣れると、バックライトで発光する液晶を長時間見つめていることがいかに眼に負担を掛けるか分かった。ページを進める時に一瞬全体が黒く反転する(これがないと書き換え前の文字がうっすらと残ってしまう)という問題はあるけど、慣れればそれほど気にはならない。

バイス自体に対する不満点はもちろんある。5-way controllerの中央のボタンとエンターキーの違いなど、iPhone的なマルチタッチUIに慣れてしまった人間からすると、細かい所でaffordしていない*1ように感じる。自分も慣れるまではかなり使いづらかったように思う。また、大量の本を保存できる割に、検索や管理機能はあまり使い易いとは言えない。特に、PCからファイルを大量に転送した時、一つ一つCollection*2に追加するのは手間がかかる。

また、値段は少し高く感じる。純粋に本を読むためだけの道具と考えると、100ドルを切るくらいの値段であってほしい。自分はガジェットオタク的な関心から買ってしまったけど。それでも、全体的な感想としては、ちゃちな作りではあるけど不満なほどではない。むしろ、昔ながらの文房具を使っているようで、僕としてはなかなか好き。さらに、後で書くつもりだけど英語の学習ツールとしては非常に良くできているので、英語を勉強している人は是非買うべきだと思う。


それはさておき、MacBook Air 11インチ欲しい!……*3

*1:ボタンに対応する機能がすぐに分からない

*2:タグのようなもの。一つの本を複数のCollectionに登録できる。

*3:このキャンペーンに応募したかったけどそれだけでエントリを立てるのはシャクだったのでこれを書いたのは内緒。

Twitterのフォロワーをmechanizeを使って取得する

Twitterのfollower数の増減を数えたいと思った。最初はapiを使うつもりだったけど、follower数が多いせいかうまくいかなかったので、mechanizeを使ってスクレイピングするスクリプトを書いた。

以下ソース

ソース

#!/usr/bin/env python
#-*-coding:utf-8-*-

import re
import time

import mechanize as mc

from progressbar import *

URL = 'https://twitter.com/'
USERNAME = "USRENAME"
PASSWORD = "PASSWORD"

class FollowersCounter(object):
    def __init__(self, user, password):
        self.followers = []

        self._user = user
        self._password = password
        self._br = mc.Browser()
        
        self._br.set_handle_robots(False)
        #self._br.set_debug_http(True)
        self._br.open(URL)
        self._br.select_form(nr=1)
        self._br["session[username_or_email]"] = self._user
        self._br["session[password]"] = self._password
        self._br["remember_me"] = ["1"]
        self.res = self._br.submit()
        print "HTTP status code: " + str(self.res.code)

        self.num = self._count_followers()
        
    def check(self):
        print 'Followers : ' + str(self.num)
        #pages = (num%20 == 0) and num/20 or num/20+1
        self.pb = Progressbar(self.num)

        p = re.compile(r'<span class="label screenname">.*?</span>')
        p2 = re.compile(r'<.*?>')

        res = self._br.open(URL + "followers")
        body = res.read()
        pgcount = 0
        
        while(True):
            for m in p.finditer(body):
                s = m.group()
                self.followers.append(re.sub(p2, "", s))
            pgcount += 20
             self.pb.progress(pgcount)
                       
            try:
                req = self._br.click_link(text_regex=r"Next .+")
            except mc.LinkNotFoundError:
                break
            
            res = self._br.open(req)
            body = res.read()
            time.sleep(5)
            
        st = set(self.followers)
        if not len(st) == self.num:
            print "Something wrong happened!"

        f = open('following.txt', 'w')    
        for u in st:
            f.write(str(u) + '\n')
            
    def _count_followings(self):
        res = self._br.open(URL + "following")
        body = res.read()
        p = re.compile('<span>You follow \d+ people')
        m = p.search(body).group()
        
        return int(re.search('\d+', m).group())

    def _count_followers(self):
        """
        follower数と実際に取得したユーザ数が違う場合のためのデバッグ用
        """
        res = self._br.open(URL + "followers")
        body = res.read()
        p = re.compile('<span>Your \d+ followers')
        m = p.search(body).group()
        
        return int(re.search('\d+', m).group())
    
if __name__ == '__main__':
    fc = FollowersCounter(USERNAME, PASSWORD)
    fc.check()

プログレスバー

#!/usr/bin/env python
#-*-coding:utf-8-*-

import sys

class Progressbar(object):
    """progressbar on consol
    """

    def __init__(self, finalcount, block_char="*"):
        self.finalcount = finalcount
        self.block = block_char
        self.blockcount = 0
        self.out = sys.stdout
        if not self.finalcount: return
        
        self.out.write('\n------------------- %Progress -------------------1\n')
        self.out.write('    1    2    3    4    5    6    7    8    9    0\n')
        self.out.write('----0----0----0----0----0----0----0----0----0----0\n')

    def progress(self, count):
        count = min(count, self.finalcount)
        if self.finalcount:
            percentcomplete = int(round(100.0*count/self.finalcount))
            if percentcomplete < 1: percentcomplete = 1
        else:
            percentcomplete=100
        blockcount = int(percentcomplete//2)
        if blockcount <= self.blockcount:
            return
        for i in range(self.blockcount, blockcount):
            self.out.write(self.block)
        self.out.flush()
        self.blockcount = blockcount
        if percentcomplete == 100:
            self.out.write('\n')

if __name__ == '__main__':
    from time import sleep

    pb=Progressbar(8, '*')
    for c in range(1,9):
        pb.progress(c)
        sleep(0.2)

一応動くことは動くけど、大したエラー処理をしてないので動作中にフォローorリムーブされると取得漏れが出るみたい。(だけどあまり速く動かしすぎてもtwitterから怒られてしまう) フォロワーが多いと少し完了するまでに時間がかかります。ちなみに、プログレスバーを表示させる部分はPythonクックブックから取りました。

ザックリとしたスクレイピングをするだけならmechanizeは便利ですね。

戦略とは希望のことである

ジョブズのプレゼン本を読んだ。本を読みながらふと浮かんできたのが上のフレーズ。

The Presentation Secrets of Steve Jobs: How to Be Insanely Great in Front of Any Audience

レビューをしつつ、つらつらと語ってみようと思う。戦略とは、世界を、自分の思うように変えたいと思う希望のことなんだと思う。自分は、今iPodiPhoneMac miniを持っていて、日常的に使っている。それのどれを使っていても、ある一つの方向に向かった、明確な思想・明確な希望を感じる。多分それは、ジョブズ自身の思想であり、うまく言えないけど「ありとあらゆるコンテンツがデジタル化される社会における、ハードウェア・ソフトウェア・デバイスの新しい形を提示する*1」ことにある思う。だからこそ、提示された「希望」の形自体に対する、崇拝か拒絶かの二者択一的な、激しい感情的な反応を引き起こすんだと思う。つまり、剥き出しのスティーブ・ジョブスという人間自体に対する好き嫌いなんだろう。

この本に書かれていることは、たしかにタメにはなるだろうけどそれほど目新しいことでもない。問題の解決方法を示す前に、問題自体を理解させること。数値はなるべく具体例に即して説明すること。なるべく平易で、短いフレーズを使うこと。視覚的なプレゼンをする。など。本の内容をまとめるだけなら多分数ページで済むだろうし、多分卒論程度の発表ができた人なら、この本に載っている程度のことは教えられたり、自分で気付いたりしてるんじゃないかと思う。それでも、この本を通して著者が伝えたかったことというのは、小手先のプレゼンテクニックではない。ジョブズにとっては、maciPodiPhoneですら、本当に作りたかったものではないし、ましてやプレゼンなんて一つの手段でしかない。ジョブズが作りだすありとあらゆるものは、彼の希望を実現するための通過点でしかないんだろう。


自分は昔から、やたらとhow toだけは上手い人間だった。そういう人間は、ともすれば目先の問題を上手くこなすことだけにひたすら目を奪われてしまい、気がつけばとんでもないアサッテの方向へ進んでいってしまっていることがある。その先は崖かも行き止まりかもしれないのに、ともすれば単に前に進んでいることだけに満足してしまうおそれがある。what to = 希望 = あるべき姿・進むべき方向 を明確にしている人にとっては、how toは問題ではないし、それこそ問題を解く方法なんていくらでもある。

たぶん、この本を読めば良いプレゼンはできるだろう。でも、ジョブズのように素晴しいプレゼンはできないのではないかと思う。

そのときフラーは、若者が学習する場合の4つのプロセスについて話してくれた。(1)まず興味を教わることはできないから自分で「発電」しなくてはいけない。「発電」という動機付けはけっして教えられない。
http://www.mammo.tv/interview/archives/no210.html

もう一度言う。技術は必要があればいくらでも学ぶことができる。でも戦略=希望だけは他から持ってくることはできない。他人から学ぶこともできない。じゃあ自分はどーすんだって話ですが、やっぱりどうせやるんだったら自分が好きなこと、熱中できることをやりたい。

僕は(あなたも)ワルクナイヨワクナイ

問題の原因を、(自分も含めた)誰かのせいにして断罪するのを止めたい。


よく、弱音を吐くと「自分がうまくいってないことを、人のせいにするな」といわれることがある。だけど、あらゆる問題の原因を個人個人の属性としてしまえば、<社会>に適応できない人間がクズであり治療するべきなのであって、社会システムの側には何も解決すべき問題はないということになる。<社会>は真のユートピアだ。自分はこれまでそうやって「自分のせい」にして生きてきた.うまくいってるうちは良くても、一度物事がちゃんと運ばなくなったときには、それはすごく苦しい。

だけど、社会って何も問題のない、無謬なもんじゃないだろ? 人のせいにすることを禁じられ、あらゆる問題を自分の責任にすることをされた人は、どんどん自信を失ない、何の行動もできない、本当のダメな人間になっていく。


だからこそ、一旦は他人のせいに,社会のせいにするべきだと思う.

自分の外部に本当に原因があるんだったら、それを変えるなり避けるなりの努力をすればいい。そうでなくても、自分のせいにして延々とやる気を失なうネガティブな袋小路に入るよりはぜんぜん生産的なはずだ。問題に陥った原因を一つ一つ切り分け、個人と社会のどちらに属するのかを見極めていく必要がある。

そのための方法として、動けなくなってしまった自分を救う方法として、社会の側へ責任を押しつける方法は有効なはずだ。(逆に、あらゆる問題を社会の側へ押しつけて、それに適応できない自分に何の問題もないと考えるのも、究極的にはテロしか生まない不毛な道だとは思うけど。)


社会がクソであるとしても、自分がクソであるとしても、そのクソ社会のなかでクソ自分が生きて行かなければならないことはどうにも変わらない。過剰な自己責任に悩むこともなく、クソな社会の中でクソな自分が生きていく方法、それを探していくべきだ。


そういう考えのもとで、自分が気持ち良く生きていける方法を模索していきたいです。

英語のボキャブラリーが測定できるサイト5つ

よく疑問に思うのですが、英語の語彙力強化の方法などが取りあげられるときに、その方法は一体どのレベルの人を対象としているのかまったく明記されておらず、かなり高レベルな方法が薦められていることがあり、結果としてその方法を使うべきではない人までもが挑戦→挫折してしまっていることです。

語学の学習で一番重要なのは、スタート(=自分の実力)とゴール(=どれくらいできれば良いのか)を見極めることですが、これはかなりないがしろにされているように感じます。そこで、自分の語彙力をweb上で測定できるサービスを使ってみた感想をまとめてみました。

まとめ

Measuring Vocabulary http://www01.tcp-ip.or.jp/~shin/j_level/j8level.cgi

・500語、1000語、それから1000語刻みで8000語の語彙について判定。問題は非固定で3つの品詞(形容詞、名詞、動詞)×10問で全30問。語彙力の推定あり。解答なし。
・20の候補から10語を選択。ただし、ユーザインタフェースは使いやすいとは言えないが、多分一番正確に測定できるものと思われる。

日本人英語学習者のための語彙レベルテスト http://vu.flare.hiroshima-u.ac.jp/english/voctest_a.html

・問題は固定の4択で、5つのレベル×20問で全100問。語彙力の推定はしてくれない。解答あり。
・問題数が多いので途中で飽きる。

レベル診断テスト http://www.alc.co.jp/eng/lvl/words/index.html

・問題は固定の四択。30問が1セットで4つのセットがある。解答あり。
・判定されるレベルが3つ(初級、中級、上級)なので、それほど役に立たないかも。

Vocabulary Estimator http://www.prolingua.co.jp/vocab_est_j.html

・問題は固定の自己申告方式。レベルごとに10問×7の計70問。解答あり。
・評価はかなり甘め。

単語力 http://www.tangoriki.com/index.php

・問題はランダム。レベルごとに10問ずつ。解答あり。
・評価基準が謎(0から999のスコア)。ユーザ登録で単語帳なども使える。


サイトによって、評価されるレベルにかなりばらつきがあるようです。自分もここに挙げたサイトで測定したところ、語彙数は5000語から10000語まで開きがありました。こんなエントリを書いておいて何ですが、参考程度にしかならないかもしれません…
もし他に良いサイトがあれば教えてください。