Nginxで自己署名証明書を使う

ドメインを取ったのでそのうちきちんとした証明書を使おうかとは思っていますが
とりあえずしばらくはオレオレ証明書で運用しようと思っています
ということで作成の仕方をメモ

  1. パスフレーズなしの秘密鍵を作成
    色々なサイトを見ていると一度パスフレーズありで作成してから
    パスフレーズを削除したファイルを作りなおすような手順を踏んでいたりしますがこれでよさそう

    # openssl genrsa -out server.key 2048
    Generating RSA private key, 2048 bit long modulus
    ................................................+++
    ........................................+++
    e is 65537 (0x10001)
    
  2. 公開鍵の作成
    HTTPSで暗号化されていればいいだけなので Common Name 以外は適当でいいです
    . を入力した場合そのフィールドは空になるみたいなので全て空にしました

    # openssl req -new -key server.key -out server.csr
    You are about to be asked to enter information that will ...
more ...

MacUIM/Mozcを使う

ターミナルはrxvt-unicodeをビルドして使用しています
これはX11のアプリなのでMacの標準のインプットメソッド経由では日本語を入力することができません
今までほとんど困ることはなくて、必要なときはコピペで対応していました
ただ最近ここをvimで書いていることもあり、MacUIMをインストールして入力できるようにしました

  1. まず上記サイトからダウンロードしてきたアーカイブをインストールします
  2. 次に System Preferences -> Language & Text -> Input SourcesMacUIM (Japanese) のチェックを入れる
  3. System Preferences -> MacUIM を開いて
    1. General -> Input MethodMozc を選択
    2. Helper -> Use Helper-Applet をチェック (メニューバーに状態が表示される)
    3. Uim -> Global settings -> Specify default IM をチェック
    4. Uim -> Global settings -> Default input method で ...
more ...

AquesTalk pico LSIをI2Cで接続する

ArduinoとAquesTalkをI2Cで接続してみました
配線は以下の通り

Pin AquesTalk -> Arduino
1 /RESET RESET
4 SMOD0 GND
5 SMOD1 5V
7 VCC 5V
8 GND GND
20 VCC 5V
22 GND GND
27 SDA A4
28 SCL A5

SMOD0SMOD1 については技術資料の 表9.1 通信モード を参照
I2Cで接続するには SMOD0 = 0SMOD1 = 1 にする必要があります
あとは12番の AOUT をアンプの IN ...

more ...

GitHub Pages関連で調べたこと

  • Adding a CNAME file to your repository
    サブドメインを使用する場合はリポジトリに割り当てたいサブドメインを書いた CNAME ファイルを追加するのと、
    使用しているDNSの設定でサブドメインと hoge.github.io をCNAMEで関連付ける
  • Using submodules with Pages
    gitのsubmoduleを使用する場合、リポジトリのURLは git:// でなく https:// を使用しなければいけない
  • Turning Jekyll off
    デフォルトでJekyllが有効になっているので *.rst なファイルをアップロードすると変換しようとする
    これを無効にするために .nojekyll をリポジトリのルートに作成する
more ...

AquesTalk pico LSIの動作確認

以前購入していたATP3011F1-PU(秋月で850円)の動作確認をしてみました
紹介動画にもありますがArduino UNOに挿してアンプ付きのスピーカと接続、
PCからシリアルモニタで文字を送信するだけで音声を出すことができます
(技術資料 13.4. Arduinoボードを利用した簡易動作 を参照)
通常Arduinoから使う場合はI2C接続で使うことになると思いますが、
I2C接続は後日試すとして今回はこの方法で動作確認をしてみました

まずうちにはアンプ付きのスピーカなんて無いのでそれを用意するところから
せっかくなのでこれも秋月で買ってきて組み立ててみました
といっても個別にパーツを揃えたわけでなく

これらを接続しただけです
今回試した手順を以下にまとめておきます
後半は技術資料に書いてあるものそのままで、どちらかと言うと前半が僕には必要でした

  1. ArduinoのLSIを取り外し、AquesTalkを取り付け
  2. Arduinoの デジタル6番 をアンプの IN+ に接続
  3. Arduinoの GND をアンプの IN- に接続
  4. アンプの +VGND をそれぞれ電池に接続
  5. アンプの SPK ...
more ...

PhantomJSを使ってみた

はじめてPhantomJS使ってみました
仕事で間接的に使ったことはありましたが、
プライベートで使ったのははじめてということでテストも兼ねて記事にしてみます

なにに使ったかというと
ドメインの管理ページのDNSの設定の書き換えの自動化です
このサイトのドメインはスタードメインで管理しているのですが、
ここはDDNSの機能は提供していないんですね
このサイトはCNAMEを固定で設定できればいいので特に必要はないんですが、
サブドメインを使って固定IPアドレスでない自宅のマシンにもアクセスできるようにしたかったのです
ただ手動では面倒なのでできれば何らかの方法で自動的に更新しようと考えました

一般的にはMyDNS等の外部のDDNSの機能を提供しているサービスを使用して
このドメインで使用しているネームサーバをDDNSが提供しているものに変更するみたいです
一応この方法も試して動作することも確認しましたが、
PhantomJSを使って書き換える方法も比較的容易に実現できそうだったのでやってみました

ソースはここに置いてあります
READMEにも書いてありますが実行方法は以下です

phantomjs stardomain-ddns.js "<email address>" "<password>" "<file name of DNS records>"

メールアドレスとパスワードはログインするために必要なもの
あとはDNSの設定が書いてあるファイルのファイル名を指定します
このファイルの中身はスタードメインの管理ページの
レコード一括編集(テキストエリア) のページに表示される形式にしておきます
なので一度手動で設定しておいて、一括編集の画面からコピペしてファイルを作ると簡単です
スクリプトを実行すると現在の設定とファイルの中身が一致しなかった場合更新します

このスクリプトを書くにあたってはまった部分がクリックの操作です
inputタグのボタンをクリックするには以下のようします

funcs.push(function () {
  page ...
more ...

Pelicanはじめました

Bloggerでブログを書いていましたが順次こちらへ移行する予定
このページはGithub PagesPelicanで生成したコンテンツを置いています
pipでpelicanとMarkdownをインストールするだけなので準備は簡単ですね

more ...