2016年4月15日金曜日

Zoneeditで自宅サーバー

はじめに

自宅サーバーを独自ドメインで運用するときに直面する問題の一つが、グローバルIPアドレスが一般向けの回線では動的で、不定期に変わってしまうことだ。
停電やメンテナンスなどでモデムやルーターを再起動すると、さっきまでと全く別のアドレスが割り当てられる。
すると、ドメインが指し示す住所であるアドレスが古いものとなり、外からアクセスできなくなってしまう。
BIGLOBEなどのプロバイダによっては固定IPサービスも用意されているが、有料オプションであり、数週間に1回程度変わるものにお金を払うのも割に合わないので、できれば無料でなんとかしたいものだ。

その解決方法として使われているDynamic DNS(DDNS)は、DNSサーバー内に登録されているアドレスを即座に変更できるシステムだ。
ドメインのオーソリティーを持つ(アドレスを管理する)DNSサーバーは、クライアントからの参照に応じてアドレス(Aレコード)を調べ、返答する。
DDNSでは、サーバー側で自身のアドレスを監視し、変更を検知したらDNSサーバーに通知する。
するとサーバーはAレコードを書き換え、クライアントが更新を検知できるように、SOAレコードのSerial値を増加させる。
このようにして動的IPアドレスに対応できるが、DNSサーバー自体のアドレスが変わってしまっては元も子もないので、外部の固定的なサーバーを使うことになる。

独自ドメインにも対応する無料のDDNSサービスは、少数ではあるが存在する。
現在starhythm.comに使っているZoneedit(ZE)はそのようなサービスとして有名だ。
wwwといった任意のホストごとに設定が可能で、必要に応じてメンテナンスページを表示したり他サイトに転送したりできるなど、多くの便利な機能がある。
2011年にeasyDNSに買収されて以降、無料で使えるのは新規ユーザーが3ドメインまで、既存ユーザーが5ドメインまでという制限がある。
以下では、Zoneeditを使ってLinuxサーバーからIPアドレスを更新する方法を紹介する。
なお、独自ドメインはレジストラで取得済みとする。

動作環境

今回説明に用いるサーバーの環境は次の通り。
  • Ubuntu Server 14.04
  • ドメイン:starhythm.com
  • レジストラ:お名前.com(GMO)
  • LAN環境

2016年4月8日金曜日

就職活動の悩み

就活中。
今年は3月解禁で6月に採用。
全く研究に手がつけられずしんどいが、去年よりはだいぶマシなスケジュールだと多くの人が言う。

3月になってから動き始めたため、知識もなく対策が遅れてしまっている。
円滑な受け答えが苦手で、面接で特に自信がない。
それが第一の問題だと思っていたのだが、実際はそれ以前の段階でくじけてしまうことが多いことに、いくつかの会社で諦めて、もしくは断られて気づいた。

エントリーシートでは、回答に悩むばかりで筆はなかなか進まず、期限の直前まで埋まらない。
やっと書いても満足いく内容ではなく、ここにきて作文への取り組み方が問われてしまう。
ESが通らないと話をすると、人に見せる機会を作れとアドバイスをもらう。
まずは稚拙な文章を作る恥ずかしさをこらえ、早めに書き上げてしまうのがいい。

加えて、性格検査でも素直な(=無対策の)ネガティブな回答が結果に影響してしまっている。
その根暗な傾向はこの文章からもにじみ出ているのではないか。
しかしここで落とされては元も子もない。採用を取りにいく姿勢として主体的な人間像を念頭に置く必要がある。
それでも極端にぶれると核心では矛盾してしまうので、バランス感覚とリハーサルが大事。

実はどこも面接まで進んでいないのにもかかわらず、あるベンチャー企業からは内定をもらった。
オンラインのテストを受けただけで決まったという、エントリーシートも面接もないという特殊な採用方法だ。
他ではこのような都合のいい話は期待できないだろう。
本腰を入れて取り組まないと、ただ毎日の説明会に行って終わりになりかねない。
しかし、東京まで行って横浜の実家や仙台まで帰ると疲れが出て作業にならぬ。。。カフェ代も必要経費と考えるか。

2016年3月12日土曜日

投稿テスト

携帯から。
特にこれといって目につく機能はない。
太字斜体が可。
こないだ食べた豚丼の筑波山盛りでも貼っておこう。
(3/19) PCで見たら画像がバカでかかった。サイズを変更。

2015年11月28日土曜日

推敲はしよう

サーバを購入して設定しただけで満足してしまい、稼働させながら長く放置していた。
冬になって暖房をつけたらブレーカーが二度落ちて、そしたら、なんとなぁくDNSを使っていたためにインターネットができなくなり、電源の落ちた我がサーバの存在に気がついた。
ちょうど、研究室のwebスペースに研究メモ用のwikiを置こうとしていて、だけれどもOSが少し古いとかでうまく動かず、自由に使えるサーバが欲しかったところ。
というか、もともと自由に使うために設置したのだった。
そういうわけで、ネットワークとかの設定を見直して、それらのメモもぐちゃぐちゃっとなってたけれど整理して、/bootがいっぱいになってたので古いカーネルを削除して、ようやくクライアントから見えるようになったところで、夜が明けてきたよ。

ところで、後期の生活があまり芳しくない状況だ。
出張が多いときはまだわかるけど、そうでない日も自堕落になって、課題がたまり、書類がたまり、洗濯物がたまり、鬱憤がたまる、と書こうとしたら、不平不満のことをいうらしく、自分のやってることに当てはめる言葉としてはいささか遠い。
実際、目覚ましもろくにかけず、起きたあとになって一日の予定を立てるもんだから、時間を増やそうとする意思がないと言っても、過言ではない。

生きる目的とは。(こうやって、すぐにスケールを広げたくなる。)
生活するのに必要な、諸々のことができていないときに、その目的が薄い、もしくはないからだ、と結論すれば何も考える必要がなくて簡単だ。
しかし、ここまで生きてきたんだからうまく回しているときもあったわけだ。
そこでなにか目標をもっていただろうか?生きる意志などというものを自分の中に感じていただろうか?
たとえば、ちゃんと他の人と同じようにしていれば高い確率で修了も就職もできることになっている。だからちゃんとしようと思えただろうか。
そうではなく、ただ社会がそうしているからそれに従おう、できなければ、なにか全体的に動きにくくなる、という、目の前のものから飛んでくる感覚で考えていて、その先に何が起こるかを、もちろん知らないのだが、想像しようともしていなかった。
つまり、状況の悪いときにしかでてこない目的とかいう未来は、現在を正当化するために、根本的で改善不可能な原因を求めようとする心性の作り出した幻想だったんだよ!ナ、ナンダッテー

しょうもないことを書いていたら7時になりそう。

2015年6月27日土曜日

仙台は遠く

スライド作りが終わらない。
そんなときには、なおさら別のことがしたくなるよね。
たとえばブログとか。

今週の頭から、共同実験の会議のために出張している。
数年後の開始に向けてハードウェア・ソフトウェア・物理の各分野で研究が進められているが、それぞれの現状と計画を議論しメンバーで共有することが目的である。
私は発表せず、聞いたり運営を手伝ったりするだけ。

国際共同なので進行はすべて英語。
来るのはもう3回目だが、少しでも気を抜いたりすると主題も分からなくなる。
スライドで理解を補おうとしても、分からない言葉に囚われてしまうとあっという間に置いていかれる。
いい英語の練習だ。

自分の研究を本格的にスタートさせるために、この機会に共同研究者3人でミーティングをした。
だが他の2人の話のペースにあまりついていけなかった。
質問してもかなり基礎的な説明を求めてしまうし、一番問題なのは、勉強してきたはずのことをどれくらい分かっているかが説明できないことだった。
別に外国人の研究者と話す機会もあったのだが、そこでもこのことが妨げになり、困らせてしまった。
日本語ですらうまくいっていないのに、英語で説明できるはずもない。

5日目にもなると大体何を話しているかくらいは掴めてくる。
ただ、英語の上達よりは、そこで使う同じ単語を聞いていることが大きく寄与していると思うのだが。

会議は5日間で終わり、土日の2日間は学生の勉強会がある。
日曜には僕も研究発表することになっている。
こないだのポスターを転用するので、そのときほどの負担ではない。
しかし、自分で書いたことに自信が持てず、うだうだやっていたら前々日の夜になってしまった。

明日は1日、別の学生の発表を聞くのだが、起きていられるだろうか・・・

2015年6月14日日曜日

びわこ

高エネルギー春の学校という、高エネルギー実験に関わる大学院生や教員が集う勉強会があった。場所は琵琶湖がすぐそこの研修施設で、ここに2泊しながら講義と研究発表を聞いていた。僕自身も2日目にポスター1枚で研究紹介をした。

1ヶ月前の時点では、物理的モチベーションすら十分に理解できてなくて、とても発表できるレベルじゃなかった。同じ立場の多数の学生に見られるというプレッシャーが、僕を強く焦らせた。

とりあえず今までに飛び飛びでしか目を通していなかった論文を読み直した。参考文献のアブストで意味が満足にわからなければ本文も初めから読むなど、さらに丁寧に読んだ。複数の論文で共通する部分があれば、特に丁寧に理解しようとした。

それでも自信がないときは、恥を忍んで先輩や先生に質問した。やっぱり忙しそうな雰囲気を感じながらも、自分のことを最優先させてもらった。その場で迷惑を避けているようでいて、結局大迷惑をかけたのが卒業発表だったから。

以前は、論文などで使えそうな情報を見たとき、ルーズリーフを使ってメモを取ったり、Evernoteの別々のメモとして保存したりしていて、あちこちに知識を散在させていた。そうすると、1つの事実を見たときに、それが既知であるかどうかを考えたりその根拠を辿ったりすることに割く労力が大きく、論文を読む効率がかなり悪かった。

そこで、あとから参照する地点を明確・コンパクトにすることにした。短い情報は1つのノートにまとめ、ばらばらにあった複数枚のノートには番号をつけて、インデックスを作った。例えば、以前に読んだ論文の要旨を確認したいときは、インデックスを見てその番号のノートを取り出せばいい・・・書いてみると当たり前だ。

そんなことをしてはきたが、ポスターは結局、作成に取り組み始めたのが3日前、先生に内容を確認してもらったのが出発の前日、印刷したのが数時間前と、かなりバタバタとした格好になってしまった。別のレポートもその日に書いて出したし、電車も駆け込み状態だった。

形にこだわりすぎるのが僕の悪い癖で、上のインデックスやポスター作りなどの方法を長時間考えてしまって、内容と向き合う時間が短い。あとは他の用事を際限なく入れたり、帰る時間も決めずにダラダラしたり。現実逃避してるんだろうなあ。

2015年1月13日火曜日

Macでロケール環境変数を設定しようとした話

せっかくUbuntuサーバに日本語パッケージを入れたんだから、Ubuntu本体のシェルでは日本語入力できなくても、Macからsshで繋いで使えればいいだろうと思っていた。
Apple Terminalではクライアント側にシェルがあるので、Macの日本語入力メソッドがそのまま使える。
ちなみに、X11環境もあるのでxtermなどでも日本語を入力したかったのだが、サーバ側に日本語入力メソッドを導入しようと数日のあいだ奮闘して、挫折した。
とりあえずTerminalだけで我慢することにしたが、入力とは別に、一つ気になる点があった。
それはログイン時の言語設定だ。

Ubuntuでは、LANG=ja_JP.UTF-8とすると、dateコマンドやvimなど各ソフトウェアの表示が日本語になる、ことがある。
サーバ本体では日本語が文字化けしてしまうので、.bashrcにもLANG環境変数を特に設定せず、クライアント側で調整することにした。
(実は、シェル情報で条件分岐することにより、別のマシンだけ日本語にすることができるのだが、クライアントの言語環境を無視するのが気に食わず、グローバル化にこだわっている。)