アーカイブ

全記事数 2103

全記事一覧
クリエイティブ・コモンズ:表示・非営利・継承
著作権について
Powered by ...
MT icon
MTOS 6.7.5

Apache icon

著作者への連絡方法

2025年10月 8日

中秋の名月。Harvest Supermoon

旧暦の8月15日は、ことしは10月7日。中秋の名月、Harvest MoonかつSupermoonの満月を観る。

ちょうど満月(29.5/2 = 月齢14.75)の前後に望遠レンズで撮影した月を観ると、確かに少しだけ上下に欠けた部分がわかる。そこだけクレーターのエッジの影が出ているから。

20251007-moon.jpg
10月7日3時:月齢14.3の月 (PENTAX k-x, SIGMA 18-250mm F3.5-6.3 DC MACRO HSM, ISO100, F7.1, 1/250s)

20251008-moon.jpg
10月8日5時:月齢15.5の月 (PENTAX k-x, SIGMA 18-250mm F3.5-6.3 DC MACRO HSM, ISO160, F6.3, 1/500s)

「中秋の名月」は旧暦(太陰暦)の8月15日だというのは、何となく分かるが...

詳しくは国立天文台の次の記事が詳しい。

名月が満月とは限らない(国立天文台)
2025年の中秋の名月は、10月6日です。「中秋の名月」とは、太陰太陽暦の8月15日の夜に見える月のことです。中秋の名月をめでる習慣は、平安時代に中国から伝わったと言われています。

今年は10月6日が中秋の名月、翌7日が満月と日付が1日ずれています。太陰太陽暦では、新月(朔)の瞬間を含む日が、その月の朔日(ついたち)になります。今年は9月22日(新月の瞬間は4時54分)が太陰太陽暦の8月1日、10月6日が太陰太陽暦での8月15日となります。一方、天文学的な意味での満月(望)は、地球から見て太陽と反対方向になった瞬間の月のことで、満月の時刻は、10月7日12時48分です。
https://www.nao.ac.jp/astro/sky/2025/10-topics01.html

省略された記事の残りの部分を表示する (Continue to read rest of this topic) »

2025年10月 5日

タマムシの標本を作る

9月9日に、六甲山地の森林植物園 学習の森にある業務用の駐車場入口付近で拾ったタマムシの死骸。1ヶ月ほど放置していたが、標本化に着手した。

再度山ドライブウェイのアスファルト舗装上に転がっていたため、カラカラに乾ききった状態だった。うまく標本化できるだろうか...

標本化の方法はWebで調べると色々出てくるが、主な流れは

(1)生きている場合は、安楽死させる
(2)湯に浸すか、熱湯の蒸気により軟化させる
(3)ピンを使って展足する
(4)1ヶ月ほど乾燥させる
(5)標本箱に保管(ピンで挿して止めるか、三角台紙で接着)

というようになっている。

今回は既に死んでいるため(1)の処理は必要ない。

標本化前

20251005-tamamushi-sigai.jpg
採集したタマムシの死骸

足をクロスして閉じた状態で、死後硬直している。

省略された記事の残りの部分を表示する (Continue to read rest of this topic) »

2025年10月 4日

(Perl) Config::TinyのINIファイル読み書きと、Stat::lsMode::format_modeをライブラリを使わずインライン実装する

サーバの大掃除のついでに、ユーザ権限でCPANライブラリを導入していたものを一掃したい。そのために、と、Stat::lsMode::format_modeをライブラリを使わずインライン実装する簡易関数をAIに書いてもらった。

Config::TinyのINIファイル読み書きを代替する関数

#!/usr/bin/perl

use Data::Dumper;

$ini_filename = "test.ini";

# *******************
# INI読み込み

my $config = read_ini($ini_filename);

if ( !defined($config) ) {
    print("ini file not found\n");
    exit(0);
}
my $str_temp = $config->{debug_section}->{debug_attr};

if ( !defined($str_temp) ) {
    printf("value not found\n");
}
else {
    printf( "[section] attr = %s\n", $str_temp );
}

print("---debug---\n");
print Dumper $config;
print("---debug---\n");

# *******************
# INI書き込み

$time = time();
( $sec, $min, $hour, $mday, $mon, $year, $wday ) = localtime($time);
$new_value = sprintf(
    "%04d-%02d-%02d %02d:%02d:%02d",
    $year + 1900, $mon + 1, $mday, $hour, $min, $sec
);

# 書き込み
my $config = {};
$config->{debug_section0}->{debug_attr0} = "dummy string 0";
$config->{debug_section}->{debug_attr}   = $new_value;
$config->{debug_section}->{debug_attr2}  = "dummy string 2";
$config->{debug_section2}->{debug_attr3} = "dummy string 3";
write_ini( $ini_filename, $config );

printf( "new value (%s) written\n", $new_value );

# *************
# INIファイルに書き込む (Config::Tiny 互換)
# param[0]: string ファイル名
# return:   hash 全ての値を格納したハッシュ{セクション名}{値名}
sub read_ini {
    my ($filename) = @_;
    open my $fh, '<', $filename or return undef;

    my %config;
    my $section = '';

    while ( my $line = <$fh> ) {
        chomp $line;
        $line =~ s/^\s+|\s+$//g;                           # 前後の空白除去
        next if $line eq '' or $line =~ /^;/;              # 空行・コメント除外

        if ( $line =~ /^\[(.+?)\]$/ ) {
            $section = $1;
            $config{$section} ||= {};
        }
        elsif ( $line =~ /^([^=]+?)\s*=\s*(.*)$/ ) {
            my ( $key, $value ) = ( $1, $2 );
            $config{$section}{$key} = $value;
        }
    }
    close $fh;
    return \%config;
}

# *************
# INIファイルに書き込む (Config::Tiny 互換)
# param[0]: string ファイル名
# param[1]: hash 全ての値を格納したハッシュ{セクション名}{値名}
sub write_ini {
    my ( $filename, $config_ref ) = @_;
    open my $fh, '>', $filename or return 0;

    foreach my $section ( sort keys %$config_ref ) {
        print $fh "[$section]\n";

        foreach my $key ( sort keys %{ $config_ref->{$section} } ) {
            my $value = $config_ref->{$section}{$key};
            print $fh "$key=$value\n";
        }
        print $fh "\n";
    }
    close $fh;
    return 1;
}

省略された記事の残りの部分を表示する (Continue to read rest of this topic) »

2025年10月 2日

鶴見緑地 国際庭園

夏も終わり、久々に鶴見緑地の国際庭園へ。長々と続いていた改修工事も一段落し、撮影できていなかったところを重点に見て回った。

20251002-california.jpg
国際庭園 カリフォルニア

カリフォルニアとハワイ、どちらも椰子の木とベンチの組み合わせでリゾート感を出している。ハワイが雑草伸び放題なのは、白い砂浜のイメージとはかけ離れている。

20251002-hawaii.jpg
国際庭園 ハワイ

省略された記事の残りの部分を表示する (Continue to read rest of this topic) »

2025年9月27日

月齢5.0の三日月

西の空に月齢5.0の三日月がきれいに見えていた。晴れてはいるが大気がかなり揺らいでいるので、それほど解像度は高くはない。

20250927-moon.jpg
月齢5.0の三日月(MAK90, PENTAX k-x, ISO1600, 1/160)

六甲山地 風吹岩と七兵衛山へ

ほぼ半年ぶりに風吹岩から七兵衛山へのコースを歩いた。天気予報は「乾燥した秋晴れ」だそうだが、実際は曇り時々晴れだった。

ヤマレコの記事 『六甲山地)風吹岩から七兵衛山

20250927-tracklog.jpg

GPXファイルをダウンロードする

経路 時刻 所要時間
JR甲南山手駅 〜 神戸薬科大学(登山口) 7:19 〜 7:34 15分
神戸薬科大学(登山口)〜 風吹岩 7:34 〜 8:22 48分
風吹岩 〜 横池(雄池) 8:22 〜 8:30 8分
横池(雄池)〜 七兵衛山 8:30 〜 8:51 21分
七兵衛山 〜 金鳥山 休憩所 8:51 〜 9:18 27分
金鳥山 休憩所 〜 保久良神社(登山口) 9:18 〜 9:34 16分
保久良神社(登山口)〜 阪神 深江駅 9:46 〜 10:22 36分

■ JR東西線・神戸線 海老江駅 06:49発 → 尼崎 → 甲南山手駅 07:16着 (運賃 320円)

きょうは休日なので、6時台に新快速が走っていない。普通列車の乗り継ぎが最も早く着く選択肢で、平日よりも少し時間がかかっている。

20250927-jr-kohnanyamate.jpg
JR 甲南山手駅

JR甲南山手駅 〜 神戸薬科大学(登山口)

甲南山手駅を出て、5分ほど山手幹線を歩く。

20250927-yamatekansen.jpg
甲南山手駅前の山手幹線 (5分ほど西へ歩く)

省略された記事の残りの部分を表示する (Continue to read rest of this topic) »

以下の記事は画面の都合上省略されています。全ての記事一覧は、こちらまで