Google Calendar and Google Drive Slack App

Google Calendar Slack AppGoogle Drive Slack App は互いに無関係ではない.

以下は, 2018-09 時点の Slack, Google Calendar App, Google Drive App のもとでの記述.

連携は #channel ごとでなく workspace ごとに行われる. 一方にひとつの Google Account を追加すると他方にも追加される. ただし, Calendar が複数の Google Account と連携できるのに対し, Drive は(Calendar の1個目のAccountと一致する)1個の Google Account としか連携できない.

他にも表面的な違い.

Calendar は, 任意の #channel に通知を送れるのに対し, Drive の通知は App との DM によって行われ*1, 任意の #channel への通知はできない*2.

Calendar App は1人でも使えるが, Drive App はworkspace の全メンバーが各々連携することを想定している. そして Drive のほうが深い連携を指向している. Drive は, 1人が連携しているだけでも, Drive 上のファイルを #channel 全メンバーが連携しているときには, Drive の一連のコメントを Slack の DM のスレッドにマップして, Slack 内から Drive のコメントをできるようにする.

slack.com

はじめてみようSlack 使いこなすための31のヒント

はじめてみようSlack 使いこなすための31のヒント

*1:ZapierやIFTTTのGoogle Drive integration が, 新規ファイルなどに限られるのに対し, Slack App は新規コメントまで通知できる

*2:+アイコンからのDrive 上のドキュメントの扱いはすべての #channel でできる

Trusted domain にない複数台のリモートのHyper-V Server を1台のクライアントの Server Manager に登録するときの WinRMのネゴシエート認証エラーの回避

Windows Remote Management Service (WinRM Service)において, trusted domain 内にあるわけでないサーバ(たとえばHyper-Vサーバ) hvserver01 をクライアント側(Server Managerを実行する管理用Windows10)で管理しようとするとき, サーバを信用するために, 管理者のコマンドプロンプトで実行すべき命令として,

winrm set winrm/config/client @{TrustedHosts="hvserver01"}

というのがよく書かれている.

英語で set と add の違いを知っている人, 可算名詞の後ろについたsが何を意味するかを知っている人には自明のことだったはずだが, 上記の命令は, hvserver01 以外を信用するな, というを言っている. つまり, 複数のHyper-Vサーバを, 1台の管理用Windowsに登録しようとすると, 1台目の設定においては上でよいが, 2台目に対して hvserver02 に置きかえた命令を行うと, hvserver01 を信用する設定は失われる.

Hosts を表現するのはコンマ区切りリストだそうで,

winrm set winrm/config/client @{TrustedHosts="hvserver01,hvserver02"}

としないといけない. 下の記事を読むまで, サーバ1台追加の作業は各々独立, 可換とは限らないことに気づけずにいた.

Google Home Mini は firewall 内では使えない

Google Home Mini (system firmware version 100429)をiOSアプリの Google Home で設定する場合.

Google Home Mini を無線LANに(routerに)接続するところまでは, インターネット接続不要で実行できる. そこで, Google Home Mini が初期登録のために Googleのサーバに接続しようとするが, firewall内で実行している場合は, そこから先に進めなくなる. なお, この firewall 内にある無線LANでは DHCPwpad で, http, https, socks proxy プロキシが通知されている.

いったん firewall 外に持っていって初期登録を行うと, iOSGoogle Homeアプリで デバイス>設定 メニューが現れるが, ここには手動や自動のプロキシ設定はない.

この後, firewall 内すなわち別の無線LAN下に持って帰ってくると, Google Home Mini は, 初期登録した無線LANがなくなったことに気づいて, 再び自分が router になり, 新しい無線LANへの接続を促す(従って, 無線LANを変更するたびにfactory resetする必要はない). しかし, この場合でも, プロキシ経由の接続はできない.

Google によれば,

Step 1: Disable Access Point/AP isolation, also known as Client isolation or guest mode, on your router

Step 2: Enable UPnP (Universal Plug and Play) also known as Multicast on your router

https://support.google.com/googlehome/answer/7300406?hl=en

とのこと.

store.google.com

2018-06-18 月 追記 Amazon Echo も同様. 使うには, ファイアウォールで特定のポートを開ける必要があります.

macOS 10.13 High Sierra で MacPorts 2.4.1 TeXlive 2017で日本語フォントが使えなくなった → 修復

macOS 10.12 から10.13に上げ, MacPortsmigrate して2.4.1にしたところ, TeXLive 2017のdvidfmx がヒラギノ明朝を扱えなくなった. 何のバージョンを示したらいいか怪しいが, 下のものを使っている.

texlive @2017_0+doc+medium (active)
texlive-lang-cjk @44207_0+doc (active)
texlive-lang-japanese @44377_0+doc (active)

原因は, /System/Library/Fonts 内のフォントファイル名が変化し, /opt/local/share/texmf-local/fonts/truetype/cjk-gs-integrate からの symbolic link が切れたこと. これらは以前に

sudo cjk-gs-integrate --link-texmf --force

で作ったもの. 再実行すればいいのかもしれないが, 奥村先生の美文書のページを参照させていただいて, 次をターミナルで実行するととりあえず修正できることがわかった. sudo が必要

ln -sf /System/Library/Fonts/"Hiragino Sans GB.ttc" /opt/local/share/texmf-local/fonts/truetype/cjk-gs-integrate/"Hiragino Sans GB W3.ttc"
ln -sf /System/Library/Fonts/"Hiragino Sans GB.ttc" /opt/local/share/texmf-local/fonts/truetype/cjk-gs-integrate/"Hiragino Sans GB W6.ttc"
ln -sf /System/Library/Fonts/ヒラギノ丸*.ttc /opt/local/share/texmf-local/fonts/truetype/cjk-gs-integrate/HiraginoSansR-W4.ttc
ln -sf /System/Library/Fonts/ヒラギノ明*.ttc /opt/local/share/texmf-local/fonts/truetype/cjk-gs-integrate/HiraginoSerif-W3.ttc
ln -sf /System/Library/Fonts/ヒラギノ明*.ttc /opt/local/share/texmf-local/fonts/truetype/cjk-gs-integrate/HiraginoSerif-W6.ttc
mktexlsr

[改訂第7版]LaTeX2ε美文書作成入門

[改訂第7版]LaTeX2ε美文書作成入門

Mac の R の ggmcmc で「フォントタイプが不正です」エラー → file=NULL とフォント指定で解決

統計ソフトウェア Rのパッケージ ggmcmcは, rstan, rjags rbugs などの MCMCによる推定をするパッケージの収束の様子を trace plot などとして可視化するためのもの.

Mac macOS OS X の R で使ったところ, こうなった.

fit<-rstan(file="model.stan)
ggmcmc(ggs(fit))
> ...
grid.Call.graphics(L_text, as.graphicsAnnot(x$label), x$x, x$y,  でエラー: 
   フォントタイプが不正です

ああ, ggmcmc は ggplot2 を使ってるから, Mac ではフォント設定に注意ね.

fit<-rstan(file="model.stan)
theme_set(theme_bw(base_family="HiraKakuProN-W3"))
quartz(type="pdf",file="plot.pdf")
ggmcmc(ggs(fit))
dev.off()
> ...
grid.Call.graphics(L_text, as.graphicsAnnot(x$label), x$x, x$y,  でエラー: 
   フォントタイプが不正です

あれっ変わらないってどういうこと?

実は, ggmcmcは独自のグラフィックスドライバ(不正確な用語でしょう)を持っているので, 上のようにしても, themeやquartzの設定と無関係に, 独自のドライバで ggmcmc-output.pdf に書こうとしちゃうとのこと. その過程に対してフォント指定できてないからエラーになるのね. file=NULLで明示的に無効化しないといけない.

fit<-rstan(file="model.stan)
theme_set(theme_bw(base_family="HiraKakuProN-W3"))
quartz(type="pdf",file="plot.pdf")
ggmcmc(ggs(fit),file=NULL)  ##### 変更行
dev.off()

pdf 
  2 

NFS Server Debian 9 Stretch から NFS Client macOS 10.12.6 へのNFS Export / NFS Mount したディレクトリ内に resource folk (dot underscore ._ ファイル)が作れず lockd not responding, ビーチボールアイコンになる問題への対症療法

問題の表面的かつあいまいな記述. 具体的な export / mount option は書いてない.

Debian 7 以前から, Debianext3 filesystem を, NFS v3で macOS = OS X に static mount していた. しかし, 次のような不具合が, 両者のバージョンアップとともに発生するようになった.

  • Mount したディレクトリを mac OS の Finder で開き, 日本語の濁点半濁点を含むファイル名に変更/新規ファイルを保存しようとすると, 「そのファイル名は使えません」と言われる
  • Debian 側で Dropbox を動かして, 特定のディレクトリを, macOSの(NFS mountされたものでないHFS+ filesystem 上の)ディレクトリと同期していると「ファイル名(NFS Server ホスト名の競合コピー日付)」という名前で重複してファイルが作られることがある
    • 同時編集(NFS側も含め)しているわけではない

Debian 9 にバージョンアップした直後から, さらに次の問題が発生するようになった.

  • macOS 側で NFS mount されたディレクトリのファイルを Preview.app で編集したり, Microsoft Office でファイルを保存したりすると, busy cursor (ビーチボールまたは砂時計カーソル)となり, 保存できない
    • ターミナルで cp や touch してもこのようなことは起きない
  • この状態で, ターミナルから当該ディレクトリ内のファイルにアクセスすると,
nfs server サーバ名:ディレクトリ名: lockd not responding
nfs server サーバ名:ディレクトリ名: lockd live again

のような警告がでてアクセスできない.

砂時計になるのは,

  • ACL拡張の情報が resouce fork すなわち dot underscore ファイル( ._元のファイル名) に新たに保存されようとするとき,

であるようだ( resource forlk はしょせんただのファイル(名)であるので NFS transparent でないのは不思議に思えるが). このような事象のレポートとして次がある. ファイヤウォール(的にlockdのportが開いてるか)やNFSを確認しろとのことだが.

https://discussions.apple.com/thread/2733032?start=0&tstart=0

これに対する対症療法のひとつとして, NFS client 側で

mount -o locallocks ...

を指定すると解消することがわかっている. 副作用のありそうな療法である.

Debian 8 Jessie から 9 Stretch へ, Moodle 3.1.5+ から Moodle 3.1.7+ へアップグレード

Debian 8 Jessie から 9 Stretch へ, 次いで, Moodle 3.1.5+ から Moodle 3.1.7+ へアップグレードしたときのいくつかの事情の記録.

  • Apache は 2.4.* のままだから問題ない.
  • PHPは5. から 7. に変化する. apt-get update; apt-get dist-upgrade の結果 php5 が消えたので, php(=7のこと)を改めて手動で導入する. 関係ライブラリも, php5-curl のかわりに php-curl を導入, などが必要. 何が足りてないのかわからないので, Moodle も Upgrade して, notification でチェックしてもらうことに(邪道).
  • MySQLMySQL から Mariadb に. データベースは引き継がれる. Moodleの側では, MySQLのバージョンが低いというチェック失敗になる. しかし, default-mysql-server=mariadb のバージョンが低いという意味ではなく, Moodle の config.php
# $CFG->dbtype='mysqli';
$CFG->dbtype='mariadb';

と手で編集する必要がある, という話. * unoconv などは jessie-backports から得ていたが, 自動的に stretch から得るようになったように見える * unoconv は, owner permission 関係で, MoodleDoc に載っているscript で起動することはできていない. HOME=/tmp として, 手動で起動.

追記(2017-09-15)

その後, アップロードファイル上限, MathJax, STACK は手動で調整が必要になった.

数学オンラインテストモジュール STACK 3.5.* を LMS Moodle 3.1 on Debian GNU/Linux 8 Jessie にインストール - hig3の言い忘れたこと書き間違えたこと