2022年3月

ログ一覧

03月31日(木)

Ubuntu側でPowerShellを呼び出す。

$ cat test.ps1
                        echo Hello
                        
                        $ powershell.exe ./test.ps1
                        ./test.ps1 : ファイル \\wsl.localhost\Ubuntu\home\watanabe\test.ps1 を読み込めません。ファイル \\wsl.localhost\Ubuntu\home\watanabe\test.ps1 はデ
                        ジタル署名されていません。このスクリプトは現在のシステムでは実行できません。スクリプトの実行および実行ポリシーの設定の詳細については、「about_Exe
                        cution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
                        発生場所 行:1 文字:1
                        + ./test.ps1
                        + ~~~~~~~~~~
                            + CategoryInfo          : セキュリティ エラー: (: ) []、PSSecurityException
                            + FullyQualifiedErrorId : UnauthorizedAccess

うまくいかない。

Powershell側でセキュリティポリシーにBypassを指定。

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser

WSL側でもう一度実行。

$ powershell.exe ./test.ps1
                        Hello

実行できた。

テンポラリファイルの作成はmktemp

$ mktemp
                        /tmp/tmp.zmT3f40DJj
                        
                        $ mktemp
                        /tmp/tmp.H5kr0JbakZ

これにps1つければよさそうだな。

echo `mktemp`.ps1
                        /tmp/tmp.qkOuZhtCSi.ps1

PowerShell側で引数受け取りやファイル名抽出やって完成。備忘録として記事にしておいた。

研究室ミーティング。トラブルにより輪講は延期。

片桐さんと大島さんの教科書、書評書いた。比較のために数値解析の基礎 (篠原 能材著 理工学基礎シリーズ 日新出版)を引っ張り出したが、付箋がいっぱいついてる。結構がんばって読んでたんだな。

Amazonでのこのレビュー、多分著者本人だな・・・

家に帰る際、急に猛烈な吐き気。家に帰って吐いてしまった。

03月30日(水)

シミュレーション工学、第二回スライド作り終わった。これで少しは息をつけるか。

Twitterとかに意見を書くのはだめだな。有益な意見より、完全に面倒さがまさる。スライドとか、技術記事を書いたよ、というニュースフィードにしか使えない。

研究室所属学生名簿提出した。

03月29日(火)

WSLからWindowsにショートカットを作る。

$HOMEにファイルを作る。

cd
                        echo "Hello" > test.txt
$WshShell = New-Object -comObject WScript.Shell
                        $Shortcut = $WshShell.CreateShortcut("$Home\Desktop\test.txtへのショートカット.lnk")
                        $Shortcut.TargetPath = "$Home\test.txt"
                        $Shortcut.Save()

これを実行すると、デスクトップにtest.txtへのショートカットを作ることができる。

これは、コマンドラインからは実行できるが、test.ps1として実行すると、

./test.ps1 : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Users\watanabe\test.ps1 を読み込むこと
                        ができません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してく
                        ださい。
                        発生場所 行:1 文字:1
                        + ./test.ps1
                        + ~~~~~~~~~~
                            + CategoryInfo          : セキュリティ エラー: (: ) []、PSSecurityException
                            + FullyQualifiedErrorId : UnauthorizedAccess

と言われてしまう。セキュリティの問題らしい。

現在のポリシーを知るにはGet-ExecutionPolicyを実行する。

$ Get-ExecutionPolicy
                        Restricted

スコープごとのポリシーの状態を調べるには-Listを指定する。

$ Get-ExecutionPolicy -List
                        
                                Scope ExecutionPolicy
                                ----- ---------------
                        MachinePolicy       Undefined
                           UserPolicy       Undefined
                              Process       Undefined
                          CurrentUser       Undefined
                         LocalMachine       Undefined

未指定(Undefined)の場合はRestricted(全てのスクリプトの実行を許可しない)が適用される。ポリシー一覧はこちら

ここでは、RemoteSignedを指定する。これはローカルなスクリプトは署名なしで実行できるが、インターネットからダウンロードされたスクリプトは署名を要求する。スコープは現在のユーザ(CurrentUser)を指定する。変更しようとすると警告が表示される。

$ Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
                        
                        実行ポリシーの変更
                        実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
                        のヘルプ トピック (https://go.microsoft.com/fwlink/?LinkID=135170)
                        で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
                        [Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "N"): y

これで実行できるようになる。

./test.ps1

これをWSLから実行しようとすると「リモート」扱いになるために実行できない。

$ powershell.exe -File test.ps1
                        ファイル \\wsl.localhost\Ubuntu\home\username\temp\test.ps1 を読み込めません。ファイル \\wsl.localhost\Ubuntu\home\username\temp\test.ps1 はデジタル署名されていません。このスクリプトは現在のシステムでは実行できません。スクリプトの実行およ
                        び実行ポリシーの設定の詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参
                        照してください。
                            + CategoryInfo          : セキュリティ エラー: (: ) []、ParentContainsErrorRecordException
                            + FullyQualifiedErrorId : UnauthorizedAccess

Unrestrictedにすると、毎回実行時に聞かれる。

$ powershell.exe -File test.ps1
                        
                        セキュリティ警告
                        信頼するスクリプトのみを実行してください。インターネットから入手したスクリプトは便利ですが、コンピューターに危害を及ぼ
                        す可能性があります。このスクリプトを信頼する場合は、この警告メッセージが表示されないように、Unblock-File
                        コマンドレットを使用して、スクリプトの実行を許可してください。\\wsl.localhost\Ubuntu\home\watanabe\temp\test.ps1
                        を実行しますか?
                        [D] 実行しない(D)  [R] 一度だけ実行する(R)  [S] 中断(S)  [?] ヘルプ (既定値は "D"): R

Bypassにすると、聞かれないで実行されるが、危険なので非推奨。

あと、このままだと文字化けする。SJISで保存する必要がある。nkf -sで変換したらうまくいった。

署名の練習。まずはAllSignedにして、PowerShell上でも実行できないようにする。

$ Set-ExecutionPolicy -ExecutionPolicy AllSigned -Scope CurrentUser
                        $ ./test.ps1
                        ./test.ps1 : ファイル C:\Users\watanabe\test.ps1 を読み込めません。ファイル C:\Users\watanabe\test.ps1 はデジタル署名さ
                        れていません。このスクリプトは現在のシステムでは実行できません。スクリプトの実行および実行ポリシーの設定の詳細について
                        は、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
                        発生場所 行:1 文字:1
                        + ./test.ps1
                        + ~~~~~~~~~~
                            + CategoryInfo          : セキュリティ エラー: (: ) []、PSSecurityException
                            + FullyQualifiedErrorId : UnauthorizedAccess

署名の仕方

$params = @{
                            Subject = 'CN=PowerShell Code Signing Cert'
                            Type = 'CodeSigning'
                            CertStoreLocation = 'Cert:\CurrentUser\My'
                            HashAlgorithm = 'sha256'
                        }
                        $cert = New-SelfSignedCertificate @params

これで良いのか。しかし、署名しようとしたらUnknownErrorで失敗。原因不明。あとで調べる。

03月28日(月)

朝、単純サンプリングの誤差棒がおかしい理由がわかった。ある確率変数\(\hat{X}\)\(\hat{Y}\)の比の期待値 $< / > $を計算する必要があったのだが、こいつらが強く相関していたため、誤差伝播の公式を使うと誤差棒をover estimateしてしまっていた。ちゃんと考慮したらまっとうな誤差棒になった。良かった。

実験ガイダンス。

専修の表彰式。ちゃんとできてよかった。

懇親会費締めた。

ScanSnap設定した。有線でつないだら無線の設定も勝手にやってくれた。素晴らしい。

03月27日(日)

MCMCと単純サンプリングの性能があまり変わらず。ちゃんとMCMCを書き直した。しかし、単純サンプリングの誤差棒がおかしい。

03月26日(土)

講義準備。最初のスライド作った。

03月25日(金)

研究室サーバにGit 2.X系を入れる(以前入れた気がするが)。

$ git --version
                        git version 1.8.3.1

古い。削除してから入れる。

sudo yum remove git
                        sudo yum install \
                        https://repo.ius.io/ius-release-el7.rpm \
                        https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
                        sudo yum install git --enablerepo=ius --disablerepo=base,epel,extras,updates
$ git --version
                        git version 2.24.4

新しくなった。

講義スライド、第一回分はできたことにする。めちゃくちゃ難産だった。

03月24日(木)

打ち合わせ。ドアに「オンライン会議中」ってかけてなくて掃除の人が入ってきてしまって、すごく恐縮されて申し訳ないことをした。大事な会議の時にはかけておかないとな。

講義準備が終わらないぞ。

03月23日(水)

かなり大量のTodoを潰した。

駐車場利用申請出した。

推薦状書いた。

講義準備が全く進んでない。論文もかけてない。

03月22日(火)

ガイダンス録画。

講義準備。

忘れてたXbyak_aarch64のPRがマージされた。ひょっとしてつぶやきを見られたかしら?

Alder転移のあたりを書いてて、久しぶりにAlderさんの写真を掘り出した。有名人とあった時はちゃんとツーショット写真を撮っておかないとなぁ。

03月21日(月)

NOP

講義の準備が本当にヤバい。論文を書く時間も取れてない。しんどい。

03月20日(日)

NOP

03月19日(土)

NOP

03月18日(金)

HPC183の座長。学習指導のお仕事。

03月17日(木)

研究室ミーティング。本読み輪講。

物理学会。ポスター発表。お客さんが来てくれてよかった。しかし、19-21時はしんどい。

03月16日(水)

明日の輪講の準備した。

ガイダンス資料作った。

これだけで一日潰れてしまった。

中野さんの若手奨励賞講演。

夜はミーティング。

ルジャンドル変換の話をZennに書いておいた。接線タイプと面積タイプの説明があるが、両方を併記している説明はあまりないから。

03月15日(火)

タイヤがパンクしてしまい、JAFを呼んだ。いつも電話なのだが、今回初めてJAFアプリを使ってみた。GPSをオンにして「ここに来てください」とやるだけ。15分後には到着。15分で作業完了。早い・便利・素晴らしい。

電話でなにか予約する、というのは未だにものすごくMPを使う。

03月14日(月)

職位付与申請出した。

確定申告の締め切りが近いので、慌てて夜中にやる。夜はe-Taxが全くつながらなかったが、夜中1時ごろにつながったので作業。

本を読んだりネットで調べたりしたがまったく概要がつかめず困っていたが、結局「国税庁動画チャンネル」の動画が非常にわかりやすかった。

また、確定申告をするのにe-Taxのページ(e-tax.nta.go.jp)でなんとかしようとしていたが、入り口が国税庁 確定申告書等作成コーナー(www.keisan.nta.go.jp)であることにしばらく気づかずにハマった。また、カードリーダでマイナンバーカードを裏向きに(顔写真が下)挿入しなければならないことに気づかずにちょっとハマった。それ以外はわりとスムーズだった。各入力欄にフォーカスがあたった時のヘルプ画面がよくできている。

いろいろ言われていたが、政府のIT関連サービスは間違いなく良くなっている。作った人もそうだが、「中の人」ががんばったのだろう。素晴らしい。

03月13日(日)

仕事ができない。また「準備が全然できていないまま講義に臨む」夢を見てしまった。いい年こいて・・・

ネットで「自分の感覚がずれている(しかし、暗に世間の方が間違っていると主張する)」言説を見かけたのだが、その導入が「東大1年の頃、」だったので、「そういうところだぞ」と思った。「大学生の頃」とか「昔、」でいいじゃん。

昔、「学歴なんて関係ない」と主張する個人サイトが、非常に丁寧に「サイト主が東大卒である」ことが暗示される仕組みになっており、「あー」と思ったのを思い出した。

03月12日(土)

疲れた。

老害について考えている。例えば「○○するのは老害」という言説を見て、「自分はXXだから老害ではない」というのは、典型的な老害ムーブに見える。老害とはなにか?結局自分の保持した価値観が壊れることを恐れることではないのか?残り時間が少なくなっていき、自分が獲得したスキル、知識、地位の価値を守ろうとするムーブが「老害」なのではないか?

03月11日(金)

あー、学振の職位付与って毎年やる必要あるのか。知らなかった。

実験打ち合わせ。オンライン対応とか考えると面倒。でも担当の先生が全部準備してくださったのでありがたい。

ターミナルに陸軍型と海軍型があるのを知らなかった。陸軍型が外れるやつ、海軍型は外れない。

学会参加申し込んだ。登録を忘れていた。あと、学生さんのポスターの予稿も。いかんなぁ。

03月10日(木)

Zoom API。慶応のアカウントではJWTは使えないらしい。ログイン後に「ソリューション」→「開発者プラットフォーム」を選ぶとhttps://developers.zoom.usにログイン状態で飛ぶが、それだとKeio IDで入れない。謎。

ZoomのDeveloperページに飛んだら、右上の「BUILD APP」をクリック。OAuthを選んでCreate。

App Nameは適当に。app typeはよくわからないので User-managed appを選ぶ。App Marketplaceではpublishしない。で、Create。

App credentials: Client IDとClient secretを取得。Redirect URLは「http://localhost:8080」にしてみる。OAuth allow listはとりあえず無しでcontinue。

Scopesで、最低一つScopeを指定しないといけない。とりあえず「meeting:read」だけ指定してみる。

杉山雄規先生最終講義。Optimal Velocity Modelで、相互作用が非対称だから、エネルギーが保存しない。したがって、必ず散逸項が必要になる。OV Modelでは、「自分の希望する速度と、現在の速度の差」が加速度となるが、この「現在の速度」が散逸項の役割を果たす。なるほど。

二次元OV模型も、いろいろ遊べそうだなぁ。

サイエンスカフェの返事だした。

03月09日(水)

そういえばMacにgsが無い。前回はMacTexを入れたが、今回はTeXLiveを入れたので入っていないようだ。MacTexでは独自のgsを入れるのでいろいろ面倒だという話があったが、TeXLiveではgsは入らない(?)ので、brewで入れてよかろう。

brew install ghostscript

うーん、ウィンドウが出ない。どうするんだっけ?

研究打ち合わせ。とても参考になった。やっぱりプロに聞くのが早い。多謝。

03月08日(火)

Macではターミナルからデスクトップやダウンロードフォルダにアクセスする場合、許可が必要になっている。おそらく意図しない情報ぶっこぬきに対応するためだろう。で、例えばデスクトップにあるPDFをリポジトリに持ってこようとして、

cp ~/Desktop/hoge.pdf .

とした時、最初に「“ターミナル”から“デスクトップ”フォルダ内のファイルにアクセスしようとしています。」というシステムダイアログが出てくる。これで一度許可すれば次から聞かれないのだが、うっかり「許可しない」をクリックすると、二度と許可されずに

$ ls
                        ls: .: Operation not permitted

みたいになってしまう。これはTCC (Transparency Consent and Control)というユーザ保護の仕組みで、デスクトップフォルダ、ダウンロードフォルダ、写真フォルダなど細かく制御されている。で、当該制御項目をリセットすればよいのだが、例えばデスクトップフォルダへのアクセスを制御するには、

tccutil reset サービス名

とすれば良いのだが、サービス名を調べるのが面倒。というわけで全部リセットしてしまい、必要に応じてまた許可すれば良い。

tccutil reset All

必要なのはわかるが、いろいろ面倒だ・・・

学生さん論文、少し進めた。

03月07日(月)

製本した卒論、郵送した。

卒論テーマ案と「最初の論文」案、ようやくできた。本当は金曜日には作るはずだったのだが。

自然科学実験の会議。

gnuplotハンズオン。いろいろ不手際があった。事前にXを飛ばすのをちゃんと確認しておかないといけない。特にWSLが鬼門。

03月06日(日)

NOP

体が全く動かない。

03月05日(土)

NOP

体が全く動かない。

03月04日(金)

来客対応。

卒論の郵送準備した。

Zoomの参加者取得方法メモ。

03月03日(木)

研究室ミーティング。中野さんのアクティブマターの話。面白い。LatticeでZ4はrelevantだけど、Z6がirrelevantだってやつ、ちょっと探した範囲では見つからなかった。どの論文だったかなぁ。

僕の話はマルコフ連鎖モンテカルロ法の気持ち。講義の準備を兼ねた話だが、まだこなれて無い気がする。

研究打ち合わせを依頼。

03月02日(水)

次回ハンズオン(gnuplot)のためにX Windowの設定の確認。たまたままっさらに近いiMacがあったので試す。

https://www.xquartz.org/から、最新版のXQuartz(2021年4月25日時点ではXQuartz-2.8.1.dmg)をダウンロードし、dmgファイルを開いてXQuartz.pkgを実行してインストールする。

ローカルですぐにxeyesは動くようになったが、研究室サーバからXが飛ばない。エラーはこれ。

X11 forwarding request failed on channel 0

あれ、Ubuntuからもだめだ。サーバ側の問題かな。

/etc/ssh/sshd_configX11Forwarding yesはある。

/etc/ssh/sshd_configX11UseLocalhost noを設定して

sudo service sshd restart

してから再度接続したら通った。

とりあえずローカルにbrewでgnuplotを入れたら以下のメッセージが出た。あとで確認。

Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
                        Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

調べた。brew 2.0.0からcleanupが自動で走るようになったらしい。cleanup、reinstall、install、upgradeをトリガーとして、30日間走っていなければcleanupが勝手に走るとのこと。それが嫌ならHOMEBREW_NO_INSTALL_CLEANUPを設定してね。とのこと。cleanupして欲しいし、このヒントは不要なので、HOMEBREW_NO_ENV_HINTSを設定しておく。

環境変数について何も知らなかった。setとenvの違い

単に値を入れるだけだと、setではひっかかるが、envにはひっかからない。

$ ABC=xyz
                        $ set | grep ABC
                        ABC=xyz
                        $ env | grep ABC

exportすると、「それが定義されたときにexportされる」という情報が付与される。

$ export ABC  # この時点ではなにも値が設定されない
                        $ set | grep ABC
                        ABC=''
                        $ env | grep ABC
                        $ ABC = xyz # 値を設定
                        $ set | grep ABC
                        ABC=xyz
                        $ env | grep ABC
                        ABC=xyz

う、Macではexportした時点で空文字列が設定されるな。

Linux+Bash

$ export ABC
                        $ set | grep ABC
                        _=ABC

やっぱり空文字列か。

Ubuntu + Zsh

$ export ABC
                        $ set | grep ABC
                        ABC=''

これはOSというよりシェルの違いか。exportした時点で空文字列が設定されるんだな。

シェル変数と環境変数の違いをちゃんと認識していなかった。シェル変数は現在のシェルのみで有効、環境変数は子プロセスにも受け継がれる。

envは環境変数の一覧、setはシェル変数と環境変数の一覧を表示。exportも環境変数一覧。

時間割の確認。とりあえず自分の担当講義は「教育支援システム」→「出講カレンダー」で確認できる。また、学事日程は同画面の「資料ダウンロード」からダウンロード可能(これが欲しかった)。大学院のまだかな?

学生さん論文、少し修正。

03月01日(火)

3月になってしまった。月が変わるたびに進捗のなさに絶望してしまう。

ディスプレイが大きくなったので、VSCodeのフォントも大きくしてみる。っていうか老眼・・・

木曜日の発表の準備。2時間でできるかな?→3時間半かかった。

学習指導のお仕事。VS CodeにMarkdown PDFが入ってなかったので入れたが、なぜかうまくいかなかった。後で原因究明すること。