Mongo から入手したISODate形式のデータを Date に変換

Mongoで日付を登録すると、ISODate形式で保存され、
タイムゾーン協定世界時UTC)でデータが作成される。
このISODate形式のデータを取り出し、自由に加工するために、Date形式に変換する。

item.dateは、Mongoから取り出した ISODate形式の生データ。
それを、Dateに入れるだけで、Date形式で使用できる。

var time = Date(item.date);

beagleboneblackでHDMIのポートをGPIOに変更する

以下は、microSDを接続しない場合

ブートのパーティションをマウントする

# mkdir /mnt/mmcboot
# mount /dev/mmcblk0p1 /mnt/mmcboot

microSDで起動した場合のマウントは、/dev/mmcblk1p1となるので注意

uEnv.txtを変更する

# cd /mnt/mmcboot
# nano uEnv.txt

uEnv.txtは、以下のように変更するだけ

optargs=quiet drm.debug=7 capemgr.disable_portno=BB-BONELT-HDMI,BB-BONELT-HDMIN

再起動してください。

再起動後のチェック方法

# cat /sys/devices/bone_capemgr.*/slots
...
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
6: ff:P-O-- Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN

上記のように5,6に「L」が入っていなければ、起動時からHDMIはGPIOとして使えます。

一応、コントロールレジスタのビットをチェック

P8_27ピン(0x8e0)をチェック
# grep 8e0 /sys/kernel/debug/pinctrl/44e10800.pinmux/pins
pin 56 (44e108e0) 00000027 pinctrl-single

後ろの3ビットがモードを表すので、モードは7(GPIO)であることが分かる。

さて、あとは、overlayをいじって、GPIOをたくさん使うかなぁ。


BeagleBoneBlackで遊ぼう!

raspberry pi で LED と SW

raspberrypiを使用してLEDの点灯とSWの入力プログラム
Interface の 2013年9月号 第6章 参照

https://bitbucket.org/dimros/raspberry_led_sw

実行時には、以下のコマンドで実行できる。
$ sudo node testwebsocket.js

ブラウザでのアクセス先
http://raspberrypiのアドレス:1337/testwebsocket.html

一応、スイッチのON/OFFでコメントを変更している。

File API で作成したファイルをダウンロード

ファイルをBlobで作成し、
ダウンロードという形であれば
簡単に実装できるため、作成してみた。

<html>
  <head>
    <script type="text/javascript">
    function Download() {
        var text = document.getElementById("text").value;
        var blob = new Blob([text]);
        if (window.navigator.msSaveBlob) {
            window.navigator.msSaveBlob(blob, 'BlobFile.txt');
        } else {
            var url = window.URL.createObjectURL(blob);
            document.getElementById('download').href = url;
        }
    }
    </script>
  </head>
  <body>
    <textarea id="text" placeholder="文字を入力してください。"></textarea>
    <a download='BlobFile.txt' href='#' id='download' onclick="Download()">ダウンロード</a>

</body>
</html>

参考:File API で作成した Blob をダウンロードする

ここのがよいかもダウンロードテスト - jsdo.it - Share JavaScript, HTML5 and CSS

「file://〜」プロトコルが使えない

原因はWindowsUpdateの「MS11-057 KB2559049」

共有サーバにリンクを貼っていたが、ある時から「file://〜」に
アクセスができなくなっていた。

今日、時間があいたので
色々探っていると
WindowsUpdateの「MS11-057 KB2559049」
が元凶であることが分かった。

回避方法

 1. [ツール] - [インターネットオプション]
 2. [セキュリティ] タブの [信頼済みサイト] →[サイト] ボタンをクリック
 3. [信頼済みサイト] 画面にて、 [この Web サイトをゾーンに追加する (D) ] に、
   WEBサーバを入力し [追加] ボタンをクリック。
 4. [閉じる] - [適用] - [OK]

emacs勉強中にmigemoでつまずく

emacsを勉強中に
migemoを動かしたところ、

「require」で読めませんとのエラーが・・・
なぜだろうと思い、

/usr/bin/migemo

を開いてみると・・・

#/usr/bin/ruby
・・・
require "migemo"
・・・

migemoをrequireできないのかと
ためしに、コマンドプロンプトで実行すると
エラーとなった。
ruby -e 'require "migemo"' -> エラー
じゃぁ・・・
ruby1.8 -e 'require "migemo"' -> OK
ありゃ。
ということで、ruby1.8でなら動くようだ。

ruby1.9で動くようにしてもいいけど、
時間がかかりそうだったので、
以下の対処をして終了!

/usr/bin/migemoファイルに
#!/usr/bin/ruby1.8   <-ruby1.8に変更
・・・

これにて解決!