疑念は探究の動機であり、探究の唯一の目的は信念の確定である。

数学・論理学・哲学・語学のことを書きたいと思います。どんなことでも何かコメントいただけるとうれしいです。特に、勉学のことで間違いなどあったらご指摘いただけると幸いです。 よろしくお願いします。くりぃむのラジオを聴くこととパワポケ2と日向坂46が人生の唯一の楽しみです。

Djangoのマイグレーションエラーについて

概要

Djangoにおいて、あるモデルを修正して、python manage.py makemigrationsすると、次のエラーが生じることがある。

% python manage.py makemigrations
It is impossible to add a non-nullable field 'profile' to mymodel without specifying a default. This is because the database needs something to populate existing rows.
Please select a fix:
 1) Provide a one-off default now (will be set on all existing rows with a null value for this column)
 2) Quit and manually define a default value in models.py.

このエラーの対処法をまとめる。

結論

次のようなモデルがあるとする。

class MyModel(models.Model):
    """My model"""
    first_name = models.CharField(max_length=10, null=True, blank=True)
    last_name = models.CharField(max_length=10)
  1. 既存のフィールドを変更する場合: e.g., first_namenull=Trueblank=Trueを削除する場合。

    --> 1)を実行する。

  2. 新しいフィールドを追加する場合: e.g., profileフィールドを追加する場合。

    --> 2)を実行する。オプションnull=Truedefault='hoge'などを追加したフィールドを追加する。profile = models.CharField(max_length=50, null=True)

  3. 新しいフィールドをオプションなしで追加する場合: e.g., オプションなしのprofileフィールドを追加する場合。

    --> 上記の2と1を実行する。

前提知識

  • Djangoを知っていることです。ここに書かれてあるコードをそのまま移しても再現されません。ですので想定読者は自分で読み替える程度の知識と経験があることです。

1. 既存のフィールドを変更する場合

  • mymodel.py
"""My model"""

from django.db import models

class MyModel(models.Model):
    """My model"""
    first_name = models.CharField(max_length=10, null=True, blank=True)
    last_name = models.CharField(max_length=10)
  • migrations/0004_mymodel.py
  • このファイルはpython manage.py makemigrationsで作成されたものです。
# Generated by Django 5.0.4 on 2024-04-30 03:58

from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('books', '0003_store'),
    ]

    operations = [
        migrations.CreateModel(
            name='MyModel',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('first_name', models.CharField(max_length=10, null=True, blank=True)),
                ('last_name', models.CharField(max_length=10)),
            ],
        ),
    ]

このとき管理者画面からデータを追加しました。first_nameフィールドはnull=Trueおよびblank=Trueですので、first_nameが空欄のデータを追加することができます。

ここからmodels.CharField(max_length=10)に変更するとします。

そのままfirst_name = models.CharField(max_length=10)と変更して、マイグレーションファイルを作成するとエラーが生じます。

class MyModel(models.Model):
    """My model"""
    first_name = models.CharField(max_length=10)
    last_name = models.CharField(max_length=10)
python manage.py makemigrations

It is impossible to change a nullable field 'first_name' on mymodel to non-nullable without providing a default. This is because the database needs something to populate existing rows.
Please select a fix:
 1) Provide a one-off default now (will be set on all existing rows with a null value for this column)
 2) Ignore for now. Existing rows that contain NULL values will have to be handled manually, for example with a RunPython or RunSQL operation.
 3) Quit and manually define a default value in models.py.

このとき変更したデータベース(MyModel)に空のフィールドがあるかどうかで対応が変わります。つまりデータベースのレコードに空のフィールドがある場合と、それ以外(データベースにレコードが存在しないかまたは存在しても空のフィールドがない場合)で修正方法が異なります。まずは後者の空のフィールドがない場合の修正方法です。

1.1 空のフィールドがない場合

コマンドで2)を選択すれば問題ありません。

python manage.py migrateしてもエラーが生じません。これでフィールドの変更の完了です。

1.2 空のフィールドがある場合

コマンドで2)を選択して、python manage.py migrateを実行すると、エラーが生じます。

% python manage.py migrate       
Operations to perform:
  Apply all migrations: admin, auth, books, contenttypes, sessions
Running migrations:
  Applying books.0005_alter_mymodel_first_name...Traceback (most recent call last):
  File "/Users/yoheiwatanabe/.pyenv/versions/3.11.3/lib/python3.11/site-packages/django/db/backends/utils.py", line 105, in _execute
    return self.cursor.execute(sql, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/yoheiwatanabe/.pyenv/versions/3.11.3/lib/python3.11/site-packages/django/db/backends/sqlite3/base.py", line 329, in execute
    return super().execute(query, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
....

  raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/Users/yoheiwatanabe/.pyenv/versions/3.11.3/lib/python3.11/site-packages/django/db/backends/utils.py", line 105, in _execute
    return self.cursor.execute(sql, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/yoheiwatanabe/.pyenv/versions/3.11.3/lib/python3.11/site-packages/django/db/backends/sqlite3/base.py", line 329, in execute
    return super().execute(query, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
django.db.utils.IntegrityError: NOT NULL constraint failed: new__books_mymodel.first_name

この場合、データベースのすべてのレコードに空であるフィールドを手動で追加するか、次のようにファイルを修正してください。

  • 0005_alter_mymodel_first_name.py
# Generated by Django 5.0.4 on 2024-04-30 08:29

from django.db import migrations, models


def provide_default_for_profile(apps, schema_editor):
    MyModel = apps.get_model('books', 'MyModel')
    MyModel.objects.filter(first_name=None).update(first_name='default_value')


class Migration(migrations.Migration):

    dependencies = [
        ('books', '0004_mymodel'),
    ]

    operations = [
        migrations.RunPython(provide_default_for_profile),
        migrations.AlterField(
            model_name='mymodel',
            name='first_name',
            field=models.CharField(max_length=10),
        ),
    ]

このように修正するとpython manage.py migrateを実行してもエラーになりません。

% python manage.py migrate       
Operations to perform:
  Apply all migrations: admin, auth, books, contenttypes, sessions
Running migrations:
  Applying books.0005_alter_mymodel_first_name... OK

2. 新しいフィールドを追加する場合

次のようにprofileフィールドを追加すると、エラーが生じます。

class MyModel(models.Model):
    """My model"""
    first_name = models.CharField(max_length=10)
    last_name = models.CharField(max_length=10)
    profile = models.CharField(max_length=50)
% python manage.py makemigrations
It is impossible to add a non-nullable field 'profile' to mymodel without specifying a default. This is because the database needs something to populate existing rows.
Please select a fix:
 1) Provide a one-off default now (will be set on all existing rows with a null value for this column)
 2) Quit and manually define a default value in models.py.

null=Trueを追加すると解決されます。またはdefault='hoge'でも問題ありません。

class MyModel(models.Model):
    """My model"""
    first_name = models.CharField(max_length=10)
    last_name = models.CharField(max_length=10)
    profile = models.CharField(max_length=50, null=True)
 % python manage.py makemigrations
Migrations for 'books':
  backend/books/migrations/0006_mymodel_profile.py
    - Add field profile to mymodel
% python manage.py migrate       
Operations to perform:
  Apply all migrations: admin, auth, books, contenttypes, sessions
Running migrations:
  Applying books.0006_mymodel_profile... OK

APIでの確認。"profile": nullのデータを作成する。

3. 新しいフィールドをオプションなしで追加する場合

追加したフィールドprofileにはnull=Trueとなっていますが、それを削除します。

class MyModel(models.Model):
    """My model"""
    first_name = models.CharField(max_length=10)
    last_name = models.CharField(max_length=10)
    profile = models.CharField(max_length=50)
% python manage.py makemigrations
It is impossible to change a nullable field 'profile' on mymodel to non-nullable without providing a default. This is because the database needs something to populate existing rows.
Please select a fix:
 1) Provide a one-off default now (will be set on all existing rows with a null value for this column)
 2) Ignore for now. Existing rows that contain NULL values will have to be handled manually, for example with a RunPython or RunSQL operation.
 3) Quit and manually define a default value in models.py.
Select an option: 2
Migrations for 'books':
  backend/books/migrations/0007_alter_mymodel_profile.py
    - Alter field profile on mymodel
% python manage.py migrate       
Operations to perform:
  Apply all migrations: admin, auth, books, contenttypes, sessions
Running migrations:
  Applying books.0007_alter_mymodel_profile... OK

APIでの確認。"profile": nullでエラーになる。



マイグレーションエラーの解決策が少しわかった気がします。







僕から以上

読書メモ: C・P・スノー『二つの文化と科学革命』

基本情報

  • C・P・スノー
  • 松井巻之助 訳
  • みすず書房
  • 新装版第一刷
  • 購入日: 2023/12/31
  • 了読日: 2024/01/06

気になったこと

  • 二つの文化と科学革命: 1959年
  • その後の考察: 1963年
  • 「解説」はステファン・コリーニというのが書いている(1993年)

二つの文化と科学革命

  • 文化的知識人はまさに自分たちが知識人だと自負している。(p.5)
この二つの極端なグループの一方には文学的知識人がいる。
たまたま誰もそんなことをたいして問題にしてはいないことから、
彼らは他に知識人というものがないかのように、自分を知識人と信じこんでしまっている。

p.5
  • イギリスの科学者・技術者の25%にインタビューをした。彼らのほとんどは文学的素養がなかった。(p.13)
たいていの人たちは(私たちが彼らがどんな本を読んでいるかを調べたとき)謙虚に告白したものである、
「はい、ディケンズをすこしばかり**やって**みました」と。
まるでディケンズがリルケのたぐいの、いやに秘教じみた、
ややこしい余り役にもたたないような作品の作家であるかのように。

注: 「**やって**」の箇所は原文では強調点「、、、」がある
p.13
  • 有名な箇所。伝統文化の教育の高い人たち(文系の人たち)は熱力学第二法則を知らない。(p.16)
私は、彼ら[文学的知識人/文学に造詣の深い知識人]のうち何人が、熱力学第二法則について説明できるかを訊ねた。
答えは冷やかなものであり、否定的でもあった。
私は「**あなたはシェークスピアのものを何か読んだことがあるか**」というのと同等な科学上の質問をしたわけである。

注: 「**あなたは...**」の箇所は原文では強調点「、、、」がある
p.16
  • 「2. 生まれながらのラダイトとしての知識人」:
"二つの文化"が存在する理由とでもいうものは、多く、深く、複雑であって、
あるものは社会の歴史に、あるものは個人の歴史に、またあるものは種々の精神活動そのものの内部に働く原動力に根ざしている。
だが私はここで、理由というよりはこれに相関すること、これらの議論のあるものに、
あるいは直接、あるいは間接に関係する重要なこと、それを取りだしてみたい。
それは簡単にいえばこうである、科学的文化に属する人びとを除いては、
西欧の知識人は産業革命を理解しようと試みもしなければ望みもせず、
またできもしなかった。ましてそれを受けいれるはずもなかった。
知識人、とくに文学的知識人は生まれながらのラダイトだった。

p.23
  • ベネチア(ヴェネツィア)は、かつて栄えていたが、滅びた国(都市)の代表例であること。先進国の知識人はしばしば「我が国がベネチアと同じ道を辿るのではないか」という危惧を表明することを知った。(pp.40-41)

その後の考察

  • 「二つの文化と科学革命」の反響について、「奇妙な体験」であり、「残念に思っている」。(p.63)
講演後、一年するかしないかのうちに私は、魔法使いの弟子のように、
不愉快な気分になりだしていたのである。
論文、照会、手紙、非難、賞讃がドッと流れこみだしたからである。
そして、その講演がなかったら私のことなど知らないような国からのものも多かった。
あとで説明することだが、実は、これらの現象はすべて、私と余り関係のないことだったのである。
それは楽しいなどといえるものではなく、奇妙な体験であった。
文献は加速度的にたまっていった。当然、私は他人よりはそれを余計目にしたにちがいあるまい。
かといって、私は全部が全部を目にしたわけではない。
もっと有益な議論が普通のイギリス人には近づきえないようなことば、ポーランド語やハンガリー語や日本語で行われていると聞いて、私は残念に思っている。

p.63
  • 「われわれは孤りで死んでいく(We die alone)」と引用され、いびりまわされているが、実際は言っていない。「人は孤りで死んでいく(One dies alone)。」「われわれの誰もが孤りで死んでいく(Each of us dies alone)」という句をつかわざるをえなかった。(pp.67-68)
だが、この引用文はどこからとられたのであろうか。
率直に、文字通り眼を皿にしてリード講演を見ていただきたい。
そんな句は決して見つけられないであろう。それはどこにもない。
事実、それがあるとしたら、おかしなことなのである。

p.67

p.7: 「けっきょくは、誰もが孤りで死んでいく。」 p.8: 「われわれは誰も孤独である、誰もが孤りで死んでいく、いかにもそれはわれわれが抗いようのない運命である。」

  • 科学上の業績について理解しているかどうかを問うために「熱力学第二法則をどう理解しているか」を例にしたが、スノーはそれを使ったのを後悔している。現代ではむしろ分子生物学の知識のほうが適切である。(pp.81-84)

  • 講演を行う前は「富める者と貧しい者」という題名にしようと思っていた(これは講演「二つの文化と科学革命」のセクション4の題名である)。が、後から考えたら実際そうすべきだったと後悔している。(p.89)

じっさい、ここにこそ、私が全議論の中心問題にしようと意図したものがあった。
講演を草するまえ、私はそれに「富める者と貧しい者」という題をつけようと思っていた。
そしていまではむしろ、そのようにしておけばよかったと思っている。

p.89

解説

  • 「歴史的に見た「二つの文化」」: スノーの「二つの文化」議論はスノー以前にイギリスにあった。ハクスリーとアーノルド(pp.127-130)

  • 「「二つの文化」という考えの発展」: 「二つの文化」のアイディアは1930年代に生まれた。(pp.135-136)

  • 「「二つの文化」という考えの発展」: H・G・ウェルズの評価について、のちの「二つの文化」論争の最大の敵対者となるリーヴィスとスノーはウェルズの評価が真逆であった。(pp.136-139)

  • 「「二つの文化」という考えの発展」:

例えば、「奴隷制で唯一間違っているのはそれが十分に存在していないということだと考えたポベドノスチェフ神聖宗務院長官にごまをするドストエフスキー、
1914年の前衛派の政治的衰退と、そのせいでファシストのための宣伝放送に行きつくエズラ・パウンド、
他者の苦しみの正しさについて殊勝ぶってマーシャルに同意するクローデル、
黒人を別の人種として扱うセンチメンタルな理由を考え出すフォークナー」といった例である。

p.140

感想

スノーの二つの文化についての議論はとても有名なので、これまでたびたび聞いていた。しかしその内容は「熱力学第二法則を知らない文学的知識人」以外、まったく知らなかった。今回初めて読んだ。

講演のテーマは多岐に渡る。二つの文化だけではない。教育について。科学革命と産業革命について。地球問題(世界の貧困問題)について。さまざまなことが述べられていたこともあり、結局ちゃんと読むことはできなかった(しなかった)。理解度は半分にも及ばない。より深く読めば、より洞察が得られるだろう。

講演のタイトルは「二つの文化と科学革命」である。そして今回知ったことは、スノーが言いたかったことは、「二つの文化」よりもむしろ「科学革命」のことであったということだ。産業革命および科学革命により、イングランドを始めとする一部の地域は工業化した。その結果、平均寿命は伸び、幼少期での死亡率は下がり、物質的に豊かになった(平均寿命・出産のさいの死亡・飢え/飢饉...寿命、飢えからの解放、子供の成育(p.89))。だが他の多くの同胞はいまだに貧しいままである。この不平等は解決されなければならず、他の後進国も同様に工業化することで、解決されるだろう。そのためには政府は科学教育に取り組めばいい。スノーが本当にいいたかったことはそのようなことであった。だが、実際に世間や後世からは前半の「二つの文化」が注目された。

にもかかわらず、私が分からないことがある。それは次のような疑問である。世界をよりよくするために、つまり全世界にヒューマニズムを実現するために、科学技術を最大限に利用することはもっともな意見であり、多くの人が賛同するだろう。しかし、だからといって二つの文化の断絶がヒューマニズムの実現の障害となるのかどうかという疑問である。確かに実際上の理由は理解できる。つまり行政の意思決定者である政治家や公務員がもし科学的素養を一切ないならば、ヒューマニズムの実現が困難なるからというものである。そのようなことは本書にも書かれていた(気がする)。

われわれの二つの文化の間のギャップをなくすることは、もっとも実際的な意味からも、
もっとも抽象的、知的な意味からも、必要欠くべからざることである。
この二つのものが離れてしまうようであっては、いかなる社会も知恵をつかってものを考えていくことができないようになるであろう。
知的生活のため、わが国の固有の危機のため、貧しい人たちに囲まれて不安におびえながら富んだ生活をしている西欧社会のため、
世界中がもの解りよくなれば貧乏でいる必要もなくなる貧しい人びとのため、
われわれ、アメリカ人、全西欧人が教育というものを新鮮な眼で眺めることは義務である。

p.51: 二つの文化と科学革命
われわれは正しい結論をできるだけ早く引きだすべきであったのに、
文化の分離ということが主な原因となって、これを果たさなかった。
政治家や行政にたずさわる人びとにとって、
科学者が話しかけてくれていることの真意をつかむのはむずかしかった。
だが、いまやそれは受け入れられ始めている。

p.89

しかしそれ以外の理由(もっとも抽象的、知的な意味)が思いつかない。さらに逆になぜ科学者は文学的素養を学ばなくてはならないのかというのもわからない。二つの文化の断絶があったてもなくても、ヒューマニズムの実現は可能であると私は思う。

スノーに反対する人(リーヴィス)はスノーに対して、次のように批判した(揶揄した)。スノーは科学にも文学にも精通しているかもしれないが、文学について言えば二流以下だ。スノーは後世に残る文学を作ることはできない。そんな人に我々のことをとやかく言われる筋合いはない、と。

実際その批判は間違っていないと思う。というのも今日スノーが有名なのは皮肉にも「二つの文化」論争であり、小説家としてではないからである。スノーの小説『他人と同胞』(Strangers and Brothers)は当時では有名だったそうだが、今日も広く読まれているものではない。

「音楽には二つの文化の壁を超えて繋げる可能性がある」というようなことが書かれていた。それは示唆的だと思った。趣味として音楽を愛好する科学者や文学者が少なくないからである。






僕から以上

読書メモ: レヴィ=ストロース『月の裏側 日本文化への視角』

基本情報

気になったこと

序文

  • 画家であったレヴィ=ストロースの父親は日本の版画を蒐集していた。レヴィ=ストロースは6歳から版画をもらっていて、テストでいい点数を取るたびに、父親の版画をもらっていた。さらに父親が持っていた版画がなくなってしまうと、お小遣いをためて版画を購入していた。(pp.7-8)

川田順造との対話

  • レヴィ=ストロースの父親は芸術家であって、浮世絵が好きだった。レヴィ=ストロース自身も父親からもらって以来、浮世絵に虜になった。子供の頃は学校でいい成績を取ると、父親が持っていた浮世絵を1枚ずつ褒美として差し上げていた。(p.132)

知られざる東京

  • 「過去の伝統と現在の革新の間の得がたい均衡」(p.129)
日本を訪れる外国人は、各自が自分の務めをよく果たそうとする熱意、
快活な善意が、その外来者の自国の社会的精神的風土と比べて、
日本の人々の大きな長所だと感じるのです。
日本の人々が、過去の伝統と現在の革新の間の得がたい均衡をいつまでも保ち続けられるよう願わずにはいられません。
それは日本人自身のためだけに、ではありません。
人類のすべてが、学ぶに値する一例をそこに見出すからです。

pp.128-129

世界における日本文化の位置

「世界神話における主要なテーマ」

1985年に、私は初めてイスラエルとキリスト教の聖地を訪れ、
ほぼ一年後に九州で、日本の最も古い神話の始原にかかわる出来事があったとされている土地を訪れました。
私の文化と私の出自から言って、第一の場所の方が、二番目に訪れた土地より、私の心を捉えるのが当然であったはずです。
実際には、全く逆のことが起こりました。ニニギノミコトが天下った霧島の峰、
オオヒルメ、つまりアマテラス女神が閉じこもった洞窟に面した天岩戸神社は、
ダヴィデの神殿跡とされている場所や、ベツレヘムの洞窟や、
キリストの聖墓や、ラザロの墓よりも、深い感動を私のうちに惹き起こしました。

pp.16-17
なぜ、そうだったのでしょうか。
皆さまと私たちの、それぞれの伝統への対し方が著しく異なっているからだと、私には思われるのです。

p.17
  • 日本の大きな魅力の一つは西欧と違い、神話と歴史がつながっていることである。(pp.17-18)
私たち西洋人にとっては、一つの深淵が、神話と歴史を隔てています。
反対に、私が最も心を惹かれる日本の魅力の一つは、神話と歴史相互のあいだに、親密なつながりがあることです。

p.18
日本では書かれた歴史が比較的遅く始まったので、
日本人はごく自然に歴史を神話のなかに根づかせたのかもしれません。
神話から歴史への移行は巧妙になされています。
それがたやすくなされているため、これらの神話が日本人にもたらされた状況から、
一つの意図が存在したことがわかるのです。
それは、これらの神話を、厳密な意味での歴史の導入部にしようという、
編纂者たちの意図です。西洋にもむろん、神話はあります。
けれども西洋では、何世紀も前から、神話に属する領域と、歴史に帰すべき領域とを区別する努力をしてきました。
検証可能な出来事だけが、歴史として考察されるに値するというのです。
奇妙な逆説的な結果が、そこから生じています。
つまり、もし伝承に遺されている出来事が実際にあったのだとすれば、
それが起こった場所も示されうるはずです。
ところがキリスト教の聖地の場合、伝えられている場所でそれらのことが実際に起こった証拠はどこにあるのでしょうか。
ローマ帝国のコンスタンティヌス一世の母ヘレナ皇太后が、四世紀初め、聖遺跡を確かめようとパレスチナに赴いたのは、
自分の信念に惑わされたからではなかったと、
どうして言いきれるでし[ここまでp.17][ここからp.18]ょうか。
そして数世紀後の十字軍も、同じ思い違いをしていなかったと言えるでしょうか。
考古学の進歩にもかかわらず、彼らの証言が聖遺跡を正当化する、
ほぼ全面的な根拠にされ続けています。遺跡を訪れる人が、
聖書の内容は信じているが客観的精神の持ち主であった場合、
キリスト教のエピソードは実際にあったことだと思っていても、
本当にその出来事がこの場所で起こったかどうかには疑問を抱くのです。

九州では、このようなことはまったく問題になりません。
人々はそこで、あっけらかんとして神話的空気に浸るのです。
歴史性は問題になりません。より正確に言えば、この状況(コンテキスト)では歴史性を問題にすることが適切ではないのです。
天から降臨したニニギノミコトを迎えた栄誉ある土地はここだと二つの場所が主張しても、差し支えないのです。
パレスチナでは、もともと歴史的出来事が起こったという証拠を持たない土地には、
神話で箔をつけることが求められます。
しかしそのためには、神話が自らを神話ではないと主張しなくてはなりません。
つまり出来事が「本当に」そこで起こった場所だと、訴えなくてはならないのです。
しかしそれを証明するものは何もありません。
反対に九州では、比類のない見事な風景が、神話群を豊かにし、美化し、目に見える具体的なものに仕立てるのです。

pp.17-18
  • 日本の特異性。
この人たち[引用者注: 神聖な旧跡を訪ねる人たち]は、
偉大な国造りの神話や壮大な風景が、伝説的な時代と現代の感受性のあいだに、
現実的な連続性を保っているさまをあらためて確認しようとしているのです。

この連続性は、日本を訪れた初期のヨーロッパ人たちに、
衝撃を与えずにはおきませんでした。

pp.18-19
  • ジャン=ジャック・ルソーの不可思議な注「...特に日本」
ジャン=ジャック・ルソーは、1755年に公にされた『人間不平等起源論』の注の一つで、
まだまったく知られていないか、あまりにわずかしか知られていない諸文化を挙げ、
現地に行って研究することが緊急に必要であろうと述べています。
北半球では彼は十五ほどの国を挙げ、その概観を次の言葉で締めくくっています。
「......そして、特に日本」。なぜ、「特に」なのでしょうか?

p.19

川田順造との対話

  • 日本が世界に示せることはその独自性である。(p.147)
言うまでもなく、日本は多くの影響を受けてきました。
とくに中国と朝鮮からの影響、ついでヨーロッパと北アメリカからの影響です。
けれども、日本が私に驚異的に思われるのは、日本はそれらを極めてよく同化したために、そこから別のものを作り出したことです。
さらに、私が何としても忘れたくないもう一つの面は、これらのどの影響も受ける前に、
あなたがたは縄文文明という一つの文明をもっていたことです。
縄文文明は、人類における最古の土器を創り出しただけでなく、
それが極めて独創的な感覚によるものなので、世界のどこでもこれに比肩しうる、
いかなる種類の土器も見出すことができないのです。
縄文文明と比較できるものは、皆無です。
ですからそこに、根元での日本の特殊性の証があると、私は言いたいのです。
さらに、この日本の特殊性は、他所(よそ)から受け入れた要素を洗練し、
それをつねに何かしら独自のものにしてゆく力を具えていたのです。

ご存知のように、私たちは長い間日本から、倣うべき手本とみなされてきました。
日本の若者たちが、西洋を破滅させた悲劇的出来事と、
西洋を現在引き裂いている危機を前にして、「最早、手本はない。
我々は見習うべき手本を持たず、我々独自の手本を創り出してゆくのは、
まさに我々なのだ」と言うのを、私はしばしば聞いています。
私が日本に願いうること、そして期待しうることのすべては、
この手本(それは事実、西洋以外の世界にこれほど受け容れられてきました)に対して、
日本人が過去に示したのと同じ独自性を保ちうることです。
この独創性によって、日本人は私たちを豊かにしてくれることができるのです。

p.147

月の隠れた面

  • レヴィ=ストロースは米寿を記念に次男のマティユーから日本製の電気炊飯器をもらい、以後満100歳で亡くなる直前まで、日本式ご飯と訳者の川田が送っていた日本製の焼き海苔が大好物であった。食卓に欠かせなかった。水から炊く日本式のご飯。(p.59)(cf. p.150)

川田順造との対話

  • 東京の佃島に暮らしてみたいと奥さんに言った。慎ましい庶民街に暮らしたい。(p.138)
  • 同上: ブラジルにいたとき生のウジ虫を食べた(p.139)

感想

レヴィ=ストロースと日本の関係を知れてとてもよかった。

レヴィ=ストロースは幼少から日本に接していて、日本に憧憬していた。元来日本ファンだったことを知った。今でいうマンガ好きのフランス人オタクだろうか。ご飯と焼き海苔を好物としていたというのも意外だったし、日本的な健康的な生活をしていたから長寿だったのだろうとも思った。「佃島に住みたい」とか「イスラエルよりも九州に感動した」とかも言っていて、おもしろいなと思った。また以前どこかで「日本は歴史と神話の境界があいまいで、よくない。たいして西洋は歴史と神話の境界が明確でいい」と聞いたことがある。しかし、文化人類学者の視点からだと、むしろ日本のあいまいの方がよりよいとなるのがおもしろかった。

ということでレヴィ=ストロースは多少なりとも日本贔屓しているのだろう。しばしば注釈に「これは誤り」と説明がついている。しかしそれでも「日本の独自性」を強く肯定するレヴィ=ストロースに我々は勇気づけられる。同時に我々が「日本の独自性」を実践しなければならないと思った。




僕から以上

今年を振り返る

今年を一言で言うと「ChatGPT」だった。

ChatGPTの存在は1月中旬に知った(1月16日にChatGPTの資料を作成していた)。偶然海外のYouTube動画を観て知った。それまでOpenAIすら知らなかった。無料でAIを使えるので試してみたら、これまで考えていたAIとはまるで違う人間らしい反応をしたのでとても驚いた。

ChatGPTが本格的に話題になったのは3月ごろだと思う。このころからGPT4が登場して、これ以降ChatGPTは日常となった。ChatGPTに聞きながら、仕事を進めるようになった。芸能人のことや一般常識についてはGPT3.5でも4でもまだまだダメだが、プログラミングに関してはだいぶ有用である。だから毎日使っている。もはやChatGPTがない世界を思い浮かべるのは難しい。

世間も少しずつだがChatGPTを知るようになった。さらに「生成AI」や「プロンプトエンジニア」という言葉も知った。

これから日進月歩にAIは進歩する。それについていくのにも精一杯だが、どうなるのか楽しみである。




今年読んだ本

AI(人工知能)・BI(ベーシック・インカム)・DDD(デジタル直接民主主義)を考えるために、それらの関連本を読んでいた。

途中まで

1.『誰のためのデザイン?』

  • 第4章の途中まで。ところどころ示唆に富む箇所があった。もう少し読みたい。

2.『オートメーションと労働の未来』

  • 少ししか読んでいない。退屈でつまらない。

3. 『人はなぜ物を欲しがるのか』ブルース・フッド, 小浜杳 Kindle

  • 進化論的に考察するのかと思っていたが、どうやらそうではなかった。途中で挫折した。

4. 『半導体戦争――世界最重要テクノロジーをめぐる国家間の攻防』クリス・ミラー, 千葉 敏生 Kindle

  • いい本であるが、途中でやめた。重要な本なので、再び読む。

5. 『SELFISHNESS(セルフィッシュネス) ―― 自分の価値を実現する』アイン・ランド, オブジェクティビズム研究会, 田村 洋一 Kindle

  • アインランドのことを理解したいので、読み始めたが、途中でやめた。また読む予定。

6. 『MMT 現代貨幣理論とは何か (講談社選書メチエ)』井上智Kindle

  • 薄い本でMMTについてコンパクトにまとまっているが、半分ぐらい読んでやめた。

7. 『果てしなき探求〈上・下〉―知的自伝 (岩波現代文庫)』カール・R・ポパー

  • 全部ちゃんと読んでおらず、ところどころ読み飛ばした。科学哲学のテーマがメインだったので、あまり有益ではなかった。もちろん初めて知ったこともあるが。

8. 『因果推論の科学 「なぜ?」の問いにどう答えるか (文春e-book)』 ジューディア・パール, ダナ・マッケンジー, 夏目 大, 松尾 豊・監修解説 Kindle

  • 6割から8割ぐらい読んだ。もともとパールは知っているが、興味深く読んでいた。「わかりやすく書いた」と本には書いてあったが、途中で挫折した。また読もうという気はない。

9. 『超予測力 不確実な時代の先を読む10カ条 (早川書房)』フィリップ E テトロック, ダン ガードナー, 土方 奈美 Kindle

  • しばしば引用される本。最初の方を読んだだけ。これから読む予定。


全て読み切った本

1. 『図解き論理的哲学史逍遥』山下正男

  • 山下先生の本。とても楽しかった。いつか改めてまとめる。

2. 『AI技術史 考える機械への道とディープラーニング impress top gearシリーズ』Michael Wooldridge, 神林 靖 Kindle

  • AIについて知れておもしろかった。

3. 『創造的破壊の力―資本主義を改革する22世紀の国富論』フィリップ・アギヨン, セリーヌ・アントニン, サイモン・ブネル, 村井 章子 Kindle

  • とても面白かった本。内容は難しかったが、たくさん要約があったりして読みやすいように配慮していてよかった。刺激的だったし、今年トップ3に入る本。

4. 『Remember記憶の科学』 リサ・ジェノヴァ, 小浜杳 Kindle

  • 癖のある文章であるが、次々ページをめくってしまう本だった。内容は記憶の(神経科学の)基本的な知識が書かれてある。

5. 『教養としてのAI講義 ビジネスパーソンも知っておくべき「人工知能」の基礎知識』メラニー・ミッチェル, 尼丁 千津子, 松原 仁 Kindle

  • 文字通り「教養として」AIについて議論されていた。数式はなかった(と思う)。広範囲な話題を議論していてとてもよかった。ビジネスパーソンならこのぐらい知っときゃなきゃダメ?

6. 『リベラリズムへの不満』フランシス・フクヤマ, 会田弘継 Kindle

  • 今回初めてフクヤマの本を読んだ。読みやすかった。内容はおもしろかった。覚えていないけど。

7. 『自由をいかに守るか ハイエクを読み直す (PHP新書)』渡部 昇一 Kindle

  • 面白かった。読みやすかった。

8. 『純粋機械化経済 頭脳資本主義と日本の没落 (日本経済新聞出版)』井上智Kindle

  • 分厚い本であるが、なんとか読んだ。後半の経済のほうは私にとって有益であったが、最初のAIの説明には疑問を呈する箇所が何箇所かあった。ドゥルーズガタリの「リゾーム」概念を用いて、「ディープラーニングリゾームだ」みたいなことが書かれていて、それを読んだとき疑問を抱かずにはいられなかった。

9. 『テクノロジーの世界経済史 ビル・ゲイツパラドックス』カール・B・フレイ, 村井 章子, 大野 一 Kindle

  • 分厚くて読みづらかったが、それでもとてもおもしろかった。今年トップ3に入る本。

10. 『「現金給付」の経済学 反緊縮で日本はよみがえる (NHK出版新書)』井上 智洋 Kindle

  • 一応読んだが内容は覚えていない。

11. 『AI時代の新・ベーシックインカム論 (光文社新書)』井上 智洋 光文社 Kindle

12. 『NUDGE 実践 行動経済学 完全版』リチャード・セイラー, キャス・サンスティーン, 遠藤 真美 Kindle

  • とても面白かった。今年トップ3に入る本。

13. 『啓蒙思想2.0〔新版〕 政治・経済・生活を正気に戻すために (ハヤカワ文庫NF)』

ジョセフ ヒース, 栗原 百代 Kindle

  • 面白かった。

14. 『多様性の科学』

  • Kindle Unlimitedに入っていたから読んだ。内容は普通。

15. 『失敗の科学』

  • Kindle Unlimitedに入っていたから読んだ。内容は普通。ただ著者がポパーに影響を受けたと書いていたところに少し目を引いた。実際に何箇所かにポパーを引用している。


来年もいろいろやってみたい。AI・BI・DDDだけでなく数学とか哲学とか。



僕から以上

AndroidからMacにデータを送る方法

概要

MacAndroidが通信ケーブルで接続されているとき、Android File TransferというアプリをMacにインストールすることで、AndroidからMacにデータを簡単に送ることができるようになる。

前提

STEP 1: Android File TransferをMacにダウンロードする

  • 許可を求められるので「Allow」を選択する。

  • AndroidFileTransfer.dmgがダウンロードされていることを確認する。

STEP 2: Android File TransferをApplicationsに移動する

  • AndroidFileTransfer.dmgを開くと次の画面が表示がされるので、ドラッグ&ドロップで「Android File Transfer」を「Applications」に移動させる。

STEP 3: Android File Transferを起動する

  • AndroidのUSB設定を「ファイル転送/Android Auto」に設定する。

  • Android File Transferを起動する。警告が表示されるが「Open」を選択する。

  • もしかしたら右上に次のウェジットが表示されるかもしれないが、特に問題はない。

  • ウェルカムページが表示されるので、「Get started」を押す。

  • うまくいけば次の画面が表示される。

  • これを使ってデータを移動させることができる。ドラッグ&ドロップを使って簡単にデータを移動させることができる。

トラブルシューティング

  • ケーブルでMacAndroidを接続しているが、うまくいかない場合。次のようなエラーが表示される。

  • この場合、ケーブルを一度抜いてから、USB設定を「ファイル転送/Android Auto」にし直したり、Androidを再起動したりするとうまくいく(場合がある)。

おわりに

スマホアプリを開発するとき、Macで開発してAndroidの実機で確認することが多い。iPhoneでの確認ももちろんするが、iOSのビルドはAndroidより時間がかかったりする。開発は基本的にAndroidで確認して、最後にiPhoneで確認するようにしている。しかしAndroidのデータ(スマホアプリのスクリーンショット)をMacに送るのが面倒であった。たいしてiPhoneならばAirDropを使ってすぐにデータを送ることができる。今回、Android File Transferを使えば、AndroidでもすぐにMacにデータを送ることができるようになるのでとても便利になるだろう。ただしちゃんと接続がうまくいけばの話だが。




僕から以上

macOS 14 Sonomaのテキストカーソルに入力言語を示すインジケータが表示されてウザい件

macOSを14にアップデートしたら、クソ機能が追加されていた。 「かな」に変更したり、「英数」に変更されるとアイコンが表示されるようになった。

「英数」を押したとき

「かな」を押したとき

「Caps」を押したとき

めっちゃうっとうしい機能を非表示にしたいが、どうやら現在のところこれは非表示にできないらしい。

うっとうしいと多くのユーザも言っているようだが、一部には肯定的な意見もあった。いや最悪だろ!

書評: リチャード・ドーキンス: 『盲目の時計職人 自然淘汰は偶然か?』

一言書評

読みづらいこの上ない極めて読者に不親切な退屈な本

概要

18世紀の神学者ウィリアム・ペイリーは『自然神学』で神の存在証明を試みた。それはいわゆる「デザイン論からの証明」である。それは次のようなものである。すなわち、もし荒野に精密な時計が落ちていれば、それをデザインして作った時計職人がいるに違いないと考えるだろう。同様にこの世界には極めて多様な生物が存在して、さらにそれぞれはあまりにも美しく精密に作られている。よって、それらを作ったデザイナーが存在するに違いない。

著者のドーキンスは「いかにしてこのような精密な生命が誕生したのか」という謎を解き明かす。それは自然淘汰という盲目の時計職人であると。

自然淘汰はランダムな突然変異と非ランダムな累積淘汰であり、それが何百億年との地質学的時間スケールによって、多種多様な生物が誕生したのである。

本書はまたダーウィン主義以外の他の説-断続平衡説・ラマルク主義・中立説など-も検討して批判する。

各章のまとめ

まえがき

ところが、「アインシュタイン主義」とは違って、ダーウィン主義は、どんなに無知な批判者からも格好の餌食だとみなされているようだ。
思うに、ダーウィン主義が抱えている一つの厄介な事情は、ジャック・モノーが鋭く指摘したように、誰もが自分はダーウィン主義を理解していると*思い込んでいる*ことである。
たしかにそれはまったく単純な理論であり、たいていの物理学や数学の理論に比べると、まるで幼稚だとさえ思われかねない。
ダーウィン主義とは、要するに、そこに遺伝的変異があって、しかもでたらめではない繁殖のもたらす結果が累積される時間がありさえすれば、途方もない結果が生まれる、という考えにすぎない。

p.10

第1章 とても起こりそうもないことを説明する

  • 18世紀の神学者ウィリアム・ペイリー『自然神学 あるいは自然界の外貌より蒐集せられし、神の存在と特性についての証拠』で提起されている「デザイン論」の概要。
  • 複雑さの定義
  • 「説明」とは何か
  • 次の3つの引用(孫引き)はペイリー『自然神学』のものである。
ヒースの荒野を歩いているとき、*石*に足をぶつけて、その石はどうしてそこにあることになったのかと尋ねられたとしよう。
私はおそらくこう答えるだろう。それはずっと以前からそこに転がっていたとしか考えようがない、と。この答えが誤っていることを立証するのは、そうたやすくはあるまい。
ところが、時計が一個落ちているのを見つけて、その時計がどうしてそんなところにあるのか尋ねられたとすると、こんどは石について答えたように、よく知らないがおそらくその時計はずっとそこにあったのだろう、などという答えはまず思いつかないだろう。

p.23
その時計には製作者がいたはずである。
つまり、いつかどこかに、(それが実際にかなえられていることがわれわれにもわかる)ある目的をもって時計を作った、つまり時計の作り方を知り、使い方を予定した考案者(たち)が存在したにちがいない。

p.23
時計にみられるあらゆる工夫、あらゆるデザイン表現が自然の作品にも見いだせる。
ただ、自然の作品は、測り知れないほど偉大で豊富である点が時計と異なっている。

p.24
  • だがこの議論は完全に間違っているドーキンスは言う。
ペイリーの議論には熱意のこもった誠実さがあり、当時の最良の生物学的知識がこめられている。にもかかわらず、それは間違っている。みごとなまでに完全に間違っている。
望遠鏡と眼、時計と生きている生物体とのアナロジーは誤りである。見かけとはまったく反して、自然界の唯一の時計職人はきわけて特別なはたらき方ではあるものの、盲目の物理的な諸力なのだ。本物の時計職人の方は先の見通をもっている。
心の内なる眼で将来の目的を見すえて歯車やバネをデザインし、それらを相互にどう組み合わせるかを思い描く。
ところが、あらゆる生命がなぜ存在するか、それがなぜ見かけ上目的をもっているように見えるかを説明するものとして、ダーウィンが発見しいまや周知の自然淘汰は、盲目の、意識をもたない自動的過程であり、何の目的ももっていないのだ。
自然淘汰には心もなければ心の内なる眼もありはしない。将来計画もなければ、視野も、見通しも、展望も何もない。
もし自然淘汰が自然界の時計職人の役割を演じていると言ってよいなら、それは盲目の時計職人なのだ。

p.24-p.25

第2章 すばらしいデザイン

第3章 小さな変化を累積する

  • 自然淘汰のキーワードは少しずつ変化するということ(累積淘汰)。
  • コンピュータシミュレーションによる擬似的な自然淘汰の説明。
  • 何世代にも渡り、少しずつ変化することによって、当初想像もできなかったものを進化することができることをコンピュータシミュレーションで説明する。

第4章 動物空間を駆け抜ける

  • 実際の生物に累積淘汰を適用して、進化を説明する。

  • ドーキンスは「ある反例が実際に見つかるならばダーウィン主義を放棄する」と言う。

125年経って、われわれはダーウィンが知っていた以上に動物や植物について多くのことを知っているが、数多くのひきつづいて生じた軽微な修正によって形成されたとは考えられない複雑な器官など、私はいまだに一例とも知らない。
そんな例が今後見つかるだろうとも私は思わない。もしそんな例があればーそれは*ほんとうに*複雑な器官でなければならないし、後の章でみるように、「軽微な」という言葉の微妙な意味を理解していなければならないがー私はダーウィン主義を信奉するのをやめるだろう。

p.159

第5章 力と公文書

  • コンピュータの仕組みとDNAの仕組みの類似性を議論する。
  • 特にコンピュータの電子的記憶であるROMとRAMの話をする。

第6章 起源と奇跡

  • 一度、複製・誤り・力が現れれば、累積淘汰が自動的に意図的でなく生じる。それがどのようにして地球上に生じたのだろうか?
  • 生命の起源を議論する場合、どのぐらいの奇跡ならば偶然として認めることができるのか?

第7章 建設的な進化

  • 「淘汰は奇形(フリーク)を排除するような否定的/消極的な効果があるが、それ以外はない。」そのような主張に反論する。
  • 淘汰には積極的な効果がある。主に2つあり、ひとつは「共適応した遺伝子型」であり、いまひとつは「軍拡競争」である。

第8章 爆発と螺旋

  • フィードバック機構について議論されている。特にここでは正のフィードバックについて議論されている。
  • またアナロジーについても議論されている。
  • 性淘汰は正のフィードバックである。
  • サブカルチャーの「ポップ」カルチャーも正のフィードバックである。
  • だが、ある程度のアナロジーがあるが、完全に一致するものではない。

第9章 区切り説に見切りをつける

  • 断続平衡説(Punctuated equilibrium)の批判。章題は原文ではPuncturing punctuationismである。
  • 古生物学は進化論において重要である。
  • 化石の存在によって進化論を反証されることがあるので、「進化論は反証不可能である」というのは誤りであるとドーキンスは主張する。
とはいえ、たとえ化石化の割合がどんなに小さくても、進化学者なら誰でも正しいと考えるほど確かに予測できることが、化石記録についてはいくらかある。
たとえば、哺乳類が進化したと考えられているよりも以前の時代の記録に化石人類でも発見したりしたら、われわれはひどく驚くだろう! もし一つでもちゃんと確認できる哺乳類の頭骨が五億年前の岩石のなかから出てくれば、現代の進化論はまるごとすっかり崩れてしまう。
ついでに言うと、これは、進化論は「反証不可能」な同義反復にすぎないという創造論者とその仲間のジャーナリストによって広められている妄言に対する十分な答えになっている。

p.359
いま、大声ではっきりと言う必要があるのは、区切り平衡説はネオダーウィン主義の枠組みの中にしっかり収まるという真実である。

p.402

第10章 真実の生命の樹はひとつ

  • 分類学の話
  • 変形分岐論者への批判。

第11章 ライバルたちの末路

Notes

  • 「読者」を「彼」と想定してる。フェミニストの「彼または彼女」と書くべきだとの要求に辟易している。
何人っかの女性の友人が(幸いにも多くはないが)、非人称男性代名詞を使うのはあたかも女性たちを排斥する意図を示しているに等しいとみなしているのに気がついて、私は傷心にたえない。
もし何らかの排斥がなされるべきだというなら(運よくその必要はないが)、私はむしろ男どもを排斥するつもりなのだが、あるとき試みに自分の抽象的な読者を「彼女」と呼んでみたところ、あるフェミニストが私のっことを恩着せがましくへつらっていると非難した。
「彼あるいは彼女」とか「彼のあるいは彼女の」とするべきなのだそうだ。
あなたが言葉について無頓着であるのなら、そうすることはたやすい。とはいえ、言葉について無頓着な人は、男性であろうと女性であろうと読者を得るにはふさわしくない。これ以来、私は英語代名詞の慣用へ戻ってしまった。
私は「読者」を指して、「彼」と呼ぶかもしれないが、フランス語を話す人々がテーブルを女性とみなしていないのと同じく、自分の読者を男性であるとは考えていない。

p.13
  • ダーウィンの存命中にも進化論は批判があり、特に遺伝学を知らなかったが故に問題だと考えられていた。ダーウィン以後にメンデルの再発見がされて、集団遺伝学が発展した。しかしそれを主導した科学者(フィッシャーなど)は皮肉なことの反ダーウィン主義であった。その後、ダーウィンの進化論に遺伝学が追加されて、整備されて、ネオ・ダーウィン主義となった。

  • 中立説の提唱で世界的に有名な木村資生(もとお)の英語についてドーキンスは次のように書いている。

この理論は長い歴史をもっているが、分子レベルの装いを施した現代版についてはとくに容易に理解できる。
それは偉大な日本の遺伝学者、木村資生によって長足の進歩を遂げてきた。
ついでに言っておけば、彼の英語の散文体は、英語を母国語とする多くの人々の顔色をなからしめるだろう。


p.478-p.479
This has a long history, but it is particularly easy to grasp in its modern, molecular guise in which it has been promoted largely by the great Japanese geneticist Motoo Kimura, whose English prose style, incidentally, would shame many a native speaker.

p.303

評者は日本語も英語もそして国語力が疎いので、ドーキンスが木村の英語を褒めているのか貶しているのかわからない...。たぶんドーキンスは木村を褒めていて、木村のあまりにも素晴らしい英語力にこちらがshame(恥ずかしくなる)ということなのだろう。気になってshameの意味を調べたらそのような使い方もあるらしい。

感想

評者は本書をすべて読んでいない。4章ぐらいまでは真面目に読んでいたが、途中から諦めて適当に読み始めた。章の最初と最後を読んだ。

ドーキンスの処女作である『利己的な遺伝子』もそうだが、ドーキンスの初期の著作は章立てのみでセクションはなく、チンタラチンタラ延々と書くスタイルである。それが辛くて仕方がなかった。その後書かれた後期の著作『神は妄想である』などはまだセクションがありわかりやすく書かれているのだが。

本書は名著なのかもしれないが、評者は生物学や進化論にそれほど興味を持っていないので、著者の長々とした文章に苦戦した。苦行であった。とりあえず読んだということでこの本はさっさと売り払おう。





僕から以上