wgetコマンドでCMSサイトを静的html化

CMSのサイトをもう更新しない,でもアーカイブとして残したいという場合CMSの機能は必要なくなります.メンテナンスコストやセキュリティの面からも動的じゃなく静的にしたほうが良いです.
ということでwgetコマンドを使って静的html化を試してみました.

$ wget --mirror --page-requisites --html-extension --convert-links http://example.com/

基本的にこれだけでOKでした.

  • –mirror

    • サイトのミラーに適したオプションです.再帰的な取得などを行います.次のオプションと同等です.-r -N -l inf --no-remove-listing
  • –page-requisites

    • ページに必要な画像やスタイルシートなどのコンテンツも取得します.
  • –html-extension

    • 取得したhtmlコンテンツの拡張子を.htmlに変換します.
  • –convert-links

    • 取得したコンテンツをダンロードしたコンテンツを参照するように書き換えます.例えばfoor/doc.htmlから/bar/img.gifを参照している場合 doc.html のリンクを../bar/img.gifと書き換えます.
  • http://example.com/

    • 取得したいsiteのurlです.

入手したアーカイブは静的htmlなので適当な場所に置いてアクセスすればOK.確認時は旧siteのコンテンツを見に行ったりしないように確認するマシンのhostsに以下のような細工をしました.

$ grep example.com /etc/hosts
127.0.0.1       example.com

大丈夫そうでしたが,検索ボックスはCMSの機能を使っているので動かなくなりました.検索ボックス自体を消してしまってもいいと思うのですが,今回はDuckDuckGoのものに変更してみました.これについては次のエントリにて.

今回試したCMSはImpress Pageです.参考にしたsiteではWordPressをアーカイブしていました.他のCMSでも応用が効きそうです.

参考URL

 

DuckDuckGoの検索ボックスを利用する

もう更新しないCMSを

$ wget --spider --recursive --no-directories --no-verbose ${SITEURL}

のような感じでhtml化したのですが,検索ボックスは動的なままです.検索エンジンの検索ボックスに入れ替えると良いのではとDuckDuckGoのものを探してみました.

例えばこれでこのblogの検索が出来るようになります.

この辺りを見てカスタマイズするとさらにいいかもしれません.

Googleが一般的ですがDuckDuckGoはアカウントも必要ないしお手軽でいいですね.

関連

 

microSDスロットの固定機構の壊れたRaspberry Pi 2 Bのバネを取り外して普通に使えるようにする

SANY0011

Raspberry Pi 2 Bを使っているのですが,以前からmicroSDソケットの固定機構が壊れてしまっています.セロハンテープで留めて更にケースに入れて動きにくくしているのですがたまにずれるようで起動中にストレージを見失ってしまうことがあります.(そして数回に一回は要fsckに)

ちょっと面倒なので対処したいなと思いながら放置していたのですが,また今日も起こったので調べてみることに.多分microSDを押し返すピンかバネを無くしてしまえたら解決しそうな気がします.でも内部が見えないのでどこにピンやバネがあるのかよくわからないです.

SANY0015

きっと先駆者が居るだろうと検索するといくつかそれらしいページを見つけました.

ソケットを交換するアプローチ

ソケットの中のスプリングを取り出してしまうアプローチ

後者のスプリングを取り出すのが簡単そうだし,最悪失敗しても前者のソケットを交換すればいいかなと試してみました.スプリングの場所が分かったのですが現物を見てもよくわからないです.光を当てながら少し斜めから見るとバネが見えました.バネの横の部分を一旦開けて中を確認する人も居るようです.

SANY0019

ここで安全ピンのピン先でこじるようにと思いましたがちょっと安全ピンが大きいせいかソケットが膨らむのでジャンパワイヤのオスを使いました.

ソケットのスプリングの上側からこじるとプラスチックのラッチが外れました.一旦ラッチを取り出して更にその奥をこじるとスプリングの反応がありました.スプリングを内側に倒してから引っ張り上げるようにして取り外せました.

SANY0020

この状態でmicroSDを差し込むとmicroSDは押し返されなくなりました!これで最近のRaspberry Pi Zero(多分3B/3B+も)と同じような使い勝手になったと思います.

SANY0022

今回はRaspberry Pi 2 Bでしたが,Raspberry Pi B+/Raspbery Pi A+もロック機構が壊れたら同様の機構なので同じように解決できると思います.

今だと最新のRaspberry Pi 3 B+を買う人が多いでしょうが.

Androidの容量が少なくなって困る

Android端末の容量が少なくてGoogle Playがアプリを更新できないとエラーを出ています.確認すると「その他のファイル」が妙に容量を食っている.見ると「mhenv」というフォルダが殆どを占めています.
開発者も土が有効な状態でadb shellで中に入って見てみると実体は/storage/emulated/legacy/mhenv/ここで12GB以上です.

$ adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
shell@g2:/ $ cd /storage/emulated/legacy
$ du -ms mhenv
12467 mhenv

中を見ると「YMO!」(小説家になろうなどのオンライン小説リーダ)のデータが12GB以上食っている!
テキストデータだけじゃないの?と中を見るとこんな感じで更新時に毎回バックアップを取っているような感じです.

$ ls -l 猫正宗 
-rw-rw---- root sdcard_r 988721 2018-05-24 13:14 隣の部屋の女騎士は、異世界人で飲み友達_n2059ek.txt
-rw-rw---- root sdcard_r 288071 2017-12-16 14:12 隣の部屋の女騎士は、異世界人で飲み友達_n2059ek_rev20171217001107.txt
-rw-rw---- root sdcard_r 325287 2017-12-23 23:52 隣の部屋の女騎士は、異世界人で飲み友達_n2059ek_rev20171226002611.txt
-rw-rw---- root sdcard_r 341974 2017-12-26 00:26 隣の部屋の女騎士は、異世界人で飲み友達_n2059ek_rev20171228101117.txt
:

恐らく「${作者名}/{タイトル}${小説コード}.txt」が最新で,「${作者名}/{タイトル}${小説コード}_rev${年月日??????}.txt」が古いもの.

念の為バックアップを取って,findで……無かったorz

$ find . -name "*_rev??????????.txt" -ls

ディレクトリ階層も決まっているので,こんな感じでlsで確認してから消してみました.12.5GB近かったのが0.5GB以下になりました.

$ ls */*_rev??????????????.txt 
$ rm */*_rev??????????????.txt
$ du -ms . 
493 .

アプリケーション側の動作も問題無さそうです.

ちなみにこの後Androidアプリケーション側の設定を確認すると,「データ保存先変更」で端末によってはSD Cardに移動できそうです.手元の端末では変更不可でした.
それと,「改定時ファイル保存設定」と「古い稿を残す基準を設定」といものがあり,この設定だけで良かった気がします…….

環境

Devuan jessieをasciiにdist-upgradeしてみた

screenshot

Devuan asciiもRelease Candidateが出てそろそろ正式版になりそうです.てことで手元のDevuan jessie i386環境をascii環境にdist-upgradeしてみました.

DevuanはDebianからフォークした脱Systemdなディストリビューションです.コードネームはjessieはDebianと同じですがその次のバージョンから独自になっていて,Devuan asciiはDebian stretch相当になります.

アップグレードのドキュメントは以下にありました.

うーんシンプル.念の為Debianの文章も参考にします.

これらの文章と違うところはsources.list編集時にapt edit-sourcesコマンドを使ったくらいです.今回はこんな感じに.

diff --git a/apt/sources.list b/apt/sources.list
index 142945f..afaa14d 100644
--- a/apt/sources.list
+++ b/apt/sources.list
@@ -1,16 +1,16 @@
-# deb http://jp.mirror.devuan.org/merged/ jessie main
+# deb http://jp.mirror.devuan.org/merged/ ascii main
 
-deb http://jp.mirror.devuan.org/merged/ jessie main non-free contrib
-deb-src http://jp.mirror.devuan.org/merged/ jessie main non-free contrib
+deb http://jp.mirror.devuan.org/merged/ ascii main non-free contrib
+deb-src http://jp.mirror.devuan.org/merged/ ascii main non-free contrib
 
-# jessie-security, previously known as 'volatile'
-deb http://jp.mirror.devuan.org/merged/ jessie-security main contrib non-free
-deb-src http://jp.mirror.devuan.org/merged/ jessie-security main contrib non-free
+# ascii-security, previously known as 'volatile'
+deb http://jp.mirror.devuan.org/merged/ ascii-security main contrib non-free
+deb-src http://jp.mirror.devuan.org/merged/ ascii-security main contrib non-free
 
-# jessie-updates, previously known as 'volatile'
-deb http://jp.mirror.devuan.org/merged/ jessie-updates main contrib non-free
-deb-src http://jp.mirror.devuan.org/merged/ jessie-updates main contrib non-free
+# ascii-updates, previously known as 'volatile'
+deb http://jp.mirror.devuan.org/merged/ ascii-updates main contrib non-free
+deb-src http://jp.mirror.devuan.org/merged/ ascii-updates main contrib non-free
 
-# jessie-backports, previously on backports.debian.org
-deb http://jp.mirror.devuan.org/merged/ jessie-backports main contrib non-free
-deb-src http://jp.mirror.devuan.org/merged/ jessie-backports main contrib non-free
+# ascii-backports, previously on backports.debian.org
+deb http://jp.mirror.devuan.org/merged/ ascii-backports main contrib non-free
+deb-src http://jp.mirror.devuan.org/merged/ ascii-backports main contrib non-free

特に問題なく処理は進んでいましたが,apt dist-upgradeでエラーが発生しました.bluemanで以下のようなエラーとなりました.

Setting up blueman (2.0.4-1) ...
Reloading system message bus config...Error org.freedesktop.DBus.Error.FileNotFound: Failed to open "/etc/dbus-1/system.conf": No such file or directory
invoke-rc.d: initscript dbus, action "reload" failed.
dpkg: error processing package blueman (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 blueman
E: Sub-process /usr/bin/dpkg returned an error code (1)

一旦削除して再起動後導入し直したら導入に成功しました.

$ sudo apt remove blueman
$ sudo reboot
$ sudo apt install blueman

ということでシンプルなシステムだったせいかさっくりとdist-upgradeに成功しました :)

<追記>
うまく行かなかった人も居るよう.

</追記>

terminalで動作するMastodon clientのnanotodonを試してみた

mikutodonをDebian jessie armhfに入れてみた.Makefileを修正したら動いたけど文字化けする.ちなみにDebian sid amd64では問題なく動作した.

$ cat /etc/debian_version 
8.10
$ uname -m
armv7l

ライブラリ等導入

$ sudo apt install build-essential libcurl4-openssl-dev libjson-c-dev libncurses-dev libncursesw5
$ dpkg-query -W build-essential libcurl4-openssl-dev libjson-c-dev libncurses-dev libncursesw5
build-essential 11.7
libcurl4-openssl-dev:armhf      7.38.0-4+deb8u11
libjson-c-dev:armhf     0.11-4
libncurses-dev  
libncursesw5:armhf      5.9+20140913-1+deb8u2

<追記>
入ってない場合gitも必要ですね $ sudo apt install git
</追記>

source入手

$ git clone https://github.com/taka-tuos/nanotodon

make

コケた

$ cd nanotodon
$ make
make -r nanotodon
make[1]: Entering directory '/home/chip/src/nanotodon'
gcc -c -g -o nanotodon.o nanotodon.c
nanotodon.c: In function 'stream_event_notify':
nanotodon.c:110:12: warning: initialization discards 'const' qualifier from pointer target type
  char *t = json_object_get_string(notify_type);
            ^
nanotodon.c: At top level:
nanotodon.c:138:6: warning: conflicting types for 'stream_event_update'
 void stream_event_update(struct json_object *jobj_from_string)
      ^
nanotodon.c:128:3: note: previous implicit declaration of 'stream_event_update' was here
   stream_event_update(status);
   ^
nanotodon.c: In function 'stream_event_update':
nanotodon.c:180:14: warning: initialization discards 'const' qualifier from pointer target type
  char *src = json_object_get_string(content);
              ^
nanotodon.c:226:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
   for (int i = 0; i < json_object_array_length(media_attachments); ++i) {
   ^
nanotodon.c:226:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code
nanotodon.c:245:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
   for(int i = 0; i < term_w - (l + 4); i++) waddstr(scr, " ");
   ^
nanotodon.c: At top level:
nanotodon.c:589:6: warning: conflicting types for 'do_htl'
 void do_htl()
      ^
nanotodon.c:303:2: note: previous implicit declaration of 'do_htl' was here
  do_htl();
  ^
nanotodon.c: In function 'do_htl':
nanotodon.c:618:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
   for (int i = json_object_array_length(jobj_from_string) - 1; i >= 0; i--) {
   ^
nanotodon.c: In function 'main':
nanotodon.c:751:2: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
  for(int i = 0; i < term_w; i++) mvaddch(5, i, '-');
  ^
nanotodon.c:777:4: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
    for(int i = 0; i < term_w; i++) mvaddch(5, i, '-');
    ^
nanotodon.c:802:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
   for(int i = 0; i < txt.stringlen; i++) {
   ^
Makefile.in:21: recipe for target 'nanotodon.o' failed
make[1]: *** [nanotodon.o] Error 1
make[1]: Leaving directory '/home/chip/src/nanotodon'
Makefile.in:11: recipe for target 'default' failed
make: *** [default] Error 2

Makefileを修正したら通った

diff --git a/Makefile b/Makefile
index ac1828f..a35ee6a 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 TARGET         = nanotodon
 OBJS_TARGET    = nanotodon.o
 
-CFLAGS = -g
+CFLAGS = -g -std=gnu99
 LDFLAGS = 
 LIBS = -lc -lm -lcurl -ljson-c -lncursesw -lpthread
 

文字化け><

20180521_20:05:50-30304

Debian sid amd64ではMakefileの書き換えも必要なく文字化けもしない.

20180521_20:05:01-31796

$ cat /etc/debian_version 
buster/sid
$ uname -m
x86_64
$ dpkg-query -W build-essential libcurl4-openssl-dev libjson-c-dev libncurses-dev libncursesw5
build-essential 12.5
libcurl4-openssl-dev:amd64      7.60.0-1
libjson-c-dev:amd64     0.12.1-1.3
libncurses-dev:amd64    6.1+20180210-3
libncursesw5:amd64      6.1+20180210-3

system fontが汎用CJKになっていた

なんかPCを再起動してからフォントが変になっていました.中国語混じりのような汎用CJKらしきフォントになっています.今のフォントを調べるのは何だろうと探すと以下のページを見つけました.

fc-matchコマンドで確認するとWenQuanYi Zen Heiというフォントが設定されている状態のようです.パッケージを確認するとfonts-wqy-microheiのようです.おまけにfonts-wqy-zenheiという中国語フォントも入っていたのでこれらを削除しました.(fonts-notoも入っているのでもし中国語を表示する必要が出ても問題ないはず)

$ fc-match :lang=ja
wqy-zenhei.ttc: "WenQuanYi Zen Hei" "Regular"
$ apt-cache search WenQuanYi
fonts-wqy-microhei - Sans-serif style CJK font derived from Droid
fonts-wqy-zenhei - "WenQuanYi Zen Hei" A Hei-Ti Style (sans-serif) Chinese font
xfonts-wqy - WenQuanYi Bitmap Song CJK font for X
$ dpkg -l|grep -i  fonts-wqy
ii  fonts-wqy-microhei                            0.2.0-beta-3                            all          Sans-serif style CJK font derived from Droid
ii  fonts-wqy-zenhei                              0.9.45-7                                all          "WenQuanYi Zen Hei" A Hei-Ti Style (sans-serif) Chinese font
$ sudo apt purge fonts-wqy-microhei fonts-wqy-zenhei

dgm3を再起動してログインし直すと以前設定したフォントになっていました.

$ fc-match 
umeplus-p-gothic.ttf: "UmePlus P Gothic" "Regular"

logを見るとfonts-wqy-microheiの0.2.0-beta-3 で0.2.0-beta-2をアップデートしたものが見つかりました.恐らくこのタイミングで置き換わったのではないかと思います.それ以前の1年ほどのログの中にはなかったのでそれ以前に導入されたパッケージのようです.

中を見るとこのような設定が.

$ find fonts-wqy-microhei_0.2.0-beta-3_all -type f -print | grep etc
fonts-wqy-microhei_0.2.0-beta-3_all/etc/fonts/conf.avail/65-wqy-microhei.conf

以下を見ると標準より大きい数字なので手動で設定したフォントより優先度が高いので置き換わったのでしょうか?だとすると中途半端に設定をいじっていた自分のせいのようですorz

  1. 各日本語フォントパッケージは、/usr/share/fonts/truetype/

ttf-japanese-mincho.ttf または ttf-japanese-gothic.ttf をalternativesパスとして登録する。alternatives優先順位は次のように 規定する。

100より上: サードパーティまたはユーザ作成のフォント(IPA フォントなどはこのカテゴリに入る)
60: vl-gothic(標準)
50: ttf-sazanami-mincho, ttf-sazanami-gothic
20: ttf-kochi-mincho, ttf-kochi-gothic
20より下: 日本語を字形に含むがunified領域で中国語字形が使われているなど
日本語の表現には使いにくいフォント

とりあえず使わないであろうフォントが削除できてディスクスペースが開いたので良かったとしましょう.

環境

$ uname -m
x86_64
$ lsb_release -d
Description:    Debian GNU/Linux unstable (sid)
$ dpkg-query -W fontconfig
fontconfig      2.13.0-5

SteamのアプリがAndroidでリモートプレイが出来るSteam Linkを試す

20180521_01:05:06-2769

AndroidでSteamのホームストリーミングで遊べるSteam Linkというアプリが公開されていたのでちょっと試してみました.

先ずはPCのSteamでホームストリーミングを有効にしておきます.
20180519_01:05:27-31428

firewallはこの辺りを参考に空けておきます.

ホームストリーミングだけならこの辺?

UDP 27031 and 27036 (incoming, for In-Home Streaming)
TCP 27036 and 27037 (incoming, for In-Home Streaming)

PCでSteamを起動した状態でAndroidのSteam Linkを起動したらPCが見つかりました.しかしネットワークテストがいまいち.Wi-Fiが2.4GHz 11gの54MbpsでHostのPCもClientのAndroidも同じAPなのでこのままでは無理がありますね…….

Screenshot_20180519-015144

とりあえず強行してみるとHostPC側では動いていますが,Androidでは表示が崩れてこんな感じ.

Screenshot_20180519-015239

ちなみにHostPCはCore2DuoかつGPUもCPUのものなのでかなりスペック低いのでそのせいもありそうです.
近いうちに回線は有線1GHz+Wi-Fi 300Mbpsの環境で試してみようと思います.

このアプリケーションはPCのHost側もゲーム画面を表示してそれをAndroidに転送して動いているのでPCで別の作業をするという向けには使いづらい感じです.もし併用するなら仮想画面や別モニタに別のXを動かすとかしないといけないと思います.
とはいえAndroidでSteamゲームが遊べるのは便利そう.それにまだBETAなのでもっと良くなるでしょう.

add 2018-05-26)
iOS版はblockされたようです(◞‸◟)

画像ファイルのタイムスタンプをexifの時間に合わせる

画像ファイルをSNSなどにアップロードするときに回線が細かったりデータ転送料金が従量制だったりするときにリサイズしてアップロードしたりするのですが,サービスによってはファイルのタイムスタンプを参照して悲しいことになることも.
オリジナルのexifが残っている場合はそれを参照してファイルのタイムスタンプを修正することが可能です.
というメモ.

$ exiftool "-FileModifyDate<DateTimeOriginal" DP1M0???.resized.JPG
   10 image files updated

環境

$ dpkg-query -W libimage-exiftool-perl
libimage-exiftool-perl  10.96-1
$ lsb_release -d
Description:    Debian GNU/Linux unstable (sid)
$ uname -m
x86_64

関連

鹿児島らぐの「鹿児島Linux勉強会 2018.05」に参加

DP1M0523

今月も一人.でもドタ参あるかもってことで鹿児島市に向かいます.てことで今月もポタリング日記です.
今回は海岸線で桜島フェリー乗り場まで,その後なんとなく関吉の疎水溝を見て来ました.帰りは垂水フェリー経由で帰宅.
技術要素はありません.

先月はけぶっていて対岸が見えなかったけど今月は神川から開聞岳だけでなく桜島もよく見えました.
DP1M0436DP1M0437

例によって高須からはとぎれとぎれの旧大隅線のサイクリングロードを北上.
DP1M0438DP1M0439DP1M0441
菅原小学校跡の施設,先月は工事中でしたが今月はある程度舗装が完成してFanRideまでの道が出来ていました.工事自体は9月迄なのでウギは正門の方を工事するのかな?
DP1M0442DP1M0443DP1M0444DP1M0445

菅原からCR途切れたところからは旧道を利用.少しだけ獲得標高減るけど距離は伸びる?古江手前からCRで霧通りを降りてトンネル.裏道で古江漁協前を通って郵便局の先の辺りまで.信号や大きな交差点が避けられます.ここの公園も設備チェックしようと思ってたんだけど忘れてました.
DP1M0449DP1M0450DP1M0451DP1M0452DP1M0453DP1M0454DP1M0456

しばらく前から垂水市街地の信号機は薄いLEDの信号機に.薄くてなんか強度心配に.
DP1M0457

荒崎から海潟あたりの裏道は今回は使わず.江ノ島あたりの路面が綺麗だと良いんですけどね.路面が悪いので疲れます.
DP1M0459DP1M0461DP1M0462DP1M0463

桜島フェリーで鹿児島市へ.
New photo added to galleryDP1M0467DP1M0470

結構時間があるので先日匿名掲示板で近所に住んでいるという人に教えてもらった「関吉の疎水溝」に行ってみることに.全く下調べしていないのでフェリーの中でちょっと地図を見ただけ.多分県道25号を進むと看板か何かがあるのではないかと当たりをつけて向かいます.吉野の方だからきっと登りだろうけど7~8km程度なのでどうにでもなるでしょう.案外細いのに交通量のある道でした.角度は緩やかだけど標高200m程上って少し下る感じ.看板は新しいものが何箇所かあったので地図を確認しなくて住んで良かったです.

現地にはボランティアの解説をしてくれる方が2名いらっしゃって説明をしてもらいながら観光できました.ここから取水して集成館(今の仙巌園内にある)までの約7kmの水路を作ったそう.その水で水車を回し,蒸気機関になるまでの動力として使われていたそう.
住宅の開発で現在は途中で途切れているけれど今もそこまでは水路は続いていて灌漑などに使われているそう.
夏場涼しそうな場所でした.

DP1M0471DP1M0473DP1M0474DP1M0478DP1M0481DP1M0482DP1M0483DP1M0484DP1M0486DP1M0489DP1M0492DP1M0494DP1M0495DP1M0496

水路沿いに道路はあるか聞いたらあるってことだったので途切れるところまで水路をたどってみました.歩行者や自転車じゃないと無理な細い道もあるので自転車がおすすめ.
水路が途切れたところからは多分あっちかなーという感じで住宅地を突っ切って帰りました.獲得標高は減ったのでちゃんとルートを調べれば坂道少ないルートがありそう.
DP1M0497DP1M0497DP1M0499DP1M0500DP1M0502DP1M0503DP1M0504DP1M0505DP1M0511DP1M0512

天文館に帰ってきてまだ時間があったのでジュンク堂とダイソーアオヤマ,Can☆Doに.ジュンク堂ではO’Reillyのフェアをやっていました.カタログも.ダイソーにはminiUSB Cableがなくなっていました.棚が移動しただけだと良いのですが見当たらず.Can☆DoはUSB Cableがごっそりなくなって補充されていませんでした.タイミングが悪かったですね.
New photo added to galleryNew photo added to gallery

そろそろ時間なので今回の会場にしたジョイフル 鹿児島中央駅前店へ.そういえばこのお店は2度めですが1度目に来た時はまだ西鹿児島駅なのにこのジョイフルは鹿児島中央駅前店になっていた気がします.
DP1M0513DP1M0514

駐輪場,駐車場は有料でした.自転車の駐輪は2時間まで無料.12時間ごとに200円でした.
店内は思ったより混んでいました.でも禁煙席の一番奥の席を確保.足元に電源もありWi-Fiも問題なく利用できました.結構旅行者の方も利用している感じで待ちはあまりでませんがだいたい席は埋まっている感じです.勉強会の会場としては先月の西鹿児島店のほうがよさそうです.駅の西側に鹿児島中央店もあるのですが,駅からのアクセスが良い分このお店より混んでそうな気がします.
値上がりしたモーニングを食べて,GPSロガーからデータを吸い出して写真にジオタグを付けてアップロードとかしつつ #IoTSecJP の同人誌を読んでいたらあっという間に時間になりました.

DP1M0523DP1M0524DP1M0525DP1M0526

帰りは寄り道あまりせずなんか寿がきや感のあるニシムタスカイマーケットでコッペパン(55円!)と豆乳を買って垂水フェリー経由で帰宅しました.
DP1M0527DP1M0528DP1M0529DP1M0530DP1M0531DP1M0533DP1M0535DP1M0536

次回は6月の1,2週目辺りかなと思っています.