2024年2月19日月曜日

英語配列のノートPCで日本語配列設定にしちゃった時に、アンダースコアを入力するTips

US配列のLG gram SuperSlimを購入した。で、Windowsの初期セットアップを始めたところ、最初に選択できるキー配列はMicrosoft IME(まあ要するに日本語配列)だけ。で、その後に「追加のキー配列」を選択できるのだが、後でやればいいやと思ってスルーしてしまった。

すると1回再起動して初期セットアップが続くのだが、ここでMicrosoftアカウントでのサインインを求められる。スキップボタンは無い。ネットワークを切断するとローカルアカウントでの設定に切り替えられるはずだが、ここは真面目にサインインしてみることにした。

ところが、キーボード設定をMicrosoft IMEにしていたため、英語配列でのアンダースコア(_)を押してもイコール(=)が出てしまうのである。さて困ったどうしようと思ったところ、アクセシビリティ機能の中に「スクリーンキーボード」という機能があることに気づいた。右下にある、人が両手両足を広げたようなアイコンだ。ここでスクリーンキーボードをONにするとMicrosoft IME互換のキーボードが画面上に表示されるので、この中にあるアンダースコアキーを使って無事入力に成功した。

2023年3月1日水曜日

ランキング推移をgnuplotで書いてみる

Excelはデータの可搬性が低かったりグラフの調整がしにくかったりと問題が多いので、相変わらずグラフの作成は基本的にgnuplotを使ってる。

で、ある資料でプログラミング言語の人気ランキングがどう変化するのか、みたいのを作る必要が出てきた。具体的にはgithubのブログに貼ってある感じのやつ。ポイントは

  • 縦軸は上から下に向かって1〜10位にしたい
  • 凡例はそれぞれの線の右端に書きたい
というところで、これを実現する設定を備忘録的に書いておく。

まずCSVデータは以下のようになる。

year,JavaScript,Python,Java,TypeScript,C#,C++,PHP,Shell,C,Ruby
2014,1,4,2,10,8,6,3,9,7,5
2015,1,3,2,10,7,6,4,9,8,5
2016,1,3,2,10,6,5,4,9,8,7
2017,1,3,2,10,6,5,4,8,7,9
2018,1,3,2,7,6,5,4,9,8,10
2019,1,2,3,5,7,6,4,9,8,10
2020,1,2,3,4,5,7,6,9,8,10
2021,1,2,3,4,5,7,6,8,9,10
2022,1,2,3,4,5,6,7,8,9,10

これをプロットするために、以下のように設定する。

# 線の右側に各プロットの名称を置きたいので、2年分余白を置く
set xrange [2014:2024]
# yrangeを[10:1]とすると10位と1位が外枠に張り付くので、ここも余白
set yrange [11:0]
# 横軸目盛は2022年までしか書かない
set xtics 2014, 1, 2022
# ticsの増分をマイナスにすると目盛の向きが反転する。今回一番の発見。
# ただし上限を1にすると1が表示されず、0にすると0が表示される。バグ?
set ytics 10, -1, 0.5
# 標準の凡例は用いない
set nokey
# ラベルを最新データの右側に置く
set label 1 at first 2022.5,1 "JavaScript"
set label 2 at first 2022.5,2 "Python"
set label 3 at first 2022.5,3 "Java"
set label 9 at first 2022.5,9 "C"

set label 10 at first 2022.5,10 "Ruby"
# カンマ区切りデータなのでセパレータを設定
set datafile separator ","

あとはこんな感じでプロットする。plotコマンド1つでusingを繰り返し書いてもいいのだが、1行ずつ別コマンドにしておきたかったのでreplotを使っている。

plot "githubrank.csv" using 1:2 w lp lw 3 pt 7 lc "dark-yellow"
replot "githubrank.csv" using 1:3 w lp lw 3 pt 7 lc "skyblue"
replot "githubrank.csv" using 1:4 w lp lw 3 pt 7 lc "dark-gray"

replot "githubrank.csv" using 1:11 w lp lw 3 pt 7 lc "black"
set term png
set output "rankingtest.png"
replot

これで結構いい感じのグラフが描けた。


2021年4月22日木曜日

新:東武東上線の迂回経路を考える

2009年に「東武東上線の迂回経路を考える」という記事を書いたが、リンクが古くなってるなど更新の必要を感じた(というかこの記事を書き始めた時点では、ちょうど東上線が止まっていて帰る算段が立たなかった)ので新しく記事を書くことにした。

2009年の記事は感覚的に
「東上線沿線でない場所にいて、東上線のどこかの駅に帰る」
前提で書いてみたが、今回の記事は
「東上線運転見合わせの時にどこか特定の駅にいて、そこから東上線以外の近隣の路線まで迂回・脱出する」
という視点で列挙してみる。まあ単に逆の経路を考えるだけなんだけど。

なお、特に川越より奥(坂戸・東松山・小川町方面)の迂回経路はかなり時間がかかるものが多い。運転見合わせが3時間以上になると思われるケースに限って利用すべきだと考える。人身事故の場合はたいてい1時間~1時間半で運転再開するので、迂回するよりは待った方が早いことが多い。今までの経験だと、以下のようなケースは復旧までの時間が長い傾向にある。
  • 架線が切れた(クレーン車や倒木が架線を切ったなど)
  • 踏切事故で自動車や歩行者が電車の下にもぐり込んだ(救出に時間がかかる)
  • 脱線(あれ終電まで動かなかったもんね)

池袋

考える必要なし。よりどりみどり。

北池袋

JR埼京線の板橋駅まで徒歩10分ほど。少し先まで歩けば都営三田線の新板橋駅がある。池袋駅でも徒歩20分程度で着く。

下板橋

ここもJR埼京線の板橋駅まで10分かからずに着く。都営三田線の新板橋駅も同様。

大山

最寄は都営三田線の板橋区役所駅(徒歩10分ちょい)。有楽町線/副都心線の千川駅までだと徒歩20分では厳しい距離。駅南側のハッピーロード(商店街)を行った先の川越街道には国際興業バスの第六小学校バス停があり、池袋・赤羽・光が丘方面へ行ける。

中板橋

都営三田線の板橋本町駅まで徒歩20分弱有楽町線/副都心線の千川駅小竹向原駅はいずれも30分程度はかかる模様。バス路線は駅前にはなく、北口から石神井川を渡って環七に出る(中板橋駅入り口バス停)と赤羽・新桜台・野方・高円寺に行ける。もしくは南口から滝野川信金の道を抜けて仲町バス停を目指すと、赤羽・池袋方面に行ける。

ときわ台

中板橋同様、板橋本町まで20分程度。ここは(都内の東上線駅としては珍しく)北口側にロータリーが整備されていて、王子・赤羽・志村三丁目方面への国際興業バスが頻繁にやってくる。

上板橋

都営三田線の志村三丁目駅まで徒歩30分弱。広い道がなくそこそこアップダウンもあるのでお勧めとはいえない。志村三丁目に行くなら、駅から少し離れた教育科学館バス停常盤台四丁目バス停から国際興業バスに乗る方がよいだろう。有楽町線/副都心線の氷川台駅も徒歩30分コースだが、こちらは川越街道を渡ったあと、城北中央公園脇のまっすぐな道を歩くのでわかりやすい。駅北口には京浜東北線の王子駅行き国際興業バスが20~30分ごとに来る(最終は20時台)ので、それに乗って板橋本町か東十条(京浜東北線)、王子神谷(南北線)あたりに抜ける手もあり、あるいは南口から川越街道沿いの桜川バス停に行けば池袋・光が丘方面のバスがある。

東武練馬

徒歩なら有楽町線/副都心線の地下鉄赤塚駅まで約20分。駅北口のイオンの前から、都営三田線高島平駅・西台駅や埼京線浮間舟渡駅への国際興業バスが頻繁に出ている。南口側のバス停は練馬区の「みどりバス」というコミュニティバス用で、迂回手段としては心もとない。川越街道沿いのドンキ近くにある練馬北町車庫まで行く方が圧倒的に選択肢が広い(池袋・光が丘・西武練馬・赤羽・石神井公園)。

下赤塚

南口から徒歩数分で川越街道直下の地下鉄赤塚駅に行ける。または川越街道の下赤塚バス停から石神井公園方面に向かう。北口側に下赤塚駅バス停もあり高島平駅にバスが出ているが、本数は少ない。

成増

下赤塚と同じく、南口から徒歩数分で川越街道直下の地下鉄成増駅がある。バスも豊富で北口側からは国際興業バスの高島平・赤羽方面が頻繁にある。南口は主に西武バスのテリトリーとなり、練馬高野台・石神井公園・大泉学園方面に行ける。川越街道の成増町バス停に行けば、上石神井・吉祥寺方面に向かうバスもある。

和光市

ここから埼玉県に入り、一気に迂回路事情が悪化する。徒歩やバスで「違う路線の駅」に向かうことが困難になる。とはいえ和光市は有楽町線/副都心線が乗り入れているためまだ何とかなる。また、南口からは西武バスで大泉学園に行ける。

朝霞

南口から西武バスで大泉学園に行ける。または北口から東武バスでJR北朝霞駅・東武東上線朝霞台駅へ向かう(名前は違うが同じ場所)。

朝霞台

上述の通り、JR北朝霞駅が目の前。東武とJRが同時に止まることは考えにくいが、西武バスがひばりが丘駅や東久留米駅へのバスをそこそこ頻繁に出している。国際バスで埼京線南与野行きの路線もあるにはあるが、本数が少なすぎて迂回には使いづらい。

志木

北朝霞駅まで徒歩(約20分)が最も確実な迂回路か。ただ西武バス(ひばりが丘・清瀬・JR新座駅など)もそこそこ本数が出ており、また国際バスの埼京線中浦和駅・京浜東北線浦和駅方面もある。

柳瀬川・みずほ台・鶴瀬

ここからはもうかなり絶望的な「東武が止まると陸の孤島」という駅が続く。柳瀬川からだと志木駅までは徒歩25分で、その後は志木からの迂回路を使うことになろう。国際興業バスも志木駅までの路線があるが、1時間に1本しかないうえに街中をクネクネ走るので、たぶん歩く方が早く着く。
これがみずほ台からだと志木駅まで45分、鶴瀬からは1時間を超え、徒歩での脱出はかなり困難となる。鶴瀬については東武バスで「ららぽーと富士見」に行って、志木行きの東武バス大宮行きの西武バスに乗り継ぐという技もあるが、どちらも1時間に1本程度で心もとない。
なお、ここから奥の駅はおおむねバスでの迂回が期待できないため、金に糸目を付けないならばタクる(=タクシー利用)選択もあるかもしれない。しかし都心と違ってタクシーの台数が限られており、躊躇しているとあっという間に待機中の空車が消えて長いタクシー待ちとなる。判断のスピードが求められるところ。

ふじみ野

引き続き陸の孤島。鶴瀬と同じくららぽーと富士見経由の脱出路が考えられるが、鶴瀬より本数が少ないのでさらに心もとない。隣の上福岡駅まで徒歩25分なので、そこからのバス脱出を考えるのがギリギリ現実的な線か。東武バスの上福岡駅行きは1日1〜2本なので絶対に期待してはいけない。

上福岡

われらの希望の星、西武バスの路線がなぜか来ている。といっても西武線方面の所沢行きは1日数本で全く期待できず、現実的な迂回路は駅前から少し離れた上福岡駅入口バス停からの埼京/川越線南古谷駅行きである(所要時間20分程度)。なお、南古谷駅まで徒歩で行くとすると、県道を道なりに行くのでわかりやすいものの、45分ほどかかる。

新河岸

バス路線はなく、徒歩での脱出一択。川越街道に出ればほぼ街道に沿って川越駅まで40分弱

川越・川越市

東武東上線のアノマリー。ここだけ東武東上線、JR埼京/川越線、西武新宿線という3路線が集中しており、迂回路には事欠かない。また東武バスがJR上尾・桶川・鴻巣までの路線(いずれも所要時間1時間程度)を持ち、それぞれ本数は少ないもののバスでの迂回もそれなりに期待できる。西武バスの路線もあるが新狭山・新所沢行きなので、西武新宿線が動いている状態なら特に有難みはない。
なお、川越が迂回の拠点であることに加え、川越より奥は完全に車社会なので、長時間の運転見合わせが生じた場合に「川越まで車で迎えに行く/送る」ための大渋滞が発生することがある。タクシーやバスを利用して迂回する場合、この点に注意が必要。

霞ヶ関・鶴ヶ島

霞ヶ関駅からはJR川越線の的場駅まで徒歩20分弱。川越線は1時間3本程度のローカル線だが、まあまあ使える迂回路といえる。鶴ヶ島駅からだと的場駅まで徒歩40分を超え、かなり厳しくなる。東武バスのいせはら団地行きに乗れば終点から徒歩15分程度で的場駅に着くので、まだましか。

若葉

川越に行く東武バスの路線があるが、半分くらいが途中の東坂戸団地で止まってしまい、川越まで通しで乗れるのは1時間に1本程度。坂戸まで徒歩25分程度なので、行き先次第ではそこからの展開を考える手もある。あと若葉には工業団地があるためか、他の駅より若干タクシーの台数が多いように思う(個人の感想です)。

坂戸

東武越生線(おごせせん、と読む)の接続駅。越生線は東上線とは完全に別系統なので、東上線が運転を見合わせていても涼しい顔で動いている。ただし越生線は1時間に3本程度のうえ、行き先が八高線の越生駅という辺境なので、例えば越生線経由で川越に行くには1時間半くらいかかる。東上線が3時間以上止まるような状況、または八高線沿いの駅(飯能・拝島・八王子など)に行きたい場合に限った迂回路と考えるべきだろう。小さいながらもホテルはあるので、遅い時間の場合は諦めて部屋を取る方がよいかもしれない。

北坂戸・高坂

いずれも迂回に使えそうなバス路線は無し。北坂戸からは坂戸まで25分歩いて、そこからの展開を考えるくらいしかない。
高坂に至っては東松山まで徒歩50分、坂戸まで徒歩1時間20分。どちらの駅に向かうにも渡河(もちろん橋はあるが)が必要で、特に夜は心細いことこの上ない。宿泊施設やネットカフェもなく、動くめどが立たないならとっととタクるのが妥当。

東松山

この辺りは東武グループの朝日自動車…のさらにグループ企業がバス路線を持っていて、意外にJR高崎線沿線との行き来がしやすい。川越観光自動車が鴻巣免許センター行きのバスをそこそこの本数走らせていて、これで鴻巣駅へ向かうことができる(約30分)。また国際十王交通が熊谷駅までの路線を持っている(約40分)。東松山はホテルもそこそこの数があるので、泊まってしまう手もあるだろう。

森林公園

国際十王交通が熊谷駅までの路線を運行している(約40分)。ただし途中の立正大学止まりが半分近くあるので、必ずしも本数は多くない。東松山駅まで徒歩で行くなら40分というところ。

つきのわ・武蔵嵐山

つきのわ駅は宅地分譲とセットでできた比較的新しい駅だが、車社会なのでバス路線は皆無。森林公園駅まで徒歩40分というのが、かろうじて迂回路となるか。
武蔵嵐山はさらに絶望的…と思ったら、意外や意外、近隣のときがわ町が運行する路線バスでJR八高線の明覚駅に向かうルートがある。本数的にそこまで期待はできないが、ここまで都心から離れ、乗換駅でもないのに迂回路があるのは稀有なことと言える。

小川町

東上線の実質的な終着駅。ここから寄居までの間は同じ東上線でも折り返し運転のローカル区間で、池袋~小川町の運転見合わせの影響はまず受けない。したがって、寄居まで行って秩父鉄道に乗り換え、熊谷に向かうことが可能(トータルで1時間と少々)。またこれもローカル線ではあるがJR八高線との乗り換え駅なので、高麗川経由で川越・飯能・拝島・八王子にも行ける。タイミングさえ合えば川越まで1時間、八王子へは1時間20分程度。本数は少ないとはいえ、国際十王交通の熊谷行きバスもある。

以上、参考になれば。

2019年12月9日月曜日

Thunderbirdで日本語変換がうまく動かない問題

しばらく前から、Windows版Thunderbirdで

  • メール作成ウィンドウや検索フォームなどで日本語を入力しようとしても、ローマ字→ひらがな変換された段階で確定してしまう(漢字変換できない)
  • 日本語変換モードのホットキーで切り替えても症状に変化なし
  • タスクバーのIME表示(状態に応じて「あ」とか「A」に表示が変わる部分)をクリックして切り替えると漢字変換できるようになる
  • Thunderbirdを終了して再度実行すると元の木阿弥。
という症状が出ていて、いちいちクリックしないといけないのが面倒だった。

で、とりあえずの対策(workaround)として「intl.tsfをdisableにする」というのがあったので試してみた。2つの環境で問題が解消されており、今のところ副作用が無いのでこれで様子見。

設定エディタをいじったことが無い人向けに書いておくと、手順は以下の通り。
  1. Thunderbirdメインウィンドウ右上の三本線(設定メニュー)からオプション→オプションを選択して、オプションタブを開く
  2. 左側のメニューから「詳細」を選び、右側ペインの一番下にある「設定エディタ...」を押す
  3. 「動作保証対象外になります!」と出てくるが、もともと保証なんかあった覚えがないので「危険性を承知の上で使用する」を押す
  4. 検索フォームに "intl.tsf.enable" と入力すると多分「真偽値 true」になっているはずなので、ダブルクリックして「false」に変更してウィンドウを閉じる
  5. Thunderbirdを再起動

2019年3月24日日曜日

自動車の変更登録(住所+保管場所)をオンラインでやってみる

車の車検証には所有者・使用者の住所が書かれている。リースとかローンでないので、手元の車検証は所有者住所のみだ。

引っ越すと当然これらの情報を更新する必要があるのだが、だいたい引っ越し時期は忙しい。しかも保管場所を変更するとなると、まず警察で車庫証明を取得し(申請と受け取りで2回!)、そのうえで陸運局に行って変更登録を行う必要がある。まったくもって前時代的な手続きだ。

と思っていたらさすがに電子化のご時世、車庫証明も変更登録も(少なくとも地元の県では)オンラインでできるようになったらしい。ということで、試しにやってみることにする。

必要なもの

  • マイナンバーカード+カードリーダー。オンラインの確定申告(e-Tax)をやっていれば準備してあるかも。
  • Internet Explorer 11。官公庁ならではのクソ仕様。EdgeとかChromeとかでも「動作保証外」という書き方にはなっているのだけど、結局ActiveXをインストールしないといけないのでIE11一択になる。まさにクソ。
  • 現在の車検証(に書かれている内容)。

手順

1. 申請者等に関する入力

今回は使用者の住所変更のみを選択する。住民票を動かさず、本拠だけ動かすような場合は本拠の変更になるのだろうし、他にもいくつか変更のパターンがあり得る。
最初の難関はマイナンバーカードの読み込み。e-Taxで慣れたので(あれも事前のアドオン設定で色々引っかかったが)まあ何とかなる。マイナンバーは何種類もパスワードやら暗証番号が設定されているが、ここでは「署名用パスワード」を使う点に気を付ける。

これで住所が自動で入るから楽…と思ったら、11桁の「住民票コード」を入力する欄がある。これは必須でないが、入力すると住所変更を証明するための書類(たぶん住民票だよな)の提出を省略できるらしい。それ先に言ってよ…住民票コードなんて覚えてないよ…

さらに、せっかく住所をマイナンバーカードから読み取っているのに、そのあとに「自動車登録関係コード」として都道府県・市区・町村コードを入れないといけない。検索システムへのリンクがあってそれで調べることはできるのだが、お前ら何のためにマイナンバーカード読み取ったんだよと言いたくなること請け合い。

2. 保管場所に関する入力

添付書類(JPEGファイル、1024x768程度、100KB程度にする)を事前に用意しておかないとタイムアウトするので注意。自宅と駐車場が異なる敷地の場合は、まず位置関係図を書かないといけない。そのうえで駐車場の見取り図が(同敷地内であっても)必須となる。貸し駐車場や賃貸物件内駐車場の場合、賃貸契約書が必要。

3. 自動車税に関する入力

これが一番悩んだ。自動車税と自動車取得税のそれぞれについて、課税区分を選択する必要があるのだが、「その他」しか選択肢がない。選択しないとエラーになるし、選択すると今度は「その他の場合に必ず何か記入しないといけない欄」が現れる。ところが、この項目だけはなぜかヘルプが無いのだ!
しょうがないので、「記入要領が無いので何を記入すればよいのかわからない」と記入しておいた。

さて、以上をすべて入力し終わると項目ごとに確認画面が出て、都度チェックを入れては進んでいく(面倒)。すべてを提出すると入力内容を保存することができるらしいんだが、これまたMHTMLファイルなので再度開こうと思っても開けない。
で、結局審査で必要な書類(転居履歴を確認できる住民票とか)を提出せいと書いてあるのだけど、どうやって提出するの?ていうかいつ提出するの?

(2019/06/04追記)

結局書類不足とかで却下された。多分転居履歴を確認するための住民票が提出されてない、ということなのだろうと「推測」するが、本当にそれが理由なのかも通知されないのでわからない。もう1回試してみるかなあ…

2018年12月12日水曜日

PayPayのキャンペーン、1万円×10件と10万円×1件はどちらが得か

入門編的な確率の問題。

電子決済サービスのPayPayが、2018年末に「100億円あげちゃうキャンペーン」というのをやっている。決済1回ごとに抽選を行い、当選したら決済金額相当(最大10万円まで)を丸々ポイントバックするというものだ。

たとえばこれで買い物をする場合、同じ10万円分の決済を
  • 『10万円まとめて決済する』のと
  • 『1万円ずつ10回に分けて決済する』のと
どちらが得と言えるだろうか?という話。(明日の講義でそのまま出そうかな)

当選確率は加入者のステータスによって変わるが(ワイモバやSBのユーザーだと確率が上がるとか、まあそういうことね)、とりあえず標準の「40回に1回の確率」=0.025をベースに考えよう。別にここが0.05でも0.1でも、この後の議論に本質的には影響しない。

平均で比べる

一番分かりやすいのは、「平均いくらのポイントがもらえるか」の比較だろう。

10万円まとめて決済する場合、確率$0.025$で当選した場合10万円が得られ、確率$(1-0.025)=0.975$で0円が得られる。すなわちポイントバック額の平均は
\[ 100000\times 0.025 + 0\times (1-0.025) = 2500 \]
ということで平均2500円。
これに対して、1万円ずつ10回に分けた場合は1回のポイントバック額平均が
\[ 10000\times 0.025 + 0 \times (1-0.025) = 250 \]
となり、これを10回行うので平均はやはり2500円となる。つまり平均額に違いはない

当たる確率・外れる確率で比べる

「外れる」といっても、これは何回かの抽選を行って「一度も当たらない」という意味である。
10万円まとめての決済だと、抽選の機会は一度きりなので、当たる確率は$0.025$, 外れる確率は$(1-0.025)=0.975$。
これに対して、1万円ずつ10回決済する場合は抽選が10回行われる。これで一度も当たらない確率は
\[(1-0.025)^{10} = 0.7763\ldots\]
である。言い換えれば最低1回は当たる(場合によっては2回3回…10回当たるかも)確率は0.22程度であり、「当たった!」という喜びを得られる確率は高くなる

当たった時のポイントバック額で比べる

確率が高いとは言え、これは当たった際のポイントバック額を犠牲にして当たる悦びを追っているとも言える。10万円まとめての決済だと、確率0.025で当たった時は当然10万円が得られる。
これに対して、1万円ずつ10回の決済だと、10回のうちちょうど1回当たる確率はおおよそ0.2だが、ポイントバックは1万円だけ。10回のうち2回当たる確率は0.023で、1回だけの抽選で当たる確率より既に低いのである。しかもその時に得られるポイントバックは2万円。10回やって10回当たる確率は小数点のうしろに0が16個も付くほどの小さな値であり、10万円が得られる可能性はほぼ無いと言える。

分散という指標

つまるところ、10万円の決済を1回でやる場合と、1万円の決済を10回やる場合の違いは

  • 確率は低いが、当たった時のポイントバックが大きい方がいいと考えるか
  • ポイントバックの額は犠牲にして、当たって欲しいと考えるか
という違いであり、平均としては変わらない。これをうまく表現するための指標が、分散である。
この例でいくと、分散とは当たった時/外れた時のポイントバック額と、平均額とのずれがどの程度大きく生じるかを表している。分散が大きければ損も得も大きく、小さい場合は損得それぞれ平均に近いところで小さく振れる。分散には2乗の計算が含まれるので、元の数値(ここでは円という通貨)に単位を合わせるため、標準偏差(分散の平方根を取った値)を用いることも多い。

具体的には、10万円の決済1回の場合の標準偏差$\sigma$は
\begin{align*}
\sigma & = \sqrt{(100000-2500)^2 \times 0.025 + (0 - 2500)^2 \times (1-0.025)} \\
& = 15612.5\end{align*}
であるのに対して、1万円の決済10回の場合は
\begin{align*}
\sigma & = \sqrt{10 \times ((10000-250)^2 \times 0.025 + (0 - 250)^2 \times (1-0.025))} \\
& = 4937.1\end{align*}
となり、決済を10回に分ける方が標準偏差が小さい(=分散も小さい)ことが分かる。これが、損得の振れ幅が小さくなっているという意味である。

2018年6月28日木曜日

CentOS7でOpenVPNを動かしてみた件

はいはい備忘録備忘録。

1. インストール

以下、全部管理者権限で。
標準ではパッケージが用意されていないが、ソースから作るのも(アップデートとかを考えた際に)めんどいのでEPELを追加する。
# yum install epel-release
続いてopenvpnと、お手軽な証明書生成スクリプトのeasyrsaをインストールする
# yum install openvpn easy-rsa

2. 証明書と鍵の生成

 この辺のページこの辺のページを参考にしつつ作業。要するにまず認証局(CA)を作り、それをベースにサーバ側の証明書と秘密鍵の生成、という順序でやる。EPELパッケージでのeasyrsaスクリプトは/usr/share/easy-rsa//の下にある。
まず初期化。
/usr/share/easy-rsa/3/easyrsa init-pki
続いてCAの作成。
 # /usr/share/easy-rsa/3/easyrsa build-ca
鍵を利用するためのパスフレーズを2回入力し、Common Name(適当な名前)を入力する。このとき、カレントディレクトリにpkiというディレクトリが作成され、pki/ca.crt(証明書)とpki/private/ca.key(秘密鍵)が出来る。
次にサーバ証明書と鍵のペアを生成。
# /usr/share/easy-rsa/3/easyrsa build-server-full server nopass
 pki/issued/server.crt(証明書)とpki/private/server.key(鍵)が生成される。
(これは順不同)DHパラメータの生成。ちょっと時間がかかる。
# /usr/share/easy-rsa/3/easyrsa gen-dh
pki/dh.pemが生成される。まとめると、以下のファイルがカレントディレクトリ下に出来たことになるので、これらをまとめて/etc/openvpn/にコピる(設定ファイルで絶対パスを指定できるので、適当なディレクトリに置いても構わない)。
pki/ca.crt
pki/private/ca.key
pki/issued/server.crt
pki/private/server.key
pki/dh.pem

3. OpenVPNサーバの設定

設定ファイルは標準で/etc/openvpn/server.confだが、とりあえずサンプルをコピって修正してもよい。
# cp /usr/share/doc/openvpn-/sample/sample-config-files/server.conf /etc/openvpn/
以下の設定が有効になっていることを確認する。(行頭にシャープまたはセミコロンがあるとコメントアウトされた状態なので、有効にしたい場合は外す)
proto udp #tcpだと遅くなる
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem
topology subnet
push "route 192.168.0.0 255.255.255.0" #VPN経由でアクセスしたいサブネット
tls-auth /etc/openvpn/ta.key 0
user nobody
group nobody
で、tls-authで用いるta.keyを生成する。
# openvpn --genkey --secret /etc/openvpn/ta.key
標準ではポート1194を使うので、開けておく。
# firewall-cmd --add-service=openvpn --zone=public --permanent

英語配列のノートPCで日本語配列設定にしちゃった時に、アンダースコアを入力するTips

US配列のLG gram SuperSlimを購入した。で、Windowsの初期セットアップを始めたところ、最初に選択できるキー配列はMicrosoft IME(まあ要するに日本語配列)だけ。で、その後に「追加のキー配列」を選択できるのだが、後でやればいいやと思ってスルーしてしま...