本ブログ(WordPress)記事を SNS Blueskyに自動的に投稿

March 26, 2025 – 3:29 pm

このブログ上に新規作成したポスト記事を、X(旧Twitter)に加えて、米新興SNSのBlueskyにも自動投稿できるようにした。Bluesky apiが公開され、PHPでの投稿ができそうなのでTwitterへの投稿機能を拡張した。

このところ、イーロン・マスクがXを私物化し、横暴な態度をとっていることから、Xの利用者がBlueskyへ乗り換えるが進んでいるようだ。日経電子版(3/11 配信)の記事「米SNSのBluesky、利用者4カ月で2倍 Xから乗り換え」もよると、利用者が急速に伸び3300万人にも達したとのことだ。
このブログ記事の要約をX同様にBlueskyにも投稿できるようにすることも多少の意味があるのでは考えた。
(続きを読む)



石破首相の「商品券配布問題」で思ったこと

March 16, 2025 – 11:49 am

石破首相が衆院当選1回議員にお土産と称して商品券を配布した話、なんとも情けない話と思った。

この行為が政治資金規正法に触れるかどうかと議論されているようだが、私の感想は少し違う。長い間、望んでいた首相の席、やっと手に入れたことで、本人がイメージしていた総理大臣というものの在り方を「実践・表現」したことなのだろう。

石破の総理大臣のイメージは、古臭い「家父長的」なイメージで、彼が政治の師とする田中角栄のふるまいに倣ったものと考えると合点がゆく。

日経電子版(3/15 17:56配信)の記事「商品券問題、石破茂首相『理解得るためさらなる努力』」に、「理解を得るためにさらなる努力が必要だ」と述べたとの報道されている。石破が理解して欲しいというのは、この「家父長的」なふるまいをとるのは、首相として当然であることを理解して欲しいといっているのだろう。

随分馬鹿にした話だ。一回生議員といってもいい歳をしたそれなりに常識のある大人に対し、取るに足りない額の商品券を配布するセンスのなさなど誰も理解するわけはない。

おそらく、師と仰ぐ田中角栄の真似をしたかったのだろう。今回の行為が法に触れるかどうかという問題以前に、こうした卑しい行為を是とすることこそ問題にすべきものだろう。

さっさと退陣することだけが、残された道なのではないかと考える。
 



米市場ではトランプセッションがはやり言葉に!

March 11, 2025 – 11:33 am

早朝、ダウが一時的に1,100ドル以上急落した。それにつられるように日経平均は36,000円割れした。その後少し持ち直したとはいうものの先行きは暗そうだ。

いよいよトランプの乱暴な関税アップによる景気後退が顕著になってきたなとの印象を受ける。

日経電子版(3/11 7:37配信)には、「NYダウ一時1100ドル安 トランプ氏、景気後退否定せず」という記事では、このダウ急落の状況を報じている。

この記事のリード文を以下に転載:

10日の米株式市場で株売りの動きが加速し、ダウ工業株30種平均の前週末比下げ幅は一時1100ドルを超えた。米メディアのインタビューでトランプ米大統領が関税引き上げや政府支出の大幅削減に伴う景気後退の可能性を否定しなかったと受け止められ、市場参加者の不安心理が高まった。マネーは米国債に向かっている。

この記事のなかで、「米市場ではトランプ氏と景気後退(リセッション)をあわせた造語「トランスセッション(トランプ不況)」が急速にはやり言葉になりつつある」と報じている。

トランプを起点とするリセッション開始ということのようだ。世界中が身構える。気を抜けない。
 



気になったニュース: デンマーク 手紙の配達を廃止!

March 8, 2025 – 12:16 pm

日経電子版(3/7 配信)に、「デンマーク、25年末に手紙配達廃止 ポストも撤去へ」という記事がでていた。

25年末に廃止というのだから、あと1年以内に手紙の配達がなくなるというから驚くような話だ。

記事のリード文を以下に転載:

デンマークの郵便事業を請け負う「ポストノルド」は6日、2025年末で同国内での手紙の配達を廃止すると明らかにした。ポストに手紙を投函(とうかん)する人が激減したことが理由。約1500の郵便ポストも6月から撤去を開始する。

通信手段を「手紙からネット(電子メールなど)に全面的に変える」ということなのだから、我々の常識でいったら大変なことだ。ちょっと想像できない世界のような気がする。

記事によると、「デンマークは世界で最もデジタル化が進んだ国の一つ」で、「公的書類のデジタル化が定着」しているということから、このようなドラスティックな措置がとれるのだと思う。当然のことながら、デジタル化により郵便事業が採算がとれないことが背景にあり、これが直接的な要因であるというのだろう。

ただ、デジタル化では、すべての人がなんらかの電子的通信手段を持たなければならいわけで、そういう電子機器を持てないような貧しいひとたちはどうするのか考えさせられる。

ただ、当然のことながら、小包配達サービスは残るわけなので、手紙もこの配達サービスのなかで賄われることになるのだろう。

我が国の行く末を考えると、郵便局を全廃して、ヤマト運輸といった宅配サービスがこれに代わるということと想像する。
 



radiko の録音用 shell scriptの見直し

March 7, 2025 – 6:07 pm

今年の1/20以降、radikoの録音ができなくなっていた。

障害発生の原因を調査したところ、原因がradikoの録音用 shell scriptのなかのstreaming urlの設定部分が変更されていることがわかった。

なお、認証部については、これまでと変化していない。

更新後のshell script の sourceは以下:

#!/bin/bash

LANG=ja_JP.utf8

pid=$$
date=`date '+%Y-%m-%d-%H:%M'`

outdir="."

if [ $# -le 1 ]; then
  echo "usage : $0 channel_name duration(minuites) [outputdir] [prefix]"
  exit 1
fi

if [ $# -ge 2 ]; then
  channel=$1
  DURATION=`expr $2 \* 60`
fi
if [ $# -ge 3 ]; then
  outdir=$3
fi
PREFIX=${channel}
if [ $# -ge 4 ]; then
  PREFIX=$4
fi

####
# Define authorize key value (from http://radiko.jp/apps/js/playerCommon.js)
RADIKO_AUTHKEY_VALUE="bcd151073c03b352e1ef2fd66c32209da9ca0afa"


if [ -f auth1_fms_${pid} ]; then
  rm -f auth1_fms_${pid}
fi

#
# access auth1_fms
#
curl -s \
     --header "pragma: no-cache" \
     --header "X-Radiko-App: pc_html5" \
     --header "X-Radiko-App-Version: 0.0.1" \
     --header "X-Radiko-User: test-stream" \
     --header "X-Radiko-Device: pc" \
     --dump-header auth1_fms_${pid} \
     -o /dev/null \
     https://radiko.jp/v2/api/auth1

if [ $? -ne 0 ]; then
  echo "failed auth1 process"
  exit 1
fi

#
# get partial key
#
authtoken=`perl -ne 'print $1 if(/x-radiko-authtoken: ([\w-]+)/i)' auth1_fms_${pid}`
offset=`perl -ne 'print $1 if(/x-radiko-keyoffset: (\d+)/i)' auth1_fms_${pid}`
length=`perl -ne 'print $1 if(/x-radiko-keylength: (\d+)/i)' auth1_fms_${pid}`
partialkey=`echo "${RADIKO_AUTHKEY_VALUE}" | dd bs=1 "skip=${offset}" "count=${length}" 2> /dev/null | base64`

echo "partialkey: $partialkey"

rm -f auth1_fms_${pid}

if [ -f auth2_fms_${pid} ]; then  
  rm -f auth2_fms_${pid}
fi

#
# access auth2_fms
#
curl -s \
     --header "pragma: no-cache" \
     --header "X-Radiko-User: test-stream" \
     --header "X-Radiko-Device: pc" \
     --header "X-Radiko-AuthToken: ${authtoken}" \
     --header "X-Radiko-PartialKey: ${partialkey}" \
     -o auth2_fms_${pid} \
     https://radiko.jp/v2/api/auth2

if [ $? -ne 0 -o ! -f auth2_fms_${pid} ]; then
  echo "failed auth2 process"
  exit 1
fi

echo "authentication success"

areaid=`perl -ne 'print $1 if(/^([^,]+),/i)' auth2_fms_${pid}`
echo "areaid: $areaid"

rm -f auth2_fms_${pid}

#
# get stream-url
#

if [ -f ${channel}.xml ]; then
  rm -f ${channel}.xml
fi

curl -s "https://radiko.jp/v2/station/stream_smh_multi/${channel}.xml" -o ${channel}.xml
stream_url=`xmllint --xpath "/urls/url[@areafree='1'][2]/playlist_create_url/text()" ${channel}.xml`
#
echo "stream_url: $stream_url"

rm -f ${channel}.xml

#
# ffmpeg
#
ffmpeg \
  -loglevel error \
  -fflags +discardcorrupt \
  -headers "X-Radiko-Authtoken: ${authtoken}" \
  -i "${stream_url}" \
  -acodec copy \
  -vn \
  -bsf:a aac_adtstoasc \
  -y \
  -t ${DURATION} \
  "/tmp/${channel}_${date}.m4a"

ffmpeg -i "/tmp/${channel}_${date}.m4a" -acodec libmp3lame -ab 128k "${outdir}/${PREFIX}_${date}.mp3"
if [ $? = 0 ]; then
  rm -f "/tmp/${channel}_${date}.m4a"
fi