Tumgik
inody · 2 years
Text
BlogをGithub Pagesに移行します
My new website is available at https://inody.github.io.
4 notes · View notes
inody · 2 years
Text
WSLのインストールから、外部からのSSH環境構築までの備忘録
インストール
ここを参考にした。 以前WSL1を触った時はMicrosoftストアからイメージをDLする感じだったと記憶しているが、コマンドだけでインストールできた。 Powershellでのコマンド:
wsl --install
これだけでUbuntu20.04が自動でインストールされた。
イメージの移動
デフォルトではCドライブにインストールされる。 しかし後々ディスク容量を逼迫することが目に見えたので、別ドライブにイメージを移動させた。 ここを参考にした。 Fドライブに1TBのSSDを増設したので、基本ここの直下を使うことにした。 Powershellでのコマンド:
wsl --shutdown wsl --export Ubuntu F:Ubuntu.tar wsl --unregister Ubuntu wsl --import Ubuntu F:Ubuntu D:Ubuntu.tar --version 2
これを行うことで、デフォルトユーザーがrootになってしまう問題がある。 基本vscodeのremote sshで接続する予定なのであまり問題はないが、リンクを参考にしてユーザー権限で起動するショートカットを作成した。
また、後々明らかになったのだが、デフォルトのイメージはディスク容量が256GBを最大値として作られるようだった。 容量を拡張するために、ここに従ってコマンドを実行した。
同一LANからWSLにSSHする
Ubuntu内でsshサービスを立ち上げておく必要がある。 いろいろ試行錯誤したため記憶が定かでないが、open-sshは初めからインストールされていた。 なので鍵がうまく設定されていさえすれば、同一LANの外部から接続できそうだが、問題が2つある。
WSLではsystemdが動いておらず、サービスを自動で起動することができない。
WSL2ではホストであるWindowsと異なるIPが使用されており、直接外部から接続することが難しい。
このうち1. はWSLを起動するときにオプションでシェルスクリプトを実行できるので、それで解決した。 具体的にはWSL内でinit-wsl.shとかの名前のスクリプトを作成しておき、WSL起動時に
wsl -d Ubuntu -u root exec /home/user/init-wsl.sh
とすればよい。init-wsl.shの中身として
#!/bin/sh service ssh restart service cron restart
などと、起動したいサービスの名前を書いておく。 これでsshやcronなどのコマンドを実行できる。
つぎに2. は、Windowsポート22に来たパケットをwslのポート22に転送する設定を実施した。
for /F %%i in ('wsl -d Ubuntu exec hostname -I') do set ip=%%i netsh interface portproxy delete v4tov4 listenport=22 netsh interface portproxy add v4tov4 listenport=22 connectaddress=%ip%
この設定はここを真似した。 これらがWindowsが起動されるたびに自動で実施するために、
wsl -d Ubuntu -u root exec /home/user/init-wsl.sh for /F %%i in ('wsl -d Ubuntu exec hostname -I') do set ip=%%i netsh interface portproxy delete v4tov4 listenport=22 netsh interface portproxy add v4tov4 listenport=22 connectaddress=%ip%
とまとめたstart-wsl.batなるファイルを作成し、windowsのタスクスケジューラに設定した。
全般
最上位の特権で実行する: on
トリガー
タスクの開始: ログオン時
遅延時間を指定する: 30秒間
操作
操作: プログラムの開始
プログラム/スクリプト: 上記のファイルを置いたパス という感じ。
別LANから接続したい
GCEの無料枠の作成
別LANから接続する際の問題は
グローバルIPが固定されていないこと
である。 プロバイダのオプションで固定してくれるサービスもあったが、課金制だったため、無料で行う方法を探していたら、 ここを見つけた。 つまりsshのリモートフォワードを利用して、VPSを経由した接続を実現するというもの。 VPSの調達先として、Googleが提供しているCompute Engineをうまく使えば、課金なしで踏み台用の固定IPが手に入る。 設定はここが参考になった。
一点、GCEで作成するイメージとして、無料枠のマシンの名前が、2021年7月まではf1-microだったのが、8月以降e2-microに変わっている。 古い記事だけを参考にすると、誤って課金されてしまうので注意。 こことかに変更のあらましが述べられている。
もう一点、GCEのアドレスは外部に公開されるため、ssh用のポートは変更しておくことが望ましい。 これも確か上の記事の中でやり方が書かれていたはずなので説明割愛。
リモートフォワード設定
GCEのsshのポートは11111とする。 Windowsマシンのsshのポートは22とする。 このとき、WSL側で実行するコマンドは
autossh -f -N gce -p 11111 -R 22222:localhost:22
となる。 22222は別に空いていればなんでもよい。 接続先のgceの部分はWSL側の.ssh/configで良しなに設定されているとする。 sshでなくautosshとしているのは、接続が切れたとき再接続してほしいからである(aptでインストール可能)。 -f -Nなどのオプションは検索されたい。 -Rがリモートフォワードを指定するオプションで、gceマシンの22222ポートをlocalhost、つまりwslの22番ポートにリモートフォワードしている。
つぎに外部PC(ここではmacbookとする)で実行するコマンドは
ssh gce -p 11111 -L 33333:localhost:22222 ssh localhost -p 33333
となる。 もちろんmacbook側からも、gceを./ssh/configで設定しておく必要がある。 ポート33333も、空いていればなんでもよい。 また、1行目と2行目は、それぞれ別ターミナルから実行することに注意。 1行目でmacbookの33333ポートをgceマシンのlocalhost:22222にローカルフォワードしている。 この状態でmacbookのlocalhostの33333にsshでログインすると、macbook->gceマシン->wslというログインが可能になる。
もちろん、それぞれのsshコマンドでは、鍵が良しなに設定されていなければならない。
WSLでのssh自動実行
これでリモートで作業する環境が整ったのだが、
autossh -f -N gce -p 11111 -R 22222:localhost:22
のコマンドは、できればwsl開始時に自動で起動させたい。 ここでふたたび問題になるのが、WSLでsystemdが動いていない問題である。 さきほどのinit-wsl.shの下のほうにコマンドを追記しても、うまく動かなかった。 また、どうやら最近導入されたWSLのバージョンで、/etc/wsl.confの中で起動時に実行するコマンドを指定できるようになったらしいのだが、自分の環境ではうまく動かなかった。
いろいろ調べると、genieなるソフトを使えばsystemdを強制的に動かすこともできると書かれていたが、CPU使用率を上げてしまうという情報もあったので、避けることにした。
そこで、多少強引だがcronを使うことにした。 具体的には、上記のautosshのコマンド1行からなるtunnel_to_gce.shという名前のスクリプトを作成し、crontabに下記を追記した。
*/1 * * * * user pidof -x tunnel_to_gce.sh >/dev/null || /home/user/tunnel_to_gce.sh
1分ごとに実行されるので、かなり冗長だが、一応前半のpidof -x tunnel_to_gce.sh >/dev/null ||あたりの記述で、重複実行は避けられるらしい(シェルスクリプトよくわかってない…)
余談
とりあえず以上で
windowsが起動->wsl起動->ssh, cronサービス起動->autosshでgceにリモートフォワード
まで自動化できた。 したがってwindowsマシンが起動さえすれば、いつでも外部からssh可能になった。
あとはWake on LANまでできたら最高だが、Switchbotのスイッチが使えるという情報をみつけ、確かにそうだなと思ったので、早速ぽちった。 今日届いてPCの電源ボタンにつけてみたが、簡単に使えた。 いざという時の強制再起動に役立てられそう。
最後に、時にはGUI環境でWindowsに接続したい時もある。 これは普通にWindowsのRDP機能を使えばよい。 …のだが、なんとRDPサーバーの機能はWindows Proでなければ使えないことがわかった。
このため先ほどMicrosoft Storeから泣く泣くProライセンスを購入したところ。 ~~狡い商売しやがって、Microsoft許さん~~
以上です。 研究頑張ります。
3 notes · View notes
inody · 2 years
Text
計算機を購入した
購入理由
正月で帰省中、ふと計算機がほしくなった。 会社のネットワークはsshがブロックされているため、家から繋ぐにはRDP接続する必要がある。 通信がラグい時もあり、ストレスで出社したりしていた。 家に計算機があれば、ちょっとした計算を家で回すことができると考えた。 (~~家族のいない間ゲームをしたい気持ちもあった~~)
要件
せっかくなので、最近話題のIntel12世代CPUを積んだやつがいい。 GPUはあんまり使わないだろうけど、機械学習に興味がなくはない(~~本音はゲームがしたい~~)ので、それなりのやつを積んでた方が良い。 メモリは32GBあれば十分だけど、16GBでも良いかもしれない。 価格は高くても25万円くらいで抑えたい。
調査
初めはフロンティアやドスパラなどのBTOを探したけど、途中から欲が出て自作したくなった。 ただ今はあらゆるパーツが高騰していて、自作するとBTOより高くつくことがわかった。 年末年始で各社がセールを行なっており、パソコン工房の自作キットが魅力的だったので(これ)、新年早々寒空の下店舗に並ぶなどしてみたが、惜しくも購入できなかった。
購入したPC
結局Dellのxps8950を買った。
スペックは以下のような感じ:
第12世代 インテル® Core™ i7 12700K (12コア, 25MB キャッシュ, 3.6GHz - 5GHz w/Turbo Boost Max 3.0)
水冷CPUクーラー
NVIDIA® GeForce RTX™ 3060 Ti 8GB GDDR6 (LHR)
16GB デュアルチャネル DDR5 (2x 8GB) 4400MHz; 最大 128GB
512GB NVMe M.2 PCIe SSD (ブート) + 1TB 7200RPM SATA 6Gb/s (ストレージ)
750W電源(プラチナ)
リンクはここ。 値段は今はちょっと高くなっているが、買った当時は学割+即納セールを利用し、21万円ちょっとだった。 DDR5メモリが枯渇する中、上記スペックのものとしては結構お買い得だったと思う。
調べると、xpsは前のモデルが排熱に問題があるとして悪評があるようだった。 それは主にケースが小さすぎる、クーラーがリテールクーラー並みにしょぼい、という理由によるもので、本モデルはケースが大きくなり、水冷クーラーを選べるので、問題にはならないと考えた。
購入後
久しぶりに必需品じゃないもので大きな買い物だったので、緊張した。 届いてすぐ、Geekbenchなどのベンチマークを回してみたが、同等のスペックのものより少しだけスコアが低かったので、やはり排熱問題は若干残っているのかな、と感じた。 とはいえ、ケースファンがとてつもなくうるさくなるとかは今のところないので、快適に使えそう。
今まで家ではm1 macbook airのみで過ごしていた。 モニタ、マウス、キーボード、スピーカー、webカメラなどの周辺機器は共有のものとしたかったので、ちょうどいいスイッチャーはないかと探したところ、以下のような製品を見つけたので、早速購入した。
サンワダイレクト パソコン切替器 Type-C⇔HDMI 搭載PC PD対応 USB2ポート/マウス/キーボード Windows Mac対応 400-SW037
PCと切替器が届いてからは、設置と配線にかなり苦労した。 使っているデスクがスタンディングで上下するため、ケーブルが伸び切ったりしないよう工夫する必要があった。 また、子どもに電源を押されないよう、カバーをかけるなど対策が必要だった。
環境構築
m.2 ssdを追加購入し、増設した。 初めこっちにubuntuをインストールする予定だったが、せっかくなのでWSLを使うことにした。 WSL環境に外部からアクセス得切るようにすることが目標だったが、悪戦苦闘するうちにこれを実現できた。 時間が出来次第こちらも備忘録としてまとめておきたい。
0 notes
inody · 3 years
Text
子の寝かしつけ
娘が大きくなってきた。
以前は寝かしつけに相当苦労した。 縦抱っこをしながら子守唄を歌う。 寝息を立て始めてしばらくして大きな吐息が聞こえたら、そっとベッドに寝かせる。 少しでも乱暴な置き方をするとパチリと目が覚め大泣きされる。 こうした動作を繰り返すうちに1時間は余裕で経過する。
今は違う。 初めからベッドでごろごろさせながら一緒に遊んでいるうちに、そのまま寝息を立て始めることが増えた。 かかる時間はそんなに変わらないけれど、大泣きされない分、寝かしつけが随分と楽になった。
今日、久しぶりに娘の寝つきが悪かった。 怖い夢でも見たのだろうか。 以前のように縦抱っこをしながら子守唄を歌う。 ほんの1ヶ月かそこらぶりのことなのに、随分と懐かしく感じた。 同時に、こうして困らせられながら育児をする期間にも終わりがあるということを強く感じてしまい、急に感情が揺さぶられた。 柄にもなく涙が出てきた。
3 notes · View notes
inody · 3 years
Text
仕事と学業と育児のトリレンマ
社会人博士として大学に入学してそろそろ2か月になります。 現状を俯瞰すると、いろいろとまずい状態にあるように思われるので、問題点を列挙してみようと思います。
まず、平日に仕事と学業が思ったほど両立できていません。 今の研究室とは共同研究のご縁で配属させていただいたため、昨年度までは業務内容と学業の内容にオーバーラップがありました。 これを利用して学位取得のための研究を進められると踏んでいたのですが、現状そうはなっていません。 というのも、今年度から組織編成が変わり、業務内容が変更されたためです。 今のところ、上司は過去の業務を精算する時間として、昨年度の研究に一定時間割くことを大目に見てくれています。 しかし、そのうち新しい業務項目に本格的に携わることになるのは不可避でしょう。 また、ここ最近書類の作成業務が重なったことも、研究の進捗を阻んだ一因です。
また、平日の夜は一瞬で過ぎます。 子どものご飯を上げる、お風呂、寝かしつけなどをしていると気づけば22:00を回ります。 この時間以降に勉強を進めようとしていた時期もあったのですが、子どもが夜中に目覚めることが多く、その結果自分も寝不足になるため、最近は一緒の時間に寝てしまっています。
なにより問題なのが休日の過ごし方です。 平日に学業ができていない焦りがあり、常にiPadを手に持ち論文を読みながら子どもの相手をしています。 子どもは少しでも目を離すと視界から消え、気づくと手の届く場所にあるものをなんでも食べようとするので、常に見ておく必要があります。 そこに中途半端に勉強を試みても無意味です。 子どもをまともに見守れず、かといって論文も全然読み進められない、当然の結果に陥っています。
妻は現在育休中であり、平日の昼の家事育児はお願いしています(朝ご飯は各自、備品の買い物、ゴミ出し、掃除などは自分が担当しています)。 このため休日まで家事育児に時間を割いてもらうのは申し訳なく、妻には土日の一方をリフレッシュデーとして自由に外出してもらうようにしていました。 しかし僕が入学してから家事育児がおろそかになり始めたため、見かねた妻が家にいてくれるようになりました。 ホットクック、食洗機、ロボット掃除機などの時短家電はすでにフル稼働しており、生活は多少楽になりましたが、本質的な改善には至っていないというのが実感です。
妻から見れば、平日ただでさえ家事育児を一任しているのに、休日もタブレット片手に漫然と過ごす夫に辟易する、といったところでしょう。 実際口にはしませんが、ストレスはたまってきているように見えます。
優先順位を考えると、一番が家庭、そのつぎに食い扶持を稼ぐための仕事、最後にキャリアのための学業となるのは自然です。 しかしこの順位でこなしていくと、永遠に学業が進捗しません。 学業が進捗しない→家事育児が中途半端になる→妻のストレスがたまる→自分も消耗する→学業が進捗しない、という精神的な負のスパイラルが発生し始めているようにも思われます。
問題点をまとめると、
平日の昼に内職的に学業を進めているものの、時限である
平日の朝や夜の子どもが起きていない時間に進めたいが、就寝時間が犠牲になる
休日に家事育児と学業が両立できない
という感じです。 タイトルの通り、仕事と学業と育児のトリレンマです。
まとまった時間の確保には、やはり休日の時間の使い方が鍵であるように思われます。 そこで、先日妻に相談し、休日にそれぞれ2時間ほどまとまった時間を確保し、僕は勉強に、妻は休憩に充て、それ以外の時間は平等に家事育児に時間を割く、という取り決めを交わしてもらいました。 この仕組みがうまくワークすることを祈るばかりです。
0 notes
inody · 3 years
Text
博士課程に進学しました
I am a student. pic.twitter.com/UxXYyHTY8E
— inody (@inody_) April 2, 2021
この4月から、東京大学の数理科学研究科に博士後期課程の学生として入学することになりました。 入社当初から会社の上司には学位を取りたいと伝えていたのですが、足掛け5年でようやくスタートを切ることができた次第です。 入社時は学生時代の指導教員が会社の近くに研究室を構えていたため、そこに通うことを狙っていたのですが、東京転勤によって難しくなってしまいました。 東京で会社に勤めながらチャンスを伺っていたところ、共同研究のご縁から指導を許可いただける運びとなりました。 なお、仕事は続けるので社会人博士です。
修士までは制御工学のどちらかというと理論寄りの研究をしており、会社でもそこで培った知識を用いて研究していたのですが、博士課程ではより数学的な研究をさせていただくことになります。 具体的には、制御にまつわる偏微分方程式を数値的に解く際に、厳密解を精度良く近似している保証を与えてくれる計算手法の開発を目指します。 このトピックは会社で研究を進めるうちに遭遇した課題であり、少なくとも自分にとっての需要は大きいです。 一方、解決には偏微分方程式に関する深い知識を必要とするため、素養が皆無の自分には明らかなチャレンジだと感じます。
加えて、プライベートな懸念もあります。 入社当初は独身で失うものもなく、休日に頑張れば両立できると高を括っていました。 しかしながら5年たった今、結婚し子どもを授かったことで、土日も家庭に時間を割く必要が生じています。 このような状況において、博士課程の3年は一瞬であり、時間との戦いになることは明白です。
以上のように不安は尽きませんが、30代最初の挑戦の場として相応しい舞台に立てたことを前向きに捉え、しっかり時間管理して研究に励もうと思います。
0 notes
inody · 3 years
Text
latexdiffでコンパイルエラーを回避したい
大体の問題は、数式か引用文献で発生するので、これらをdiffから除外してあげればよい:
latexdiff old.tex new.tex > diff.tex --exclude-safecmd="cite" --math-markup=0
0 notes
inody · 3 years
Text
2020年の振り返り
気づけば年の瀬です。 今年はコロナ禍で在宅勤務が一定期間続いたためか、矢のように時間が過ぎたと感じます。
自分は割と一人が好きなので、はじめのうちはリモートワークを歓迎し、集中して作業を進めることができました。 しかし後半になると、生活リズムがずれるとともに倦怠感を覚え始め、作業効率がガタ落ちしてしまいました。
そのせいか、今年度のアウトプット目標は「年度末までに論文3本投稿」でしたが、今の所2本しか投稿できていません。 うち1本はリジェクト、もう1本はアクセプトでした。 どちらも自分としてはハードルが高い雑誌だったので、1本アクセプトされたことは十分検討したとも言えそうです。 ただ、目標のあと1本を投稿できる見込みはまったく立っていません。 なんとか希望が見えるところまで頑張りたいです。
下記、今年経験したイベントと、来年経験するイベントです。
結婚した
結婚しました。 相手は自分が実家と問題を抱えていてしんどい思いをしていたときから支えてくれた人です。 もう自分ひとりの命じゃないと感じます。 妻の応援に応えられるよう、今後もがんばります。
子どもを授かった
娘が生まれました。 コロナ禍の中大変な出産でしたが、無事に生まれてきてくれました。 もう自分ひとりの命じゃないと感じます(2回目)。
せっかくなので2か月育休を取得し、がっつり子育てに携わりました。 おむつ、ミルク、ギャン泣きの無限ループ世話に精神が削られました。 妻のワンオペでは絶対成り立たなかったと思います。
職場復帰後も、これまでに比べ効率を重視した立ち回りが必要になりました。 土日の勉強時間が確保できなくなり、正直もどかしい思いもしています。
ただ、こうした悩みよりも、子どもが育っていくのを見守る喜びが上回ってくれるのが救いです。 これからどんな子に育つか楽しみです。
入学試験に申し込んだ
会社の許可が下りたため、2月に社会人博士過程の入学試験を受験する予定です。 無事受かれば、4月から「会社人」「夫」「父」「学生」の4つの肩書を背負うことになります。 正直、去年もけっこう大変だったので、今からやっていける気がしていません。 ただ、これらすべては自分で望んだことなので、頑張ってやり遂げたいです。
以上、今後ともよろしくお願いします。 皆さま良いお年を!
Amazonウィッシュリスト
0 notes
inody · 3 years
Text
mathjaxとgoogle analyticsの更新
超久しぶりにブログのテンプレートを弄っていたら、世の中のmathjaxとgoogle analyticsのコードが新しくなっていることに気づきました。 更新のため、テンプレートのfooterに下記を追記しました。
mathjax.jsのインポート。 バージョンが3になり、インポートの仕方も変わりました。 60%近く高速化されているそうです。
<script> MathJax = { tex: { inlineMath: [['$', '$'], ["\\(", "\\)"]], }, }; </script><script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
gtag.jsのインポート。 analytics.jsでトラッカーを使用していたのが、使用しなくなったそう。 'YOUR_ID'の部分をユーザーのIDに置き換えます。
<script async src="https://www.googletagmanager.com/gtag/js?id='YOUR_ID'"></script><script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'YOUR_ID'); </script>
0 notes
inody · 3 years
Text
LaTeXで2カラムの原稿の両側にページごとの行番号を振る
タイトルについてです。
lineno.styを使うのですが、そのまま用いても以下の問題がありました。
右ページの番号が真ん中に来ちゃう
ページごとに番号が改まらない
数式のところでカウントがバグる
ちょっと長いですが、以下のようにすると解決しました。 オプションにpagewiseを指定するのがポイントです。
\usepackage[switch,pagewise]{lineno} \newcommand*\patchAmsMathEnvironmentForLineno[1]{ \expandafter\let\csname old#1\expandafter\endcsname\csname #1\endcsname \expandafter\let\csname oldend#1\expandafter\endcsname\csname end#1\endcsname \renewenvironment{#1} {\linenomath\csname old#1\endcsname} {\csname oldend#1\endcsname\endlinenomath}} \newcommand*\patchBothAmsMathEnvironmentsForLineno[1]{ \patchAmsMathEnvironmentForLineno{#1} \patchAmsMathEnvironmentForLineno{#1*}} \AtBeginDocument{ \patchBothAmsMathEnvironmentsForLineno{equation} \patchBothAmsMathEnvironmentsForLineno{align} \patchBothAmsMathEnvironmentsForLineno{flalign} \patchBothAmsMathEnvironmentsForLineno{alignat} \patchBothAmsMathEnvironmentsForLineno{gather} \patchBothAmsMathEnvironmentsForLineno{multline} } \linenumbers
0 notes
inody · 4 years
Text
10万円で揃える在宅環境
※2020.01.17 に記事の内容をアップデートしました。
最近引っ越しました。 WFHも続きそうだし、これまでちょっとずつ揃えてきたデスク周りの環境をまとめておきます。 全体像はこんな感じ。
Tumblr media Tumblr media
机(17k)
IKEAで買ったテーブルトップに脚をくっつけたもの。脚を細いやつにしたためちょっとぐらつくけど、許容範囲内。
https://www.ikea.com/jp/ja/p/gerton-table-top-beech-30162246/
https://www.ikea.com/jp/ja/p/olov-leg-adjustable-black-90264303/
椅子(20k)
Tumblr media
メルカリで買ったミラチェア。
座面が死んでたのでAmazonで買った低反発マットを敷いて使っている。
腰痛もちだったが、毎日プランクしてこれに座っているとけっこう改善された。
PC(160k)
macbook pro 13 inch 2017
家では重い作業はしないのでこれで十分だったが、在宅勤務が始まったのでもう少しいいマシンがほしい。
まだ購入して2年ほどだが早くもバッテリーが膨張してきた(替え時かもしれない)。
-> その後Apple Storeに持ち込んだら、バッテリーを無料で交換してくれました。購入後3年は無償交換だそうです。
キーボード(33k)
Tumblr media
HHKB Professional Type-S
職場で使っているキーボードに合わせて自宅でも購入。
ポインタ(4k)
Tumblr media
Logicool M575
将来macOS以外のOSを導入したときのために導入。
MxErgoと迷ったが、HHKBと合わせて電池式にした。
モニタ(33k)
PhilipsのPH15875856というモニタ。4Kは自分にはオーバースペックだと感じたため、31.5型、WQHD、usb-cで接続できるモニタで探した。
最初発色が狂っていたが、ドライバを更新して設定をいろいろ変えるうちに改善した。
https://www.philips.co.jp/c-p/328P6AUBREB_11/brilliance-lcd-monitor-with-usb-c-dock
モニタアーム(5k)
HPのモニタアーム。メルカリで購入。
モニタが重いため、少しぐらつく。
HP(ヒューレット・パッカード) HP(ヒューレット・パッカード) シングルモニターアーム BT861AA
PCスタンド(2k)
クラムシェルモードでPC立てておくためのスタンド。木製でいい感じ。これもメルカリ。
スピーカー(12k)
Tumblr media
OnkyoのGX-100HD。アンプ内蔵、デジタル入力(光ケーブル or 同軸)が使える機種で探した(おなじみメルカリ)。
音の粒感が安いスピーカーとは違うので気に入っている。
低音が少し弱いというレビューも見かけるけど、自分にはちょうどよい。
ONKYO WAVIO パワードスピーカーシステム 15W+15W GX-100HD(B)
USB-DAC(3k)
Tumblr media
かつてモニタ裏面のアナログ端子からスピーカーにつないで音を流していたが、ノイズが鳴るようになったため導入(モニタの端子の劣化が原因?)。
DACをモニタ裏のUSB端子に挿しておけば、PCをモニタに挿すことで自動的に出力がデジタルに切り替わるようにできる。
DACもスピーカーも24bit/96kHzの音源に対応しているため、ハイレゾも一応流せるようになった。
FX-AUDIO- FX-D03J USBバスパワー駆動DDC
HHKBやトラックボールを買ったりしてたら10万円を超えてしまいました。 あとは机の脚をなんとかしたいのと、PC本体を買い替えたい。 お仕事もがんばります。
0 notes
inody · 4 years
Text
コンビニスイーツ比較(バウムクーヘン編)
バウムクーヘンが好きです。 よくコンビニで買うのですが、どこが美味しいか気になったので、まとめ買いして調べてみました。
Tumblr media
ファミマ 味:3 風味:4 しっとり感:2 見た目:3 値段:4 バターの風味はよく効いているが、全体的にパサッとしている。
ローソン 味:3 風味:2 しっとり感:2 見た目:4 値段:5 見た目が手作りっぽいのがよい。値段も安いが、やはりしっとり感が足りず微妙。
セブン 味:3 風味:3 しっとり感:3 見た目:3 値段:3 他2社よりしっとりしている。味と値段のバランスがよい。
セブン(金) 味:3 風味:3 しっとり感:4 見た目:4 値段:2 無印をさらに少ししっとりさせた感じ。50円追加して買う価値があるかは微妙。
近所のケーキ屋さん 味:4 風味:5 しっとり感:4 見た目:3 値段:1 やはり手作りは風味が全然違う。値段は350円で、スイーツとしては安いが、コンビニと比べた価格は高く感じる。
トータルバランスはセブンの無印かな。 他2社より高いのが気になるけど。
1 note · View note
inody · 4 years
Text
Dropboxの同時接続端末数制限を突破したい
概要
Dropbox便利ですよね。 何が便利って、真にマルチプラットフォームのクラウドストレージって、これくらいしかないという点です。
Google-Driveは便利ですが、何故かDebianに公式アプリが提供されておらず、サードパーティ製のアプリでなんとかする必要があります。 griveやgoogle drive ocamlfuseなどがあるなかで、自分は一時期rcloneを使って運用していました。 cronと組み合わせることでほぼリアルタイムな動機ができるのですが、API制限に引っかかると同期されないことがあるのが厄介でした。
また一時期はiCloudDriveにもトライしていました。 Apple製品で閉じているときは便利ですが、ubuntuとの連携はほとんど不可能といってよさそうです。
結局Dropboxに戻ってくるのですが、無料プランだと同時接続数に制限があるのが問題です。 今回それを無料のまま解除する指針を得たのでメモしておきます。
突破の指針
まともに全部書くと、どこかから怒られそうなので、指針だけメモしておきます。 下記の事実をよく読みましょう:
有料のDropbox Professionalプランには同時接続端末数制限はない
有料プランには試用期間が設定されている
すでに接続が認証されている端末が3台以上の場合、3台の制限が発生したタイミングで端末の認証が解除されるわけではない
これらを紐付けて考えれば、答えは自ずと出てくると思います。
まとめ
怒られたらすぐ消します。
2 notes · View notes
inody · 4 years
Text
macからubuntu mateにxrdpでリモートログイン
概要
最近のコロナの騒ぎを受けて、弊社でもリモートワークが始まりました。 今まで社内では、macbookからデスクトップubuntuにsshでログインして作業していたんですが、異なるネットワークを介して接続したことはありませんでした。 弊社のネットワークはセキュリティを意識してか、vpn環境に入るとsshできず、rdpならできるという謎仕様なので、それならということでubuntuにxrdpサーバーを立ち上げてみました。 同様の記事は他にもたくさんあるのですが(例えばこことか)、あちこち情報が散らばってて設定に苦労したので、備忘録として残しておきます。
環境
繋ぐ方:macOS
繋がれる方:ubuntu mate 18.04
ubuntu側の設定
まずRDPをするのに必要なパッケージをインストールします。
sudo apt install xrdp xorg xorgxrdp
xorgxrdpを入れるのを忘れていると、リモートログイン出来ても、その後ブラックスクリーンになるので注意します(ここでハマった)。
つぎに、ログイン後のカーソル周りの不具合を治すために、/etc/xrdp/xrdp.iniでつぎの行を書き換えます。
書き換え前:
new_cursors=true
書き換え後:
new_cursors=false
さらに、~/.xsessionにつぎのコマンドを書き加えます:
unset DBUS_SESSION_BUS_ADDRESS export GTK_IM_MODULE=ibus export QT_IM_MODULE=ibus export XMODIFIERS="@im=ibus" ibus-daemon -rdx exec mate-session
ほかの方の記事では、/etc/xrdp/startwm.shに書き込んでいたのですが、こっちに落ち着きました。 また~/.xsessionrcは空のままにしておきます。
最後に~/.zshrcの下の方につぎを加えます。
export "LIBGL_ALWAYS_INDIRECT=1" unset SESSION_MANAGER
正直何がなんだかわからないまま試行錯誤した結果、上記の設定でつなげるようになりました。
mac側の設定
まずmicrosoft remote desktop clientをインストールします。 App Storeからダウンロードしてください。
起動したら、新規のPCを追加し、
PC name: ubuntuのipアドレス
user account: ubuntuのユーザ名とパスワード
とします。 これで保存し、接続したらつなげるはずです。
1 note · View note
inody · 4 years
Text
新年を迎えて
約一年ぶりのブログ更新です。 昨年は、公私ともに転換点を迎えた年でした。
仕事では愛知から東京への転勤を経験しました。 基本的に業務内容は地続きで、愛知での研究テーマに継続して取り組んでいました。 対外的なアウトプットとして、査読付き国際学会発表2件、査読付き英語論文誌採択2件、特許出願1件を経験することができました。
またプライベートでは、実家にいた父が亡くなりました。 父は10年の長きに渡り心の病気に苦しみつづけていました。 病気の苦しみは家族に向かい、僕は逃げることしかできなかった。 訃報を聞いたときは、正直悲しみより安堵を感じてしまいました。 それまで生活を共にしていた祖母も叔父の家に越すことになり、実家には母だけが残る形になりました。 父の死に対して自分がベストを尽くしたとは到底言えないし、罪悪感で今も父の悪夢を見ます。 罪滅ぼしかもしれませんが、せめてこれからはずっと味方でいてくれた母の力になれたらと思います。
今年は東京ならではの業務が本格的に始まり、仕事がますます充実しそうです。 ただ、それ以上に私生活も忙しくなりそうで、すべてを満足にこなすのは無理だと予想しています。 自分にとって大事なものを見極め、身近な人たちに心を尽くすことを大事にして、日々を過ごそうと思います。
人生、最近になって好ましくない初期状態の影響がだいぶ緩和してきた気がする。それと同時にマルコフ性が強まってきたというか、今日の自分が昨日の自分に試されてる感じが出てきた。どうせなら楽しんで荷物を増やしていきたいな。
— inody (@inody_) December 8, 2019
本年もよろしくお願いします。
1 note · View note
inody · 5 years
Photo
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
I visited Warsaw to attend an international conference.
1 note · View note
inody · 5 years
Text
ZoteroとiCloudDriveとiPadで文献管理
概要
久しぶりの更新です。 今回はタイトルのような話をします。 これまでも文献管理ソフトはZoteroを使ってきたのですが、つぎの2つを要因に環境を再構築することにしました。
4月から職場が変わる -> 新規PCに文献データベースを引っ越しする必要がある
職場でiPadが使えるようになる -> タブレットで文献を閲覧&編集する環境をつくりたい
ネットでよく目にするのはMendeleyを用いる管理方法なのですが、宗教上の理由でこれは使わない方向で考えます。
Zoteroの紹介
ZoteroはMendeleyやReadCubeのような文献管理ソフトです。 他のソフトに比べるとメジャーではありませんが、軽いこととオープンソースであることが気に入っています。 有志の方々が作っているアドインを用いることで、さまざまな機能を追加することができます。 僕が使用しているアドインはつぎの3つです。
Zotfile 文献に添付するファイルの名前や置き場所を整理する
Better BibTeX for Zotero Zoteroの.bib出力をカスタマイズする
zutilo 簡単なバッチ処理を行う
アドオンの使い方はつぎのブログが詳しいので、こちらをご参照ください。 文献管理ソフト Zotero ~ 設定編~
日々のワークフローとしては、
ブラウザからGoogleScolarなどで文献を調べる
保存すべき文献に出会ったら、つぎのいずれかの方法でデータベースに文献を追加する:
Zotero Connectorを用いる
bibex形式のテキストをクリップボードにコピー&Zoteroから「クリップボードからインポート」する
このときPDFファイルがあればダウンロードする
Zotfileのオプションから、PDFファイルを所定のディレクトリに移動し、リネームする
Better BibTeX for Zoteroのオプションから、Citation Keyを整える
という感じになります。 以上のように整理された文献データベースは、自動的に所定のディレクトリに.bibファイルとして同期出力されます(要設定)。
Zoteroの引っ越し
これまで文献データベースや添付ファイルはすべてローカルに保存しており、Zoteroのクラウドストレージを用いてバックアップを取っていました。 しかしこの方法では、
ストレージ容量に限りがある
ZotFileで紐づけている添付ファイルまでは同期されない
という問題があります。 このため今回の引っ越しを機に、文献データベースや添付ファイルを一般のクラウドストレージに移動させ、どのPCからもこれらの場所を参照させることにしました。
クラウドストレージにはDropboxやGoogleDriveなどたくさんありますが、今回はiCloudDriveを使用することにします。 これにも理由があって、後述するようにiPadでPDFを閲覧&編集するときの動作がかなりスムーズになるためです。
引っ越し手順は以下です:
旧PCでつぎの2つのディレクトリをiCloudDriveにコピー&ペーストする
デフォルトではホームディレクトリ直下にある、Zoteroディレクトリ(文献データベースなどの設定ファイルが設置されている)
ZotfileでPDFファイル置き場として指定してあるディレクトリ(これを仮に「Refs」ディレクトリとする)
新PCでZotero、Zotfile、Better BibTeX for Zotero、zutiloをインストールする
Zoteroの設定から、データディレクトリの場所をiCloudDriveのZoteroディレクトリに変更し(「詳細」→「ファイルとフォルダ」)、Zotfileの設定から、ファイルの場所をRefsに変更する
Zoteroを再起動すると旧PCの文献リストが出現するが、このままだと添付ファイルの場所の変更が反映されていないため、zutiloのModify Attachment pathsからパスを置換する
いろいろ設定を整えて完了
(このうち4番目の添付ファイルのパスの変更の方法を探すのに手間取りました)
iPadでの文献閲覧&編集
ここからはZoteroで集めた文献をiPadで閲覧する方法について説明します。 閲覧ソフトには
ハイライト&注釈
手書きコメント入力
などの機能が求められますが、GoodNotesやAcrobatなどがこれらを満たします。
実はもう一つ重要なポイントが「閲覧ソフトで編集した情報がストレージでも同期されるか」という点です。 実は使用するストレージと閲覧ソフトごとに挙動が微妙に異なっており、例えばGoogleDriveのPDFをAcrobatで編集したときには、AcrobatにはもとのPDFのコピーが送られるため、編集情報がストレージ上のPDFには反映されませんでした。 また、調べたところだと、Dropbox→Acrobatで編集したときには編集情報がもとのストレージに自動で反映されました。 しかしながら、アプリ感をまたぐ操作が必要になるため、少し時間がかかることが気がかりでした。
そこでみつけたのがiCloudDriveに保存したファイルを、Appleデフォルトのビューワで開く方法です。 この方法でPDFを閲覧すると、画面右上に書き込み編集ボタンが表示され、シームレスに書き込み作業に移ることができます。 また、変更情報はもとのストレージにも即時反映されるため、PCのZoteroから閲覧するときにも反映されます。 閲覧はApple純正のFilesアプリから行うのですが、GoogleDrive上のファイルを開いても、右上の書き込み編集ボタンは表示されません(図参照)。
Tumblr media Tumblr media
これがiCloudDriveに保存したファイルであれば、直接編集できるというわけです(再び図参照)。
今後の課題
設定し終えて気づいたのですが、この方法では複数PCでZoteroを用いたとき、文献ファイルのパスをを一致させないと、リンクが上手くいきません(よってWindowsとMacで同時に管理しようとすると詰む)。 やはり素直にMendeleyを使うしかないのか…
とりあえず環境構築ばっかやってないで研究します。。。
1 note · View note