C:リングバッファを逆向きに読み出す

リングバッファを逆向きに読みたい時のおぼえがき。

主にログファイル用リングバッファを新しい順に読むときに使うかな・・・

(「index = (rbuf.head + MAX_BUF – i) % MAX_BUF;」が書きたいことの全てですが。)

 

 

広告

Linux:gitリポジトリを一時的にweb公開するscript

gitは “git instaweb” でカレントのリポジトリをweb公開できて、webブラウザからlogやdiffがとれる。

特に複数のbranchを持っている状態のときにあちこちのbranchに移動しつつ参照できて便利だなと思う。

便利だけど、数十人のproject等でサーバマシンを共有している場合にportがかぶるとやだなって思ったので

開いているportを自動で割り当ててinstawebするshell-scriptを書いた。

“webgit.sh start”   で開始して

“webgit.sh stop”  で停止する

(画面はhttp://git-scm.com/からの借り物)

BeagleBoardでnode.js+Cloud9

組み込み機器にnode.jsを入れて、JavaScriptでコードを書けたら面白いんじゃないか

と思ってやってみることにした。(…って、Beagle Boneを買えばいいんですけど。)

旧Beagle Boardでやってみてる先人がいてnode.jsどころかCloud 9までインストールしてる〜

ので、それをお手本にして。

まず、beagleboardとmacbookをUSBシリアルで接続する

→ BeagleBoardとmacbook(Lion)をUSBシリアルで接続する

実はAngstrom+node.js+Cloud9入りのBeagleBoard向けイメージがあったりする

下記URLからimgをダウンロードしてSDに書き込めば出来上がりのお手軽モードで行く

http://downloads.angstrom-distribution.org/demo/beagleboard/

–>  Angstrom-Cloud9-IDE-eglibc-ipk-v2011.11-core-beagleboard-2011.11.21.img.gz

SDカードをmac (この例はMacBookAir::Lionの場合)に差し込んでSDのデバイス名を確認する

$ mount
   :
/dev/disk1s1 on /Volumes/NO NAME (msdos, local, nodev, nosuid, noowners)

※上記例の場合SDカードは/dev/disk1

SDカードをアンマウント(自動mountされていた場合)

$ sudo diskutil umount /dev/disk1s1

gzを解凍してddでSDに書き込み

$ gunzip  Angstrom-Cloud9-IDE-eglibc-ipk-v2011.11-core-beagleboard-2011.11.21.img.gz
$ dd if=Angstrom-Cloud9-IDE-eglibc-ipk-v2011.11-core-beagleboard-2011.11.21.img of=/dev/disk1 bs=8m
$ sync; sync

BeagleBoard にSDを挿して起動

→ シリアルからuser: root   /  pass: なしで Angstromにログイン

BeagleBoardはEtherのポートがないのでUSB-LANアダプターを使う

今回は下記のアダプタを USB Host Port (OTGじゃないほう)に挿してすんなり認識した.

BUFFALO LUA3-U2-ATX

LANからBeagleBoardの80ポートにweb(chrome)で接続してみる

Beagle Bone 101 の初期画面。ここからカーソル操作で説明が進む

Cloud9 IDE がリンクから起動する

また、Gate One なんてのもあってweb上でsshクライアントが起動する

Cloud9 IDEが起動したね〜

では、もう少し環境整備する

LANからsshでBeagleBoardに接続できるので….

$ ssh root@192.168.x.xx

npmが無いのでインストール

# curl http://npmjs.org/install.sh | sh

…まあいいか。

早速、cloud9でコードを書いてLED(usr1)を点滅させてみた

実行したときのconsole出力。非同期実行されてる

1----
2----
none nand-disk [mmc0] heartbeat
none nand-disk mmc0 [heartbeat]

BeagleBoardとmacbook(Lion)をUSBシリアルで接続する

USBシリアル変換ケーブルは秋月のを使った

http://akizukidenshi.com/catalog/g/gM-00720/

そのままMacにつないでも認識しないので、以下のサイトからドライバをdownload してインストール

(要リブート)

http://www.prolific.com.tw/eng/downloads.asp?ID=31

–>  md_PL2303_MacOSX10.6_dmg_v1.4.0.zip

ケーブルをmacに接続して認識していることを(dmesg, /devで)確認する

$ sudo dmesg
    :
PL-2303/X V1.3.0 start, Prolific

$ ls -l /dev/tty.usb*
crw-rw-rw-  1 root     wheel   18,  14  5  6 20:53 /dev/tty.usbserial

ケーブルでbeagleboardとmacを接続してシリアルコンソールを起動

( screenを使う, 終了するにはctrl-A-\ )

$ screen  /dev/tty.usbserial  115200