2018年6月29日金曜日

Python PIP error on macOS Sierra: There was a problem confirming the ssl certificate

Sierraに変更してから数日が経ち、必要な開発環境は全て動作確認が出来た。そこで、趣味のPython環境を整えようと思って、pip installしようとしたら、
Could not fetch URL https://pypi.python.org/simple/mpmath/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) - skipping
 こんなエラーが出た。おそらくTSL認証のデータがExpireしたのだろう。いつものようにググってみたところ、pipをpipを使わずにアップグレードする必要があるとのこと。まあ、もっともですね。そこで、
curl https://bootstrap.pypa.io/get-pip.py | sudo python
とやって、アップグレード完了しました。よかった。簡単で。

2018年6月26日火曜日

CUDA Toolkit 8.0GA2 on macOS Sierra

今更ながら、macOS Sierraにアップグレードした。いままではなんと Mac OS X 10.9 Maverickだったのだから、いきなりマイナーバージョンを一気に3つも上げたことになる。一応、外付けにインストールして、幾つかの必須プログラムが動作することを確認したから、安心はしていた。
ところが、アップの理由のCUDA Toolkit 8.0の環境がまともに動かない。nvccを動かそうとすると、
nvcc fatal   : The version ('90000') of the host compiler ('Apple clang') is not supported
とでてサポートしていないことを表示してくる。でもこれではどのバージョンならサポートするのかも分からない。nVidiaのサイトを調べてもどうにも拉致が行かない。仕方が無いので、AppleからCommand Line Toolkitを8.0から9.0までダウンロードして調べてみた。すると、8.0 - 8.2.1まではOKだが、8.3より新しいとコンパイラが新しすぎてサポート対象外となってしまうことがあきらかになった 。たぶん、Documen.nvidia.comかなんかには有ったのだろうが今は最新の文書しか見当たらない。
それで、Xcode 8.2.1とXcode9.2を併存させることにした。切り替えは、
sudo xcode-select -s /Applications/Xcode.app
としてやればよい。または、環境変数、DEVELOPER_DIR を指定してやっても動作する。
setenv DEVELOPER_DIR /Applications/Xcode821.app/Contents/Developer
この方が影響がそのTerminal上のSchell上だけで済むので良いかもしれない。
#しかし、Xcode 8.2.1のダウンロードとセキュア展開の時間のかかること掛かること。

2018年6月21日木曜日

ant by Fink

antをFinkでインストールした。
 > fink install ant
ところが、
> ant
エラー: メイン・クラスorg.apache.tools.ant.launch.Launcherが見つからなかったかロードできませんでした
となってしまう。で、
> setenv ANT_HOME /sw/lib/ant
としたら動くようになりましたとさ。

2018年5月29日火曜日

Android and Java java.lang.ClassNotFoundException: libcore.util.ZoneInfo

Androidで出力されたデータを、少し修正したかったので、ファイルを開発用PC(macOS)に転送した。Serializeされていたデータなので、おまかせで読み込んだところ、
java.lang.ClassNotFoundException: libcore.util.ZoneInfo
が帰ってきて読み込めない。 ぐぐってみたがなかなか情報が見つからない。
結局、Android RuntimeとJava Runtimeでは互換性が保証されているわけではなく、Calendarはその問題点が残念ながら発生しているらしかった。つまり、サーバとAndroid端末間で、CalendarをSerialize出来ないと言うことを意味する。これはイヤなので、仕方が無いので、getTimeInMillisを使ってlongとして日付は取り扱うことにする。
やれやれ。

2018年3月19日月曜日

Android Application ID

Javaのpackage名の制約は、ドットで分けられた各セグメント名は、ASCII文字つまりアルファベットと、アンダースコアから始めなければいけないと言うもの。だから、ドメイン名に数字を使っているうちみたいな(3wells-computing.com)ところでは、
  package com._3wells_computing.foo;

のようにハイフンをアンダースコアに、数字で始まるところにはアンダースコアをつかうことが例に示されている。
ところが、アンドロイドのアプリケーションIDの規則では、アンダースコアで始まるのも不許可となっている。なのに、数字ドメインに対する推奨方法見たいのは全く示されていない。
みんな数字を文字に変えたりして対策しているようだが、ここで困るのは、とりあえずつけたは良いけど、後々変更したドメインのサイトが出ないかという心配。争いごとのたねは作りたくは無いところ。
困ったなあ。

2018年3月13日火曜日

Uninstall Android Studio on macOS

Windowsみたいにアンインストーラーがシステムにあれば良いんだけど。最近では、
%> make  uninstall
で丸ごと消せるオープンソースもあるというのに。

macOSでは、Android Studioを消去するには、以下の様にすると良いようだ。

rm -rf /Applications/Android\ Studio.app
rm -rf ~/Library/Preferences/AndroidStudio*
rm -rf ~/Library/Preferences/com.google.android.*
rm -rf ~/Library/Preferences/com.android.*
rm -rf ~/Library/Application\ Support/AndroidStudio*
rm -rf ~/Library/Logs/AndroidStudio*
rm -rf ~/Library/Caches/AndroidStudio*
rm -rf ~/.AndroidStudio*
rm -rf ~/Library/Android*
rm -rf ~/.gradle
rm -rf ~/.android

あと、自分で作成したプロジェクトファイルも消すならそれも。

2018年3月1日木曜日

中国からの通販

8,9年前に買っていたマイコンを使ってやろうと、いろいろツールを弄くっていて、それと同時にブレッドボードで回路にしていぢっている。
絶縁ビニールが導体にまかれ、両端が直角になってブレッドボードにさして使う針金のジャンパーワイアをもっているけど、LCDやらセンサーやら繋ごうとするとメスーメスやらメスーオスやらのワイヤが欲しくなった。で、いつもは秋月さんで物色するんだけど、今回はアマゾンさんで探してみると、この手の部品が恐ろしい値段で並んでる。ジャンパーワイアが40本で100円しない。送料も込み。よく見ると郵送に大分時間がかかるようだ。最大2週間。あらかたこの手のは中国から送られてくるようだ。試しに別々の所から、別々のワイアを購入してみた。
結果、5個所からで、届くのに10日から2週間が3つ。残りの2つは届かなかった。ただどれもメールでの応対は非常に反応が良く、1,2時間で返事が来る。届かなかったのは、ちゃんとリファンドしてくれたし、再送もしてくれた。
想像するにメールのやり取りは日本人なんじゃないだろか。日本語だし。でもちょっと間違いもあるんだよな。
結論、バックレられる事は無かったけど、手に入らないこともあると。ちょっと困るよな。でも、値段がおかしいから仕方が無いかねぇ。