芥川龍之介が「蜘蛛の糸」を発表して百年。高二の秋の文化祭,クラスの仮装行列のテーマが 蜘蛛の糸だった。お釈迦様の極楽タワーの竹を近所から切り出し,地獄の焔と煙の絵を描いた。犍陀多に続いて蜘蛛の糸(登山部の赤いザイル)に群がる地獄の亡者だったころ。
2026年5月6日水曜日
アレコレたいへん
2026年4月21日火曜日
ヒマワリ
放送大学の自然科学の授業で,岸根順一郎さんが向日葵の種の配列のシミュレーションを見せていた。自然は黄金比を選んでいるというわけだ。バラメタを少し変えるといろいろな模様が出現する。
Q(koshix):Jupyter環境で,次のJulia プログラムをつくってください。 向日葵の種(塗りつぶした色つき小円でよい)の分布が 1粒ずつ内側から充足されていくインラインアニメーション。 これで意味が分かりますか? なるべく簡素で高速なものにしてください。
2026年2月14日土曜日
コンピュータ環境
MacBook Air M1を使っているが,1TBのSSDの使用領域は半分ほどだった。ところが先日,気がつくと,残量が100GBを切ったという警告が出てきた。えっ。となって,あれこれ不要アプリなどを消したものの,残量は150GBくらいにしかならない。仕方がないので,ChatGPTに相談してみた。
Q(koshix):MacBook Air M1 (macOS 26.2)の ~/Library/Application Support/Microsoft/EdgeUpdater が 20 GB 近くもあって,ディスクを占有しているのですが,削除して構いませんか。Excel Word PowerPoint などのMicrosoftアプリはそのまま使い続けたいです。Q(koshix):~/Library/Group Containers が 16 GBもあって,消したいのですけれど,どうですか。
Q(koshix):SSD領域 1 TB のうち,システムデータで 400 GB,自分のローカルで350 GBつかっているのですけど,システムデータはこんなものですか?A(ChatGPT):400GB の「システムデータ」は 普通ではないです。よほど特殊な使い方(巨大な仮想マシン/開発環境/動画編集のキャッシュ/iCloud・写真のローカル保持/Time Machine スナップショットが大量)でない限り、1TB Mac でシステムデータが 400GB は“異常に大きい側”に入ります。
python3 -m venv ~/venvs/jlabsource ~/venvs/jlab/bin/activate> python -m pip install -U pip
> pip install matplotlib japanize_matplotlib pandas reportlab> pip install cartopy geopandas> pip install ipykernel
ということで,こちらのほうは無事に解決できた。
2025年9月21日日曜日
9月20日(2)
koshi@mba2020 ~ % ./birth.jl
【基礎情報】
今日 : 2025年9月21日(日曜日)
誕生日 : 1953年9月20日(日曜日)
【差分と年齢】
生誕からの経過日数 : 26299日
満年齢 : 72歳
【年ごとの誕生日一覧】(*は日曜) ※最終年:2025年
1953年9月20日(日曜日) 0歳 *
1954年9月20日(月曜日) 1歳
1955年9月20日(火曜日) 2歳
1956年9月20日(木曜日) 3歳
1957年9月20日(金曜日) 4歳
1958年9月20日(土曜日) 5歳
1959年9月20日(日曜日) 6歳 *
1960年9月20日(火曜日) 7歳
1961年9月20日(水曜日) 8歳
1962年9月20日(木曜日) 9歳
1963年9月20日(金曜日) 10歳
1964年9月20日(日曜日) 11歳 *
1965年9月20日(月曜日) 12歳
1966年9月20日(火曜日) 13歳
1967年9月20日(水曜日) 14歳
1968年9月20日(金曜日) 15歳
1969年9月20日(土曜日) 16歳
1970年9月20日(日曜日) 17歳 *
1971年9月20日(月曜日) 18歳
1972年9月20日(水曜日) 19歳
1973年9月20日(木曜日) 20歳
1974年9月20日(金曜日) 21歳
1975年9月20日(土曜日) 22歳
1976年9月20日(月曜日) 23歳
1977年9月20日(火曜日) 24歳
1978年9月20日(水曜日) 25歳
1979年9月20日(木曜日) 26歳
1980年9月20日(土曜日) 27歳
1981年9月20日(日曜日) 28歳 *
1982年9月20日(月曜日) 29歳
1983年9月20日(火曜日) 30歳
1984年9月20日(木曜日) 31歳
1985年9月20日(金曜日) 32歳
1986年9月20日(土曜日) 33歳
1987年9月20日(日曜日) 34歳 *
1988年9月20日(火曜日) 35歳
1989年9月20日(水曜日) 36歳
1990年9月20日(木曜日) 37歳
1991年9月20日(金曜日) 38歳
1992年9月20日(日曜日) 39歳 *
1993年9月20日(月曜日) 40歳
1994年9月20日(火曜日) 41歳
1995年9月20日(水曜日) 42歳
1996年9月20日(金曜日) 43歳
1997年9月20日(土曜日) 44歳
1998年9月20日(日曜日) 45歳 *
1999年9月20日(月曜日) 46歳
2000年9月20日(水曜日) 47歳
2001年9月20日(木曜日) 48歳
2002年9月20日(金曜日) 49歳
2003年9月20日(土曜日) 50歳
2004年9月20日(月曜日) 51歳
2005年9月20日(火曜日) 52歳
2006年9月20日(水曜日) 53歳
2007年9月20日(木曜日) 54歳
2008年9月20日(土曜日) 55歳
2009年9月20日(日曜日) 56歳 *
2010年9月20日(月曜日) 57歳
2011年9月20日(火曜日) 58歳
2012年9月20日(木曜日) 59歳
2013年9月20日(金曜日) 60歳
2014年9月20日(土曜日) 61歳
2015年9月20日(日曜日) 62歳 *
2016年9月20日(火曜日) 63歳
2017年9月20日(水曜日) 64歳
2018年9月20日(木曜日) 65歳
2019年9月20日(金曜日) 66歳
2020年9月20日(日曜日) 67歳 *
2021年9月20日(月曜日) 68歳
2022年9月20日(火曜日) 69歳
2023年9月20日(水曜日) 70歳
2024年9月20日(金曜日) 71歳
2025年9月20日(土曜日) 72歳
ChatGPT-5 Thinking が提案してきたコードは以下のとおりである。かなり修正してもらった。
#!/usr/bin/env julia
# birth.jl
using Dates
# --- ヘルパ ---
const WDAY_SHORT = ["月","火","水","木","金","土","日"]
const WDAY_LONG = ["月曜日","火曜日","水曜日","木曜日","金曜日","土曜日","日曜日"]
fmt_date_ja(d::Date; long_wday::Bool=true) = string(
Dates.format(d, dateformat"yyyy年m月d日"), "(",
(long_wday ? WDAY_LONG : WDAY_SHORT)[dayofweek(d)], ")"
)
# 引数: [YYYY MM DD [ENDYEAR]]
function parse_args()
if length(ARGS) == 0
return Date(1953, 9, 20), year(Dates.today())
elseif length(ARGS) == 3 || length(ARGS) == 4
b = Date(parse(Int, ARGS[1]), parse(Int, ARGS[2]), parse(Int, ARGS[3]))
lasty = (length(ARGS) == 4) ? parse(Int, ARGS[4]) : year(Dates.today())
return b, lasty
else
error("使い方: ./birth.jl または ./birth.jl YYYY M D [ENDYEAR]")
end
end
function list_birthdays(birth::Date, last_year::Int)
last_year = max(last_year, year(birth)) # 下限は誕生年
for y in year(birth):last_year
d = Date(y, month(birth), day(birth))
age = y - year(birth)
star = (dayofweek(d) == 7) ? "*" : "" # 7 = 日曜
println(fmt_date_ja(d; long_wday=true), " ", age, "歳 ", star)
end
end
# --- 本体 ---
birthday, list_until = parse_args()
today = Dates.today()
println("【基礎情報】")
println("今日 : ", fmt_date_ja(today; long_wday=true))
println("誕生日 : ", fmt_date_ja(birthday; long_wday=true))
println("\n【差分と年齢】")
days_elapsed = Dates.value(today - birthday)
age_years = year(today) - year(birthday) - (Date(year(today), month(birthday), day(birthday)) > today ? 1 : 0)
println("生誕からの経過日数 : ", days_elapsed, "日")
println("満年齢 : ", age_years, "歳")
println("\n【年ごとの誕生日一覧】(*は日曜) ※最終年:", list_until, "年")
list_birthdays(birthday, list_until)