DDoSを食らって困る

前のblogを書いて投稿しようとこのsiteにアクセスしたら繋がりません.moshでも繋がらなくてserial経由だと繋がるけどサーバから外に出られません.
まさか料金支払い失敗して止められたとか?と思ってメールを確認するとこんなメールが.

お客様ご利用の以下IPアドレスに対して、外部からDoSアタックを受けている状態
を検知いたしました。
 
  IPアドレス    :nnn.nnn.nnn.nnn
 
この影響により、他のお客様のサービスが正常にご利用できない状態となる恐れ
がございましたため、上記のIPアドレス通信を遮断いたしました。
 
  DoSアタック検知時刻  :2016年02月24日 04時36分04秒
  通信遮断時刻         :2016年02月24日 04時36分10秒
 
現在は 49.212.8.40 に対しての通信の疎通性が取れない状態となっております。
 
通信遮断処理の解除につきましては、弊社にてDoSアタックの収束を確認後に実施
いたします。設定の解除後に再度メールにてご報告差し上げます。
 
緊急の措置でございましたため、事後のご報告となりましたこと深くお詫び
申し上げます。

メールのタイムスタンプは04:38:16.
デイリーバックアップは取れて手元のサーバにあるので別サーバで立てなおそうかとも思ったのですが,名前でDoSをかけてるなら一緒かと思い待つことに.

そして解除.

お客様ご利用の以下IPアドレスに対して発生したDoSアタックにつきまして、攻撃
が収束したことを確認いたしましたため、攻撃対象であるお客様IPアドレスの通信
遮断処理を解除いたしました。
 
  IPアドレス    :nnn.nnn.nnn.nnn
 
  DoSアタック検知時刻   :2016年02月24日 04時36分04秒
  通信遮断処理解除時刻  :2016年02月24日 08時46分18秒
 
この度の対応では、DoSアタックの影響により他のお客様サービスにも正常に通信
ができない状態となる恐れがあったため、緊急の措置として実施させていただきま
した。
 
なお、再度DoSアタックが発生し、他のお客様サービスにも影響が及ぶ恐れがある
場合につきましては、改めて同様の対応を行わせていただく場合がございます。
 
誠に恐れ入りますが、何卒ご理解を賜りますようお願い申し上げます。

メールのタイムスタンプは08:47:26.
4時間と少しのダウンでした.

このsiteはこのアクセスの殆ど無い技術blogくらいしかコンテンツ無いのでDoS食らう心当たりがありません.
もう来ないことを祈りましょう…….

ひょうたん書店閉店

※この「沢山の写真」は以下のページにまとめられている.

来週は鹿児島に行くのでひょうたん書店でバニー坂とかを買おうとか4月辺りのオフ会でレンタルスペースを借りてみようとか思っていたところでした.閉店の昨日も行きたかったのですがちょうど家人が家を空けていて家を離れられなかったのですorz

ひょうたん書店には鹿児島市在住の20年ほど前に出会いました.当時は1階が普通の品揃えで2階がコミックやラノベ専門な感じでした.一時期は毎日のように通ってました.アルバイトを始めると閉店に間に合わなくて毎日は無理になりましたがそれでも週に何度か通ったものでした.
その後関東に引っ越しましたが,関東にいても深夜アニメのスポンサーの件なんかでたまに噂を聞いたり,帰省の際にはなるべく寄って帰省時に読む本を買ったりおさんぽ大王で天文館店の存在を知って行ってみたりしていました.
#国分店には行けずじまいだったのが心残り.

一般コミックやラノベについては天文館の丸善(ここはここで頑張っている.担当者がコミックに力を入れているのがわかる.ジュンク堂との合併で専門書などは全部ジュンク堂扱いになったけどコミックだけは増床している)でどうにかなりそうですが,それ以外の本やゲームなどは鹿児島では入手できなくなりそうです.これはかなり辛いものがあります.通販があるじゃないかという声もありそうですが,やはり手にとって見比べられる,セレクトされているというのは大きいです.
#アニメイト鹿児島店は自分の買う物はあまり置いてない…….

通販業務は続けられるそうです.こちらが伸びればまた店舗再開ということもあるのかな?

ひょうたん書店の通信販売は利用したことがないのですが,楽天とYahoo!を利用しているようです.品揃えは新刊のセットのみのよう.続き物は買いづらいですね.薄利だし送料無料が一般的になっているのでこういう形態でないと利益が出ないんでしょうね.個人的には送料が掛ってもいいので新刊も扱って欲しいですが…….
新刊セットが欲しい時はなるべく利用していこうと思います.

<追記>Amazonも見つけました.送料はかかるけどセット以外もあるみたい</追記>


第46話「おさんぽ大王warp!」(第4巻)にひょうたん書店でのサイン会の様子が載っている.

文庫版では3巻に掲載.

来週これとか買おうと思っていた…….最後の買い物はコミケカタログでした.


So-net 0SIM が販売開始

以前書いたこの記事ですが,
デジモノステーション2016年2月号付録の0SIMをRaspberry Piで試す | matoken’s meme
付録ではなく通常販売開始されたようです.

デジモノステーションの付録との違いはプランが多いことと事務手数料が必要なかった(雑誌台は必要)のと早く試せた位?
プラン変更が可能なのかは見当たりませんでした.最低利用期間はないので解約して新規契約になるのかな?

もし沢山契約できたら IoT 的にも使えるなぁと思ってましたが,

※SIMカードはお一人様一枚までとなります。
※1:コラボSIMを含みます。

と流石にそういうことは出来ないよう.

個人とかで数カ所なら 0SIM に加え500円くらいのサービスをそれぞれ契約して使う感じですかね.

  • FREETEL の「使った分だけ安心プラン データ専用」の 299円/月〜
  • DMM mobile の「データSIMプラン ライト」の440円/月(固定料金低速200kbps)
  • ServersMan SIM の「ServersMan SIM LTE」の 467円/月(固定料金低速250kbps)

IoT だとコストは増える感じがするけど沢山契約できて管理機能も充実したソラコム辺りになるんですかね.

この分野は日本だと今のところここだけだと思うので
alternative が現れて欲しいところ.

コンビニ複合機印刷メモ

これまでコンビニの複合機での印刷はUSBメモリやスマホをUSBで繋いで出力していました.でもUSBメモリに前もってデータを移すのは面倒だったりスマホはうまく認識したりしなかったり設定を買えないといけなかったりでちょっと面倒でした.
最近は Wi-Fi に対応した複合機が増えた(近所も最近置き換わった)のでAndroidアプリをいくつか試してみました.

シャープの端末で利用できます.設置場所はサークルK,サンクス,ファミリーマート,ローソンです.アプリ内の「店舗を探す」から店舗の検索が可能です.
出力できるのは JPEG, PNG, PDF
コンビニで複合機を操作してスマホから Wi-Fi 経由でデータを転送してプリントします.ownCloud や Dropbox などのデータを印刷する場合は前もって端末にダウンロードしておく必要があります.

[Phone] ))) Wi-Fi ((( [複合機]

これもシャープの端末用です.PrintSmashPrintSmash と違いネットワークプリントのサーバにデータをアップロードして複合機でユーザIDを入力してデータを出力するものです.出力可能フォーマットは少し多くて,Microsoft Word 2007/2010,Microsoft Excel 2007/2010,Microsoft PowerPoint 2007/2010,PDF Ver.1.3/1.4/1.5/1.6/1.7,JPEG,PNG と MS Office が入っています.
利用にはアカウントの登録が必要です.
個人的には店頭で出力する時にタッチパネルでユーザID(英数で10文字)を入力するのが面倒 & MS Office をあまり使わないのでこのアプリはあまりつかっていません.

[Phone] ))) Network ((( [ネットワークプリントサーバ] —- [複合機]

Xerox の端末用です.設置場所はセブンイレブン.
コンビニで複合機を操作してスマホから Wi-Fi 経由でデータを転送してプリントします.ownCloud や Dropbox などのデータを印刷する場合は前もって端末にダウンロードしておく必要があります.アプリ内で印刷データを前もって登録しておくことができるので端末前でのスマホ操作を減らすことが出来ます.
出力対応フォーマットは Microsoft Office2007/2010/2013,PDF1.3-1.7,XPS,DocuWorks3.0以降,マルチページTIFF,JPEG,PNG,TXT,HTML と一番多いです.
更にスキャンサービスにも対応しています.端末でスキャンしたデータをスマホに取り込めるようです(スキャンサービスは未検証)

[Phone] ))) Wi-Fi ((( [複合機]

どんどん便利になっていきますね.ちょっとしたプリントや,同人誌のコピー誌なんかも :)
でも不安なのでUSBメモリにもデータを入れていくかネット上での登録もしています.最近バッテリが死にかけているようで70%以上から急に0%になって電源切れたりとかするので…….

JOSMにJava8を使うように言われたのでJavaを変更する

JOSM を起動するとスプラッシュ画面に次のようなメッセージが><

JOSM – Java OpenStreetMap エディタ

このバージョンのJavaはもうすぐサポート対象から外れます。 Java 8以上にアップグレードしてください!

現在利用している Java は Debian stretch のパッケージで導入した Oracle Java 7 です.OpenJDK 7 でも同じメッセージが表示されます.
ディストリビューションがサポートしている間は脆弱性とかは修正されるだろうけど JOSM 側でサポート打ち切る可能性もあるので Java 8 を使えないか確認してみます.

% where java
/usr/bin/java
% /usr/bin/java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
% dpkg -l oracle-java7-jdk|grep ^ii
ii  oracle-java7-jdk 7u25         amd64        Java(TM) JDK, Standard Edition, Oracle(TM)

Oracle Java は未だパッケージにないけど OpenJDK 8 は存在するよう.

% apt-cache search oracle-java
oracle-java7-jdk - Java(TM) JDK, Standard Edition, Oracle(TM)
% apt-cache search openjdk-8  
openjdk-8-jre-jamvm - Alternative JVM for OpenJDK, using JamVM
openjdk-8-dbg - OpenJDK ベースの Java ランタイム (デバッグシンボル)
openjdk-8-demo - OpenJDK ベースの Java ランタイム (デモおよびサンプルファイル)
openjdk-8-doc - OpenJDK 開発キット (JDK) ドキュメント
openjdk-8-jdk - OpenJDK 開発キット (JDK)
openjdk-8-jre - OpenJDK Java ランタイム - Hotspot JITopenjdk-8-jre-headless - OpenJDK Java ランタイム - Hotspot JIT(ヘッドレス)
openjdk-8-jre-zero - Zero/Shark を用いた OpenJDK 用の代替 JVM
openjdk-8-source - OpenJDK 開発キット (JDK) ソースファイル

OpenJDK 8 を導入してこのシステムの規定値に設定します.

% sudo apt install openjdk-8-jre
% sudo update-alternatives --config java
alternative java (/usr/bin/java を提供) には 4 個の選択肢があります。

  選択肢    パス                                          優先度  状態
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      自動モード
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      手動モード
  2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      手動モード
  3            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1069      手動モード
* 4            /usr/lib/jvm/jdk-7-oracle-x64/jre/bin/java       317       手動モード

Press <enter> to keep the current choice[*], or type selection number: 3
update-alternatives: /usr/bin/java (java) を提供するためにマニュアルモードで /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java を使います
% where java
/usr/bin/java
% /usr/bin/java -version
openjdk version "1.8.0_72-internal"
OpenJDK Runtime Environment (build 1.8.0_72-internal-b05)
OpenJDK 64-Bit Server VM (build 25.72-b05, mixed mode)
% /usr/bin/java -jar ~/bin/josm-latest.jar

無事起動して,警告メッセージは表示されなくなりました :)

https://www.flickr.com/photos/119142834@N05/23418744202/in/dateposted-public/

もし,他の Java アプリケーションが OpenJDK 8 を嫌がる場合はそちらを優先して JOSM は以下のようにして起動するようにしてもいいかもしれません.

% /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -jar ~/bin/josm-latest.jar

Rasbian の rc_gui の日本語訳をしてみる

https://www.flickr.com/photos/119142834@N05/22961495820/in/dateposted-public/
https://www.flickr.com/photos/119142834@N05/23257335535/in/dateposted-public/
https://www.flickr.com/photos/119142834@N05/23231207776/in/dateposted-public/
https://www.flickr.com/photos/119142834@N05/22630222323/in/dateposted-public/

Raspberry Pi の OS の一つの Rasbian に jessie から Raspberry Pi 設定ツールの GUI 版が登場しました.パッケージ名は rc-gui で,実行ファイルは /usr/bin/rc_gui です.
( ちょうど先日の鹿児島Linux 勉強会向けに作ったスライドに説明が少しあるので興味のある方はどうぞ.-> 勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る )

Raspberry Pi 固有の設定を行うのにほぼ必須のツールなので日本語化されると嬉しい人が多そうな気がしたので翻訳して本家?に投げてみました.(文章量少なかったし)すると取り込まれたようなので記録を残しておきます.

翻訳の手順は,@okano_tさんの以下の文章などが解りやすいと思います.今回は主に poEdit 上で翻訳を行いました.

動作確認が楽なので作業は Rasbian jessie 上で行いました.翻訳に必要なパッケージを導入し,source を入手,poEdit で翻訳して動作確認,GitHub に push して pull request を投げるという感じです.

  • パッケージの導入
$ sudo apt update && sudo apt upgrade
$ sudo apt install gettext git
  • source の入手
$ git clone https://github.com/raspberrypi/rc_gui.git
  • poEdit で翻訳
    poEdit を開き,「翻訳プロジェクトを新規作成する」から clone した中の rc_gyui/po/en_GB.po を開きます.翻訳の言語に「日本語 (日本)」を選び翻訳していきます.
    保存を行うと ja_JP.po として保存され,同時に ja_JP.mo が作成されます.

  • 動作確認
    ja_JP.mo をシステムにコピーして rc_gui を実行して動作確認します.

$ sudo cp ja_JP.mo /usr/share/locale/ja/LC_MESSAGES/rc_gui.mo
$ LANG=ja_JP.UTF8 rc_gui

一通り訳したら GitHub で pull request を投げました.

とりあえず試してみる1

リリースサイクルなどがわからないのでいつこの翻訳が取り込まれるかわからないのですが,以下のような手順で翻訳を反映させることが可能です.
必要なパッケージの導入,po ファイルを mo ファイルに変換,システムに反映.

$ sudo apt install gettext git
$ git clone --depth 1 https://github.com/raspberrypi/rc_gui.git
$ cd rc_gui/po
$ msgfmt ja_JP.po -o ja_JP.mo
$ sudo cp ja_JP.mo /usr/share/locale/ja/LC_MESSAGES/rc_gui.mo

とりあえず試してみる2

以下に今の時点での ja_JP.mo を GitHub に置いたのでとりあえず以下のような感じで試せると思います.(こちらは更新するつもりはないのでどんどん古くなるはずです)

$ sudo sh -c 'wget https://raw.githubusercontent.com/matoken/matoken.github.com/master/blog/20151124-rc_gui-translation/ja_JP.mo -O /usr/share/locale/ja/LC_MESSAGES/rc_gui.mo'

追記)
パッケージ情報を確認すると,違うURL が出てきました.もしかしたら違うところで作業をしてしまった?

$ apt show rc-gui|grep Homepage
 
Homepage: https://github.com/RPi-Distro/rc_gui

複数パーティーション情報を含むディスクイメージの作成からフォーマット,マウントまでのメモ

SD card などの実デバイスで作成して dd で書き出すという方法もありますが遅いし面倒なのでちょっと調べてみました.
以下は debian-jessie-raspberrypi.img というイメージファイルを 500MB の容量で作成し,fat と ext4 の2つのファイルシステムを作ってマウントするまでのメモです.

イメージの作成

% ionice -c 2 -n 0 dd if=/dev/zero of=./debian-jessie-raspberrypi.img bs=1M count=500

パーテションの作成(ここでは1つ目のプライマリパーティションに32Mのfat領域を,2つ目のプライマリパーティションに残り全ての容量でlinux領域を作成)

% /sbin/fdisk  ./debian-jessie-raspberrypi.img
 
Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
 
 
Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-1023999, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-1023999, default 1023999): +32M
 
Created a new partition 1 of type 'Linux' and of size 32 MiB.
 
Command (m for help): t
Selected partition 1
Partition type (type L to list all types): e
Changed type of partition 'Linux' to 'W95 FAT16 (LBA)'.
 
Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2):
First sector (67584-1023999, default 67584):
Last sector, +sectors or +size{K,M,G,T,P} (67584-1023999, default 1023999):
 
Created a new partition 2 of type 'Linux' and of size 467 MiB.
 
Command (m for help): p
Disk ./debian-jessie-raspberrypi.img: 500 MiB, 524288000 bytes, 1024000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
 
Device                           Boot Start     End Sectors  Size Id Type
./debian-jessie-raspberrypi.img1       2048   67583   65536   32M  e W95 FAT16 (LBA)
./debian-jessie-raspberrypi.img2      67584 1023999  956416  467M 83 Linux
 
Command (m for help): w
The partition table has been altered.
Syncing disks.
 

現在利用している loop デバイスを確認

% /sbin/losetup
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         1  1 /home/mk/Downloads/db410c_sd_install_ubuntu.img
/dev/loop1         0      0         0  1 /ubuntu/rootfs_1.img
/dev/loop2         0      0         0  1 /ubuntu/rootfs_2.img

オフセットを指定して loop デバイスに接続(上で確認したデバイスを避ける,オフセットはfdisk で確認できる開始セクタ /sbin/fdisk -l -u ./debian-jessie-raspberrypi.img で確認できる )

% sudo losetup -o2048 /dev/loop4 ./debian-jessie-raspberrypi.img
% sudo losetup -o67584 /dev/loop5 ./debian-jessie-raspberrypi.img

フォーマット

% sudo mkfs.fat /dev/loop4
mkfs.fat 3.0.28 (2015-05-16)
Loop device does not match a floppy size, using default hd params
% sudo mkfs.ext4 /dev/loop5
mke2fs 1.42.13 (17-May-2015)
Discarding device blocks: done
Creating filesystem with 511932 1k blocks and 128016 inodes
Filesystem UUID: b4d1c469-c057-4839-b412-86486f586d9b
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
 
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
 

マウント

% sudo mount /dev/loop4 ./mnt/boot
% sudo mount /dev/loop5 ./mnt/rootfs
% mount |grep /dev/loop
/dev/loop4 on /var/tmp/debian_pi/mnt/boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=utf8,shortname=mixed,errors=remount-ro)
/dev/loop5 on /var/tmp/debian_pi/mnt/rootfs type ext4 (rw,relatime,data=ordered)

アンマウントと loop デバイスの切断

% sudo umount /dev/loop4 /dev/loop5
% sudo losetup -d /dev/loop4 /dev/loop5

Dragonboard 410c の購入メモ

<追記>
20151125にchip1stopからメールが届きました.出荷予定日が11/30から12/14になったそうです.それと EIAJ-3 で 24W な Dragonboard 410c に適合するACアダプタと,2.1mm から EIAJ-3 への変換プラグの取り扱いも始めたそうです.
TW-12020U TWシリーズ アイコー電子 アイコ― あいこー | パワーサプライ | ACアダプタ | AIKOH ELECTRONICS – チップワンストップ 電子部品半導体通販サイト
SSCI-025461 Speed United Electronics | パワーサプライ | 電源用アクセサリ | Speed United Electronics – チップワンストップ 電子部品半導体通販サイト
出荷が伸びたのは悲しいですが,ACアダプタと変換プラグは安いし良いのではないでしょうか.案内メールには注文後一括配送設定をすれば送料は掛からないとなっていますがうまく行きませんでした.これは問い合わせてみています…….(一括配送設定ボタンが出てこない) -> 注文時の条件で出ないことがあるようです.問い合わせして一括配送設定をしてもらえました :)
</追記>

DragonBoard-UpdatedImages-side
Dragonboard 410c という Snapdragon 410 開発ボードがあります.96Boards というマルチベンダーの ARM32/64 の開発ボードのシリーズの一つで Android/Ubuntu vivid ベースのOS やWindows 10 IoT Core に対応していて Wi-Fi/Bluetooth/GPS などが乗っているボードです.Raspberry Pi の倍くらいの値段だけどパワーはあるし,Wi-Fi/Bluetooth/GPS を後でのせることを考えると安いしちょっと欲しいなーと思っていたのですが,無線機器が付いているので日本国内で利用するにはいわゆる技適の問題があって面倒でした.このボードが国内でも技適取得済みで販売されることになりました.

16日に購入できるようになってその時300台ほどでしたが今日みても200台近く.ということは100台位しか捌けていない?
ということで Dragonboard 410c を買うのにちょっと調べたメモを残しておきます.

Raspberry Pi との大雑把な比較

Rasbperry Pi B+Raspberry Pi 2BDragonboard 410c
SoCBroadcom BCM2835Broadcom BCM2836Qualcomm SnapDragon 410
ARM versionARMv6ARMv7ARMv8
CPU700MHz 1Core900MHz 4Core1200MHz 4Core
RAM512MB1GB1GB
eMMC8GB(eMMC 4.51)
microSD1(Class10)1(Class10)1(UHS-I)
USB4(2.0)4(2.0)2(2.0)
Ethernet1(100Mb)1(100Mb)
Wi-FiIEEE 802.11 b/g/n 2.4GHz
Bluetooth4.1(BR/EDT + BLE)
GPSQualcomm WGR7640 GNSS(GLONASS+COMPASS)
GPIO4040LS40(UART, SPI, I2S, I2C x2, GPIO x12, DC power)
+ HS60(4L-MIPI DSI, USB, I2C x2, 2L+4L-MIPI CSI)
電源microUSB(5V 2A)microUSB(5V 2A)EIAJ-3(+6.5V to +18V 24W)

Dragonboard 410c の購入

技適の問題があるのでここから買うのが無難

電源

EIAJ-3 プラグ +6.5V to +18V
chip1stop の通販サイトによると24W 以上推奨

ハードウェアマニュアル v4.1 の該当部分

20151119_09:11:32-3233

96Boards の forum で紹介されていたもの

国内で探しても EIAJ3 はなかなか見当たらない.

一般的な 2.1mm のアダプタから変換するのがお手軽かもしれない.

その他便利そうなアクセサリ類

Raspberry Pi を使っている人なら揃っていそうですが,

Dragonboard 410c 関連ページ

Raspberry Pi をセロテープで修理する

Raspberry Pi 2 model B の microSD card slot のロックが壊れてしまい microSD を挿しても出てきてしまう状態になっていました.
新しいの欲しいなぁと思っていたのですが,値段を確認するとRS は \3,966(2015/02/02の値段) -> \4,900(今) と約1,000円値上がりしています.ちょっとつらい.
https://www.flickr.com/photos/119142834@N05/22624238729/in/dateposted-public/

microSD 刺さることは刺さるのでどうにか microSD を固定すればいけるのではと試しにセロテープ貼って固定したら動くようになりました.

https://www.flickr.com/photos/119142834@N05/23045475125/in/dateposted-public/
https://www.flickr.com/photos/119142834@N05/23056665281/in/dateposted-public/

暫くこれで様子見てみようかと思います.
+より前の旧型なら SD ソケット付け替えや増設出来そうなんですけど + 以降はmicroSD だし BGA ぽいしソケット入手出来ても辛そうですね.

ちなみに Androidの SIMやmicroSD ソケットを交換してくれる業者もあるようでお願いすれば修理いてくれそうですが,手数料と新品がそう変わらなくなりそうな感じです…….

追記)
ステープラー芯でロックできるというのも見かけて試してみました.

ターミナルで動作する Markdown Viewer terminal_markdown_viewer を試す

これは便利そう.ということで試してみました.

% git clone https://github.com/axiros/terminal_markdown_viewer.git
% terminal_markdown_viewer/mdv.py -h
Usage:
    mdv [-t THEME] [-T C_THEME] [-x] [-l] [-L] [-c COLS] [-f FROM] [-m] [-M DIR] [-H] [-A] [MDFILE]
 
Options:
    MDFILE    : Path to markdown file
    -t THEME  : Key within the color ansi_table.json. 'random' accepted.
    -T C_THEME: Theme for code highlight. If not set: Use THEME.
    -l        : Light background (not yet supported)
    -L        : Display links
    -x        : Do not try guess code lexer (guessing is a bit slow)
    -f FROM   : Display FROM given substring of the file.
    -m        : Monitor file for changes and redisplay FROM given substring
    -M DIR    : Monitor directory for markdown file changes
    -c COLS   : Fix columns to this (default: your terminal width)
    -A        : Strip all ansi (no colors then)
    -H        : Print html version
 
Notes:
 
    We use stty tool to derive terminal size.
 
    To use mdv.py as lib:
        Call the main function with markdown string at hand to get a
        formatted one back.
 
    FROM:
        FROM may contain max lines to display, seperated by colon.
        Example:
        -f 'Some Head:10' -> displays 10 lines after 'Some Head'
        If the substring is not found we set it to the *first* charactor of the
        file - resulting in output from the top (if you terminal height can be
        derived correctly through the stty cmd).
 
    File Monitor:
        If FROM is not found we display the whole file.
 
    Directory Monitor:
        We check only text file changes, monitoring their size.
 
        By default .md, .mdown, .markdown files are checked but you can change
        like -M 'mydir:py,c,md,' where the last empty substrings makes mdv also
        monitor any file w/o extension (like 'README').
 
        Running actions on changes:
        If you append to -M a '::<cmd>' we run the command on any change
        detected (sync, in foreground).
        The command can contain placeholders:
            _fp_    : Will be replaced with filepath
            _raw_   : Will be replaced with the base64 encoded raw content
                      of the file
            _pretty_: Will be replaced with the base64 encoded prettyfied output
 
        Like: mdv -M './mydocs:py,md::open "_fp_"'  which calls the open
        command with argument the path to the changed file.
 
 
    Theme rollers:
        mdv -T all:  All available code styles on the given file.
        mdv -t all:  All available md   styles on the given file.
                    If file is not given we use a short sample file.
 
        So to see all code hilite variations with a given theme:
            Say C_THEME = all and fix THEME
        Setting both to all will probably spin your beach ball, at least on OSX.
 
    Lastly: Using docopt, so this docstring is building the options checker.
    -> That's why this app can't currently use itself for showing the docu.
    Have to find a way to trick docopt to parse md ;-)

簡単に導入実行できていい感じです.
色付きのまま使えるページャーが欲しいのですがなにかいいものはないですかね…….
とりあえずは -A option で色無しで lv コマンドあたりに食わせています.

% terminal_markdown_viewer/mdv.py -A ~/Documents/pelican/content/1st_post.md |lv
 

asciicast