お知らせ

現在サイトのリニューアル作業中のため、表示が崩れているページが存在することがあります。
投稿日:ジャンル::随想

「人類」とかいう、やたら主語のでかいタイトルだが、言いたいことは昔に戻ることはできないんじゃないかなということだ。

個人的に最近よく意識するテーマに少子化と地方鉄道の維持に関する問題がある。さて、これと今回のタイトルを紐づけて考えてみよう。

まず少子化は昔からあったわけではなく、割とここ最近出てきた問題だ。では過去はどうだっただろうか?人類は常に少子化だったのだろうか?そんなことはないはずである。100年前に人類は6京人いて、今はたった60億人になってしまったとか、そんな話はない。少なくとも日本においては江戸時代から人口は増加し続けている。これは内閣府の資料「人口構造の変化」を読むとよくわかる。むしろ急激に増え、急激に減っているのである。

人口減少は世界的な問題と言われているが、どこの国も似たような感じだと思う。いや知らんが。結局のところこれをどう解決するかだが、昔に戻るのが一番手っ取り早いと思う。日本人らが人類の英知だとか、日本は愚かだが欧米は賢いなどというあの欧米ですら問題を解決できてないし、もはやそんな事をする気があるようにも見えない。

そもそも日本は過去に人為的に人口増加させることを政策により成功している。「産めよ殖やせよ」である。しかしもうこの政策をとることはできない。何故なら人権侵害だからだ。つまり過去に戻ることさえできれば人口を増やすことは可能と考えることができる。しかし出来ないのだ。何故ならもう過去に戻れないからだ。

これは地方の鉄道においても同様のことが言える。まず日本で鉄道が敷設されたばかりのころは道路がなかった。何故なら道路は敷設するコストが高いからである。広い道幅を確保するためには立ち退きが必要だったり、トンネルを作ったり、橋梁を設けるコストが大きくかかる。また路面の舗装も大変だ。根本的に自動車は個人で買えるものでもなかったし、当時の車は悪路を走る能力も今ほど高くなかった。そこで先に普及したのが鉄道だ。鉄道は乗り合いであるから一般人でも比較的利用しやすいし、線路の敷設は道路と比較した場合、土地を使わない。

そして時代は流れ車道の整備が進み、個々人が自家用車を持てる時代となった今、かつて作られた線路の多くは不要のものとなった。また国内の産業が海外に流出した結果、それらのための鉄道も不要となった。つまるところ、地方鉄道の存敗問題も時計の針を巻き戻して昔に戻れば解決できるといえる。まず車道をなくし、次に産業を取り戻せばいい。元々産業用に敷設されたと言われる加古川線などそのもっともたる例といえるだろう。東京などの都市部には今でも鉄道が残っていて、活躍しているが、これは人口集中の結果、車が使い物にならなくなったからという結果論にすぎないだろう。また長距離を車で移動するのは大変ということで、新幹線のような長距離鉄道も残っていると思われる。

鉄道は車と比べた時に、線路の維持管理や運行管理に膨大なコストがかかり、かなり使われていないと維持できないという決定的な問題があるので、これをクリアするためには、まず車を滅ぼさないとどうしようもないだろう。

さてまぁ色々書いたが、結局のところ人類は過去に戻れない。過去の生活水準に戻りたくないからだ。そして現在の問題を過去と切り離して考えることしかできない。見方を変えれば人間社会が老化してきているともいえる。人間長く生きていると「昔はできたのに、今はできない」といった問題にぶつかることがあるが、まさに今の人間社会がそうではないかと思う。つまり「人類は昔に戻れない」のだ。若返ることはもうできない。

adiaryをローカルで開発するための動かす環境構築のログ。

前提条件

  • サーバー構成は前段にnginx、後段にapache2を配置し、adiaryはapache2側で動作させる
  • 動作URLはhttp://adiary.example.test/のようなサブドメイン付きURLとする
    • adiary.cgiなしでアクセス可能にする
  • 開発を楽にするため、ホームディレクトリからシンボリックリンクを飛ばし、VSCodeで編集できるようにする
  • nginxやapache2、perlは既にインストールされているものとする
    • apache2はポート8080でListenしているものとする

確認環境

Env Ver
OS Ubuntu 24.04.3 LTS
nginx 1.26.1
apache2 2.4.58 (Ubuntu)
adiary 3.51a

手順

この手順では手描きした内容をteeに書き直しており、正しくファイルが生やせるか見てないので注意。

  1. /etc/nginx/nginx.confhttpセクションのincludeの手前にapacheのupstream情報を追記する
    upstream apache {
      server [::1]:8080;
    }
    
  2. nginx→apache2のリバプロ設定の作成

    cat <<'EOF' | sudo tee /etc/nginx/conf.d/adiary.conf
    server {
      listen        [::]:80;
      client_max_body_size 100M;
      server_name  adiary.example.local;
    
      access_log   /var/log/nginx/adiary.example.access.log;
      error_log    /var/log/nginx/adiary.example.error.log;
    
      location / {
        proxy_pass http://apache/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
      }
    }
    EOF
    
    sudo service nginx restart
    
  3. Apache2でadiaryをホスティングするバーチャルホスト設定の作成

    cat <<'EOF' | sudo tee /etc/apache2/sites-enabled/001-adiary.conf
    <VirtualHost *:8080>
          # internal use only domain
          ServerName adiary.example.local
    
          ServerAdmin webmaster@localhost
          DocumentRoot /var/www/html/sites/adiary
    
          # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
          # error, crit, alert, emerg.
          # It is also possible to configure the loglevel for particular
          # modules, e.g.
          #LogLevel info ssl:warn
    
          ErrorLog ${APACHE_LOG_DIR}/adiary-error.log
          CustomLog ${APACHE_LOG_DIR}/adiary-access.log combined
    
          # For most configuration files from conf-available/, which are
          # enabled or disabled at a global level, it is possible to
          # include a line for only one particular virtual host. For example the
          # following line enables the CGI configuration for this host only
          # after it has been globally disabled with "a2disconf".
          #Include conf-available/serve-cgi-bin.conf
    </VirtualHost>
    EOF
    
  4. /etc/apache2/apache2.confを開き<Directory /var/www/>のセクションを次のように書き換える
    Options Indexes FollowSymLinks
    AllowOverride All
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    AddHandler cgi-script .cgi
    Require all granted
    
    • Options +ExecCGI -MultiViews +SymLinksIfOwnerMatchの行は標準のserve-cgi-bin.confからパクってきたのでOptions +ExecCGIだけでも動く可能性がある
    • AllowOverride Allはindex.htmlを残したまま表示させないために.htaccessを書くのに使う
  5. mod_rewriteとmod_cgiを有効化し、apache2を再起動

    sudo a2enmod rewrite
    sudo a2enmod cgi
    
    sudo service apache2 restart
    
  6. /var/www/html/sites/adiaryを作成し、adiaryの動作環境一式を配置

  7. 開発し易いように権限を緩和
    chmod 777 -R /var/www/html/sites/adiary
    sudo chown -R <your-user-name>:<your-user-name> /var/www/html/sites/adiary/
    
  8. /var/www/html/sites/adiary/.htaccessにadiary用の.htaccessを書く

    DirectoryIndex
    
    RewriteEngine   On
    
    # favicon
    RewriteRule     ^favicon\.ico           /path/to/icon.png [L]
    
    # 正規URLは通す
    RewriteCond     %{REQUEST_FILENAME}     !-f
    RewriteRule     ^(.*)                  adiary.cgi/$1   [L]
    

Apache2でadiaryを動かす理由

結論から書くとnginx + fcgiwrapだとtry_filesの仕様的にadiaryが行うパス解析が上手く行かずに正常に動作しないためだ。

元々ModRewrite前提のCGIとして設計されており、個人的なユースケースがCGIとしての動作であることから、Apacheで動かすことにした。

adiaryの作者がcgiラッパーを作っているため、これを使えばnginxでも動かせそうだが、adiary専用のデーモンを起動するのもなんか嫌というのも理由の一つとしてある。

何より現在このブログが動作している環境が、さくらのレンタルサーバーであり、構成的にnginx + Apacheであるため、この構成を作ることに興味があったというのもあるし、現状のローカル環境ではnginxをフロントに立たせて後ろで様々なものを動かしている都合で、フロントはnginxで捌いた方が管理がしやすいのもある。

投稿日:ジャンル::ガジェット

本体の写真

公称スペック

項目 内容 備考
CPU AMD Ryzen 5 7530U 6C12T 4.5GHz
メモリ LPDDR4X SDRAM 16GB
ストレージ 256GB PCIe SSD
グラフィック AMD Radeon™ Graphics
モニタ 13.3型ワイド LED IPS液晶(フルHD) ノングレア
重量 972g
バッテリ 約10.5時間 標準バッテリ

バッテリーは5時間ほどしか持たない

基本的に電源に繋いで使うPCだとは思う。節電系の設定を全部OFFにしてパフォーマンスを出そうとした場合、残量が5時間程度で出るので、電源なしでの使用は厳しいだろう。この点はSurface Laptop 4に大きく劣るが、あちらはCPUの性能を極端に抑えているため成立しているものと思われる。

参考までにSurface Laptop 4は節電全OFFで10時間以上使えたと思う(15時間くらいまで行けたかも?

パフォーマンスが良い

Surface Laptop 4と比べると異次元レベルでいい。まずWin + EでExplorerを連続で開いてももたつきがない。VSCodeもぬるぬる動くし、コーディング作業において不満が出ることはないだろう。電源のある勉強会などに持っていくPCとしてはかなり優秀だ。電源がない場合でも短いイベントならどうにかなるだろう。

とてつもなく軽い

Surface Laptop 4 13.5インチだと1,265gあるが、こちらは972gなので300gほど軽いことになる。ACアダプタ(203g)を含めてもSurface Laptop 4より軽いのは魅力だ。

キーボードが打ちやすい

本機のキーボード

ノートPCのキーボードはカーソルキーが小さかったりキツキツの配置になって誤打鍵しやすいが、本機はかなりまともな形になっており打ちやすい。Home, End, PgUp, PgDnもカーソルキーのFnとして振られているため、全体的にまともなキーレイアウトをしていると思う。因みにFnとCtrlを入れ替える機能もある。キーボードへのこだわりがすごいのが特徴だ。

排熱がちゃんとしている

背面には大きめの通風孔がある
側面にも程よい通風孔がある

背面と側面に大きめの通風孔が取り入れられていて、夏場の熱暴走にも備えられそうな気がする。Dellなどではここが極めてしょぼいものがあり、ZOOMを起動しただけで落ちたりするものもあったので重視したいポイントだ。

モニタがノングレア

グレア液晶の存在価値がわからないので助かるところだ。

必要最小限のストレージ

私の場合、NASに繋いで運用する前提というのもあるが、256GBあれば十分だ。Office, VSCode, nvm, MSYS2, Git, Slack, Discord辺りを入れても160GBくらい空きがある。

投稿日:ジャンル::随想

『医師残業規制の9割「守れず」』という記事が神戸新聞紙面にあり、これを読んだ感想だ。

まず女性は男性になれないし、その逆もしかり、要するに男女情動など土台無理であるという話。

この記事には『長時間労働は女性のキャリア形成を阻んできたとの指摘もあり是正が急務』とあり、また『本来は勤務とすべき業務を「自己研さん」とするケースは多いとされ』ともある。

ソースは失念したのだがキャリア形成においては労働時間が多いほど有利であるという文献を見たことがある。これは当たり前のことで、例えば、労働時間が4時間の人と8時間の人では単純に経験値が倍違う。

一般的に女性は身体上の制約などにより男性より労働時間が短い傾向があるとされている。バリキャリ女性は別として、深夜残業やサービス残業をいとわないのは一般的に男性だろうし、勉強会といった自己研鑽のイベントも圧倒的に男性が多い。

思うに昨今言われる男女差別の一つは男性が頑張りすぎるせいで女性が活躍できない現象のことを指しているのではないかと思う。どちらかというとそれは差別ではなく、どうしようもないことである。

車いすの人が健常者に二足歩行できるのは卑怯だ、差別だ、というようなもので、どうにもならないことだ。そこに対し階段を全廃し、すべてスロープかエレベーターにしろというのが女性の言い分に近いだろう。

そもそもなぜ女性を活躍させないといけないのか?差別だから?少子化で人がいないから?少なくとも女性が働けば働くほど少子化が進むため後者は嘘である。

男性と比べた場合に女性の待遇が低いというのも嘘だ。バリキャリ女性や女医、イラストレーターなど、高位の地位についている女性は少なからず存在する。いわば名誉男性とされる女性の存在だ。男性と同じか、それを超える能力が女性にあれば、ちゃんとそれは優遇される。

しかし今時流のテックカンパニーを見てみよう。GoogleもAmazonもAppleもMicrosoftもMetaも創業者は男性だ。別に女性が創業者になってはいけない法律などなかったはずだ。これがどういうことかというと、差別というより単に女性にその才能がないだけの話だけなのだ。これは事実であり、差別ではない。

仮に男性が女性より有能とした場合、これは差別ではないし、逆に男性の有能さを潰すほうがおかしいと思う。そんなことをしたら世の中は無能であふれ、まさに共産主義になってしまうだろう。共産主義ではすべてが平等だ。

私はこのままではいけないと思う。女性を差別するのではなく、女性の強みを生かせる社会が必要に思う。少なくとも資本主義になる前の日本では女性は立派な労働者の一つだった。キャリアこそなかったが女工として働き続けることができていたはずだ。

キャリアさえなければ妊娠や出産で働けない期間があっても問題にはならない。別に女工でなくともイラストレーターや作家もそうだろう。女性のクリエイターには非常に魅力的な作品を作る人も少なくない。少なくとも日本では清少納言のころからそうだろう。

そこを考え直していくのが本当の働き方改革ではないだろうか?私はそう思う。

このままでは少子化はますます加速し、人類は衰退するだろう。残念なことに子供が増えている世界というのは人権もへったくれもない第三世界の話だ。そこに戻ろうというわけではないが、結局のところ昭和に戻らないとどうにもならない気はする。

因みに男性が女性より労働を頑張ることを「Greedy work」というらしい。

投稿日:ジャンル::仕事

飲み会というと嫌なイメージがある人も少なくないだろう。実際私も好きではない。しかし飲み会に出ることにはメリットもあるので、デメリットと合わせて紹介していく。

まずメリットからだが、飲み会には役員や偉い人、普段会わない他の部署の人がいるので、参加することで顔を売ったり、知らなかった情報を得たり、交換することができる。特に技術者は来たがらない傾向があるので、来るだけでアドみたいなところがある。実際着てるのは飲み会が好きな人間か、したたかな人間のどちらかだろう。私は後者だ。

次にデメリットだが、飲み会と言うのは大声で話したり、取り箸無しで回し食いすることが多々あるし、飛沫も飛び交いまくる。唾液には様々な菌やウイルスが潜んでいるのでこれを食べたり吸ったりすることで何かしらの感染症にかかる。新型コロナで自粛が呼ばれたのは記憶に新しいが、感染するのは新型コロナに限らない。

一番ヤバイのは虫歯菌だ。実は人間産まれたときは虫歯菌を持っていない。おおよそ3歳までに口移しなどで親から移るとされているが、極めて稀に保菌していないケースがある。少なくとも私は成人するまでに虫歯になったことはなかった。子供の頃は歯磨きなどしない日の方が多いという酷い生活だったのにも関わらずだ。

私は人生初の飲み会に参加したわずか半年後に虫歯を発症した。この時を境に歯磨きを良くするようになった。いやまぁマナーとしてするのが当たり前なのだが…。それまでは虫歯にならないのでしていなかった。

感染症以外の観点だとどうしても会話の声量を張上げないと声が相手に聞こえないので喉をやられがちだ。一回の飲み会ではなんともないだろうが、連日となれば喉が焼け、そこから風邪になるというのは容易にある。少なくとも私はそうだ。

そこを受容してまで参加するメリットがあるかだが、そこは個々の状況によって変わり得るだろう。私はつまらん説教みたいなのでも一見の価値はあると思っているし、パワハラ上司とのサシ飲みでも行く方だ。その方が人間関係も円滑になる。

昔は部屋の隅でだんまりしてたり、上司が財布を忘れたので何故か私が払ったりとかろくな目にあっていなかったが、最近では多少は話せるようになり、損得勘定もできるようになった気はしているので成長したように思う。結果としてはデメリットがメリットを上回るので参加している形だ。