Posts

WSL2上でSSH経由のSOCKSプロキシを作りWindowsから使う

Image
少し難しかったのでメモ。(主にWindowsのUIが) ゴール Windows上のブラウザから、他のサーバー経由でWebにアクセスする。例えば特定のIPアドレスからの接続を許可しているような場合に有効。 VPNやHTTPプロキシを使用しても同じようなゴールを達成できるが、今回はSSHクライアントで標準にサポートされているSOCKSプロキシを使う。プロキシとなるサーバに特別な設定が不要なので簡単。 WSL2上での操作 "-D" オプションを使いながらSSH接続する。 ssh <hostname> -D 1080 これだけで指定したポートでSOCKSプロキシを使うことができる。 試しに使ってみるには、例えば curl --socks5-hostname localhost:1080 www.google.com -vv ここまでは簡単。 Windows上での操作 難しいのがSOCKSプロキシを使うためのWindowsの設定。Settings->Network & Internet->Proxy 結論から言うと、Proxy serverのアドレスとして"socks=localhost"と入力するとよい。 この書き方はStack overflowのどこかで見かけた。動くとも思ってなかったので元URLのメモもしていなかった。このような書き方に関する公式ドキュメントはどこかにはあるのだろうが、自分はまだ見つけられていない。 なお、一度Saveして設定を閉じ、また同じ設定を開くと、アドレスが以下のように変化する。 しかし、このままSaveすると動作しないので、毎回手動で書き直すことが必要となる。 設定後、ブラウザを普通に起動しWebページにアクセスすると、自動的にSSH経由のSOCKSが使われる。

読書: The 7 Habits of Highly Effective People

 The 7 Habits of Highly Effective People 有名な本。昔からタイトルは聞いていたが、なんとなく胡散臭く感じて読んだことがなかった。似たようなタイトルのシリーズが大量に存在したのも、なんとなく手に取るのがはばかられた一因。 書いてあることは、今までいろいろなところで耳にしたことが多かった。あれらの原点はこの本だったのかー、と目から鱗。そういう意味では読んでよかった。一方、新しい情報を得られたか、という意味では、あまり読む価値がなかったかもしれない。 内容を簡単に記録しておくと、 積極的に生きる Circle of Influence と Circle of Concern ゴールを明確に Personal principle 重要なことを先に ImporantとNon-Important。UrgentとNon-Urgent。 Win-Win 相手をまず理解する Synergize 1+1が2以上になる 改善し続ける

読書: 21 lessons for the 21st century

 21 lessons for the 21st century この作者の本をよく見かけるので読んでみた。読む前には知らなかったが、いろいろな機会に書いた21トピックの詰め合わせらしい。読んでいてやたらテーマが分散していると思った。 広範囲にいろいろな話題に接することができたのがよかった。普段だったら全く興味がなく、読むことがないだろうトピックもあった。自分に前提知識が足りなかったが、いろいろ問題が多いらしく興味深かった。 印象に残った点は、今後の未来でバイオ分野での発展とAIの発展が大きく問題を起こすだろうとの思考。今までは一般庶民もまだ労働力として必要とされていたが、AIの発展後はもう必要とすらされなくなるだろう。上の階層の人々は遺伝子学的な発展の恩恵を受けれるが、下の階層は受けられず、格差は拡大する。どうやってこれらの問題を解決すればいいのか?

読書: The Power of Habit

 The Power of Habit 習慣がどのように機能し、それを改善するにはどのようにしたら良いか。 習慣には3つのステップがある。 Cue Routine Reward Cueは例えば、「暇な時間ができた」とか。習慣がスタートするきっかけ。 Routineは、そのCueを受けて自然に行ってしまうこと。例えば「お菓子を食べる」とか。 RewardはRoutineを行った結果の報酬。例えば「満腹感」。 習慣を変えようと思ったら、まずこの3つの工程を自覚すること。その上で、Cueを変更することはまず不可能なので、RoutineとRewardを別の習慣で上書きすること。 以上。

読書: Networking for People Who Hate Networking

Networking for People Who Hate Networking 内向的な人向けのネットワーキングの話。著者はこのテーマでセミナーを行っているらしく、そのセミナーでの話がよく紹介される。 書かれていることは、まず、内向的であることはダメなことではないということ。無理に社交的になるよりも、自分に合ったネットワーキングをすることが大事。 印象に残ったポイント 内向的な人が人と交流した後に疲れるのはそういうもの。一人の時間が必要。パーティに行く前によくエネルギーを蓄えること。 ランダムにいろんな人に話しかけるのがネットワーキングではない。必要な人脈を見極めて、一人でも交流を持てれば成功。事前調査大事。フォローアップも大事

読書: The Three-Body Problem

The Three-Body Problem 中国のSF小説三部作。中国人の同僚に勧められて読んだ。ネタバレ注意。 一作目 冒頭で中国の文化大革命の描写が出てくる。あまり歴史を知らないのでちょっと面食らった。このまま中国描写べったりな話が続いたらどうしようかと身構えたが、その後はあまり中国感は出てこない。地名や人名などで中国が意識される程度。 序盤はちょっとだれる。あらすじとして宇宙人が出てくるという話は聞いていたので、いつになったらそういう話になるのかと思い、途中で飽きた。一作読むのに一年くらいかかった。 終盤でようやく宇宙人について判明し、これからどうするんだ、というところで終わり。 二作目 二作目で、じゃあ具体的に宇宙人とどう対するのかという話になる。主人公が変わり、さらに時代も変わる。 こういう緻密な作戦を必要とする話は個人的に好き。常にどんでん返しな作戦が求められるという状況に持ち込んだところがうまい。最後の交渉シーンは三回くらい繰り返し読んでしまった。 三作目 二作目で丸く収まったのに、じゃあ次に何が起こるのだろう。そんな疑問を持ちながら読み始めた。 次元の話とかは想像力にあふれてて読んでて楽しい。ただ、ちょっとスケールが大きくなりすぎた。宇宙の終わりが来たらどうなるんだろう、とかそういう遠い未来のことに思いを巡らせてしまう。小説を楽しむというよりは、ただそういうことを考えるきっかけを提供しただけという感じ。 あとスケールの小さい話をしておくと、常に備えておくの大事。

読書: The Productive Programmer

The Productive Programmer 読書の記録を残しておこうと思う。 この本は2部構成、1部は具体的なおすすめツールなどの解説、2部はプログラミングに対する考え方などについて。 第一部に関しては、正直なところあまり役に立たない。この本は2008年に出版されているため、おそらく当時としては便利だったのだろうが、2020年現在においては特に目新しさはない。Virtual DesktopやSearch機能など、今ではWindowsに標準搭載されているものの解説ばかりである。Windowsの機能一覧を見たほうが役に立つ。 https://www.microsoft.com/en-us/windows/features 第二部に関しては、一般的に役に立つ考え方がよく解説されている。プログラミング初心者であれば読んでおいて損はないと思う。それらが解説されている古典について言及されているのは良い。次に読む本リストを効率的に作れる。ただし、ある程度プログラミングをしている人にとっては、これもまた特に目新しさはない。解説にJavaとRubyが使われているので、2020年に読む本としては少し古く感じるかもしれない。 印象に残った項目をメモしておく。 なぜそのコードを書いたのかよく理解すること。この話に出てくるAngry monkeysの実験はどこかで聞いたことがあった。実験の真偽が怪しいという点は知らなかった。 Behaviorはコードに書くこと。XMLやYAMLに動作を入れるな。 グラフィックは説得に大事。グラフィカルなコードカバレッジ表示良いね。 Kingの要求通りに船を作ったら転覆した話。悪いのはEngineer? エディター大事。言うまでもないが。 基本的に初心者向け。たぶん同じ内容をカバーしてかつ現代のプログラミング傾向にあった別の本が存在するはず。おすすめしない。