mieki256's diary



2023/08/06() [n年前の日記]

#1 [ftps][web][linux][ubuntu][windows] ぷららのFTPサーバに接続できない。その4

_昨日 の続き。ぷららのプライベートホームページが、FTPS(Explicit)接続のみに変更されてしまって、ウチの環境からぷららのFTPサーバ(www7.plala.or.jp, 60.43.63.107) にFTPS接続できなくて困っていた。

2023/08/06, 20:00頃に試してみたら…繋がった! サーバが復活したということだろうか。

Windows10 x64 22H2上で、以下のクライアントで動作確認してみた。
FTPクライアントwww7.plala.or.jp との接続成功/失敗
WinSCP 6.1.1Success
FFFTP 2.00Success
FFFTP 5.8 x86Success
Cyberduck 8.6.2Failure
FileZilla 3.65.0Failure
FileZilla 3.58.0 (on Ubuntu Linux 22.04 LTS)Failure

FileZilla 3.65.0、3.58.0, Cyberduck 8.6.2 は接続に失敗した…。

海外では FileZilla を使ってFTPS接続の動作確認をしていることが多いし、Linuxのデスクトップ環境上で使えるGUIのFTPクライアントと言えば FileZilla ぐらいしか選択肢が無かったりするしで、FileZilla で繋がらないなら、まだサーバの設定に問題有り、と判断するのが妥当な気もする。

※ 2023/08/07追記。FileZilla の設定を変更して、「許可されるTLSの最小バージョン」を「TLS1.0 (安全でない)」にすれば、一応 www7.plala.or.jp に接続できることが分かった。ただ、FileZilla のコミュニティとしては推奨しないらしい。追記ここまで。

FFFTP 2.00 で接続できたのはともかく、FFFTP 5.8 でも接続に成功したのは驚いた。自分が Ubuntu Linux 22.04 LTS + vsftpd で実験した際には、FFFTP 3.x 以降が全く接続できなかったので…。どのFTPサーバを使って、どんな設定にすれば、そんな状態が実現できるのだろう…。

でも、「この証明書は信頼できない」とFTPクライアントが言ってくるあたりは、ちょっと気になるなあ…。

転送作業はまだ試してない。明日、親父さんのPCで試してみないと。この手のソレは、いざ転送するとエラーが出る可能性もあるんだよな…。

FFFTPのログ :

FFFTP 2.0 のホスト設定についてメモ。
  • 基本 → ホスト名(アドレス) → IPv4アドレスを直接入力してある。
  • 拡張 → PASVモードを使う → チェックを入れて有効化。
  • 拡張 → ネットワークの種類 → TCP/IPv4 を選択。(この項目は、FFFTP 5.8 には無い)
  • 暗号化 → 暗号化なしで接続を許可 → チェックを外す。
  • 暗号化 → FTPS (Explicit)で接続 → チェックを入れる。
  • 暗号化 → FTPS (Implicit)で接続 → チェックを外す。
  • 暗号化 → 弱い暗号化方式を試用しない → チェックを入れる。(この項目は、FFFTP 5.8 には無い)

FFFTP 2.00 のログは以下。
 FFFTP Ver.2.00 Copyright(C) 1997-2010 Sota & cooperators.
 ...
 OpenSSLが読み込まれました.
 ----------------------------
 FTP over Explicit SSL/TLS (FTPES)を使用します.
 ホスト 60.43.63.107 (21) に接続しています. (TCP/IPv4)
 接続しました. (TCP/IPv4)
 220 FTP Server Ready
 >AUTH TLS
 234 AUTH TLS successful
 >PBSZ 0
 200 PBSZ 0 successful
 >PROT P
 200 Protection set to Private
 >USER xxxxxxx
 331 Password required for xxxxxxx
 >PASS [xxxxxx]
 230 User xxxxxxx logged in
 >FEAT
 211-Features:
  MDTM
  SSCN
  TVFS
  MFMT
  SIZE
  PROT
  CCC
  PBSZ
  AUTH TLS
  MFF modify;UNIX.group;UNIX.mode;
  REST STREAM
  MLST modify*;perm*;size*;type*;unique*;UNIX.group*;UNIX.mode*;UNIX.owner*;
  EPRT
  EPSV
 211 End
 >TYPE A
 200 Type set to A
 >PASV
 227 Entering Passive Mode (60,43,63,107,229,155).
 ダウンロードのためにホスト 60.43.63.107 (58779) に接続しています. (TCP/IPv4)
 接続しました. (TCP/IPv4)
 >MLSD
 150 Opening ASCII mode data connection for MLSD
 226 Transfer complete
 ファイル一覧の取得は正常終了しました. (2233 Bytes)
 ファイル名の漢字コードの判別結果はUTF-8です.
 >>CD D:\hoge\fuga\plala\
 >XPWD
 257 "/" is the current directory
 >TYPE A
 200 Type set to A
 >PASV
 227 Entering Passive Mode (60,43,63,107,217,48).
 ダウンロードのためにホスト 60.43.63.107 (55600) に接続しています. (TCP/IPv4)
 接続しました. (TCP/IPv4)
 >MLSD
 150 Opening ASCII mode data connection for MLSD
 226 Transfer complete
 ファイル一覧の取得は正常終了しました. (2233 Bytes)

「接続しました.」と表示された後、FTPサーバから 220 が返ってきてるし、FTPクライアントから AUTH TLS も送信できて、サーバから 234 も返ってきている。その後、ユーザ名とパスワードも、USER と PASS で送信できている。

これが、正常にFTPS接続できた時の、コマンドとレスポンスの流れ、ということだなと…。

FFFTP 5.8 x86 のログも残しておく。
FFFTP Ver.5.8 32bit Copyright(C) 1997-2010 Sota & cooperators.
...
----------------------------
FTP over Explicit SSL/TLS (FTPES)を使用します.
 ホスト 60.43.63.107 (60.43.63.107:21) に接続しています.
 接続しました.
 220 FTP Server Ready
 >AUTH TLS
 234 AUTH TLS successful
 証明書の検証エラー: 0x800B010F: 証明書の CN 名が渡された値と一致しません。 
 >PBSZ 0
 200 PBSZ 0 successful
 >PROT P
 200 Protection set to Private
 >USER xxxxxxx
 331 Password required for xxxxxxx
 >PASS [xxxxxx]
 230 User xxxxxxx logged in
 >FEAT
 211-Features:
  MDTM
  SSCN
  TVFS
  MFMT
  SIZE
  PROT
  CCC
  PBSZ
  AUTH TLS
  MFF modify;UNIX.group;UNIX.mode;
  REST STREAM
  MLST modify*;perm*;size*;type*;unique*;UNIX.group*;UNIX.mode*;UNIX.owner*;
  EPRT
  EPSV
 211 End
 >>CD D:\hoge\fuga\plala
 >XPWD
 257 "/" is the current directory
 >TYPE A
 200 Type set to A
 >PASV
 227 Entering Passive Mode (60,43,63,107,253,160).
 ホスト 60.43.63.107 (60.43.63.107:64928) に接続しています.
 接続しました.
 >MLSD
 150 Opening ASCII mode data connection for MLSD
 証明書の検証エラー: 0x800B010F: 証明書の CN 名が渡された値と一致しません。 
 226 Transfer complete
 ファイル一覧の取得は正常終了しました. (2233 Bytes)

FileZillaのログ :

接続できなかった FileZilla 3.65.0 のログは以下。
状態:           60.43.63.107:21 に接続中...
状態:           接続を確立しました。ウェルカム メッセージを待っています...
レスポンス:     220 FTP Server Ready
コマンド:       AUTH TLS
レスポンス:     234 AUTH TLS successful
状態:           TLS を初期化しています...
エラー:         GnuTLS エラー -8: A packet with illegal or unsupported version was received.
状態:           "ECONNABORTED - 接続が閉じられました" への接続の試行が失敗しました。
エラー:         サーバーに接続できません

FileZilla 3.58.0 + Ubuntu Linux 22.04 LTS のログは以下。
状態:           60.43.63.107:21 に接続中...
状態:           接続を確立しました。ウェルカム メッセージを待っています...
レスポンス:     220 FTP Server Ready
コマンド:       AUTH TLS
レスポンス:     234 AUTH TLS successful
状態:           TLS を初期化しています...
エラー:         GnuTLS エラー -8: A packet with illegal or unsupported version was received.
状態:           "ECONNABORTED - 接続が閉じられました" への接続の試行が失敗しました。
エラー:         サーバーに接続できません
FileZilla 3.65.0 + Windows10 x64 22H2 と同じに見える。

220 も受け取ってるし、FTPクライアントが AUTH TLS を送信するところまでは進んでいるなと…。

"GnuTLS error -8: A packet with illegal or unsupported version was received." でググってみた。

_Filezilla GnuTLS error preventing connection to server (Solved)
_GnuTLS error -8 when using client version 3.57.0 - FileZilla Forums

「サーバ側の設定に問題アリ」ということらしい。TLSのバージョン絡みのようだなと…。

余談。IPアドレスは変更済み :

昨日メモするのを忘れてたのでメモ。ひょっとすると、ぷららのFTPサーバは、IPアドレスに基づいてアクセスを規制しているのではないかと疑った。

であればと、ルータの再起動をして、ウチのIPアドレスを変えてみてからFTPサーバへの接続を試してみたのだけど。その時は、相変わらず接続できなかった。2回ほどIPアドレスを変更してから試しても結果は同じだったので、おそらくIPアドレスで接続が禁止されている状態ではないのだろうと判断した。

そもそも、例えばサーバの hosts.deny 等にIPアドレスを記述してFTPアクセスを禁止した場合、FTPクライアントには「FTPサービスは提供していませんよ」的レスポンスが残る。しかし、それも残ってなかったので、やはりIPアドレスで何かしてるわけではなさそう、とも考えた。

もっとも、ぷらら側でセキュリティ対策云々を優先して、サーバ側が何も返さない設定にしてある可能性もあるのかなと…。そうなると、一体何が原因で接続できないのか、ユーザ側で推測するのは難しくなりそう。

余談。openssl s_client について :

vsftpd Over SSL/TLS についてググっていた際、openssl s_client というコマンドでSSL/TLS関係の動作確認をすることができると知った。

_openssl s_client コマンドでウェブサーバーの SSL/TLS 対応状況を診断する - ラボラジアン
_openssl s_clientコマンドでウェブサーバのSSL/TLS対応状況を確認

$ openssl version
OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)

例えば、Linux上で以下のようなコマンドを打つと、色々と情報が返ってくる。
openssl s_client -connect 60.43.63.107:21 -starttls ftp

昨日と今日、Ubuntu Linux 22.04 LTS 上で、ぷららのFTPサーバ(www7.plala.or.jp, 60.43.63.107)を相手にして試してみたのだけど…。

2023/08/05の時点。
$ openssl s_client -connect 60.43.63.107:21 -starttls ftp
CONNECTED(00000003)
4027A7E3B77F0000:error:0A000102:SSL routines:ssl_choose_client_version:unsupported protocol:../ssl/statem/statem_lib.c:1952:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 133 bytes and written 310 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---

2023/08/06の時点。
$ openssl s_client -connect 60.43.63.107:21 -starttls ftp
CONNECTED(00000003)
40376175A27F0000:error:0A000126:SSL routines:ssl3_read_n:unexpected eof while reading:../ssl/record/rec_layer_s3.c:308:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 310 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---

違いが判らん…。いや、微妙に違うか…。
> diff -u openssl.20230805.log.txt openssl.20230806.log.txt
--- openssl.20230805.log.txt    Sun Aug  6 23:02:04 2023
+++ openssl.20230806.log.txt    Sun Aug  6 23:02:26 2023
@@ -1,12 +1,12 @@
 $ openssl s_client -connect 60.43.63.107:21 -starttls ftp
 CONNECTED(00000003)
-40376175A27F0000:error:0A000126:SSL routines:ssl3_read_n:unexpected eof while reading:../ssl/record/rec_layer_s3.c:308:
+4027A7E3B77F0000:error:0A000102:SSL routines:ssl_choose_client_version:unsupported protocol:../ssl/statem/statem_lib.c:1952:
 ---
 no peer certificate available
 ---
 No client certificate CA names sent
 ---
-SSL handshake has read 0 bytes and written 310 bytes
+SSL handshake has read 133 bytes and written 310 bytes
 Verification: OK
 ---
 New, (NONE), Cipher is (NONE)
昨日は 0byte だったところが、今日は133byte になってる。

手元で動かしている Ubuntu Linux 22.04 LTS + vsftpd (Over SSL/TTS) を相手にして試したら、全然違う結果になった。
$ openssl s_client -connect localhost:21 -starttls ftp
CONNECTED(00000003)
Can't use SSL_get_servername
depth=0 C = JP, ST = Fukushima, L = Sukagawa, O = RAD11, CN = i36100t, emailAddress = hogeuser@example.com
verify error:num=18:self-signed certificate
verify return:1
depth=0 C = JP, ST = Fukushima, L = Sukagawa, O = RAD11, CN = i36100t, emailAddress = hogeuser@example.com
verify return:1
---
Certificate chain
 0 s:C = JP, ST = Fukushima, L = Sukagawa, O = RAD11, CN = i36100t, emailAddress = hogeuser@example.com
   i:C = JP, ST = Fukushima, L = Sukagawa, O = RAD11, CN = i36100t, emailAddress = hogeuser@example.com
   a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
   v:NotBefore: Aug  4 19:12:18 2023 GMT; NotAfter: Aug  1 19:12:18 2033 GMT
---
Server certificate
-----BEGIN CERTIFICATE-----
MIID2zCCAsOgAwIBAgIUfQw5di5DcU3RMb2uur6jhK0o28wwDQYJKoZIhvcNAQEL
...
SbShrSFBEcFjzPqxey7q0lkLftO3o2BjxvZl8A1+7Q==
-----END CERTIFICATE-----
subject=C = JP, ST = Fukushima, L = Sukagawa, O = RAD11, CN = i36100t, emailAddress = hogeuser@example.com
issuer=C = JP, ST = Fukushima, L = Sukagawa, O = RAD11, CN = i36100t, emailAddress = hogeuser@example.com
---
No client certificate CA names sent
Requested Signature Algorithms: ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA512:Ed25519:Ed448:RSA-PSS+SHA256:RSA-PSS+SHA384:RSA-PSS+SHA512:RSA-PSS+SHA256:RSA-PSS+SHA384:RSA-PSS+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA512:ECDSA+SHA224:RSA+SHA224
Shared Requested Signature Algorithms: ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA512:Ed25519:Ed448:RSA-PSS+SHA256:RSA-PSS+SHA384:RSA-PSS+SHA512:RSA-PSS+SHA256:RSA-PSS+SHA384:RSA-PSS+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA512
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: ECDH, prime256v1, 256 bits
---
SSL handshake has read 1805 bytes and written 739 bytes
Verification error: self-signed certificate
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 18 (self-signed certificate)
---
220 Welcome to blah FTP service.
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: B6D3BB3D0172601AC62E8A72C9CD107D259262FBAF7FFB8A37E00EC89D2AF488
    Session-ID-ctx:
    Resumption PSK: 21DAEBE93FE1F65F4B2A4352F98B7F22510571230D5C48D24964F6D24A4F61A2DE8DAA0C210ACCA2D2B97F69700C312A
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    ...

    Start Time: 1691330693
    Timeout   : 7200 (sec)
    Verify return code: 18 (self-signed certificate)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: 49D7A917F01AD6C204F0B4E90F26506515C7B8994BF0234CEE8FACC954688BC7
    Session-ID-ctx:
    Resumption PSK: 386A511798FCCF44DD5D47A216F82238EF8BF36265D5D6B007D56B15FA44B7395CA1B474FD6F34F4C9B8EAD1D974E5B8
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    ...

    Start Time: 1691330693
    Timeout   : 7200 (sec)
    Verify return code: 18 (self-signed certificate)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK
quit
221 Goodbye.
40877323717F0000:error:0A000126:SSL routines:ssl3_read_n:unexpected eof while reading:../ssl/record/rec_layer_s3.c:308:

FTPサーバ(vsftpd)を動かしてない環境で試すと、以下になる。
$ sudo systemctl status vsftpd.service 
● vsftpd.service - vsftpd FTP server
     Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Sun 2023-08-06 23:10:07 JST; 3s ago
...

$ openssl s_client -connect localhost:21 -starttls ftp
140093346547008:error:0200206F:system library:connect:Connection refused:../crypto/bio/b_sock2.c:110:
140093346547008:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:111:
connect:errno=111

FTPサーバ(vsftpd)を動かしてるけど、FTPS接続を有効化してない環境で試すと、以下になる。
$ sudo systemctl status vsftpd.service 
● vsftpd.service - vsftpd FTP server
     Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2023-08-06 23:12:35 JST; 3s ago
...

$ openssl s_client -connect localhost:21 -starttls ftp
CONNECTED(00000003)
139654957172032:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../ssl/record/ssl3_record.c:331:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 77 bytes and written 293 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---

-tls1_2 をつけて試すと結果が変わることに気づいた。以下はぷららのFTPサーバに対して試してみた際の結果。
$ openssl s_client -connect 60.43.63.107:21 -starttls ftp -tls1_2
CONNECTED(00000003)
40F7BADA097F0000:error:0A000102:SSL routines:ssl_choose_client_version:unsupported protocol:../ssl/statem/statem_lib.c:1952:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 133 bytes and written 205 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID:
    Session-ID-ctx:
    Master-Key:
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1691334012
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
---
「Early data was not sent」となってたところが、「SSL-Session」になって、TLSv1.2 がどうとか表示されている。

2022/08/06() [n年前の日記]

#1 [xscreensaver][ubuntu][pygame] Ubuntu Linux 22.04 LTSを試用

Windows10 x64 21H2 + VMware Player上で、Ubuntu Linux 22.04 LTS をインストールして少し触ってみた。

先日作成した、Ruby + ruby-gtk2 を使った xscreensaver用スクリーンセーバ(の雛形サンプル)は動いてくれた。Ubuntu 22.04 にも ruby-gtk2 パッケージは存在していて、sudo apt install ruby-gtk2 でインストールできた。

_ruby-gtk2を使ってxscreensaver用スクリーンセーバを作る

Python + pygame 2.1.2 を使った xscreensaver用スクリーンセーバ(の雛形サンプル)は、予想通り動かなかった。やはり pygame 2.x.x (SDL2) は、環境変数 SDL_WINDOWID にウインドウハンドルを設定しても反映してくれないらしい。

_pygameを使ってxscreensaver用スクリーンセーバを作成

pygame 1.9.6を動かしたい。 :

Ubuntu 22.04 LTS上で pygame 1.9.6 を動かす方法はないものかと少し考えてみたけれど名案は思い付かず。一般的には sudo apt install python3-pygame で pygame をインストールするはずだから、Ubuntu 22.04 では pygame 2.1.2 が動くものと考えておかないといかんわけで…。

おそらくビルド等すれば pygame 1.9.6 も使えるのかもしれないけれど、pygame を使った他のスクリプトにも影響を与えるだろうから、そういうことはやらないほうがいいのだろうな、と…。

動かすだけなら pipenv 等を使って仮想環境を作成して、というのはどうだろうか。そのあたり、ちょっと勉強してみよう…。

#2 [pygame] tkinterの中にpygameを埋め込む

Windows10 x64 21H2 + Python 2.7.18 + pygame 1.9.6 を使って、tkinter のウインドウの中に pygame のウインドウを埋め込めそうか実験してみた。


実行結果は以下。tkinter のウインドウの中に、pygame のウインドウ(青い部分)が表示されて、赤いボールが跳ね回ってる。ボタンをクリックするとボールの座標が初期化される。

ss_01_embed_pygamewindow.gif

必要なモジュールのインストール。 :

Windows10 x64 21H2 + Python 2.7.18 上で、pip install pygame と打って pygame をインストールしようとすると、現時点では pygame 2.0.3 がインストールされてしまう。 *1

しかし、pygame 2.x.x は、環境変数 SDL_WINDOWID を使った制御ができないので、今回はそのあたりの制御ができる pygame 1.9.6 をインストールしないといけない。

以下は、pygame をアンインストールしてから、pygame 1.9.6 をインストールする例。
pip uninstall pygame
pip install pygame==1.9.6

pygame のバージョン確認は以下。
> python -c "import pygame; print(pygame.version.vernum);"
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
1.9.6

_コマンドラインからpygameバージョンを調べる - Qiita

それとは別に。これは Windows限定の話だけど、今回、win32gui というモジュールを利用してウインドウのサイズ(横幅と縦幅)を取得してみた。win32gui は pywin32 というモジュールの中に入っているらしいので、pywin32 をインストールしないといけない。

pip install pywin32
> pip install pywin32
...
Collecting pywin32
  Using cached pywin32-228-cp27-cp27m-win32.whl (6.9 MB)
Installing collected packages: pywin32
Successfully installed pywin32-228

pywin32 228 がインストールされた。

ソース。 :

ソースは以下。処理内容としては、tkinter のウインドウの中に pygame のウインドウが埋め込まれて、赤いボールが跳ね回るだけ。

_01_embed_pygamewindow.py
"""
Windows10 x64 21H2 + Python 2.7.18 32bit + pygame 1.9.6 + tkinter
"""

import Tkinter
import os
import sys
import platform


w, h = 640, 360
x, y = (w / 2), (h / 2)
dx = float(w) / (60 * 1.0)
dy = float(h) / (60 * 1.5)


def update_pygame_window():
    global x, y, dx, dy, screen, root

    w = screen.get_width()
    h = screen.get_height()
    x += dx
    y += dy
    r = 24
    if x <= r or x >= w - r:
        dx *= -1
    if y <= r or y >= h - r:
        dy *= -1
    
    # draw pygame window
    screen.fill(pygame.Color(20, 80, 160))
    pygame.draw.circle(screen, pygame.Color(255, 0, 0), (int(x), int(y)), r)

    # Update the pygame display
    pygame.display.flip()

    root.after(16, update_pygame_window)


def reset_pos():
    global x, y, w, h
    x, y = (w / 2), (h / 2)


# init tkinter widget
root = Tkinter.Tk()
root.title("Embed pygame window in tkinter")

embed = Tkinter.Frame(root, width=w, height=h)
embed.pack()

btn = Tkinter.Button(root, text="Reset Position", command=reset_pos)
btn.pack()

root.update()
root.update_idletasks()

# set SDL environ
hwnd = embed.winfo_id()
os.environ['SDL_WINDOWID'] = str(hwnd)

if platform.system() == "Windows":
    # Windows
    os.environ['SDL_VIDEODRIVER'] = 'windib'

    # get window size (Windows only)
    import win32gui
    rect = win32gui.GetWindowRect(hwnd)
    x0, y0, x1, y1 = rect[0], rect[1], rect[2], rect[3]
    frm_size = ((x1 - x0), (y1 - y0))
    print("size : %d x %d" % frm_size)
else:
    # Linux or Darwin
    os.environ['SDL_VIDEODRIVER'] = 'x11'

# init pygame
import pygame

pygame.display.init()

# get tkinter.widget size
frm_w = embed.winfo_width()
frm_h = embed.winfo_height()
# print("frame size : %d x %d" % (frm_w, frm_h))

screen = pygame.display.set_mode((frm_w, frm_h))
# screen = pygame.display.set_mode((0, 0))

update_pygame_window()

root.mainloop()  # tkinter main loop

pygame.quit()
sys.exit()

python 01_embed_pygamewindow.py で実行できる。

終了は、ウインドウの右上の閉じるボタンをクリック。

tkinter widget のウインドウハンドルを取得する。 :

pygame 1.x.x は、環境変数 SDL_WINDOWID にウインドウハンドル(ウインドウID)を指定してから、pygame.display.init() (または pygame.init()) を呼ぶことで、SDL_WINDOWID で指定されたウインドウを pygame のウインドウとして使ってくれる。ソレを利用して、tkinter のウインドウ内に pygame ウインドウを埋め込んでいる。

tkinter でウインドウハンドル(ウインドウID) を取得するには、.winfo_id() を使うらしい。

embed = Tkinter.Frame(root, width=w, height=h)
embed.pack()

# ...

hwnd = embed.winfo_id()
os.environ['SDL_WINDOWID'] = str(hwnd)

# ...

import pygame

pygame.display.init()

また、import pygame をする前に、環境変数 SDL_WINDOWID を設定しておかないといけない、という話も見かけたので、一応そのような流れにしておいた。

ウインドウサイズを取得する。 :

pygame ウインドウの描画用サーフェイスを取得するには、pygame.display.set_mode((横幅, 縦幅)) を呼ばないといけない。そのためには、埋め込み先の tkinter.Frame のサイズ(横幅と縦幅)が分かってないといけない。

tkinter を使ってる場合は、.winfo_width()、.winfo_height() を使えば、横幅、縦幅を取得できる模様。

root.update()
root.update_idletasks()

# ...

frm_w = embed.winfo_width()
frm_h = embed.winfo_height()
print("frame size : %d x %d" % (frm_w, frm_h))

screen = pygame.display.set_mode((frm_w, frm_h))

ただし、事前に tkinter のウインドウが表示されて、レイアウト等が決まった状態になってないとサイズの取得はできないそうで。そのため、.winfo_width() 等を呼ぶ前に .update_idletasks() か .update() を一度呼んでおく必要がある。

ところで、.winfo_width() 等は tkinter の利用時しか使えない。tkinter を使っていない場合はどうやってウインドウサイズを取得すればいいのだろう…? 別の方法も調べてみた。

これは Windows 限定の話だけれど、pywin32 の中に入っている win32gui を使ってウインドウサイズを取得する方法もあると知った。win32gui を使えば、Windows上のどのウインドウでもサイズを取得できるはずなので、こちらのやり方のほうが色んな場面で利用できそうな気もする。もっとも、pywin32 をインストールする必要が出てくるけれど…。

import platform

if platform.system() == "Windows":
    # Windows
    os.environ['SDL_VIDEODRIVER'] = 'windib'

    # get window size (Windows only)
    import win32gui
    rect = win32gui.GetWindowRect(hwnd)
    x0, y0, x1, y1 = rect[0], rect[1], rect[2], rect[3]
    frm_size = ((x1 - x0), (y1 - y0))
    print("size : %d x %d" % frm_size)
else:
    # Linux or Darwin
    os.environ['SDL_VIDEODRIVER'] = 'x11'

win32gui.GetWindowRect(ウインドウID) を呼ぶと、左上 x 座標、左上 y 座標、右下 x 座標、右下 y 座標を返してくる。それらの値を使えば、横幅と縦幅は求められる。

tkinter の mainloop を呼びたい。 :

これは tkinter を使う時だけ意識しないといけない話だけれど。tkinter を使うなら、最後に .mainloop() を呼ぶことで、そこでずっとメインループを回してやらないといけない。らしい。もし、.mainloop() を呼ばずに、独自に while 等でメインループを回してしまうと、例えばウインドウの閉じるボタンをクリックした時にエラーが表示されてしまったりする。.mainloop() の中で tkinter の動作に必要なアレコレを行っているのだろうなと…。

しかし、tkinter 側の .mainloop() を回してしまうと、今度は pygame を利用した処理部分をメインループとして回せなくなる。

そんな時は、tkinter の .after() を使うといいらしい。

def update_pygame_window():
    global x, y, dx, dy, screen, root

    # ...
    
    # draw pygame window
    screen.fill(pygame.Color(20, 80, 160))
    pygame.draw.circle(screen, pygame.Color(255, 0, 0), (int(x), int(y)), r)
    pygame.display.flip()

    root.after(16, update_pygame_window)

# ...

update_pygame_window()
root.mainloop()  # tkinter main loop

pygame.quit()
sys.exit()

.after(ミリ秒, 関数名) で、指定したミリ秒が経過したら、指定した関数を呼んでくれる模様。つまり、その関数の最後で、また .after() を呼んでやれば、おおよそ一定周期で処理が行われる状態になるはず。まあ、処理内容によっては、そこで処理時間も変動してしまうだろうから、正確に一定周期で呼ばれるわけでもないだろうけど…。

何にせよ、この書き方をしたら、tkinter ウインドウの閉じるボタンをクリックしてもエラーが出ずに終了してくれる状態になった。

参考ページ。 :


*1: ちなみに、Python 3.9 上で pygame をインストールしようとすると、pygame 2.1.2 がインストールされる。

2021/08/06(金) [n年前の日記]

#1 [nitijyou] 部屋に蚊が居る

部屋に蚊が居る…。参った…。蚊取り線香をつけたけど、夕方頃になって「プゥーン」という音が…。まだ居る…。

蚊取り線香を使うと自分自身がダメージを受けるのでアレなのだけど、ここまでつけておいても倒せないのは困る…。

2020/08/06(木) [n年前の日記]

#1 [windows] PerlとPythonをメインPCにインストールした

Windows10 x64 2004上で、Perl と Python をインストールした。

Perlをインストール。 :

ActivePerl と Strawberry Perl をインストールしておいた。

今頃気づいたけれど、ActivePerl は、ActiveState にユーザ登録しないと入手できない状態になっていた。なんとなくだけど、これはもう終わりかもしれん…。

Strawberry Perl は、ユーザ登録等しなくても入手できる。

今回は、C:\Perls\ 以下に、3つほどインストールした。
  • C:\Perls\aperl5.26.3.0000-x64-4898c4be\
  • C:\Perls\aperl5.8.9.827-x86-291969\
  • C:\Perls\strawberry\5.18.4.1-x64\

もしかすると、StrawberryPerlのインストールには管理者権限が必要なのだろうか…? エクスプローラ上からそのままインストーラ(.msi)を実行しても、ブロックされてしまった。コマンドプロンプトを管理者権限で開いてインストーラ(.msi)を実行しないと正常に処理されななかった。

ちなみに、古いバージョンをインストールしたのは、将来的に Namazu for Windows を試してみることがあるのかもしれないから…。

各PerlのPATHへの追加。 :

念のためにメモ。

ActivePerlの場合、PATHに以下の追加が必要。
APERL_DIR=C:\Perls\aperl5.26.3.0000-x64-4898c4be
%APERL_DIR%\site\bin
%APERL_DIR%\bin

StrawberryPerlの場合、PATHに以下の追加が必要。
BPERL_DIR=C:\Perls\strawberry\5.18.4.1-x64
%BPERL_DIR%\c\bin
%BPERL_DIR%\perl\site\bin
%BPERL_DIR%\perl\bin

Pythonをインストール。 :

Python 2.4, 2.5, 2.6, 2.7, 3.8 も、C:\Python\Python24\、C:\Python\Python38-64\、等にインストールした。基本的には 3.8 を常用する予定。

Python 2.6、2.7 に対しては、今後もしかすると古いGIMPを動かしたいときもありそうなので、pygtk-all-in-one 2.24.2 も追加でインストールしておいた。

2019/08/06(火) [n年前の日記]

#1 [nitijyou] 自宅サーバ止めてました

雷が鳴ったので、15:15-17:40の間、自宅サーバ止めてました。申し訳ないです。

_雨量・雷観測情報 を確認してみたけど、その時間帯は、郡山市のあたりも真っ赤。

2018/08/06(月) [n年前の日記]

#1 [moho] Moho Pro 12 でテクスチャを使ってタイリング塗り

久々に Moho Pro 12 を起動したので、少し触っているのだけど。テクスチャ画像を繰り返して表示するように配置する方法が分からないなと。タイリング、とでも言えばいいのだろうか。あるいは、並べて表示、だろうか。

触ってるうちに、ベクターシェイプをイメージテクスチャで塗ればできるのでは、と思えてきたので試してみたり。

手順をメモ。 :

新規プロジェクトを作成して、ベクターレイヤー上に、「シェイプを描画」ツールを使って、矩形を描く。

tilingfill_ss01.png

キャンバス上で、矩形を描いた。

tilingfill_ss02.png

「シェイプを選択」ツールを使って、今描いた矩形をクリックして選択。

tilingfill_ss04.png

スタイルウインドウの「エフェクト」で、「イメージテクスチャ」を選ぶ。コレを使うと、画像を使ってシェイプを塗り潰せる。

tilingfill_ss05.png

テクスチャダイアログが表示された。

tilingfill_ss06.png

「テクスチャを選択」ボタンをクリックするとファイル選択ダイアログが開く。128x128ドットのテクスチャ画像を指定した。塗りつぶしモードは、「並べて表示」を選択。

tilingfill_ss07.png

このままだと、「並べて表示」してるように見えないので調整する。シェイプ上で、塗り潰し状態を示す2つの赤丸のうち、「○」のほうをドラッグする。

tilingfill_ss08.png

「○」と「●」の間の距離は、テクスチャのスケール(拡大縮小)具合と向きを示しているらしい。距離を短くしたので、テクスチャが縮小表示されて、「並べて表示」されてることが分かるようになった。

tilingfill_ss09.png

「●」は、塗り潰しの開始位置・原点を示している。ドラッグしてみると、見た目が変わった。

tilingfill_ss10.png

ということで、こんな感じの見た目になった。

tilingfill_ss11.png

これで、テクスチャのタイリング表示ができている…と言えなくもないよなと。

アニメに応用してみる。 :

塗り潰しの開始位置・原点の情報は、キーフレームに、変化する情報として記録することができる。コレを使って、アニメを作ってみる。

1フレーム目に、キーフレームを作る。「●」を少しドラッグしてやれば、キーフレームができる。

tilingfill_ss12.png

最終フレームにも、キーフレームを作る。「●」をドラッグして、1フレーム目とループしてるように見える位置にする。

tilingfill_ss13.png

再生ボタンを押して確認。以下のように見えるはず。



更に、レイヤーをXY回転させたり、レイヤーのX,Y,Zの位置を調整してみた。以下のような動画ができた。



もちろん、このテクスチャを、地面の煉瓦模様だの、砂利だの、土だのに変えれば、いかにもそれらしい動画になるはず…。



ただ、塗り潰しの原点の位置を、数値入力できっちりと調整する方法が分からなくて、目視でちびちびと調整する羽目になったあたりがなんだかアレだなと…。どこかで設定できるのだろうか…。でもまあ、一応それっぽくなったから、これでいいか…。

2018/08/08追記。 :

手順についての説明動画を見かけたのでメモ。

_How to use an image texture in Anime Studio 6 - YouTube

2017/08/06() [n年前の日記]

#1 [raspberrypi] 電動雲台に色々乗せた

電動雲台に、電池ボックス、モバイルバッテリー、Raspberry Pi3、ブレッドボード等を乗せてみた。

それぞれをどうやって固定するかで悩んだり。とりあえず、電池ボックスとモバイルバッテリーは、支柱に木ネジをつけて、そこに輪ゴムを引っ掛けて、その輪ゴムが電池ボックス等を軽く抑え込む形でどうにか。もっと奇麗な見た目にしたいけど…雲台が回った時に落ちなければそれでいいか…。

なんだか電動雲台が歪んでいる、ような気がする。バッテリー等の重さで歪んでるわけではなくて、どうも支柱をネジ止めした段階で形が歪んでいたらしい。木棒を鋸で切る際に斜めになっていた可能性も。きっちり水平に切る・垂直に立てるのって、難しいな…。

面積というか重心の問題で、Raspberry Pi3 とブレッドボードを立てて固定したいのだけど、何を使って固定するかで悩んだり。ひとまず Raspberry Pi3 は、Seriaで買ってきたミニL型金具でケースを挟む形で立ててみたけど。問題はブレッドボード。どうやって固定すればいいのやら。

2016/08/06() [n年前の日記]

#1 [nitijyou] 今日も暑かった

福島市のあたりは37度になるよ、と朝のニュースで流れてたけど…。今日も暑かった…。エアコンを動かしてるけど、部屋の温度が下がらない…。

エアコンスーツを作れないものか。 :

それにしても…。エアコンの、部屋全体を冷やすという仕組みが、なんだかもったいないなと。人間が居る所だけ冷やせれば、損失が少ないだろうに…。

寝袋みたいな冷却スーツって作れないものかな…。たしか、映画「ロボコップ」のスーツって最初は暑かったけど、2作目で水冷システムを導入できてちょっとは楽になったという話を聞いたような記憶もあるので、そういう感じのスーツを作って…。

街のあちこちで、そういうスーツを見かける光景が実現したら、なんだかちょっとSF。

#2 [python] Pythonで1文字だけキー入力ってどうやるんだろう

Raspberry Pi上のPythonスクリプトで、例えばカーソルキーを押すと、数字が増えたり減ったりするようなことをしたいなと。Windows上でも、Linux上でも、同じスクリプトで動作するなら尚嬉しい。

ググってみたら一般的には getch() なるものを使うようで、 _getch にそれらしいパッケージが。しかしコレは、pip install getch と打ってもインストールできない。なんだか大量にエラーが出る。

_py-getch なるパッケージもあった。 _joeyespo/py-getch: Portable getch() for Python. によると、pip install py-getch でインストールできて、以下のような感じで使えるらしい。
from getch import getch, pause

key = getch()
print 'You pressed:', key
pause()

py-getch なら Windows10 x64 + Python 2.7.11上でインストールできたし、動作も確認できた。また、VMware + Ubuntu 16.04上でもインストールできた。

しかし、「1」「a」等のフツーのキーならともかく、カーソルキーを叩いた際に、妙な表示になる…。

_windows - Python method for reading keypress? - Stack Overflow でそれらしい記述が。コピペして動作確認。
from getch import getch, pause

print "Push any key. (ESC : exit)"

while True:
    key = ord(getch())
    if key == 27: # ESC
        print "ESC : exit."
        break
    elif key == 13: # Enter
        print "Enter"
        pass
    elif key == 224: # Special keys
        key = ord(getch())
        if key == 80:
            print "Down Arrow"
        elif key == 72:
            print "Up Arrow"
        elif key == 75:
            print "Left Arrow"
        elif key == 77:
            print "Right Arrow"
    else:
        print "You pressed: %s (%d)" % (chr(key), key)
        if key == "x":
            print "exit."
            break

pause()
要するに、カーソルキー等の特殊なキーを叩いた場合は、「コレは特殊なキーだよ」と示すコードがまず1個届いて、その直後に「押されたキーは○○だよ」と示すコードが届くのだろうと。少なくとも Windows上では、このスクリプトでカーソルキーが押されてることを判別できた。

ところが、このスクリプトを VMware + Ubuntu 16.04 LTS 上に持っていって動かすと、カーソルキーを押した瞬間に終了してしまう…。

おそらく、Windows上では 224,xxx という数字が返ってくるけど、Linux上では 27,xxx という数字が返ってきている、ような気がする。どちらかに特化した書き方をしないとダメなのだろうか…。

以下のようなスクリプトを書いて確認してみたり。
from getch import getch, pause

for i in range(20):
    key = getch()
    print "%d : 0x%02x" % (len(key), ord(key))

Windows10 x64 + cmd.exe上で、カーソルキーの、↑、↓、→、←を押すと、こうなる。
1 : 0xe0
1 : 0x48
1 : 0xe0
1 : 0x50
1 : 0xe0
1 : 0x4d
1 : 0xe0
1 : 0x4b

Ubuntu + bash上で、カーソルキーの、↑、↓、→、←を押すと、こうなる。
1 : 0x1b
1 : 0x5b
1 : 0x41
1 : 0x1b
1 : 0x5b
1 : 0x42
1 : 0x1b
1 : 0x5b
1 : 0x43
1 : 0x1b
1 : 0x5b
1 : 0x44

以下のような関係になってるのかな。

Windows0xe0 0x480xe0 0x500xe0 0x4d0xe0 0x4b
Linux0x1b 0x5b 0x410x1b 0x5b 0x420x1b 0x5b 0x430x1b 0x5b 0x44

Windows は、0xe0 が届いた後、カーソルキーの種類を示すコードが届くけど、Linux では、0x1b,0x5b が届いた後、カーソルキーの種類を示すコードが届く、ということなのかなと。ただ、カーソルキーの種類を示すコードは、Windows と Linux では一致してないようで。

やはりどちらかに特化して書かないとダメかしらん。

#3 [linux] MobaXtermを試用

_Windowsに採用されたBash (Ubuntu)を試してみる という記事経由で、MobaXterm なるソフトがあると知ったので試してみたり。sshクライアントにもなるし、Xサーバにもなる、らしい。

要するに、WindowsからLinux機にsshでアクセスしたり、Linux + X WindowアプリをWindows上で使えるソフト、という説明で合ってるのかどうかちょっと分からんけど大体そんな感じのことができるソフトだそうで。

_MobaXterm free Xserver and tabbed SSH client for Windows
_MobaXterm を ssh/mosh/X11 クライアントとして使う(Windows) - Qiita
_MobaXtermによるCADツールの利用
_MobaXterm: Windowsでのcygwinに代わるターミナル環境

Portable版、MobaXterm_v9.1.zip をDLして解凍。中には、 の3つのファイルが入ってた。任意の場所にコピーして、MobaXterm_Personal_9.1.exe を実行。

色んなファイルが圧縮してまとめてあるようで、起動するまで結構時間がかかった。 _MobaXtermでMoshクライアント機能が利用できない問題について によると、Windowsのテンポラリフォルダだか、アプリ別設定保存フォルダだかに、ごっそり解凍してから起動してる、という話が。

ちなみにポータブル版ではなくインストーラ版もインストールしてみたけど、そちらも exe を1つだけ置いといて、起動時にごっそり解凍してるようで。インストーラ版を使えば起動が速くなるというわけでもないらしい。

色々触ってみたけれど…。Raspberry Pi3 にsshでアクセスした状態で…

xclock & と打ってみたら例の時計が表示されたり、
xeyes & と打ってみたら例の目玉が表示されたり、
oneko -sakura と打ってみたら「はにゃーん」「ほえ〜」のアレが表示されたりで、

なんだかちょっと感動。

ちなみに、Raspberry Pi上で xclock だの xeyes だのをインストールするのは…。sudo apt-get install x11-apps と打ったような。違ったかな。たしかそのはず。oneko は、sudo apt-get install oneko でインストールできた。

_Debian -- wheezy の x11-apps パッケージに関する詳細
_Linuxだからできないなんて言わないよ 猫がマウスカーソルを追いかけるソフト oneko

ただ、MobaXterm を使っていて気になったけど、sftp だか scp だかの転送速度が遅いなと。MobaXterm に限った話ではなく、暗号化して転送してるから当たり前だろうけど。

暗号化方式をもっと弱いものに変えればCPU負荷が減って転送速度も多少は改善するのだろうけど。

_winSCPを使って高速にデータ転送する技 - Qiita
_WinSCPの暗号化方式による転送速度の違い パソコン鳥のブログ/ウェブリブログ

しかし、MobaXterm が暗号化形式を変更できるのか、そこからして分からず。どこかにオプション項目がありそうな気もするのだけど…。

#4 [pc] VMware Player上で Ubuntu 16.04LTSをインストールしてみたり

今まで VMware Player上で Ubuntu 14.04LTSをインストールして時々起動して実験してたけど。「Ubuntu 16.04にアップグレードできるよ」と言ってきたのでついアップグレード、してみたものの、どうせならクリーンインストールして環境を作ったほうがいいのかなと思えてきたわけで。

ということで、別途 16.04LTSをクリーンインストールしてから、14.04LTSのイメージは削除。

環境設定は以下を参考にして作業。

_Ubuntu 16.04 LTSをインストールした直後に行う設定 & インストールするソフト

VMware Tools は…。今回から、open-vm-tools (open-vm-tools-desktop)をインストールしてみる方向で。

_ubuntu 16.04 インストール(2) vmware tools - kashiの日記
_VMwarePlayer上のArchLinuxとホストOSとフォルダ共有をする失敗談 - みちのいに!!
_VMware による open-vm-tools のサポート (2074713) | VMware KB

共有フォルダの設定を別途しないといけないのがちと面倒。

2015/08/06(木) [n年前の日記]

#1 [dtm] Wii Uマイクカバーを購入

ゲーム用音声を録音したいのだけど、ちょっとおかしな感じの叫び声ばかりになるから、近所迷惑というか、御近所に対して恥ずかしいわけで。ここは少しでも防音を試みたい。

ということで、ヤマダ電機で、 _HORI製 マイクカバー for Wii U 、任天堂製 Wii Uマイク、カンタービレ WiiU用マイクスポンジを購入してみたり。…自分、Wii Uは持ってないのですが。

ちなみに、調べた時にはAmazonに在庫が無かったので、このクソ暑い中、電動自転車であちこち回って探したわけで。TUTAYA、カメレオンクラブ、GEOに寄ってみたけど見つからず、ヤマダ電機まで足を伸ばしてみてようやく発見。しかし、帰ってきてから調べてみたら Amazon の在庫が復活していて。だったらわざわざ炎天下の中を外出して探さなくても良かったのでは。トホ。まあ、入手できたからいいか…。値段も100円程度しか違わなかったし。

Wii Uマイクは、USB接続の周辺機器。メーカサイトに記載は無いけど、購入した方が試したところ、Windows PCに接続しても一応使えたという話を見かけて。だったら Wii Uは持ってないけど、購入しても無駄にはならないだろうと思ったわけで。

Wii Uマイクカバーは、想像してたより小さかった。10cm x 10xm x 10cm 程度の箱に入ってたので、店頭で最初はソレと気づかなくて。もっとアホみたいにでかいのかなと思ってたけど、こんなに小さかったのか…。

帰宅後、早速封を開けて動作確認。

Wii Uマイクは結構ソレっぽいマイクだった。玩具っぽい作りを想像してたけど、見た目は意外と本格的。コードも結構長い。PCのUSB端子に繋いでみたら、WUP-021-0 という名前で認識された。Windows7 のタスクトレイのスピーカアイコンを右クリックして、「録音デバイス」を選んで、録音レベルその他を調整。

マイクカバーは、ただのプラスチックの筒で、口元につける部分だけスポンジが入ってる仕組み。こんなんで防音できるのだろうか…。

マイクにマイクカバーを装着。アタッチメントをマイクにつけるあたりがちと厳しかった。少しずつ指で押し込んでどうにか。

口元にあてて喋ってみた。かなり防音ができてるように思えたけれど、使ってる当人には音が漏れてるかどうか分からないわけで。

妹に頼んで、傍で聞いていて防音効果を感じるかどうか、音が漏れてないかどうか尋ねてみた。やっぱり喋ってる声は聞こえるものの、一応はそれなりに防音できてるように聞こえる、との感想で。こんな作りでも効果はあるらしい。

問題点。 :

予想外だったのは、マイクカバーを口元にピタリとつけて喋ってみると、発音が明瞭にならない点。「マイクテスト。マイクテスト」と喋ってるつもりが、「アイウエウオ。アイウエウオ」になってしまう。微妙にマイクカバーを口元から離せば「マイクテスト」になるけれど、それでは音が漏れちゃってるわけで…。

これはあくまで想像だけど。喋るということは、口から息を吐いてる状態。しかしマイクカバーの中は既に空気が一杯だから、口から吐いた息が入ってくれる余裕は無く。なので、口元が絶えず抵抗を感じて、ちゃんと発音できなくなるのかもしれないなと。

また、喋るということは、自分が思っている以上に口元の筋肉を動かしてる状態かもしれず。その筋肉をマイクカバーでギュッと押し付けてビクともしない状態にしてるのだから、口元がちゃんと動いてくれなくて発音が怪しくなるのかなと。

ということで、防音効果は予想以上だったけど、このままでは全く音声録音に使えないなと。困った。

口元を動かさなくても発音できるテクニック・コツの類を身に着ける必要があるのかもしれない。しかし、ソレって腹話術なのでは…。うーん。

妄想。 :

口元のあたりをプラスチックで囲むだけで、これほど防音効果が得られるのだから…。頭をすっぽり何かの箱で囲んでしまえば、それでも防音できないかなと。防音室を作るとなるとコスト的にアレだけど、頭一つ分の防音室なら、なんとか…ならんか…どうかな…。

防音室の自作についてググってみたけど、クローゼットや押入れを利用して試してる方も居るようで。押入れに身体を入れるとなれば、胡坐で座って、てな感じになるよなと。てことは、半畳ほどのサイズがあればなんとかなりそう。半畳ほどのサイズの防音室でも事足りるなら、少なくとも材料費はほんのちょっと減らせそうな…。いや、どうかな…。

2014/08/06(水) [n年前の日記]

#1 [zatta] (C)マークがよくわからない

_「ハイスコアガール」問題 とやらの関連記事をアレコレ眺めていたら、「(C)マークは許可をとったという印。許可をとってないのに(C)マークをつけてるのは詐欺行為だ」と鼻息荒く主張してる人を見かけて、「え? そうだっけ?」と思ったのですよ。

ググってみたら、やはり、(C)マークには許諾云々の意味なんか無いようで。というか日本においてはベルヌ条約どうとかのアレがソレで、(C)マークを書く法的な意味が無いのだそうで。詳しくはググれ。大陸系の著作権法と欧州系の著作権法があってややこしくて…。このあたり、誰かまとめ記事を作らないかな。今なら多少アクセス数を稼げそう。

たしか大昔、アニメック、月刊アウト、ファンロードだかそのあたりで、「(C)マークを誤解してる人多過ぎ」みたいな話を読んだ記憶もあり。それを考えると、何十年も前から現在においてまで、「(C)マークは許諾の意味」と思い込んでる人が日本国内に結構居るのは間違いなさそうだけど、しかし法的には(C)マークにそんな意味はないわけで、マークを書いた側とマークを目にした側で意味が食い違う可能性が高いから、これは扱いが面倒臭いマークだなと改めて思った次第。

トラブル回避を考えるなら、「(C)マークなる意味不明なマークは一切使わない・載せない」ほうがいいんじゃないかと思えてきたり。(C)マークを使ってる時点で、誤解を招く効果をあえて狙ってるか、あるいは、この手のソレに無知で無頓着な人達が迂闊な仕事をしちゃってる、などと邪推してもいいぐらいだよなと。

てな結論に自分の中ではなってきたのですけど。(C)マークは使うな危険。君子危うきに近寄らず。みたいな。

あくまで、(C)マークについて自分はそう思った、てなだけの話で、許諾を取るべきか否か云々は別の話ですけど。そっちは状況が分からないので、何が何だか。 *1
*1: アニメ化の際に許可を取ろうとしてややこしくなったらしいけど、漫画業界、映像業界、ゲーム業界で文化が違うとか、そういう面は無いのかな。漫画業界ではセーフでも、映像・ゲーム業界ではアウトとか。そのあたり誰か解説してくれないものかしら。

2013/08/06(火) [n年前の日記]

#1 [nitijyou] 自宅サーバ止めてました

雷が鳴ったので、2013/08/05 19:40 〜 2013/08/06 00:35、2013/08/06 12:10〜16:15の間、自宅サーバ止めてました。申し訳ないです。

そろそろ大丈夫かなと思ったら、また鳴り始める始末…。しかも1日に2回も…。なんだかなあ…。メインPC上でもほとんど作業ができず。

#2 [prog] if (true) { }

_#俺が見たクソコード選手権 まとめ - Togetter

if(true){
 処理
}
見た瞬間背筋が震え上がった。
#俺が見たクソコード選手権 kimagure_bito 2013-08-06 15:34:07

if(false){
 printf("エラーです");
}
そうですねエラーですね
#俺が見たクソコード選手権 eofor0 2013-08-06 17:40:15
ああ、これ、自分はよくやる…。動作確認用・後でまた復活させて使うかもしれないところをコメントアウトする代わりに、こういう書き方しますわ…。何度も有効無効を切り替えて動かす状態になってきたら、 DEBUG = true; とか if DEBUG { } みたいに意味が分かる修正をするけど。 そんなこんなで、とりあえず今はこの書き方でちゃちゃっと、みたいな。どうせ動作確認できたらバッサリ消す部分だしー、と思っているけど、消すのを忘れちゃうという、実にありがちなダメダメ展開が…。

さて、本来はどういう感じに書いておくのがベストなのだろう…? *1 *2

こういう細かいところって、誰でも意見を言えるから、宗教戦争になりがちだなとも思えてきた。なんだっけ…自転車置き場がどうとかそういう…。
*1: 「コメントアウトしろ」派と、「バージョン管理ツール使え」派が居そうな気もするのだけど。何十行もコメントアウトされたソース見てなんとも思わんのか、てな気もするし。使い捨てになるかもと思ってるソースにバージョン管理ツールを一々使おうとするのも何だか病的じゃないか、とも。
*2: 元々の文脈では、「たぶんここに後で条件分岐が入るかも?」と思って if (true) { } を書いてる気がするんだよなあ…。実際に条件分岐が必要になった時、「ここに入れれば済む、と前任者は考えていたのか」で済むのと、「えーと、どこからどこまで処理を分ければいいんだ?」と解析させるのと、どっちがアレなんだろうという気もする。実は親切心でそういう書き方を残している可能性はないだろうか。あるいは、ソース書いた人の「思考ログ」を追いかけやすいソースとはどういうソースか、とか。そんなことを考えてしまったりもして。

2012/08/06(月) [n年前の日記]

#1 [gimp] GIMP 2.8上でPython-fuを勉強中

以下のページを参考にしながら勉強中。

_Get sublayers from group layer with Python in Gimp - Stack Overflow
_マクロで始める実用プログラミング - Part3 フリーの画像ソフトGIMPをPythonで自在に操る:ITpro
_python-fuを使った画像レイヤ情報の取得方法 - 風日記

# 最初に必要?

>>> from gimpfu import *

# GIMPのバージョンを取得

>>> version = pdb.gimp_version()
>>> version
'2.8.0'

# 現在GIMPで開いている画像のリストを得る

>>> gimp.image_list()
[<gimp.Image 'test.xcf'>]

# 1番目の画像情報?を取得

>>> image = gimp.image_list()[0]
>>> image
<gimp.Image 'test.xcf'>

# 画像内の全レイヤーの一覧を、おそらくは Item と呼ばれる情報の形で取得

>>> image.layers
[<gimp.GroupLayer 'レイヤーグループ'>, <gimp.Layer 'レイヤー'>, <gimp.Layer '背景'>]

# レイヤー枚数とレイヤーIDのリスト、の形でも取得できる
# レイヤーIDと、Item情報は、異なる情報らしい。

>>> num_layers, layer_ids = pdb.gimp_image_get_layers(image)
>>> num_layers
3
>>> layer_ids
(5, 10, 11)

# gimp.Item.from_id(ID番号) で、Item 情報を取得できるっぽい?
# GIMP 2.8 ではコレが使えるけど、GIMP 2.6 ではエラーになる。

>>> item = gimp.Item.from_id(layer_ids[0])
>>> item
<gimp.Layer 'レイヤーグループ'>

# そのレイヤーが、レイヤーグループなのか調べる
# 1 ならレイヤーグループ。0 なら通常レイヤー。

>>> group = pdb.gimp_item_is_group(item)
>>> group
1

# レイヤーグループには子供レイヤーが居る。
# pdb.gimp_item_get_children(item) で、レイヤー枚数とIDリストを得られる。

>>> num_children, child_ids = pdb.gimp_item_get_children(item)
>>> num_children
3
>>> child_ids
(6, 8, 9)

# 子供レイヤーの1番上を取得

>>> item = gimp.Item.from_id(child_ids[0])
>>> item
<gimp.Layer 'TEXT LAYER'>

# レイヤーグループか調べる

>>> pdb.gimp_item_is_group(item)
0

# 子供レイヤーの2番目を取得

>>> item = gimp.Item.from_id(child_ids[1])

# 指定したレイヤーをアクティブに

>>> pdb.gimp_image_set_active_layer(image, item)

# 現在アクティブになっているレイヤーの、
# レイヤー名、左上座標、幅、高さ、を取得

>>> pdb.gimp_layer_get_name(item)
'\xe3\x83\xac\xe3\x82\xa4\xe3\x83\xa4\xe3\x83\xbc #2-with-dropshadow'
>>> pdb.gimp_drawable_offsets(item)
(269, 60)
>>> pdb.gimp_drawable_width(item)
160
>>> pdb.gimp_drawable_height(item)
222

# Python-fu なら、もっと簡単に、
# レイヤー名、左上座標、幅、高さを取得できるらしい…?

>>> layers = image.layers
>>> layers
[<gimp.GroupLayer 'レイヤーグループ'>, <gimp.Layer 'レイヤー'>, <gimp.Layer '背景'>]
>>> layers[1].name
'\xe3\x83\xac\xe3\x82\xa4\xe3\x83\xa4\xe3\x83\xbc'
>>> layers[2].name
'\xe8\x83\x8c\xe6\x99\xaf'
>>> layers[1].offsets
(0, 0)
>>> layers[2].offsets
(0, 0)
>>> layers[2].width
512
>>> layers[2].height
512

もしかすると、バージョンチェックは以下でできるかもしれず?
>>> pdb.gimp_version()
'2.8.0'
>>> pdb.gimp_version().startswith("2.4.")
False
>>> pdb.gimp_version().startswith("2.6.")
False
>>> pdb.gimp_version().startswith("2.8.")
True
しかし、Python の仕様によっては上手くいかないかも。その行を通過しなくても、存在しない関数名がスクリプト中に書いてあるだけでエラーを出すなら、2.6と2.8で共用できるスクリプトを書くのは難しいかもしれない。そのあたりどういう仕様になってるかわからんけど。

ダイアログの指定時に、複数の選択肢の中から1つ選ぶ、という入力欄を使いたいのだけど…。Script-fu なら SF-OPTION だから、おそらく Python-fu では PF_OPTION になるのだろう。と思ったけど、 _GIMP Python Documentation には書いてない…。

_No PF_OPTION in Python-fu?? に、PF_OPTION を使っている事例があった。どうもよくわからんが、おそらくは、
 (PF_OPTION, "file_type"  ,("File type: "), 0 ,[".jpg", ".png", ".tif", ".pcx", ".xcf", ("all registered formats")]),
↓
 (PF_OPTION, 変数名文字列, 項目名, 0, ["hoge", "fuga", "piyo"]),
じゃないかしら。変数に入ってくる値は、0,1,2, 等なのだと思う。たぶん。自信無いけど。

2011/08/06() [n年前の日記]

#1 [nitijyou] 自宅サーバ止めてました

雷が鳴り始めたので、PM03:30-PM08:00の間、自宅サーバを止めてました。申し訳無いです。

#2 [ntiijyou] 夕方頃に凄い雨

バシバシという感じの水滴が横殴りで。雷まで鳴り始めた。…なぜ私が出かけようとすると天気が荒れますか。

2010/08/06(金) [n年前の日記]

#1 [nitijyou] 自転車で買い物に

日焼けした腕が痛いので、夜になってから外出。自転車で、銀行とスーパーまで。夜食その他を購入。

#2 [zatta] 子供を引っ張り出すのはやめてほしい

広島の平和祈念式典?映像をTVで流していたのだけど。子供が出てきたあたりでゲンナリ。原稿も持たずに暗記して叫ぶあたりもゲンナリ。まるで北朝鮮の映像を見ているような気分になった。

知識量からしてしっかりした考えを持ちようがない子供というものを引っ張り出し、極一部の大人の思想・主張を代弁させる、そのやり方に反吐が出る。手法として汚い。一体誰だ。子供にこんなことやらせようと言い出した奴は。情けない。あまりに情けない。大人として実に情けない。語りたいことがあるなら自分の口で語れ。子供を使って代弁させるな。恥を知れ。とすら。

日本人の自分ですらゲンナリしたのだから、その場に居た外国人はもっとゲンナリしたことだろう。早々に帰りたくなる人が出てきてもおかしくない。これじゃ逆効果ではないのか。

日本人は、プレゼンだかアピールだかディベートだか、そのあたりの技術について、もっと勉強して身に着けていく必要があるように思えた。何せあちらは大学などでその手の技術を学んできている連中。こんな稚拙なやり方が通用するとは到底思えん。

ということで、アレはやめていただきたいものだなと。

でも、ひょっとして、式の中でやることが思いつかない・ネタ切れで仕方なく、なのだろうか。いや、だとしても、アレはよろしくないだろう。

2009/08/06(木) [n年前の日記]

#1 [pc] ideapad S10-2のチェックを引き続き

HGST Drive Fitness Test でHDDをテスト。Quick Test をしてみた限りでは、正常に動作してるように見える。さすがにみっちりテストするとやたら時間がかかるだろうから、まあたぶん初期不良品ではない、ということにしておこうかなと。

QSを実行してみたり。 :

Windows を起動せずに、Linuxベースのソレを起動することで、数秒で起動・Webサイトを閲覧したり、音楽を聴いたり、画像を見たりすることができるというクイックスタート機能(QS機能)。試してみたり。

画像も音楽データも入ってなかったので確認できず。ネット接続も、無線LANの接続方法・設定方法が判らず挫折。

もしかすると、Windowsをスタンバイ状態にしておいて、そこから起動させたほうが使い勝手がよかったりするのだろうか。

#2 [game][neta] これってゲームにならないかなと夢想

一応メモ。

モザイクが外せると知ってたら外したくなるよなと。 :

モザイクのかかってる画像が目の前にあるとして。あることをすればモザイクが外せる、と知ってさえいれば、結構どうでもいいものがそこに描かれてあると想像できたとしても、ひとまず一応外しておこうかな、という気分になるものではないのかなと。

QIXっぽいゲームで、陣地を取ると向こう側の絵が見えていく、てなゲームがあったような気がするけど。何かそういう以下略。

でも超難しい作業が待ち構えていたら、やる気をなくす自分。ブロック崩しで絵が見えていくゲームとかあるけど、アレはちとツライ。

川の光というアニメを見ていてADVっぽいなと。 :

プレイヤーキャラのサイズを変えるだけで、どこでにもありそうなステージが、なんだか違う感じの以下略。

小さくする方向もあるだろうけど、大きくする方向ではどうだろう。いっそステージそのものがプレイヤーキャラに以下略。

色が変わることで何かできないだろうか。 :

ショットの色と敵の色が一致してると特典がある、てなルールのゲームが某社からいくつか出てるけど。アレをステージそのものに適用できんだろうか。プレイヤーキャラの色によって通れるルートが…。それって遊びになるのかな。うーん。

2008/08/06(水) [n年前の日記]

#1 [iappli] 企画書が届いた

のでざっと眺めたり。

2007/08/06(月) [n年前の日記]

#1 [nitijyou] サーバ落としてました

PM17:00頃と、PM22:00頃、雷が激しくなってきたので、サーバ落としてました。

夕方になったら、いきなり横殴りの激しい雷雨。いったん収まったかと思いきや、夜になってからまた雷雨。勘弁してほしい。

#2 [nitijyou] PC操作を教えに行ってきた

oさんの妹さんに、PC操作を教えに行ってきた。場所はoさんの妹さんの自宅兼事務所。といっても場所が判らないので、oさんの車で送迎してもらうことに。ありがたや。AM8:30-AM12:00まで。

相談内容は以下のとおり。
IMEが有効にならない件。筆ぐるめを起動すると、IMEツールバーが消える。「半角/全角」キーを押しても無反応。ソフトがWinXPに対応してないのかと思ったが。なんでも、oさんの環境も WinXP+筆ぐるめで、そちらではそういう不具合は起きてないと言う。とりあえず、Alt+「半角/全角」ならIMEが有効になることに気づいたので、それで逃げてみてほしいと伝える。筆ぐるめの使い方は、oさんのほうが詳しいので、お任せしてしまった。

PM-2200Cの件。ドライバCD-ROMが見つからないとのことで、プリンタドライバとプリンタウインドウをEPSONのサイトからDL・インストールした。USB接続が可能かどうか不安だったけど、端子はついていた。今どきパラレル接続なんかしてられないもんなぁ…。古いプリンタなので、インクカートリッジの入手性が気になったけど。PM-2200C は、まだ店頭でインクカートリッジを売ってるとの話。自分が以前使ってた PM-3000C のカートリッジは、店頭では、まずほとんど買えなくなっていたわけで。なんだかうらやましい話。

デジカメの件。CASIO製デジカメだったけど、取り込むところまでは問題なし。以前、関連ソフトをインストールしたとのことで、クレードルにデジカメを載せて電源を入れれば自動的に取り込みが始まる。ただ、取り込み後、CASIO製デジカメが生成するのであろう、アルバムhtmlから、画像を印刷できなかった。JavaScriptとActiveXで処理を行うように見えるのだが…。IEの設定、あるいはバージョン違いの問題か、ウイルス対策ソフトが絡んでいるのか、ちと不明。とりあえず、Windows XP に標準で入ってるらしき、印刷ウイザードを紹介。しかし、該当機能では望むレイアウトが無いとのことで。

取り込んだ画像を特定レイアウトで配置して印刷する手順について質問されたので、WordやExcelで画像を挿入する手順も一応説明。しかし、画像のサイズ変更を1つずつ行うのが面倒。実用的ではない。定型作業なのだから、何か改善策が必須。…oさん曰く、oさんが使ってるデジカメ画像管理ソフトなら、レイアウトを決めて、画像サイズを自動的に変更することも可能とのことで。そのうち、oさん宅でその作業過程を見てもらって、そちらのほうが使いやすそうなら、該当ソフトを購入・使用してもらう、という方向で話がまとまった。

_エプソン | 消耗品情報 IC5CL02 対応機種一覧 :

やっぱり、PM-2200C用のカートリッジは、他の機種とも共通なのだな。それ故に今でも入手できるのだろう。こういう製品に当たれば、カートリッジの入手性について、後々それほど困らずに済むのだろうけど。販売されてる時点では、そのあたりを予測・判断できないしな…。

_IME 2002 の言語バーが表示されない場合のトラブルシューティング :

ウイルスが原因で言語バーが表示できない
マイクロソフトでは、ウイルスが原因で言語バーが表示されない現象について、数多くのお問い合わせを受けております。お問い合わせの多いものに関して、以下に記載します。

BADTRANS.Bウイルス(BADTRANS.B)によってテキストサービスの動作が不安定になる現象が確認されております。これにより、言語バーが表示されない、 [全角/半角] キーで入力 モードが切り替わらないなどの現象が発生します。ウイルスを駆除することによって この現象は解決する事ができます。
BUGBEAR.Aウイルス(BUGBEAR.A)によってテキストサービスの動作が不安定になる現象が確認されております。これにより、言語バーが表示されない、 [全角/半角] キーで入力 モードが切り替わらないなどの現象が発生します。ウイルスを駆除することによって この現象は解決する事ができます。

IME 2002 の言語バーが表示されない場合のトラブルシューティング より

こんな事例もあるのか。うーん。

_筆ぐるめ :

Windows XP SP1において、筆ぐるめ起動時にお知らせダイアログが表示されると、 筆ぐるめ本体起動後IME言語ツールバーが表示されない(自動で日本語入力モードにならない) 現象がでています。この現象は以下の方法で回避できます。

方法1 : キーボードの「Alt」キーを押しながら「半角/全角」キーを押す事により、 IME言語ツールバーが表示されます。

方法2
1. 筆ぐるめ起動後、画面上部の「設定」ボタンをクリックします。
2. 「全体」タブを選択し、”起動時に「お知らせ」を表示する”のチェックを外します。
3. 筆ぐるめを一度終了し、再度起動します。
※筆ぐるめ起動時、「お知らせ」画面を表示しない事により、現象が回避されます。

方法3 : 筆ぐるめ Ver.10 Rel.1.3 以降のアップデートプログラムをアップデートする事により、現象が回避されます。詳細につきましては、リンク先のページをご覧ください。
http://info.fsi.co.jp/download/fgw10sys.htm

筆ぐるめ より

ソフトに原因があったのかよ…。トホホ。

ていうか事前にトラブル内容を教えてもらえていたら、この情報を見つけることもできてたんだろうけど。現場に行ってからでは、ちと難しいところもあるわけで。仕方ないか。

#3 [windows] _Wordで罫線を引こう〜簡単技ご紹介〜

--- , === , *** , ~~~ , ___ , ### 等を打った後で Enter、で罫線になるらしい。知らなかった。時々変な線が出てきて困ってしまうのはコレだったか。

#4 [anime] 「地球へ…」のミュウとアニメオタクを重ねることはできないだろうか

アニメオタクには、第1世代〜第3世代があるらしいけど。「地球へ…」のミュウも、なんだか世代がありそうなので、そのへん重ねて構成できないかなと妄想。…ちょっと無理があるか。

そもそもオタクの世代層の違いを使って、何か話が作れる・視聴者の共感・感動を得られるものなんだろうか。使えるとしたら… とか、そのへんなのかなぁ。それらを描けば、見る者の気持ちを、何かしら揺り動かすことができるのかしら。…よくわからんです。

2006/08/06() [n年前の日記]

#1 [pc] _AutoAbacus - 二次方程式などの計算を瞬時に行える計算機

便利そう。インストールしてみたり。

#2 [firefox] _Webweavers - weavin' - Ad Blocking CSS for Gecko - 広告カット

入れてみたり。…かなり表示されなくなった。ありがたや。

#3 [digital] _画面表示でビットレートを表示させれば分かるんじゃないでしょうか

_TS解析装置を使えば一発でばれます

ハイビジョンだか何だかの送出量を、政治的判断で低くしてる・画質をわざと悪くして送ってる、という噂話の検証記事、かしら。気になる話なのでメモ。

#4 [anime] _NANAと海原雄山 - 漫画・アニメとタバコ

_漫画、テレビアニメ「NANA」の喫煙描写に対する抗議文と要請 日本禁煙学会

もしかしてED映像が変わってしまったのはコレかしら。一番最後のカットでタバコ吸ってた気もするし。いや、ED曲を歌ってるのは、主人公たちのバンドではなく、ライバルのバンド、という設定になっちゃったから、EDが変わったのかなとも思うんだけど。

喫煙が原因で、肺癌・喉頭癌になって歌えなくなる、てな展開は無いのかしら。喫煙を散々カッコ良く描いておいて、後で徹底的にヒドイ目に合わせて、真似してた子供たちを恐怖のどん底に叩き込む、みたいな展開。無理か。

ピアスの穴から白い糸が出て失明、てな都市伝説的展開も面白そうってそれじゃホラー漫画か。

この質問文、コナミにも送ってるのか。…ゲームを出してたから、なのかな。

#5 [firefox][opera] _その他のFirefoxの拡張をOperaでも。

結構代替ができるのだな。Opera に乗り換えようかしら。

_Opera(オペラ)一般設定/FreeSoftNavi :

_Opera IRC+ | Customizing Opera
_弥助/opera_ex - Opera-PukiWikiPlus!

opera_ex、sendirvine 等インストール。defaults/standard_menu.ini をバックアップ・書き換え。URLやページタイトルをクリップボードにコピーできるようになった。

思ったほど軽くないな。 :

Firefox でいいか…。

2005/08/06() [n年前の日記]

#1 [web][cg_tools] _Free Photos 〜 誰でも使える著作権フリーの写真 〜

ライセンス(?)がゆるやかで、ありがたい。ただただ、感謝。…なんていうか、砂漠でオアシスに辿りついたときの気持ちって、こんな感じなんだろうなぁ。

_蘇州観光写真 22ジャンル・519枚/庭園/風景 :

_蘇州専門の中国雑貨ショップ 蘇州屋 の中のコンテンツ。考えたなぁ。画像サイズや画質からして、素材として云々は微妙ではあるけど、その場所の雰囲気は伝わってくるわけで。その土地の紹介と、店の宣伝を兼ねる、上手いやり方だなと。

#2 [jiji][tv] NHKがアンケートを取ってみたら小学生の10人に1人しか原爆のことを知らないという話がTVで流れてた

NHKの子供向け番組での話。それが本当だとしたら、なんだか絶望的だな。と思ったけど、自分の場合どのへんの時期に原爆の話を知ったのだったか思いだせなかったり。結構後になって知るものなんだろうか。

やはり『はだしのゲン』あたりをTVアニメ化して流すとかしないとダメかしら :

あるいは『ガンダムSEED』でそういうエピソードをチラリと入れるとか。無理か。架空の世界だし。

『ブラックジャック』でそのへんの話を扱うのはどうか。…『ブラックジャック』に、そういう原作エピソードはないのかな。量を考えるとありそうな気もするけれど、全部目を通したわけでもないので実際どうなのかは知らない自分。それとも、原作にあったとしても、局の自主規制とやらに引っ掛かって放送できなかったりするのだろうか。

最近話題になった漫画があったような :

_『夕凪の街 桜の国』 でしたか。自分は未見なのだけど。これをアニメ化して、とか。

検索してみたら、既に _映画化 の話はあるらしい。んー。映画か。TVじゃないのか。

2005/08/08追記 : 『はだしのゲン』のアニメ版はある :

せっかく触れたのだから、関連ページへリンクを張っておけばよかったですな。ということで紹介。

_『はだしのゲン』 DVD
_『はだしのゲン 2』 DVD

アニメ映画化はされてるわけで。しかも改めて検索してみたら、どうやら _1983年の作品 らしく。 _機動戦士Zガンダム(1985年) の2年前。 _聖戦士ダンバイン の頃。22年前の作品だったのですな。ちなみに、『はだしのゲン2』は、 _1986年の作品。

_タイム誌が選ぶ日本アニメベスト5 の中に入っていたりもするほど、評価は高いらしく。

実を言うと、これまた自分は未見なんですよね…。気になってる作品なのですが。

あ。考えてみたら、DVDで出てるんだからレンタルで見れるかもしれないのか。置いてあるだろうか。今度行った時に探してみよう。…レンタルで容易に見れるなら、TVアニメシリーズ化云々を希望する必要もないような。例えば、小中学校 or 自治体の図書館で、DVD貸し出しという形をとってみてもいいのかも。…小中学校でDVDの貸し出しまでやってるかどうかは判らないけど。

この記事へのツッコミ

Re: NHKがアンケートを取ってみたら小学生の10人に1人しか原爆のことを知らないという話がTVで流れてた by otsune    2005/08/08 07:01
「はだしのゲン」はアニメになっています。
Re: NHKがアンケートを取ってみたら小学生の10人に1人しか原爆のことを知らないという話がTVで流れてた by Y    2005/08/08 21:32
広島県内の小学校では必ず体育館ではだしのゲンの上映会
をやってたんですが・・・やはり広島限定でしたか。

>『夕凪の街 桜の国』
そ、それはいかんです。
是非読んで下さい。
原爆の悲惨さとかそういったはだしのゲン的な漫画では
なく、ほんとに少女漫画好きなmiekiさんにもピッタリな
作品だと思いますよ。
Re: NHKがアンケートを取ってみたら小学生の10人に1人しか原爆のことを知らないという話がTVで流れてた by mieki256    2005/08/09 00:00
> 「はだしのゲン」はアニメになっています。

あ。しまった。記述が足りなかったか…

アニメ化されてることは知ってましたです。
でも、たしか映画ですよね。
自分が望むのは、TVアニメシリーズだったりして。
TVで毎週流れるってのは、映画とはまた違った認知のされ方をしますし。

もっとも、尺の問題、扱うテーマの問題で、TVシリーズ化は難しい予感も…
Re: NHKがアンケートを取ってみたら小学生の10人に1人しか原爆のことを知らないという話がTVで流れてた by mieki256    2005/08/09 00:20
> 広島限定でしたか。

いや、そうでもないかも。
検索してみたら、広島に限らず、あちこちで上映会をやってるみたいですし…
http://www.google.co.jp/search?q=%E3%81%AF%E3%81%A0%E3%81%97%E3%81%AE%E3%82%B2%E3%83%B3+%E4%B8%8A%E6%98%A0%E4%BC%9A&num=100
自治体が料金無料で見せてくれる場合もあるみたいですし。

ただ、今となっては、
どこかに集まって映画を見る、というスタイル自体敬遠されがちかも、
と想像したのでした。であればやはりTV放映のスタイルを活用できたら…
…といっても、何かと難しいところが多々ありそうな気もするところが
あるようなないような。

> 少女漫画好きなmiekiさんにもピッタリ

! これはますます気になる話。やはり探してくるか…。
時期的にも、気の利いた書店なら、置いてそうな感もあるし…。
原爆を知らない小学生 by がんした    2005/08/09 01:14
以前テレビでやってたのですが、日本とアメリカが戦争してた事も知らない高校生が出てました。
彼らよりマシかも。
太平洋戦争を知らない高校生 by mieki256    2005/08/09 05:44
> 日本とアメリカが戦争してた事も知らない高校生が出てました。

なんと。
以前その手の話をどこかで見かけて、都市伝説かもしれんと思ってたけど、
既に証拠映像が撮影されていたとは…

いやー、でも、さすがに高校生にもなってそれは…
スタッフが高校生にからかわれてるか、あるいはやらせ…

…と思ったけど、自分自身の各種無知ぶりを鑑みたら、なんだか不安に。
各人、知識を持ってる領域が違うだけ、みたいな?
実はありえる話なのか…?

#3 [nitijyou] 相手先のアカウントにTOPページを送信

とりあえず、口約束した作業内容はこれで終わったはず。一段落。ただ、まだまだ修正が必要な気もする。

にしても、どうも硬いというか、派手さがないというか。今一つしっくりこないデザイン・レイアウト。うーん。まあ、アニメgifを入れたり、cssで画像を切り替えたり、少しは楽しげになった…のかな?

2004/08/06(金) [n年前の日記]

#1 [nitijyou] チラシのデータを届けてきた

CD-Rに焼いてもってった。メールに添付して送れたら楽なのだけどなぁ。 *1

pdf→html :

相手先のサイトには、パンフレットがpdfで置いてあるのだけど。 *2 半年毎の更新の際は、作業が楽なものの。どうもpdfは開くのが遅いということで、次回の更新時から、できればhtmlにしたいとの要望が。pdf→htmlって、簡単にできるものなんだろうか。ちょっと調べてみないと。

*1: 相手がメールから添付ファイルを取り出せないので、メールで送るわけにもいかず。サーバにアップしてURLをメールに書いても、左クリック→IEで開いてしまって、ローカルにファイル保存・編集できない・しない。zipにすると解凍方法が判らない。…なんとかならんか。
*2: パンフレット作成・印刷を頼んでる印刷所が、pdfにしてくれてる。

#2 [blog] オフ書きができるblogサービス・日記サービスってないのかな

某氏がblogに興味を示したようです。ということで、某氏の望む条件を満たしてるサービスはないのだろうかと思って探してみたんだけど。…見つからない。嘘だろ。これだけ流行ってるのに、なんで無いのや。

条件 :

  • オフ書きできること。もしくは、サーバ上のログを容易にバックアップできること。
  • アカウントを取るだけで利用できる、無料のサービス。自分で苦労してcgi等設置するタイプではなく。
  • ツッコミ機能(コメント機能)がある。
*1 つまり、「ローカルにログを残せるかどうか」「簡単に導入できるか」「読者の反応を得る機能があるか」が重要なのですが。ないのかなー。

ローカルにも残せないと困るですよ :

どこぞのblogサービスは障害続きで、利用者の書いたログが消滅したとか聞いたので、 *2 以下のような状態・システムは怖いよなと。
  • サーバ上にしかオリジナルのデータが存在していない、かつ、ユーザが容易にバックアップ作業を行えないシステム。
  • バックアップしておいたデータを利用して、障害発生前の状態に復旧することができないシステム。
自分の作業ミス・自分の環境の不調でログ消滅したなら諦めもつくけど。サーバが不調とか、サービス提供側の作業ミスでログが消滅したのでは、諦めがつかんですよ。「このやろう! 責任とれよ!」てな話になってしまう。「DVD! DVD!」ですよ。なので、ローカルにログを残せるかどうかは重要。

ということで、blogサービス関係のバックアップ方法を探したのだけど。「GetHTMLWでバックアップしる」とか書いてあって仰天。…その手のサービスでは、「ログファイル」は存在してないのかしら。あるいは、存在していても、ユーザから一切扱えない不自由な状態になってるのかしら。

いやいや。もしかして、htmlそのものがログファイル、とそういう概念・仕組みなのかしら。例えば、コメントがつくと、htmlの内容を解析して、コメントをhtmlに付加していくとか、そういう処理なのかと。だったら判るのですが。

htmlそのものをバックアップしておくとして、障害発生後に復旧させるにはどうするのだろう。特定のディレクトリにhtmlを放り込めば、また元通りにblogサービスとしてすぐさま利用できるのかな。それとも、バックアップしたhtmlを閲覧専用のページとして公開できるから実用上は問題ないだろうとか、そういう感じかな。…等々、わからんことだらけであります。

自分で設置するタイプについては :

blosxom がオフ書きできるそうなのでヨサゲかなと思ったんだけど、xreaだかiswebだかに設置するのにスゲー苦労するみたいなので、やはり自分で設置するタイプはオススメできんよなと。

どこかで、tdiaryはオフ書き可能との話を見かけたけど、公式サイトを探してもそれらしい記述が見つからず。首を捻ってる状態。

_AAA! CAFE blog簡単自動設置 :

(・∀・) イイ!! けど、blosxom はなかった。残念。

*1: この場合のオフ書き = ローカルマシン上で記事ファイルを作成・HDDに保存して、サーバ上の特定のディレクトリに記事ファイルをftpアップロードすることで、記事を作成・更新するやり方。よくある、「Webブラウザから記事を作成できます」ではないタイプ。
*2: ホントかどうかは知らない。>ログ消滅話。

#3 [movie] _ジョンイルが出てくる「TEAM AMERICA WORLD POLICE」予告編

ワラタ。

#4 [jiji] _近藤真彦さん、潮に流された小学生救助 和歌山

歌手でレーサーの近藤真彦さん(40)が和歌山県白浜町の白良浜(しららはま)海水浴場の沖合で4日、潮に流された小学2年の男児(8)を助けていたことが分かった。

 田辺海上保安部によると、4日午前10時半ごろ、近藤さんが海上のプレジャーボートにいた際、ゴムボートに1人乗った男児が遊泳区域外に流されているのを発見。水上バイクで近づき、海中に飛び込んで男児をバイク上に引き揚げたという。

 男児は大阪府羽曳野市から父親と海水浴に来ていた。同保安部の事情聴取に近藤さんは「今回のような人命救助は初めて。これをきっかけに海の事故がなくなればいいと思っています」と話したという。 (08/05 21:02)
最近見ないなと思ってたら、そんなことをしてたとは。マッチ、カッコイイ! …でも、これが、アイドルのプロモーション活動として流行っちゃったらアレだなぁ。<それはないだろ。…ところで、プレジャーボートって何? …ほほぉ。 _なるほど。 リッチメン。 _(via 連邦)

_マッチお手柄!海で溺れている男児を救助 :

男児は約500メートル離れた海の上で泣いており、近藤が真っ先に水上バイクに乗り「大丈夫だ。お兄ちゃんが助けてあげる」と、抱きかかえたという。
気になるポイントは、40の男が、「大丈夫だ。 お兄ちゃん が助けてあげる」と発言しちゃったところ。小学生から見たら、絶対、「おじさん」にしか見えてないZO。悲しいけど、自覚しようZE、マッチ… (;´Д`)

#5 [zatta] _多飲水と水中毒の関係

私達ものどが渇くと、普段よりも水分を多くとりがちになりますが、ここでは半端でない量(1日でペットボトル2本以上)を伴う時をいいます。〜(中略)〜水をたくさん飲むことによって、血液が薄くなってしまい、それこそ水みたいな(役に立たない)血液が体中を回ってしまうわけですね。
全然飲まないのもヤバイし、飲みすぎてもヤバイのか。難しいよねぇ。 _(via hard で loxse な 日々)

_「水ってね、やっぱり血液サラサラにするんですって」「まあ寝るまでに2リットルか3リットル飲んでますね」 :

大丈夫か、ヒデキ。前回は水を全く飲まないで倒れたわけだが。飲みすぎるのもマズイらしいぞ。タモリに薦めてる場合じゃないかも。

2003/08/06(水) [n年前の日記]

#1 風車の種類

_安川電機が風力発電機に参入 という記事を読んで、
多様なニーズに応えられるようプロペラ式やダリウス式、サボニウス式など幅広い風車の種類をそろえる計画だ。
という部分が気になった。ダリウス式? サボニウス式? それは一体なんぞや。

検索してみた :

_風車の種類
_風力発電の種類
_サボニウス風車について
_アート入ってる(動画つき)
なるほど。「北の国から」に登場したのは効率の悪いタイプだったのか。

上のページを辿っていったら :

_ペットボトルとCDで作るサボニウス風車 とか _カセットケース型リニアモータ とかもあった。面白い。…しかし読みにくいページだな…。

この記事へのツッコミ

Re: 風車の種類 by がんした    2003/08/09 07:18
安川は元々、北九州の鉱山内で使われる、防爆モーターを作ってたメーカーで、
その回転制御を生かしサーボモーターとかに秀でてて、産業ロボットも作ってる。
ホンダの二足足にも使われてるらしいよ。

風力発電は、クリーンな発電として世界各国で力を入れられてて、
日本でも総発電電力の3%を風力発電で占めてるそな。
政府的にはこれを6%ぐらいまで引き上げたい考えて、補助金出したり
色々とやってます。安川はモーターメーカーでもあるから発電機も作ってる。
技術的に裏表な関係だから、モーターとジェネレーターは。

んで、まぁ、風力発電にも手出してるけど、三菱、日立、東芝など
大手には敵わないから、比較的小規模な発電機を作るしかなくて、
結果、ダリウス式やサボニウス式みたいな変わったのも作ってるのでしょうな。
Re: 風車の種類 by mieki256    2003/08/10 23:51
>防爆
その単語に胸キュン(古っ)です。「防爆」…なんだかイカス。
防爆PC、防爆デジカメ、防爆自転車、防爆AIBO…うう、なんか痺れる響き。

>安川電機
恥ずかしながら、実は安川電機なるメーカ名を全く知らなかったんですが、
(安川と聞いて、トニーたけざきの某漫画に登場する
メガネくんキャラを思い出したぐらいに何も知らないという…)
そんなに色々やってる会社だったとは。勉強になりますです。

http://www.yaskawa.co.jp/
うむ。これは。
ガンダム好きな男の子は抑えておかないといけない会社だったのだな…

>風力発電
各家庭に一個、標準で装備されるぐらいに普及しないもんですかねぇ。
常時発電は無理だとしても、多少は電力を補える存在になれば。
もっとも設置コスト等も問題なんだろうな。
たしかどこかで、畑なんかに設置する風力発電機=数十万と聞かされて、
あんなちっこいのでもそんなにするんかと驚いた記憶が。
電器店や日曜大工用品店で、\9,980ぐらいで売られて、
TVアンテナ設置と同程度の設置難易度にならないものか…。
Re: 風車の種類 by がんした    2003/08/13 06:15
>防爆
同様に文頭に「戦略〜」と付けると無性にカッコよくなったり、
「大人の〜」と付けると、何でもエロく感じたり。(わらい
Re: 風車の種類 by mieki256    2003/08/15 03:38
>「戦略〜」「大人の〜」
ワラタ。たしかにそのとおりだなぁ。強い魔力を持っている…

#2 [pc][web] 何故にパンピーはマイナーなフォントをわざわざ選択・指定するのだろう

自分のPCにそのフォントが入っていれば、他者のPCにも同じフォントが入っていて当然、とでも思い込んでるんだろうか。 *1 入ってないっちゅーに。

初心者向けHTML作成ツールはfontタグのパラメータをデフォルトでは弄れないようにしておくべきではないか。あるいはフォント種類をユーザが選択した際に必ず警告を出すとか。「他のPCでは異常な画面になる可能性が高いです。それでもフォント種類を指定しますか? (yes/no)」とでも言っておけば多少は意識も変わる?
*1: 一般市民様は「私が○○なのだから皆も○○だ」という思考を頻繁にするものらしい。この件もソレかな。

#3 [pc][web] _「斎藤環氏に聞く ゲーム脳の恐怖」のGoogleランクを上げよう

オイラも賛同しておこう。
_斎藤環氏に聞く ゲーム脳の恐怖1[www.tv-game.com]
こんな感じでいいのだろうか。 _(from ARTIFACT)

#4 [digital] デジカメに使う二次電池の充電器

充電器単体に「マイコン制御」云々の宣伝文句がついて売られてる場合が多いけど。どうせPCが手近にあるんだから、各充電器にマイコンを積まずに、PCでそのへんの制御ができないものかと。今は、容量の多い二次電池が新発売されると対応充電器も購入する必要が出てくるけど。PCのソフトをアップデートするだけで新製品にも即座に対応可能となればユーザにとってはちょっとは嬉しいのではないかと。 *1 _USBで動くミニ扇風機 より実用性があるような気もするんだけど。 *2

本来コイツ(PC)は、若干のハードウェアさえ備わっていれば、エアコンもライトもTVもAV機器も、何でも『制御』できるだけのパワーを充分秘めてるのに。なんだかもったいない。
*1: 場所を選ぶし、PCつけっぱなしだから地球には厳しいですな。また、Windowsは動作が不安定→充電完了状態を見逃し→事故発生、なんて事態もあり得るかも。
*2: _携帯用の充電ケーブル はあるみたいだけどなぁ…。

この記事へのツッコミ

Re: 二次電池の充電器 by がんした    2003/08/09 07:39
いっそ PCI カード型の充電器を作るの。寸法の問題で単四x4本、までしか
対応してないけど、オプションとして5インチベイに取り付ける、
単三&四兼用x4アダプターも使えば期待通りに製品が・・・、
但し電源ユニットに恐ろしく余裕が必要。
下手すると電圧降下で、PC自体が不安定になる恐れが、、さらに
たかだか単三x2本充電するだけで、PCを起動しないといけないはめに、
電気代余分に使うのだろうなぁ。最悪の状況としては、部品の相性問題で
OSがハングアップして充電出来ないとか、、、やっぱ別々がイイなぁ。

PCの拡張性って只の規格だから、必ずしもPCIスロットに全部刺して
安定動作が保証されてる訳でもないし、アップデートってのもな
メーカーの不具合対策をユザーに押しつけてるだけで、何か騙されてる感じ。

実質、OSで対応してるインターフェイスを使って、対応ソフトで何とか
出来る分には優秀で面白いと思う。例えば、昔のゲーム用シュミレーターとか
ラジオ録音タイマーとか、
http://www.vector.co.jp/soft/win95/art/se156494.html?y

それ以外に、特殊なI/Oが必要な場合は専用機のがよさそうだ。
Re: 二次電池の充電器 by mieki256    2003/08/11 00:08
>電源ユニットに負荷
自分の考えてたのは、電源は別コンセントから取って、
充電状態を感知したり、作業を開始・停止するところはPCから制御、
みたいな感じですね。
電源ケーブル・USB端子付きの外付けHDDぐらいの大きさで、みたいな。

ただ、やっぱりWindowsで制御ってのは必ず問題が起きそうでアレですね。
仮にそういった製品が出た場合、
充電の為だけに起動、ということはほとんどなくて、
何かの作業をしながら充電、という使い方がほとんどになるだろうけど…
そうなると、アプリが強制終了したり、OSがハングしたり…
充電作業ともなれば下手すると爆発・火事になるし。ヤバ過ぎる…。

充電器のファームウェアをPCから書換られるとか、
充電器に対し充電池の容量をユーザが別途指定して将来的にも対応できるとか、
そんな充電器が出てくるのがベストですな。
…充電器を毎回買わせたいメーカとしては、
絶対にそんな製品発売するわけないだろうけど(爆)

2002/08/06(火) [n年前の日記]

#1 日記の修正

Webにアップしてる日記についてなんですが。

一応、記録性が(多少は)あるものだろうし、
修正は加えず、当時記述したそのままの形で残しておくのが良いだろうか…
…などと今まで漠然と思ってましたが。

本日、過去の日記内容に関係する問い合わせが来まして。
その内容を見て、修正・多少の追記は必要だなと考えを改めました。
間違った情報、あるいは要望を列挙し続けてるのはよろしくない。

元の情報はそのまま残してあるとしても、
後日こういう状態になったと追加報告できているほうが、
トラブルの類は避けられそう。

もっとも、それら情報は、
近づけて表記する、1ページにまとめる、リンクを張るなど、
ある種関連付けをしておかないと意味が無いとは思いますが。

2001/08/06(月) [n年前の日記]

#1 チェックのタイミング

メール、1日1回はチェックしないとまずいなぁ…
緊急のメールを見落としてしまう。うーん


ある事情でAdobeガンマを起動。
モニタの明るさやコントラスト等を調整したんですが。
全然色合いが違う…
以前描いた絵を見てクラクラ。
黒だと思って塗ってたら茶色だよ…
どれに合わせて作業したらいいんだろうなぁ。

2000/08/06() [n年前の日記]

#1 愛おぼえてますか

近所のヨークベニマル(いわゆるスーパー)の中のCD屋さんに行ったら、某サイトで「見かけない」と聞いてた「マクロス・愛おぼえてますか」のDVD版を発見。(ご丁寧に「LD版じゃありません。DVD版です!」との店のコメント付)
「再販?」と一瞬思ったけど、パッケージのボロボロ具合や袋に貼ってあったシールの年月日を見る限り初版(?)らしく。
こんな田舎の、ジャガイモやキュウリ等に囲まれた場所ですら発見できるということは、実はそれなりに市場には残ってるのかな?
…いや、こんな場所だからこそまだ残ってたのか? よくわかりませんが。
しかしLDモノと見紛うばかりのあのデカいパッケージ。DVDの意味無いのでは。感覚的にはエロゲーのパッケージと同じ?

部屋の本棚が傾いて危険なので、下に板を引きました。
そのために本棚の中身を一旦取り出したのですが。
結果、昔友人達から送られてきていた大量のFAXを発見。
全部薄くなってる。感熱紙は保存性ダメダメですね。

それぞれのFAXの内容を読むと、「今では仕事面でもバリバリの彼が、当時はこんな事を…」と不思議な気持ちに。
皆しっかり着実に力をつけてるなぁ、苦しんだ分をちゃんと血肉にしているんだなぁ、と思いました。

それに比べてオイラは… (´Д`;)
って比べてウジウジしても無意味か。
ここにこうしていることだけでも感謝すべきことだし。
自分に対して欲深になるのはそのうちゆっくり…
とかそーゆー事も言ってられないんですけどね… (;´ー`)

関係ないですが。
妹に、「『アンソニー』と言えば『落馬』だよね」と言ったら、「ハァ?」という返事。
世代間のギャップってやつなんでしょうか。
そんな大層なもんじゃないか。
そういや以前某チャットで、「因果地平へ全裸で」と言っても話が通じなかったことも。
時代は動いているのですね(謎

1999/08/06(金) [n年前の日記]

#1 (NoTitle) PM4:00起床。栞ちゃ...

PM4:00起床。

栞ちゃんCG、fix。dung氏にメールで送信。
そういやPainterで塗ってたら、縦に何本もすじが入ったり。テクスチャかと思ったけどそうでもないらしい。マスクの段階で入ってるような気が。バケツツールを使ったせい? ベタ塗りペンでちびちび塗らなきゃダメ? メモリ異常動作か、ソフトのバグか。謎。

「芸夢」なるHパソゲーをプレイ。調教モノ。パッケージにはたくさんの女の子が描かれていたので「こんなにたくさん…」と手に取ったけど。実はプレイできるのは猫耳娘一人。詐欺。しかも猫耳はワシの好みから外れる。チッ。全体的にボリューム少ない。画面切替え時、前画面が残る。演出か、バグか。謎。相変わらず改造してプレイ。この手のは既にまともにプレイする気ゼロ。遊びになってないから。遊べないとわかってて何故買う? 実はCG集として買ってるから。
…それ寂しいやぁ。

みんなVNになって欲しい。練りこまれてない苦痛なだけの遊びを押しつけるのはもうたくさん。シナリオ・CG・音楽だけで勝負かけるほうが潔い、かなと。

以上、25 日分です。

過去ログ表示

Prev - 2024/03 - Next
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project