大晦日に今年の反省して来年に行く

さて、そろそろ初詣に向けて出発するところです。

午前中はゴミを捨てて捨てて、それでドメイン取ったことをふまえて新年になってから送る年賀状の原稿を変更して。

そうやって午後に出発です。

わりと出発は早いですね。年内に外宮にお参りしてから、新年に内宮にお参りするつもりです。


2009年の1年間ですが、僕も4年になりまして、見たこと・考えたこといろいろあります。

その中でも特に衝撃的だったのが8月の末に出会った高専カンファレンスだろうかなと思う。(参考記事 : 高専カンファレンスとかいうのがあった)

おもしろいことは言うまでもなく、ためになる話が多くて、これからも工学を学び、そして技術者になろうという意欲が向上したものです。

実際に東京での高専カンファレンスには参加したわけですが、実際に参加すると見えたものもあります。(参考記事 : 僕が見てきた高専カンファレンス)

人前で発表するという機会を与えてもらって、これはよい経験になりました。

そして多くの高専関係者に会いましたが、束にすればこれほどいるのかと思ったものです。

高専関係者に限らないのですが、技術に関わる人とたくさん会えたというのはよかったなと思います。

なかなか大会ではのんびりできないし、高専の学生以外はいないのでこうはいかないものです。


そういう出会いなどがありまして、やる気というのもたくさん出てきたものです。

今年はなにかひと味違うよい年だったと思う。それが今年の反省だな。

来年は大変重要な年ですから、気合いを入れてやっていこうと思います。


さて、これで年内は最後の記事になりますかな。

1年間、毎日毎日書いてきて、今日で今年はおしまい。

ご覧になっている方がいれば、よいお年を。ではまた来年に。

冬休みの宿題に終われる年末

この冬休みになにができるかと考えたが、宿題と旅行でほとんど食われてしまうことに気付いた。

まぁそれはいまさら言うことじゃなくて冬休みが始まったときに明らかだったことだったんですけどね。

宿題は年内に終わらせないといかんということもありカリカリやっていたが、あと1つまで来た。


そもそも、新年の予定が何かとハードなのでそれが問題なのですよ。

  • 12月31日~1月1日 : 伊勢神宮に初詣
  • 1月3日 : 親戚に新年のご挨拶のためお出かけ
  • 1月4日 : 友人と初詣&新年会
  • 1月5日 : 友人と青春18きっぷ消化のため名古屋旅行

そして1月7日、学校は再開すると。そういうことなんです。あまり日がないのですよ。

というわけで宿題は年内にやるしかないとなったわけだ。


具体的な宿題ですが、レポート3つですね。実際にはそれだけではなくて実験レポートもあるから4つです。

一番最初に取り組んだのは、回路の宿題で、伝送線路の章を予習してレポートを書けというもの。

PCでカリカリ書いていたのですが、後で手書きだと指定されていたことに気付き手書きで書きました。

内容まとめらしくない、なんかエッセイかなんかみたいになってしまったが、僕はこれでいいと思ったからよしとする。

次は体育のレポート。テーマは既に決めてあって背泳ぎのバサロ泳法のこと。

インターネットでなんか論文があったので、それを参考にしてバサロ泳法の理解を深めて、いろいろ書いてみた。

その次は半導体素子の実験のレポート。pn接合ダイオードを作ったんですが、検討課題が多い。

その中で最近の集積回路技術の動向を1つ挙げて調べよというのがあって、Athlon 64以降AMDには欠かせないSOIについて書いた。

SOIすごいわ。GaAsより安いにしろ、そんな高級品を使うAMDはすごいと思うわ。けどそれだけの価値はあるんだろうな。

最後が電子回路の宿題で、5年後の○○(電気電子機器)を想像するというもの。

これは明日取り組もうと思っている。

スマートグリッドとかで話題の送配電システムで書きたいけど、電気電子機器なのかはよくわからない。けど着目点は悪くないと思う。


こういうことでなんとか年内に終わらせたいものです。

本当はもっともっとやりたいことあったんですよね。英語のインターネットで読んでクイズに答えるやつ。

ただ、それをやると宿題が終わらないので、それについては新年に学校が再開してからこつこつやることにします。

関東の交通パズルを眺める

今日はTWR(東京臨海高速鉄道の略称)が大繁盛するのだろうな想像している。

やはり大きな展示場の近所までフル規格の鉄道が来ているというのは人を捌くという意味では強いものです。

南港のインテックス大阪は最寄り駅はニュートラム中ふ頭駅ですが、人を捌くという意味ではニュートラムは弱い。

けど、コスモスクエアまで中央線来てるからそこから歩けばいいですねって。なるほど。


そのりんかい線ですが、新木場駅から東京湾の埋立地群を通って大崎駅に至るという路線ですね。

ただ、そこが終点なのかというとそういうわけでもなくて、大崎駅からJR埼京線というのに直通しているそうだ。

埼京線とはいうが、そんな名前の路線があるわけじゃなくて、東北本線の通勤別線の通称のようだ。赤羽~大宮の路線。

あれ? 大崎から赤羽は? というわけだが、大崎~池袋は山手貨物線、池袋~赤羽は赤羽線という路線のようだ。もっとも赤羽線は現在は埼京線の一部とみなされていて表舞台には出てこないようだが。

山手貨物線は貨物とはついてるけど旅客電車が山ほど走っている。もちろん貨物も走るだろうが。

はるかとかは新大阪~西九条間を梅田貨物線でショートカットしているわけだから、こういうことは珍しくない。

それを特急だけじゃなくて各停などでもやっているということ。


あれ?と思った。その山手貨物線には湘南新宿ラインという何のことか分からない系統も走っている。

東海道本線か横須賀線から、東海道本線の横須賀線専用線・品鶴線(東海道本線の貨物支線)を通り、短絡線を通り山手貨物線に入り、赤羽線を経て東北本線の貨物線に入り、東北本線か高崎線で北上するという系統。

何のパズルやねんと。

埼京線とこれは赤羽~大宮の経由地が違うんですね。これって結構厄介じゃないのかなと思うんですがどうなんでしょうか。

あともう1つ厄介なのは、湘南新宿ラインに各停はいないということなんですね。

普通の横浜~大宮間の停車駅の数を見ても妙に少ないんですよ。通過駅がある普通列車とか怖いですね。

関東では普通=各停ではないらしい。各停というのは別格らしい。

というのもなんと各停専用の線路というのを用意してあるらしい。それが京浜東北線とか山手線とからしい。

例えば東神奈川駅は東海道本線の駅だが、止まるのは各停、すなわち京浜東北線のみ。

各停じゃない普通列車などは何もなかったかのようにスルーしていく。あらららら。

その京浜東北線には快速というのが走っていて、その停車駅は東海道本線の各停じゃない普通よりも多い。不気味ですね。


あと各停と各停じゃない電車の行き先が違うってのもある。不気味と思わんのかね。

それが総武本線・中央本線で、それぞれ各停じゃない電車は東京駅行きなんですね。

総武本線を走ってきた各停は錦糸町~御茶ノ水を秋葉原経由でショートカットして、中央本線各停となり走っていく。

じゃあ各停の乗客が東京駅に行きたければどうするかというと、各停じゃない列車に乗り換えるか、秋葉原で山手線に乗り換えるか。そういうことなんでしょうね。

ちなみに、この総武本線・中央本線の各停のことをまとめて総武線なんて呼んでるらしいですよ。ここまで来るとなんとも。


地下鉄に目を向けるとさらにひどい。そもそも東京の地下鉄は見た目からして、なにこれというような具合だった。

誰がこんなものを使えるのだろうと思って路線図を見ていたものだ。

わざわざ地下鉄を選択したのは以前 高専カンファレンス in 東京 に参加したとき、秋葉原~北千住で使ったぐらい。

これも地下鉄秋葉原駅の場所が分からなかったから、山手線・常磐線で行こうかなと悩んだぐらい。

何の意図があってこういう風に線路を引こうと思ったのかは分からないが、多分道路も関係があるんだろう。

さらに厄介なのが郊外路線との直通運転が積極的に行われていると言うことかな。

一体何が何なのかわからなくなってくる。これは地下鉄を郊外路線の延長ととらえればいいのだろうか知れないがようわからん。


関東の交通網ようわからん言ってるけど、関西の交通網も大概複雑じゃないのと言われそうなものである。

大和路線とか阪和線の大阪環状線行きなんかはよくわからないと言われてもしょうがない気はする。

まぁそういうことはあるけど、基本的には一本道ですわ。各停がワープしたりそんなことはない。と思いますけどね。

あと大阪の地下鉄はわかりやすいですね。碁盤の目に作られた道路の下を通っているというのがやはり強いですね。

直通運転、あると言えばあるけれど、けいはんな線は中央線の延長だし、北急も御堂筋線の延長だし。

唯一そうでもないのが堺筋線だろうが、まぁあれだって基本的には北千里行きだし大した問題ではないですね。

会社間の直通運転でも厄介なのは尼崎を越えて阪神・近鉄が直通しているのぐらいだろう。それ以外は一本道が多い。

すっきりしたもんです。


関東の交通網がここまで複雑なのは、多分乗客が多すぎて、どうやって人を捌こうかと思って貨物線を流用したり、私鉄のターミナルから地下鉄で伸ばしてもらったりしたからだろう。

まぁそういう工夫の跡なんだとは思います。わかりにくいことには違いないが。

よくわからないならそれはそれでしょうがないから駅すぱあと使えばいいさ。

時々とんちんかんなルート出してくるけど。大阪近辺でとんちんかんなルートだしてきたら補正してあげられるのだが……

オレオレじゃないSSL証明書を作りにいった

ふと、SSLのオレオレ証明書どうにかならんかなと思った。

そういえば無料のSSL証明書発行サービスあったよね。と思って調べたらあった。
StartSSL

無料以外でもやってるのだが、無料でもLevel1というもっとも低級な認証はうけられるのが特徴ではある。

高級な証明書も作っていて、EV証明書まで発行できるようだ。たったの149.9USDだと言っているが結構値が張る。

一応Mozilla関係ではCA証明書が内蔵されているようなのでそれなりに使いやすそうではある。

LibserverはSSLでアクセスする人僕ぐらいだからいらん気もしたが、別のところであるからなぁ。


というわけで登録しよう。

詳しい解説があるのでそれを見ながらやった。
無料 SSL 証明書 StartSSL を使う (futuremix)

さて、まずは個人証明書が作られるので、これをブラウザに取り込む。これをログインに使うようだ。

このあたりはSSHの公開鍵認証に似てますよね。

次にドメインの認証を行います。トップレベルドメインの認証しかできないようです。

だからドメインの所有者以外は証明書を打ち出せないと言うことだ。おー、ドメイン取っててよかった。

そういえばSSLってドメインで認証を行うことが多いらしいですね。有料でも安いやつはそうらしい。

かの有名なVeriSignは団体が登記されてるかとか、電話で団体に意志を確認したりするそうで、この厳格さがウリらしい。

まぁそれはそうと、そんなものは商売するとかでなければいらないと言えるので、ドメインで認証すればよろしい。

Whoisの登録してあるメールアドレスとかにメールを投げてもらうという方法で認証してもらった。

Validations Wizard で Domain Name Validation を選んでやってもらえばいい。

これで証明書に署名してもらえるようになった。というわけで鍵とCSRを作った。(参考記事 : SSLの鍵を打ち出す単純な方法)

# /etc/pki/tls/misc/CA -newreq

これで鍵を作ってnewreq.pemの内容をコピペして渡せばいい。

ただStartSSLでは鍵の長さは2048bit以上であることを要求しているのでopenssl.cnfを変更しなければならなかった。

[ req ]
default_bits            = 2048
default_md              = sha1

まぁこれぐらいの設定はしておけよということです。なぜか元が1024bitだったので怒られた。

用意したらCertificate WizardでSSL/TLS Web Serber Certificateを選んでやる。

向こうで鍵も作ってもらうという方法はあるが、それはなぁと思ったのでそこはSkipして、CSRとしてnewreq.pemの中身をコピペして渡した。

できたらその証明書の内容をコピペして、newcert.pemとでもして保存しておこうか。


実は僕はここでドジをして、鍵を消してしまったのよ。あーあ。

というわけでやりなおそうと思ったのだが、同じドメインでは30日内には署名し直せないよと言われたので、前の証明書を失効させてもらうことに。

Tool BoxのRevocation Requestを選んで、そのCertificateでその証明書を選ぶ。

そしてReasonだが、これはまじめに書かんといかんかったようだ。

自動だと思っていい加減に書いたら「ちゃんと理由教えて」って英語でメールが届いた。

自動じゃなくて手動なんだね。というわけで「リクエストした後で鍵を消してしまったから」ということを送ったらすぐに失効させてくれた。

本当に申し訳ない。それで改めてやり直しました。


さて、設定だが、ちょっと注意しなければならないことがある。

この与えられた証明書は中間CAにより認証されている。すなわちその構図を示すと、

StartComのルートCA ―署名→ Class1用の中間CA ―署名→ 発行された証明書

というわけでこれをちゃんと設定しないといけない。特に中間CAは重要。

Tool BoxのStartCom CA Certificatesから StartCom Root CA(PEM encoded) と Class 1 Intermediate Server CA をダウンロードしておく。

それぞれ同じディレクトリに ca.pem , sub.class1.server.ca.pem としておく。

その上でApacheの設定。まぁこれはStartSSLのページにもありますけど。

SSLCertificateFile /etc/pki/tls/certs/newcert.pem
SSLCertificateKeyFile /etc/pki/tls/certs/newkey2.pem
SSLCertificateChainFile /etc/pki/tls/certs/sub.class1.server.ca.pem
SSLCACertificateFile /etc/pki/tls/certs/ca.pem

newkey2.pemは以前の記事で書いた、パスワードを解除した鍵ファイルね。

中間CA証明書の設定を忘れてはならないと言うことです。


Apacheについては書いてあるんだが、DovecotとPostfixについてはないので少し悩んだ。

まずDovecotの設定はこんな感じ。

ssl_cert_file = /etc/pki/tls/certs/newcert.pem
ssl_key_file = /etc/pki/tls/certs/newkey2.pem
ssl_ca_file = /etc/pki/tls/certs/sub.class1.server.ca.pem

CA証明書のところに中間CA証明書を入れればうまいこといった。

Postfixも実のところ同様で、

smtpd_tls_cert_file = /etc/pki/tls/certs/newcert.pem
smtpd_tls_key_file  = /etc/pki/tls/certs/newkey2.pem
smtpd_tls_CA_file = /etc/pki/tls/certs/sub.class1.server.ca.pem

これで使えるようになりました。


というわけでテストページを作ってみたから、試しにアクセスしてみてください。

https://hdmr.org/ssl.php

多分何も言われずにアクセス出来たはず。オレオレ証明書の場合はこうもいかない。

PHPで $_SERVER["HTTPS"]==’on’ であるか確かめているのでHTTPSでしかアクセス出来ないはず。

見ますと、証明書のOとOUが書き換えられてる。Class1はさすがにこのあたりの扱いは悪い。

まぁ確かに団体の実在性確認とかはしてないわけですから、このあたりは当然と言えば当然ですが。

有効期間は1年間のようですね。毎年打ち直す必要があるらしい。これも普通ですね。

Apacheにcertwatchっていうユーティリティがあるので一ヶ月前になったら知らせてくれますから、そのときには作り直せばいいわけですね。


HTTPSを使っておもしろいことができたらいいですけど、何ができるだろうか。

それなりに使えるSSL証明書がこうやって作れることがわかっただけでよしとするか。

Windows Live Writerに機能を追加する

昨日、XML-RPCを使った投稿できるようにしたがバグを発見して少々修正していた。

それでいろいろ試していたのだが、どうもxfy Blog Editorには連続した空白の取り扱いがおかしいようだ。

あと編集時の挙動がおかしい。まぁこれは僕のミスかも知れませんが。

Windows LIve Writerなら問題ないようなのでそれを使おうかなと思った。が、少々問題があった。


というのが今挿入した水平線。Windows Live Writerには水平線を挿入する簡単な方法がないのです。

ではどうしようか。挿入する方法を自分で作ればいいんですよ。そういうことができるのがこのソフトのすごいところかな。

Windows Live Writer用のプラグインを開発する(japan.internet.com デベロッパー)

.NETの開発環境があれば簡単にできるようです。Visual Studio 2010 Bataでやった。

C:\Program Files\Windows Live\Writer\WindowsLive.Writer.API.dll を参照設定に追加して、プラグインクラスをWindowsLive.Writer.Api.ContentSourceを継承して作るだけですね。

この記事に書かれていることに沿って作れば<hr />を挿入するだけのものは簡単に作れると思います。

ただ注意するべきことが2点ありまして、1つは.NET Frameworkのバージョンですが4.0ではだめでした。2.0ならいけた。

それとImagePathですが、これは画像のサイズは16×16らしいが間違っているようだ、ということと画像ファイルをリソース埋め込みするのを忘れないようにということ。


さてソースコードを貼ろうと思っても実は整形済みテキストも簡単には入れられないのです。

まぁさすがにこれはCode Snippet plugin for Windows Live Writerなどあるのでわざわざ作る必要ないかも知れない。

ただ、ソースコードでもないのにこれを使うのはなぁと思ったのでこれも作った。

内容は出てきたダイアログに入れて、それで挿入とすればコードを生成して挿入するという風にした。

簡単簡単。こうやって整形済みテキストも挿入できるようになりました。


ソースコードはこんな感じ。

namespace WriterHR {
  [WindowsLive.Writer.Api.WriterPlugin("{7d6bdcb9-1628-477a-a52a-88df578b5a34}", "HR inserter",
    Description = "水平線を挿入します。", HasEditableOptions = false, Name = "HR inserter",
    PublisherUrl = "http://hdmr.org", ImagePath = "hr.gif")]
  [WindowsLive.Writer.Api.InsertableContentSource("水平線")]
  public class HRInserterPlugin : WindowsLive.Writer.Api.ContentSource {
    public override System.Windows.Forms.DialogResult CreateContent(System.Windows.Forms.IWin32Window dialogOwner, ref string content) {
      content = "<hr />";
      return System.Windows.Forms.DialogResult.OK;
    }
  }
}

水平線挿入するのはたったこんなけです。

整形済みテキストはダイアログ表示させてOKだったらそのテキストボックスの内容をStringBuilderに入れてReplaceやらしてから書き出してるだけ。


本当はこれを公開したいのですが、ちょっとWindows Live Galleryへの登録法がわからないのでそれは後にでも。

dllファイルだけ配布してもいいんだが、それではなんか残念ですし。

Blogエディタで書くBlog

この記事はxfy Blog Editorで書いてから直接アップロードしています。

こういうことができるんですね。ただ簡単ではなくてアプリケーションからBlogを操作出来るようにしないといけない。

これが厄介で、Blognplusに対応したものを自分で作らないといかんと。


具体的なアプリケーションからの操作方法ですが、XML-RPCという方法で行います。

これはXMLのHTTPによるやりとりにより操作する方法です。これを用いてMovable Typeは操作出来るようです。

というわけでMovable Typeの操作の一部をBlognplusでできるようにすればいいわけです。

具体的な内容は Movable Type で使える XML-RPC API の内容です。いろいろありますね。

blogger APIがあって、それで足りないのをmetaWeblog APIで拡張して、それでも足りないのをMT独自拡張としてあるわけだ。

このうちblogger APIのnew Post・editPostについてはそれを拡張したmetaWeblog APIのnewPost・editPostを専ら使うだろうから特に実装しなくてかまわないと判断した。実際いらない。まぁ実装しても知れてるけどね。

あとMT独自拡張のうちsupportedTextFiltersについてはよくわからなかったからパス、getTrackbackPingsは使う予定もなかったのでパスした。

それと公開・非公開に関わる機能はBlognplusはちょっと違うからうまく実現できていないかも知れない。


さて、具体的にはどうやって実現したかだが、pearのXML_RPCを使った。すでに入っていたが、pearにあるからインストールは簡単。

# pear install XML_RPC

インストールできたら、これを使ったコードを書くことになる。マニュアルを見ながらやる。
XML_RPC Manual

<?php
require_once 'XML/RPC.php';
require_once 'XML/RPC/Server.php';
function newPost($params){
  $blogid	=$params->getParam(0)->scalarval();
  //中略
  $content	=$params->getParam(3);
  $title	=$content->structmem('title')->scalarval();
  //エラー時
    global $XML_RPC_erruser;
    return new XML_RPC_Response(0, $XML_RPC_erruser+3,"許可されていないファイルタイプです。");
  //中略
  return new XML_RPC_Response(new XML_RPC_Value($error[2],'string'));
}
//略
$methods = array(
  'metaWeblog.newPost' => array( 'function' => 'newPost' ),
  //略
);
$server = new XML_RPC_Server($methods);
?>

基本的にはこんな感じ。リクエストを受ける関数を用意して、XML-RPCのメソッドを関数に関連づけると。

で、引数ですが何番目か指定してgetParamで取り出します。なければnullが来るようだ。

これはXML_RPC_Valueクラスなので、ここからint・boolean・stringなど取り出すにはscalarvalで取り出さないといけない。

さらにstructだった場合はstructmemでメンバであるXML_RPC_Valueを取り出して、これについてscalarvalするなりしないといけない。

arrayの場合はarraymemで要素を取り出せますね。まぁこんな具合です。

結果はXML_RPC_Responseクラスのインスタンスを返すことになります。失敗したときは引数は0,エラーコード,エラーの説明とする。

成功したときは結果のXML_RPC_Valueを返す。ここでは記事IDの文字列を返していますね。

XML_RPC_Valueのインスタンスは元となるオブジェクトとその型(int,boolean,stringなど)を引数に与えて作る。stringのときは省略できる。

ただstructとarrayはXML_RPC_Valueの連想配列を渡して作らないと行けない。なのでかなりめんどくさい。

return new XML_RPC_Response(new XML_RPC_Value(array(
  'userid'=>new XML_RPC_Value($original[1]['user_id']),
  //中略
),'struct'));

こういう風にして作ります。

できたファイルを置いておきます。
rpcapi.php.bz2 (bzip2,3.0KB)


実際の使い方ですが、MT互換で作ったのでMTで使えるBlogエディタなら大概いけると思います。

Movable Typeは有名だからねぇ。使えるエディタもすごく多いですからいいですね。

xfy Blog Editorでいけたのは言うまでもないですが、Windows Live Writerでもいけましたし。

ただ、MTはPerl CGIですが、これはPHPなので拡張子が違うのでどうしても全く合わせることが出来ない。

けどどちらも手動でエンドポイントを入れられるから大丈夫ですね。このphpファイルを指定すればいい。

あとスキンを読み込んでBlogエディタに反映させようとしてもうまくいかないかな。MTじゃないからしょうがないね。

それとMTではカテゴリー複数選択可ですが、Blognplusは1つしか選べません。あと選択しなかったら標準のカテゴリーに自動で設定される。


時々Firefoxで無茶してフリーズしてしまうこととかあるけど、別のソフトなのでそれだけでかなり安心ですね。

あと適宜セーブできるのでこれもいいですね。今までは時々Terapadにコピペしてたけど、これはCtrl+Sだけで終わり。

HTMLもソフトに任せておけば適当に実体参照に変えてくれたりするから安心ですね。

あと画像とかファイルのアップロードもここからできますから。画像を貼ったりとかローカルのファイルにリンクを張ると処理してくれるはず。

というわけでこれからは積極的に利用していきたいと思います。

自分のドメインを取ってみた

アクセスしたらなんかURL変わってるしと思ったかも知れない。
旧 : http://libserver.ddo.jp/fdiary
新 : http://hdmr.org/d
元々が無料のサービスなので特に以前のURLが使えなくするってことはありません。
まぁけど変わったんだからと変えてくれるのならそれはそれでありがたいことです。
RSSは http://hdmr.org/d/rss です。まぁけどこれも変えなくてOKです。
そう、ドメイン取りました。友人がドメイン取ってるのに触発された。
彼はお名前.comのキャンペーンがきっかけで取ったようだが、よく考えるとDDNS無料じゃないからやめた。
Livedoor ドメインが大変安いので、ここで取ることにした。


見ての通り.orgですが、.com/.net/.org/.infoは安く945円/年ですね。
しかもDNSサーバーは無料で使えるし、DDNS機能もURL転送・メール転送も無料であるからいろいろ便利そうである。
これだけあれば固定IPじゃなくても安心だし、サーバーがこけてもどうにかなる。
ICANN公認レジストラ は日本には8社しかないのですが、その1つが株式会社ライブドアのようです。
他にはGMOインターネットとか。これお名前.comの会社。
これ以外のレジストラは全部取り次ぎということになるらしい。そういう点でも少しいい。
さて、ドメインをどうしようかと少し考えてみた。
まずはhidemaro.*かなと思って検索、するとhidemaro.orgならいけるぞと。
それで行こうと思ったのですが、ちょっと長くないかと。せっかくなら短い方がいいよねって。
どうも最短の3文字ではまともに取れないので4文字が実質取れる最短かなと。
じゃあ母音を抜けば hdmr になって短いですね。と検索するとorgはあると出てくるからこれにしようと。
こうやって hdmr.org となったわけです。わりと短いね。値上がりの気配もないので1年だけにしておいた。
orgってのは悪くないチョイスだと思います。まぁ団体じゃないよねと言われればそこまでですが。


さて、DNSの設定だけさっさとしてしまおうというわけで作業開始。
まずログインしてDNSの設定に行く。
最初にAレコードを作らないと話が始まらない。
(空欄).hdmr.org , A , 0.0.0.0 , DDNS有効
としてAレコードを作った。これでDDNS更新作業をすればこのIPアドレスが変わるはず。
その更新の仕方ですが、cronのスクリプトで毎時間実行するようにすればいいですね。
というわけでスクリプト。

#!/bin/sh
wget -O - --user=(Livedoorのユーザー名) --password=(パスワード) 'http://domain.livedoor.com/webapp/dice/update?hostname=hdmr.org' >/dev/null 2>&1
wget -O - 'http://free.ddo.jp/dnsupdate.php?dn=libserver&pw=(パスワード)' >/dev/null 2>&1

LivedoorのDDNSと、あと元々のddo.jpのDDNSを同時に更新するスクリプトにしてある。
これを/etc/cron.hourlyに投げ込んでおけばいいですね。
元々はddo.jpだけだったんだけどね。いずれも更新は特定のページにアクセスすることです。
なので手っ取り早くwgetでアクセスしています。
-Oは出力ファイル名指定、ここに-を指定すると標準出力に吐き出すから、それら全部を>/dev/null 2>&1で捨てているわけですね。
ddo.jpの場合はBASIC認証とかいらんかったがLivedoorは必要なのでBasic認証のことも含めてある。
いろいろやってて気付いたのだがDDNSは何個でも設定できるようですね。
hostname=で指定したAレコードだけ変わるみたい。
これで無事設定できました。
あとはとりあえずMXレコードだね。
(空欄).hdmr.org , MX , hdmr.org , DDNS無効
これでとりあえずは使えるようになった。


次にサーバーの設定だが、ApacheはServerAdminとServerNameぐらいしか変えるところはない。
ただ、それだけでは残念なのでURLを書き換えさせるようにした。(参考記事 : よく切れるナイフmod_rewriteは大切なURLを守る)
具体的にはこんなことを書いた。

NameVirtualHost *:80
<VirtualHost *:80>
ServerName libserver.ddo.jp:80
RewriteEngine on
RewriteRule ^(.*)$ http://hdmr.org$1 [L,R=301]
</VirtualHost>
<VirtualHost *:80>
ServerName hdmr.org:80
</VirtualHost>

libserver.ddo.jpだったらhdmr.orgに書き換えて、移転通知するということね。
これによりじきに検索エンジンもhdmr.orgに書き換わるはず。
あとhttp://hdmr.org/fdiaryじゃちょっと長いよなと思って、fdiaryをdに置き換えることに。
fdiaryのディレクトリのエイリアスをdに変えるだけなのですが、それでは元のURLが使えなくなる。
ということでfdiaryというダミーのディレクトリを作っておいて、こう書いておいた。

<Directory /var/www/html/fdiary>
RewriteEngine On
RewriteBase /fdiary
RewriteRule ^(.*)$ http://hdmr.org/d/$1 [L,R=301]
</Directory>

これで置き換えられて移転通知されます。こうやってURLが変わったわけです。
あとHTTPSでアクセスするとSSLの証明書にあるドメインと違うから危険だよと言われるから、
証明書は作り直した。まぁこれは慣れたもんです。
あとはそんなに変えることはなくてPostfixもドメインだけ変えて、それ以外はそんなに変更点はなかった。
まぁmydestinationにlibserver.ddo.jpを加えるぐらいですかね。
Dovecotに至っては変更点無し。まぁDovecotは自分で使うだけだし。


あとはメール転送・URL転送のテストをしてみたり。
あとせっかく独自ドメインとったんだしいろいろサブドメインを作ってみたいですね。
ということで*にCNAMEを指定してみた。
*.hdmr.org , CNAME , hdmr.org , DDNS無効
これで foo.hdmr.org だろうが bar.hdmr.org だろうが全部Libserverに飛んでくる。
というわけで試しにこういうのを作ってみた。

<VirtualHost *:80>
ServerName hello.hdmr.org:80
DocumentRoot /home/hidemaro/apache2
</VirtualHost>

http://hello.hdmr.orgにアクセスするとかの有名なページが見える。
これApache 2.0のインストール直後のDocumentRootの内容。2.2になってからは”It works!”ですが。
まぁこういうことができるということです。


こんな感じにいろいろできるわけですが、何よりもURLとメールアドレスが短くなったのがうれしい。
これが年945円ならまぁ安いもんですわ。
というわけでよろしくね。

くわしいうざい運賃計算ソフト

JRの乗車券ってなんかしらんけど、大阪市内からとかああいうのあるでしょ。
あれって便利じゃないですか。値段があがらないならあれ欲しいですよね。
というわけでそういうことを計算したかったのですが、なかなかそれに対応しているソフトがない。
そんなマニアックなこといらんからでしょうな。


しかし世の中にはマニアックなソフトもある。
MARS for MS-DOS
MARSというのはJRの乗車券類販売システムの名前ですね。


さて、とりあえず運賃計算してみるか。手始めに新今宮~渋谷を計算しようか。
とりあえず、MARS.EXEを起動する。
発駅と着駅と書いた箱があるが、ここにはローマ字入力で入れるといいと思います。
というわけで shinnimamiya(んはnnとしないとうまくいかないこともあるらしい)と打ってEnterすると新今宮と漢字で入る。
着駅も同様に打てばよい。さて問題は経由なのだ。
右に次路線ショートカットってのがある。これを使えば比較的容易に選べる。Aの路線を選びたければShift+Aである。
するとA:関西と表示されてる。あれ?環状線の駅じゃなかったけ?とまず悩んでしまう。
関西本線(大和路線という名前で見ることが多いけど)は、名古屋~加茂~木津~奈良~天王寺~今宮~JR難波って路線なのだが、
まぁ天王寺~今宮を関西本線だと思って使っている人は少ないだろう。環状線との重複区間ですから。
ここがJRのシステムでどうなってるかはよくわからないけど、違和感を感じる部分は多い。
とりあえず関西を選んで、次の今宮駅で関西本線とされている区間を抜けて晴れて大阪環状線に入るので、大阪環状を選ぶ。
次に新幹線に乗りましょう、そのためには大阪駅から新大阪駅まではJR京都線、正式名称で言うと東海道本線ですから、東海道を選ぶ。
そして新幹線を選ぶ。これで東京駅まで一発ですね。品川駅で降りてもいいんだが、せっかくだし東京駅まで乗りましょう。
東京駅で降りたら普通は中央本線に乗るのではないでしょうか。というわけで探すのですが、中央本線がリストにない。
chuuouと手打ちするもうまく選べない。
これも厄介な事情がありまして、中央本線は東京~神田~御茶ノ水~代々木~新宿~塩尻~金山~名古屋 って路線なんですが、
このうち東京~神田は東北本線、代々木~新宿は山手線、金山~名古屋は東海道本線との重複区間のようです。
このシステムでは中央本線は神田からスタートというわけで、なぜか東北を選ばないといけないようです。
違和感ばかり感じてしまいますね。東北本線にしても上野スタートだろという感じですが。
次に中央と探すが、なんか中央東というのがある。なんか塩尻駅より東を中央東線として登録してあるようです。なぜに。
さて、次に代々木駅で山手線に乗り換えるわけですが、山手1と山手2というのがある。なんじゃこりゃ。
山手線というのは、丸になって閉じてそうなものだが、実際にはその丸の西半分ぐらい、品川駅から田端駅のことを言うらしい。
そしてコンピュータシステムへの登録上はこのうち中央本線との重複区間の代々木~新宿を切り取って登録されてる。
この切れた南側の品川~代々木が山手1、新宿~田端が山手2だそうだ。これはひどい。
全部書いてEnterを押す。すると一部決まらない乗り換え駅を確認してくる。
東海道本線と新幹線の乗り換えできる駅は 新大阪・京都・米原・・・・品川 と山ほどあるので、この中から選べと。新大阪ですね。


苦労して入力した結果ですが、あまりにしょうもないですね。
sを押すと、MARS_OUT.txtに保存される。

[阪]大阪市内 → [区]東京都区内
経 由:東海道
JR線営業キロ: 556.4km
普通片道運賃     :大人 8510円 小児 4250円 学割 6800円
普通往復運賃     :大人 17020円 小児 8500円 学割 13600円
周遊きっぷアプローチ券:大人 6800円 小児 3400円 学割 5950円
周遊(東海道新幹線利用):大人 8080円 小児 4030円 学割 6800円
普通片道乗車券の有効日数は 4日です。

200kmを越えたがために、大阪市内・東京都区内発着になり、こうなると大阪駅までの経路、東京駅からの経路は重複さえしてなければ問題ないですねと。
そして、この間は新幹線乗ったりしてるけど、結局の所は新幹線って平行する在来線と同一視されるから、
東海道本線でいいですねとこのソフトは開き直ってる。
実際の所は会社間の運賃の分配の問題があるから、新幹線経由はちゃんと考慮されてるみたいで切符にも書かれる。
まぁ違うように乗っても構わないのだけどね。
運賃も表示されているね。ここで往復運賃が割引されていないことがわかりますね。
営業キロで600km越えると割り引かれるのですが残念。往復するなら600km越えるように伸ばすといいかもしれません。
そして片道の有効期間は4日ですねというのもわかる。なかなかこれが出てくるソフトはない。


これでいろいろ実験してたのですが、まぁうざいですね。
郡山から姫路とか検索するので一苦労で、
kooriyamaと打つと(関)郡山 と (北)郡山 を選べと言われる。(関)は関西本線の、(北)は東北本線のって意味、
だから(関)郡山ですね。姫路は部分が一致するひめじ別所駅かの選択はでるが些細な問題。
経由は残ってたら下の全消に相当するF3を押せばOK。
関西・大阪環状・東海道と打ってOKかなと思ったら、最後の路線はとか聞いてくる。
あれ?と思うが、神戸駅という駅で山陽本線と変わっているからこれで混乱してしまったようだ。
山陽を選べば問題ない。そして接続駅を聞いてきたりもする。大和路快速は今宮を通過するので今宮ですね。
ここで天王寺を選ぶと京橋経由になってしまう。まぁどちらでも規則により京橋経由で計算されるんだけどね。
すると結果が出てくる。131.3kmもあって100km越えてるけど有効期間は1日です。途中下車できません。
詳しく解析したいときだけ使うことにしよう。いちいちこんなの使ってたら手間がかかってしゃあない。

教科書の行間を埋めるような予習

年賀状を発送してしまってから言うのもなんなんだが、送りたい人が出てきた。
どうしようかなと思ったけど、お返しの年賀状と一緒に新年になってから送ろうかなと思った。
別にそれでも年賀状としては問題ないですけどね。
どうせだから1月1日の消印が押されるように工夫しようか。
それってゆうゆう窓口行くしかないか。そこまですることかはよくわかりませんが。


さて、冬休みの宿題があるので、これを進めて行かないといけないのですが、
回路の科目の宿題があってそれを今日はやってました。
その内容は教科書のここからここまでを予習してまとめてレポートにして提出しろということ。
その範囲というのは伝送線路の話。
同軸ケーブルとかの周波数が高いときの話ですわ。


普段はあまり予習はしなくて、授業を聞いてわからんかったら後で詳しく検討するようにしている。
極端に高速で進む授業はないのでしなくても問題ないですね。
科目によってはシラバスを完全に無視しているので次の授業何をやるかの見当もつかなかったりするので、
するにもしようがないというのはあるわけです。
まぁそれはそうと、教科書を見ながらいろいろ考えていました。


この教科書は途中式はあまり書いていない、というか途中式書いてある教科書なんてあんまりない。
というわけで教科書の行間を埋めるようなことをいろいろ書いて理解してみました。
ただ、所々あれ?ってこともあるわけです。
まぁこういうことは、ようわからんと書いておけばよいと。そういうレポートのようです。
それにしても途中式省きすぎである。
よく授業が終わった後に式変形などをやっていたりするのだが、授業ではこのあたり飛ばしますからね。
そうすると暗記するしかなくなって大変なので、確かにこうなるねとか、ここはこうなのかというのを確認しておくのは意義がある。
そういうものだと思いますよ。


さて、明日に補講として授業が1つあって、今年の授業はおしまいです。
冬休みに突入したらがんばって年内に宿題などを終わらせなければならないんです。
年明けると旅行などでいないことが多いのであまりできることはないかなと。

年賀状を送りに大きな郵便局へ行く

今日とあさっては補講日で、今日は補講がないからお休みです。
というわけで、年賀状作りを行っていた。


印刷して印刷してというのは昨日に終わっていた。
なんか給紙がうまくいかなかったりしたが、最終的には全部印刷できました。
今回は表面にコメントを書く欄を作ったので、いろいろ書いておきました。
そんなことをしていたら午前中に書き終わった。
切手を確認すると十分あるので昼から出しに行こうと思った。


自転車で郵便事業の支店を併設した大きな郵便局に行った。
かつて料金別納郵便は集配郵便局で取り扱うと決まっていたのですが、今はこのあたりあいまい。
ただ、集配郵便局だったところなら大丈夫でしょうということなので毎度ここから出している。
去年も一昨年も時間の都合で休日に出しに来たのでゆうゆう窓口から出していましたが、
今回は平日なので、郵便局の郵便窓口で出しました。郵便局がやっている時間はゆうゆう窓口でやる必要ないし。
ところで、料金別納の表示には差出事業所名(奈良支店 とか 奈良中央局 とか)を書くことになっています。
まぁ差出人の住所さえ書いてあれば省略しても構わないのですが、書いておけば間違いないだろ。
奈良中央郵便局の窓口で出すなら 奈良中央局 と、ゆうゆう窓口で出すならば 奈良支店 と書けばいいわけです。
ただ、これは心配しすぎで、「差出事業所名を表示した事業所に併設する事業所がある場合には、そのままの表示でその併設する事業所に差し出すことができます。」とあるからどっちでもOKです。
だから 奈良支店 と書いて用意しておいた郵便物を奈良中央郵便局の窓口に持って行っても全く問題ないと言うこと。
去年までゆうゆう窓口で出していた反動で今年も ○○支店 という表示にしたが、問題なく送れた。


その後、X01Tの画面保護シールがやたら見にくいので新しいのにかえようと思い電器屋に立ち寄って帰宅したのですが、
よく見ると差し出しの時にもらった領収証書の表記がおかしい。
1通80円で計算されてる。なんかえらいことになってるし。
ただ、支払いの時ははがき29枚だから50円切手が29枚でいいですよねとかいう風にして払ったので別に損はしていない。
だからわざわざ連絡しなかったのだが、向こうから連絡してきた。
料金別納で送るときには住所・氏名・電話番号を書かされるんですが、ここから辿ってきたようです。
家に来て取り替えてくれました。向こうのミスとはいえ申し訳ない気持ちになってしまった。
なんにせよ年賀状は送れたので安心ですね。今日出した分は来年元日に届くはず。