asciiflowで説明図をかく

この記事はSRA Advent Calendar 2016の5日目の記事です。

最近は開発Projectの情報共有のためにオンプレで建てたRedmineやGitLabやconfluence等のチームコラボレーション機能を活用することが増えてきました。(ちょっと前まで、この用途ではファイル共有サーバに置かれたxlsやdocやpptが猛威を奮っていましたが)

記事を書いていて説明に図が欲しいときにどうするかというと、、、

(1)excelやastahで書いた図をbitmapとしてキャプチャして記事中に挿入してみる

af_excel.png

↑こんな図を挿入する。見た目は満足だけど、図中の文字列で検索できないのが悩み。

(2)asciiアートで図をかく

↑書くのが辛い。それよりも一旦書いた図を編集するときがもっと辛い。もうひと押し。

(3)asciiアートの入力&編集ツールを使ってかく

→asciiflowというツールが有る。JavaScriptで書かれていてdownloadしておけばオフラインでも利用可能なので企業内向き。

ここから→ https://github.com/farss/asciiflow2 (オリジナルからのFork。マルチbyteコードが扱える)

zipファイルをダウンロードして任意の場所に解凍後、index.htmlをWebブラウザで開けば起動

af_input.png

上に並んだアイコンを使って入力&編集

af_clip.png

右上の上矢印アイコン押下でasciiアート出力。これをコピーして記事へペーストすればよい
(下矢印はasciiアート取り込み。出力と逆に記事の図をコピーしてきてペースト)

等幅フォントを使えるサービス/手元の環境(ブラウザ等)でないと残念な表示になりますが。

                                +------+    +--------------+
+---------------------+         |      <----+メインループ.c|
| コンポーネント      |         |make  |    +--------------+
|  +---------------+  |         |      |
|  |メインループ.so<------------+      |     文字入力
|  +---------------+  |         |      |     X
|  +---------------+  |         |      |     Y
|  |モジュール.so  <------------+      |     Z
|  +---------------+  |         |      |
+---------------------+         +------+
広告

OpenDNS – FamilyShield

子供向けにMacBookなど渡してあるのだけど、デバイスの管理者権限は渡してあるし、NetWork上の情報やサービスにもなるべく制限かけないようにしてる。
とは言え今は小学生なので不意にxxxサイトへアクセスしてしまっては気の毒。
ということで最低限のマナーとしてコンテンツフィルタはこっそりかけさせてもらっています。

スジが良さそうなのは「OpenDNS FamilyShield」でデバイスのDNS変更しておくだけなのでお手軽。これに気づいて外せるスキルが付くのはいつ頃かな。
DNS1 : 208.67.222.123
DNS2 : 208.67.220.123

OpenDNS familyshield
https://www.opendns.com/setupguide/?url=familyshield

iOS7のiSSHでlocalhostにログインする(port no 変更)

iSSHでlocalhost:port 22にloginしようとするが、「 operation not permitted 」で蹴られる。

http://hitoriblog.com/?p=21474

ssh のportNoを変更して回避
——–
1. /etc/services のportNo修正(22 → xxxx)
2. /etc/ssh/sshd_config のportNo修正(22 → xxxx)
3. 以下のようにsshdを restartする
launchctl  unload  /Library/LaunchDaemons/com.openssh.sshd.plist
launchctl  load  /Library/LaunchDaemons/com.openssh.sshd.plist

4. iSSH から Host=127.0.0.1  Port=xxxx を設定して接続してみる→OK。繋がった

——–

iSSHはESC( Ctrl-[ )が効くのがいいね(vi的に)
以上

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

android:開発環境ubuntu10.10で実機デバッグ

android開発ハンズオン( http://atnd.org/events/11259 )向けに、埃をかぶっていたOLDマシン(LetsNote CF-W2)にubuntu10.10を入れてLinux版の開発環境を構築してみたわけですが、アプリ実行はエミュレータでは無理がある感じでした(スペック(1G/512M)的に。・・・なんだかんだ40分以上経過してもエミュレータが起動ロゴのままではハンズオン終わってしまう.)

実機(HT-03A)使うしかないか

【すでにいろいろなところでかかれているけど、自分メモ】

1)HT03AとubuntuをUSBケーブルで接続してHT03Aの設定画面(設定->アプリケーション->開発)でUSBデバッグをON

2)ubuntuでadb devicesしても認識されてないエラーが出る

$ adb devices
List of devices attached
????????????    no permissions

3)lsusbでベンダコードを確認

$ lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 006: ID 0bb4:0c02 High Tech Computer Corp. Dream / ADP1 / G1 Phone (Debug)

※ 上記に出ている0bb4がベンダID(ここではHTCのベンダID)

4)ubuntuのudev設定にデバイスを追加

$ sudo vi  /etc/udev/rules.d/51-android.rules

SUBSYSTEM==”usb”, SYSFS{idVendor}==”0bb4”, MODE=”0666″

5)adbを再起動(※再起動はroot権限で行う)

rootだとパスが通ってなかったりするのでadbの場所を調べて…sudoで

$ which adb
/usr/sdk/platform-tools/adb

$ sudo  /usr/sdk/platform-tools/adb  kill-server
$ sudo  /usr/sdk/platform-tools/adb  start-server

* daemon not running. starting it now on port 5037 *
* daemon started successfully *

6)確認

$ adb devices
List of devices attached
HT96XXXXXXX    device

OK.つながってる. 後はadb shell なり、 Eclipseからのddmsなりと