2019/12/25

Bluetoothをコマンドラインで再起動する方法

しばしば TrakPad の Bluetooth 接続が切れて,こんな得体も知れない不具合の対策を考えるのも嫌だったので,逃げ道.

% sudo killall bluetoothd

こんだけかい?!
bluetoothd の再起動(正確には停止)には root 権限が必要だったようで,sudo してます.

これでやっと有線(USB)マウス外せる.

(仕組みは分かってませんが,どっかに supervisor みたいなのが居て, bluetoothd が落ちたら起動してくれる仕組みが走ってます.つまり,その supervisor が生きている前提の対処法であることは忘れてはいけないかもしれません.)

2019/12/14

MP-CD1 モバイルプロジェクター

最近の出張でウケてるのがモバイルプロジェクター.

ずいぶん小さくて明るくなったので,出張や外勤の時に持ち歩いてたら使えそうだなと思って買いました.ただ,種類は色々.目的によって絞り込みをかけていかないと失敗しそうです.私のポイントは,

  • 軽くて持ち歩く(かばんに入れっぱなし)気になること
  • 多少明るい室内でも使えること
  • 無線接続
  • ポスター会場で使えること

でした.色々悩んで買ったのはSONYのモバイルプロジェクターMP-CD1.ただし,このブログを書いている時点で生産中止で在庫限りでした.写真は,iPod touchの写真を投影(それ自体に意味はない).



決定的だったのは,ACアダプタ.バッテリー内臓で充電式のものもあったのだけど,充電(給電)にはACアダプタが必要なものが結構多かった.のに対して,MP-CD1は,UCB-C給電.MacBook な私にとっては,「必然的に持っているもの」だったので本体重量に加えて,充電ケーブルの重量(MP-CD1だと,私にとっては0g)で考えました.

その代わり,主に妥協したのが,HDMI有線接続しか出来ないという点.USBメモリに入れたpptxを再生できたり,無線でつながったりするのも魅力的だったのだけど,諦めました.写真のHDMIは付属ケーブルでかなり太くて硬いので,書い直す予定

ポスター会場でも使えるほど明るくて軽量なものはなかったので断念しました.ポスター会場用には,モバイルLCDを持った方が良さそうです.

おまけの機能として,USB-Aでモバイルバッテリにもなる点.スマホの充電に使えるのでこれは便利と思います.逆に,飛行機の時は機内持ち込みが必須になってしまいましたが.

2019/12/12

JAGURS compilation using Homebrew on MacOS

まだ MacPorts 使ってるの?とか言われてしまったので, Homebrew へ.主に何に使ってたかと言うと, JAGURS なので,まずは JAGURS がコンパイル出来るように整備してみた.

が,Makefile のバージョン管理に RCS 使ってたので,先ずは,
% brew intall rcs

それ以前としては, /usr/local に入っている HPC compiler を上書きさせないために, /opt/homebrew をインストール先にした.参考にした記事はこちら
cd /opt
sudo mkdir homebrew
sudo chown ${USER}:staff homebrew
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew

依存ライブラリのインストール
 % brew install netcdf
 % brew install proj
 % brew install fftw
(伴って gcc のインストールも始まっていて重い・・・)

Makefile:
PROJ4_DIR=/opt/homebrew
FFTW3_INCLUDE_DIR=/opt/homebrew/include
NETCDF=/opt/homebrew

% make
In file included from mapproject.c:4:
/opt/homebrew/include/proj_api.h:37:2: error: #error 'To use the proj_api.h you must define the macro ACCEPT_USE_OF_DEPRECATED_PROJ_API_H'
 #error 'To use the proj_api.h you must define the macro ACCEPT_USE_OF_DEPRECATED_PROJ_API_H'
  ^~~~~

mapproject.c で,proj_api.h を include する前に, ACCEPT_USE_OF_DEPRECATED_PROJ_API_H を定義してあげると, make が通るようになります.

% cat mapproject.patch
*** mapproject.c        2019/12/11 20:49:39     1.1
--- mapproject.c        2019/12/11 20:51:04
***************
*** 1,6 ****
--- 1,7 ----
  #include <stdio.h>
  #include <string.h>
  #include <stdlib.h>
+ #define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H
  #include <proj_api.h>

  static  projPJ pj_tmerc, pj_latlong;

もしくは,proj をバージョン5にするという解決策もあるようですが,,,悩みどころ.

参考までに,GitHub上のOSGeoのチケット

2019/10/23

Dropboxに写真を同期

iPad(昔はiPhone)で撮った写真と動画の管理って,Macだと意外(?)と面倒なようで,Macに接続してもストレージとしてマウントしてくれないので,何かのツールにお任せする必要があるようです(ホントか?).

最終的に,Dropboxに行き着いていたのだけど,どうも最近,iOS (iPadOS) のWi-Fiで同期済のものが,USBで有線接続したら重複してDropboxに入るようになってしまった.同期済みのものが「カメラアップロード」フォルダに残っていれば, -1.jpg のようなファイル名になって同定が用意なんだけど,既にrenameしていたり,移動していると何のことか良く分からない...

というわけで,Mac側の設定をOFFにしました.設定→インポートの「デバイス」から対象の端末を削除すれば良いようです.

2019/10/07

stdio.h が無いって・・・

久しぶりにコンパイルしようと思う度にひっかかるので自分でも書いておく.

/usr/local/lib/gcc/x86_64-apple-darwin17.5.0/8.1.0/include-fixed/stdio.h:78:10: 致命的エラー: _stdio.h: No such file or directory
 #include <_stdio.h>

よっぽど何かが壊れないとならなさそうな状況にOSをupdateするとなってしまう.まぁ,ともかく,
% open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
で良いそうだ.

Missing /usr/include w/ Xcode 10
macOS Mojave にアップデートしたら stdio.h がないって言われた