写真は引き算・編集は足し算

スポーツ写真などを見ると撮影者の名前が出ていたりしますが、この頃は女性の割合が急激に増えていると思います。昔のカメラは撮影に技術が必要だったので男ばかりの世界でしたが、AIなどのおかげで技術よりも感性の方が重要になっているからでしょう。とはいえ重い望遠レンズを操作するのは体力仕事だとは思いますけどね。いずれにしてもデリケートな感性ということでは、しょせん男は女にはかなわないという気もします。

 

さて本題ですが、写真は引き算だとは昔から言われていることです。木村伊兵衛先生の作品など、なるほどと思います。ピンポイントに狙いを絞ってベストショットを目指すわけです。しかし、その写真がばらばらではお客さんに見てもらえません。まとまりのある作品として提供する必要があります。これは編集の仕事です。

 

サマーキャンプで撮影の方を担当しましたが、まとめ方に自信がなかったので編集は別の人に依頼しました。その人はプロデューサ的な立場でしたので全体の流れを理解していたからです。まとめていただいたものを見て、そういうストーリーだったのかと改めて思いましたね。そうやったんか。一枚ずつの写真を組み合わせることで化学変化を起こす。1+1を2ではなく3にも4にもする。だから、編集とは足し算の仕事なのだと思いました。

 

などという話からは、これは女性に活躍してほしいジャンルだなとも思うわけです。とはいえ女性が女性らしさを前面に出すと、ある種の狼を引き寄せてしまうというリスクもあるわけです。そして羊の皮をかぶった狼というのも実際にいるわけです。

考えてみると羊の皮をかぶった狼にだまされるのは人間だけで、犬は匂いで気が付くと思います。そういうわけで、狼のことは犬に聞けという考えもあるのかもしれません。などと適当なことを言ってみました。まとめられる方はまとめてみてくださいませ。

小話をひとつ・一つじゃないけど

小話その1 おい、向かいの空き地に塀ができたってよ。

      カッコイーッ。

小話その2 おい、向かいの空き地に建屋が立ったってよ。

      イエーッ。

小話その3 おい、知ってるか。可部君がミミさんと付き合ってるってよ。

      えっ、本当か。それじゃあ、庄司君は。

      もちろんメアリさ。可部にミミあり、庄司にメアリ。

 

美味しいという言葉はもともとは「いしい」だけだったそうで、「お」は丁寧語の「お」だそうだ。なんにでも「お」をつけるオバサマの圧力は大したものである。とはいえ、決してつけないものもある。奈良の大仏。ちょっと見てみたい気もする。

 

オバサマの影響というのは昔からある。たとえば清少納言。この人の文章は好きだ。「宮にはじめて参りたるころ」の中で、父の関白かと思えば息子の方で、「大納言どのの参り給えるなりけり、御直衣、指貫の紫の色、雪に映えていみじうをかし」とある。

最近のアイドルがステージに登場するシーンとそっくりだ。それまでの女ばかりのまったりした空気が一瞬で引き締まる。そんな空気感を一言で言ってのける。この女は天才だと思う。

それに対して学者はバカである。枕の意味は何か。それって男と女の関係のことだろ。枕営業とか言うだろ。春は曙とは何か。それってデートの次の朝のことじゃないのか。夜明けのコーヒーと同じで、二人で見るんだよ。夏は夜。遅くまでデートするのだ。雨など降るもをかしって、デート中に雨が降ったらどうする。あっはっはっ相合傘に決まっとるじゃん。おーっ、ひとり占めだぜ。

これからのAI活用は日本の出番だ

デジタルにおける平方根の法則というものがある。いわゆるSN比はサンプル数を増やして平均値を取れば、その平方根に比例して改善するというものだ。サンプル数を100倍にすればノイズは10分の一になる。もしサンプル数を一万倍にすればノイズは1/100になる。

これは単純にいくら金をかけるかという話でもある。もし予算が100万円でやっているものを100億円にすれば、100倍の正確さが得られるということだ。ある意味で、囲碁のAIでAlphaGoがやったことはこれである。

日本の研究者もやればできることは知っていた。しかし、そんな予算が取れるはずはない。かくして、あれから10年、AI研究と言えば札束で殴り合っている状態と呼ばれるようになった。

 

しかし、そろそろ潮目が変わりつつあるらしい。つぎ込んだ資金に見合う成果が出なくなってきているという話がある。ここから先は、より効率が良く使いやすいものをという話になるのではないだろうか。ということは、これからは日本の出番だ。

 

ところで、フリスビードッグという遊びがある。フリスビーを追いかけるスピードでは犬は人間よりもはるかに速い。しかし犬は、フリスビーを投げることができない。

糸車の呪いとエイダ・ラブレス

眠れる森の美女のオーロラ姫は糸車に刺されて倒れたと書かれています。糸車に針はないので奇妙な話ですが、16歳の彼女はなぜ糸車に触れたのでしょうか。それは糸を作り布を作り服を作ることに興味を持ったからではないでしょうか。ファッションに興味を持ち始める年頃です。お姫様ですから欲しいと言えば買ってもらえます。でも、自分で考えた服を自分の手で作り上げたかったのではないでしょうか。しかし、それは下層階級の女がすることであり、高貴なプリンセスには不似合いなことと思われたのではないでしょうか。

エイダ・ラブレスはバイロン男爵の娘であり、ラブレス伯爵の妻という立派な貴婦人ですが、彼女は数学を学びました。そして世界最初のプログラマと呼ばれるようになりました。

 

聖書には人間は神に似せて創造されたと書かれています。どこが似ているのでしょうか。強い腕力や美しい見た目ではないでしょう。それは万物の創造者である神のようにクリエイティブな才能を発揮することではないでしょうか。

知恵ある者として知られるソロモン王はシェバの女王のあらゆる質問に対して、惜しむことなく知っているすべてを教えました。知恵を用いて国を治めることについては、男も女も関係ないからです。

男の遊び・女の本気  … プログラミングも同じかな

将棋連盟の会長もされた二上九段が「将棋は遊びごとだからね、強いだけで世間でいばるのはどうかと思う。」と言っていたそうだ。男の遊びは真剣勝負なのである。

 同じく会長であった米長永世棋聖は佐藤康光九段に「将棋ソフトと指してほしい、しょせん遊びだ」と打診して「プロが将棋を指すのに遊びということがありますか」と返されて言葉がなかったという。

昭和の常識は平成の非常識、令和の不適切ということだろうか。そのような流れの中で、清水市代将棋連盟会長が誕生し、「困難であればあるほど燃えてくる」という本気の言葉が出されている。

 

さて遊びと言えばベジータみたいな奴が「面白れぇじゃねぇか。おいらとも遊んでくれよ」とか言うと、そりゃあ怖いよな。ということで、男の遊びは怖いという見方もある。

 

よくよく考えてみるとプログラミングを学校教育で取り上げるということは音楽とかと同列なわけだ。音楽を仕事にしている人はごく少数で、ほとんどの人にとっての音楽は金を払って遊ぶものである。こうして、お金を出してホームページを公開しているのも、仕事になるかななどというスケベ根性ではなく、自腹で遊ぶのだと考えるべきなのかな。…まあ、結果次第ですね。ははは

 

とはいえ、昭和のオヤジというのはうっとうしいもので、自分がオハヨウと言えば女性はオハヨウゴザイマスと言うものだと思っているらしい。近寄りたくないと思われているとは考えないようだ。ここはひとつ、オハヨウデスにしたらどうかな。

アメリカでも、真美子夫人や弓子夫人のドレスにはポケットがない。つまり立っているだけで仕事はしない人の服なのだ。将棋連盟の清水会長は特集記事の写真で婦人服らしからぬ大きなポケットが4つもついた上着を着ていた。これはたぶん仕事をする人の服なんでしょうかね。

 

昭和の名曲に「そばにいてくれるだけで良い、黙っていても良いんだよ」というフレーズがあった。どこかに行かずにずっと近くに居ろ、うるさいから喋らずに黙っていろ… 女の人はチョコチョコと歩き回るものだし、喋らずにはいられない生き物だよね。昭和の男はわがままだったねぇって、そういう話なのかねぇ。

 

話は違うが、仏滅の刃というアニメがあったら、どんなものだろう。生成AIとかで・・・などという以前に、なかなかストーリーを理解できない。鬼ってなんだ。そもそも名探偵という概念が虚構だろうが。とか。

プログラミングも目的意識がないので、おお動いたぞとは思うが、何の役に立つのかは知らないのだ。囲碁とか将棋の棋譜ならべをするのが楽しいが、内容は理解していない。どっちが勝ってるかって、それは他人のことだし終わったことだし、気にしないでいいでしょ。

 

要するに、もし役に立ちそうなものがあったら、整理できる人がいれば、その人が整理してください。以上。


システム開発とは何か。それは人間と機械の境界領域に立つ仕事です。暦を作るのは元々は天文学者という理系の人の仕事でした。しかし、人間は暦に従って仕事をし生活をしているわけですから、それは社会の仕組みそのものでもあるわけで、それは文系の人の仕事ということもできます。そのようなところから、様々な角度からの理系と文系の境界領域のような話題を取り上げています。

 

おかげで、ポイントがつかめないように思えるでしょうが、それが特徴です。よろしくお願いします。


万年暦というものがありますが、累計日数を計算すれば簡単に作れます。次のような簡単な関数で、ほぼキリスト誕生からの日数になります。こんな風に割り切ってしまうのは理系の発想ですね。都合の良い方を使います。

#define leap(y) ((y)%4 == 0 && ((y)%100 != 0 || (y)%400 == 0))

 

static int DaysOfMonth[2][12] = {

    31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31,

    31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

 

static int md[2][12] = {

       0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334,

       0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 };

 

int TotalDays(int y, int m, int d)

{

    int ty = y - 1;

    int t = ty * 365 + ty / 4 - ty / 100 + ty / 400;

 

    t += md[leap(y)][m - 1];

    return t + d;

}

プログラムを動かすと次のようになります。

 

操作としては前半をクリックすると1月から6月まで、後半をクリックすると7月から12月までの表示になります。PrevとNextをクリックすると前の年や次の年になります。次の例は三年後のカレンダーです。

年の表示をクリックすると入力できます。

次のものは1945年のカレンダーです。


次のような関数を使えば累計日数から日付に戻せます。つまり、ある日から100日後というような日付を求めることができます。例を次に挙げます。

 

int ipM[366 * 2];

BOOL bIpm;

 

void TotalToDate(int td, int& y, int& m, int& d)

{

    //  year

    td--;

    int ya = td / (365 * 400 + 97);

    int t1 = td % (365 * 400 + 97);

    int yb = t1 / (365 * 100 + 24);

    int t2 = t1 % (365 * 100 + 24);

    int yc = t2 / (365 * 4 + 1);

    int t3 = t2 % (365 * 4 + 1);

    int yd = t3 / 365;

    int t4 = t3 % 365;

    if (t1 == 365 * 400 + 96)                  // leap year : 400

    {

        y = (ya + 1) * 400;

        t4 = 365;

    }

    else

    {

        if (yd > 3)                            // leap year : 4

        {

            yd = 3;

            t4 = 365;

        }

        y = ya * 400 + yb * 100 + yc * 4 + yd + 1;

    }

 

    // month

  //  static int *ipM = NULL;   // work : not yet deleted ?????????????

    if (!bIpm)//ipM)

    {

        //    ipM = new int[366 * 2];

        int at = 0;

        for (int i = 0; i < 12; i++)

        {

            int n = DaysOfMonth[0][i];

            for (int j = 0; j < n; j++)

            {

                ipM[at++] = i + 1;

            }

        }

        for (int i = 0; i < 12; i++)

        {

            int n = DaysOfMonth[1][i];

            for (int j = 0; j < n; j++)

            {

                ipM[at++] = i + 1;

            }

        }

    }

    int yy = leap(y);

    m = ipM[yy * 365 + t4];

 

    // day

    d = t4 - md[yy][m - 1] + 1;

}

 

ダウンロード
Calendar.exe 64bitの実行ファイル
VisualC++2022で作成したので、ランタイムがないと言われたら検索してダウンロードしてください。(x64)
Calendar.exe
exe ファイル 112.0 KB
ダウンロード
関連するファイルです
Calendar.zip
zip ( 圧縮 ) ファイル 28.6 KB