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

github classroom に挑戦

今年度のウェブプログラミングの講義は、github classroom を使ってみる。これまでにわかったこと:

  1. 講義資料は、資料作成用の団体を作成して、1課題1レポジトリで作成する。
  2. 課題管理には、別に課題管理用の団体を作成し、クラスルームからのアクセス権を与えてやる。
  3. 宿題リンクは、それがわかっていれば誰でも参加できてしまうので、公開できない。
  4. 学生の github アカウントと学籍情報を結ぶ仕組みは、要望としては上がっているが、まだ実装されていない。

年度ごとに別の課題管理団体を作成することで、同じ資料を使うことができる。

Posted in github classroom | Leave a comment

git をパスワード付きの秘密鍵で使っているときの tips

ssh-agent & ssh-add

で、毎回パスワードを入れる必要がなくなる。

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

gparted on Fedora fails to open display

http://gparted-forum.surf4.info/viewtopic.php?id=17446

This is because of the restriction on Gnome Wayland to prevent other users from opening a window. To avoid the failure, just execute

xhost +local:

to admit all local users to have access to the display. I added an alias in .bashrc as:

alias gparted = "xhost +local: ; sudo gparted"

Posted in 作業メモ | Leave a comment