A trap of sdkmanager

android sdk の sdkmanager で「tools」をアップデートしようとすると、自分の立っている場所を自分で書き換えようとしてコケる。

tools フォルダを関係ない場所に移動しておいてからアップデートするとよい。アップデート後は、移動したフォルダは削除しておく。

https://stackoverflow.com/questions/43796568/cant-update-tools-android-sdk-command-line-tools-for-windows

Posted in Uncategorized | Leave a comment

Mattermost バージョンアップ

メモメモ:
/opt/mattermost/…
/var/mattermost/data/…
mattermost:mattermost

Posted in Uncategorized | Leave a comment

Eclipse + OpenCV on Windows

新しいマシンに Eclipse + OpenCV を入れる話。

https://www.lesliesikos.com/install-opencv-3-2-with-eclipse-neon-on-windows-10/

作業メモ:

Eclipse インストール http://www.eclipse.org/downloads/
→ JDK がないといわれるのでインストール http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Eclipse(Oxygen) C/C++ IDE
jdk8u152

OpenCV のソースつきパッケージダウンロード(開発環境がまだ 2.4  なのでそっちに合わせる)→ c:\opencv に展開

OpenCV 2.4.13.4

ビルドのため MinGW をインストール (c:\mingw-w64) https://sourceforge.net/projects/mingw-w64/
C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin をパスに追加

MinGW 7.2.0 / x64

CMake のバイナリインストーラを入れる。(標準パス) ユーザのコマンドパスに追加するオプションを選ぶ。

Download

 

CMake を立ち上げ、source に opencv 内の source フォルダ、build に新しいビルドフォルダを作成して指定→configure

Eclipse Oxygen では Program Files ではなく Users フォルダ下にインストールされる。これが見つからない。eclipse.exe を探し出してCMAKE_ECLIPSE_EXECUTABLE に指定する必要がある。CMAKE_ECLIPSE_VERSION が最新で 4.5 Mars だったが、これを指定してみたら動いた。

eclipse を起動し、project browser ペインで右クリック→import→General の中の「Existing Projects into Workspace」→root directory にさっき作ったビルドフォルダを指定→finish

 

Posted in Uncategorized | Leave a comment

SRC サイトも ssl 化完了

Student Research Conference(SRC) 用サイトも、SSL 化した。こっちは、特に何も起きそうになかったので、http → https へ自動的に転送してみた。ちゃんと動いているらしい。(外部から src.tama.ac.jp が引けなくなっていたのは、学内ネットワークの大幅更新のせい)

Posted in ソフトウェア, 作業メモ | Leave a comment

WordPress + MultiSite + Let’s Encrypt

WordPress のマルチサイトで、HTTP → HTTPS に移行しようとすると、site URL が書き換えられなくてハマる。直接データベースを書き換えろということなので、ちゃちゃっと作業する。

MariaDB [wordpress]> select * from wp_options where option_name like 'siteurl';
+-----------+-------------+------------------------------------+----------+
| option_id | option_name | option_value                       | autoload |
+-----------+-------------+------------------------------------+----------+
|         1 | siteurl     | http://iis.edu.tama.ac.jp/projects | yes      |
+-----------+-------------+------------------------------------+----------+
1 row in set (0.00 sec)

MariaDB [wordpress]> begin;
Query OK, 0 rows affected (0.00 sec)

MariaDB [wordpress]> update wp_options set option_value='https://iis.edu.tama.ac.jp/projects' where option_id=1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

MariaDB [wordpress]> commit;
Query OK, 0 rows affected (0.10 sec)

Source: WordPressのマルチサイトの親サイトのサイトURLを書き換える方法 | Dr.Clover’s Computer Clinic

Posted in Uncategorized | Leave a comment

Getting Started – Let’s Encrypt – Free SSL/TLS Certificates

時流に乗って、ゼミサーバ(ここ)を SSL 対応にした。認証には、去年くらいから話題になっていた Let’s Encrypt を使用した。With Shell Access で「コマンドを打ちます」宣言すると、「certbot パッケージを入れてコマンドを打てば設定まで自動的に書き換えます」とな。

apache のメインサイトの conf ファイルになぜか virtualhost が2つも書いてある(1つは空欄)というエラーでしばらく引っかかったが、それを除けば5分で SSL 対応が完了した。

すごい時代になったものだ。寄付しておこう。(とりあえず http の方もしばらくは残す)

Source: Getting Started – Let’s Encrypt – Free SSL/TLS Certificates

Posted in ソフトウェア, 作業メモ | 1 Comment

networkx + matplotlib

networkx の draw だとコケて、draw_networkx だと動く。networkx のちゃんとまとまった解説サイトが見つけにくい。

>>> import matplotlib.pyplot as plt
>>> import networkx as nx
>>> G = nx.Graph()
>>> G.add_edge(1,2)
>>> G.add_edge(1,3)
>>> nx.draw(G)

Warning (from warnings module):
  File "/home/idehara/.local/lib/python3.6/site-packages/networkx/drawing/nx_pylab.py", line 126
    b = plt.ishold()
MatplotlibDeprecationWarning: pyplot.hold is deprecated.
    Future behavior will be consistent with the long-time default:
    plot commands add elements without first clearing the
    Axes and/or Figure.

Warning (from warnings module):
  File "/home/idehara/.local/lib/python3.6/site-packages/networkx/drawing/nx_pylab.py", line 138
    plt.hold(b)
MatplotlibDeprecationWarning: pyplot.hold is deprecated.
    Future behavior will be consistent with the long-time default:
    plot commands add elements without first clearing the
    Axes and/or Figure.

Warning (from warnings module):
  File "/usr/lib64/python3.6/site-packages/matplotlib/__init__.py", line 920
    warnings.warn(self.msg_depr_set % key)
UserWarning: axes.hold is deprecated. Please remove it from your matplotlibrc and/or style files.

Warning (from warnings module):
  File "/usr/lib64/python3.6/site-packages/matplotlib/rcsetup.py", line 152
    warnings.warn("axes.hold is deprecated, will be removed in 3.0")
UserWarning: axes.hold is deprecated, will be removed in 3.0
>>> nx.draw_networkx(G)
>>> plt.show()

Posted in ソフトウェア, 作業メモ | Leave a comment

Extension:ParserFunctions – MediaWiki

Debian アップグレード後、MediaWiki のテンプレートが全然動かないぞーと思ったが、パーサはエクステンションで実現されているのをすっかり忘れていただけだった。LocalSettings を書き換えて、事なきを得た。

 

Source: Extension:ParserFunctions – MediaWiki

Posted in ソフトウェア, 作業メモ | Leave a comment

Debian stretch

2年に一度の大仕事、debian のアップグレードに取り掛かった。今回危なかったのは2件:

  • redmine が、gem の不調でマイグレーションに失敗 → データベースをもとに戻し、redmine をいったん削除し、gem を直接叩いてエラーを消してから再インストール
  • mailman が cgi-bin を参照しに行ってしまった。多分、apache の設定ファイルを「書き換える」にしてしまったため。もとに戻す。

無事、アップグレードが終了した。

Posted in ソフトウェア, 作業メモ | Leave a comment

とあるシミュレーション

連休明けまでに書けばいいやと思っていた講義用のシミュレータが、2時間後の実験に必要であることが判明して、30分で書く。

import random

deck = range(2,10)
deck += [10] * 4
deck += [11]

deck *= 4

result = { j:{i:0 for i in range(17,23)} for j in range(2,12) }

print("Deck check")
print(deck)

for c in range(1000):
    random.shuffle(deck)
    hand = deck[-1]
    if deck[-1] == 11:
        hasa = 1
    else:
        hasa = 0
        
    for draw in deck:
        hand = hand + draw
        if draw == 11:
            hasa += 1
        if hand > 21 and hasa > 0:
            hand = hand - 10
            hasa -= 1
        if hand >= 17:
            break

    if hand>21:
        hand = 22

    result[deck[-1]][hand] += 1

print("Simulation Result")
for k, r in result.iteritems():
    print("%d : %s" % (k, r) )

実行結果

Simulation Result
2 : {17: 7, 18: 8, 19: 6, 20: 13, 21: 8, 22: 34}
3 : {17: 10, 18: 11, 19: 19, 20: 6, 21: 13, 22: 31}
4 : {17: 13, 18: 11, 19: 6, 20: 10, 21: 7, 22: 33}
5 : {17: 15, 18: 10, 19: 13, 20: 9, 21: 3, 22: 31}
6 : {17: 22, 18: 8, 19: 14, 20: 6, 21: 5, 22: 30}
7 : {17: 27, 18: 10, 19: 3, 20: 5, 21: 6, 22: 19}
8 : {17: 5, 18: 41, 19: 13, 20: 12, 21: 7, 22: 17}
9 : {17: 0, 18: 0, 19: 0, 20: 0, 21: 0, 22: 0}
10 : {17: 56, 18: 41, 19: 13, 20: 129, 21: 48, 22: 71}
11 : {17: 12, 18: 10, 19: 7, 20: 6, 21: 23, 22: 7}

Posted in Uncategorized | 1 Comment