Posts

フロリダでSpace Xのロケット打ち上げを観る

Image
 少し前に見に行ってきたのでメモ。 ケネディ宇宙センターのあるCape Canaveralには、いくつかのロケット発射台がある。もともとはNASAが使っていたが、現在ではいくつかの民間企業にリースされている。そのうちSpace Xが使用しているのはSLC-40とLC-39Aの二つ。今回見に行った時の打ち上げはSLC-40だった。 ロケット打ち上げ情報の入手 有人飛行などの人気なロケット打ち上げは、事前に発射予定がニュースなどで公開される。しかし、Starlinkなどの日常的なロケット打ち上げは、直前まで公式には公表されないことが多い。公開情報をもとにスケジュール公開をしているサイトはいくつかあって、ググると簡単にみつかる。サイトによって情報が異なったりするので、いくつか調べて総合的に判断するしかない。 なお、公表されたスケジュールも、頻繁に変更される。天候の問題はもちろん、ほかの打ち上げとの兼ね合いや、機器の問題などで。一度予定を調べた後も、定期的に調べ続けることが必要。現地滞在のスケジュール的にも一週間くらいはフレキシブルに動けるようにしておいたほうがいい。 自分が今回見に行った時にも、もともとは有人飛行が予定されていたがそれは延期になり、かわりに通信衛星の打ち上げを観てきた。 ケネディ宇宙センターでの特別チケット観覧 人気のある打ち上げに対しては、ケネディ宇宙センターが特別チケットを販売する。$70くらい。定期的にWebサイトをチェックしておくといいと思う。しかし延期されても返金されないので注意が必要。 これを買えば最も良い場所で観覧できると思う。 ケネディ宇宙センターでの通常観覧 打ち上げが営業時間内であれば、宇宙センター内でみることができる。当日センターに行けば観覧場所に関しての案内があるはず。ビジターセンターのあるエリアと、サターンVセンターの二か所で開催されることが多いと思う。どちらの発射台の場合でも、サターンVセンターのほうが眺めはよい。しかしバスツアーでしか行けない場所なので、2時間くらい前にはバスで移動しておいたほうが良い。 サターンVセンターの観覧場所には階段状の座席が設置されていた。一時間前くらいにはガラガラ。10分前くらいには満席になった。安全上の理由から立ち見はできないので、座れなかったら近くの芝生に移動するしかない。たぶん眺めはあ...

アメリカで家を買う

 アメリカで家を買う 少し前に一軒家を購入したのでメモ。 探し方 基本的にはネットで全て探せる。RedfinとかZillowとか。地域や価格などのフィルター条件を設定しておき、毎週水木金あたりに一覧をチェックするとよい。 オープンハウス 多くの家が、掲載された週にオープンハウスを行う。予約なども必要なく、指定された時間内にどの家に行けばよい。 大抵は1人のエージェントがいて、見学者からの質問に答えてくれる。どの程度エージェントが関わってくるかは家ごとに大きく違った。最も消極的な家では、エージェントはリビングに座って、質問された時だけ答える形式だった。最も積極的な家では、すべての見学者に一人の案内エージェントを割り当て、隅々まで細かく説明してもらえた。 家に入る前に名前電話番号メールアドレスを要求する家もあれば、家の中にあるゲスト帳に記入を促す家、何も個人情報を聞かない家もあった。 多くの家が、靴を脱ぐか靴カバーの着用を必須としていた。靴カバーは再利用されて衛生的ではなかったりするので、使い捨てカバーを自分で持っていくとよい。 稀にオープンハウス前に売買が決定することがある。向かう前に最新情報のチェックを忘れずに。また、本当に良いと思った物件には直ちに見学の申し込みを。 不動産エージェント 多くの買い手が不動産エージェントを雇う。少なくともこの地域では、売主側が3%の手数料を買主のエージェントに支払う。エージェントは、買主の希望に合った家を探し、見学、交渉、購入手続きを手助けしてくれる。 ただ高額な家になると3%の手数料に見合った仕事をするのかどうかはとても微妙である。受け取った手数料の一部を買主に還元してくれる、安いエージェントも存在する。 不動産ローン 今の不動産市場はとても競争的なので、事前にローンのPre-approvalをもらっておく必要がある。自分がいくらまで借りられるかを知ることもできるので、家を探す前にやっておくとよい。 注意点としては、一つのローンのPre-approvalを申し込むと、クレジットヒストリーを問い合わせるので、スコアが若干下がることがある。もしスコアが不安な時には、同時に複数のローンの審査に申し込む必要があるかもしれない。 変動金利か固定金利かの判断は事前によく考えておくとよい。家を長期保有しない場合は変動金利で安い金利の恩恵...

読書: Jurassic Park / The Lost World

 Jurassic Park / The Lost World 映画の原作本。90年と95年。 映画版と似ているところも多いが、語っているテーマはだいぶ違う。ネタバレは避けたいのであまり書かない。 再起動のテストが不足しているだとか、致命的なヒューマンエラーを引き起こしかねないユーザーインターフェースとか、今でもありがちな光景が広がっていた。

読書: How to Win Friends and Influence People

 How to Win Friends and Influence People よく名前を目にするし、いつか読んだプログラミング本で似たようなフレーズが使われていたので読んでみた。 いくつかの原則をあげ、それを肯定する個人的な経験をあげていく形式。具体的な事例をあげることで、原則を補足し、その根拠としている。 本の最初のほうで、表面的なテクニックに頼らず誠実であるべき、と話しているが、後に出てくる事例は怪しく感じるものもある。利己的にならないよう気を付けよう。 この本を読んでおけば、相手が似たような手法を使ってきたときに気付くかもしれない。

読書: Cat's Cradle

 Cat's Cradle ice-9が出てくる本。Person of Interestででてきたウィルスの元ネタ。 登場人物それぞれ勝手なことをして破滅する。科学も宗教も利己的。

読書: The Making of a Manager

 The Making of a Manager Twitterで誰かがおすすめしていたので読んだ。新人マネージャ向けの本。 ミーティングだとかフィードバックだとかで役に立つ細々したことについて、作者の経験に基づいて書かれていた。やってはいけない失敗のリストとか。 何か目新しいアイディアが書かれている、というわけではないけれども、新しくマネージャになるときに読んでみると何か失敗を防げるかもしれない。 いくら仕事を部下に分け与えていっても、常に新しい問題は起こり続けるから大丈夫。

Raspberry pi 4 でSambaを動かし家庭用NASへ

 背景 長らく自宅ではQNAPのNASを使っていたものの、その信頼性に不安が生じているのでRaspberry piで自前で用意することにした。 今使っているNASは過去3年間に2回故障、無償で修理はされたものの、送料は自己負担だし、配送先は間違えられるし、とても汚れた基板に付け替えられただけで返ってくるなど、不満点が多かった。一番大きかった問題点は、NAS自体が壊れた時のデータ救出の不透明さ。非公式には他のユーザが方法を公開しているものの、そんなリスクを冒してまで使い続けるメリットがこのNASにはない。 自宅サーバーの管理の手間を省くために家庭用NASを購入したのに、修理交換などで余計に時間を費やしていて本末転倒である。 セットアップ 使ったのはRaspberry pi 4 メモリ2GB。Ubuntu Server 20.04。ストレージにはUSB-C接続の2.5HDD。HDDの駆動電力が供給できるか心配だったが、今のところはRaspberry piからの電力供給で特に問題は起きていない。 通常通りMicro SDカードにUbuntu Serverを書き込み、ネットワークの設定をしてRaspberry piを起動。DHCPサーバーで固定IPアドレスの割り当て設定。作業用のユーザーアカウント作成。 ファイルシステムにはEXT4を使用した。他にはBtrfsも検討した。データの破損検出やスナップショットなど、魅力的な機能は多かったが、安定性を最優先にしたいのでシンプルにEXT4にすることにした。データの整合性管理はもっと上のレイヤーでバックアップを作成するときにすることにする。 ファイルシステム作成 HDDをUSB接続すると自動でデバイスが認識された。とても楽。まずはfdiskでパーティションの設定。既に作られていたものを削除し、最大の大きさでパーティションを1つ作成。 ファイルシステムを作るときに注意した点は二つ。inodeあたりのバイト数と、root用予約領域サイズ。 inodeあたりのバイト数は、デフォルトではとても小さく設定されていたと思う。今回は写真や動画の保存がメインのストレージなので4MBに設定した。デフォルトでも良いが、多少の効率化はできる。 予約領域はゼロへ。完全にデータ用のストレージなので必要がない。 sudo mkfs.ext4 -T lar...

読書: Head First Design Patterns

 Head First Design Patterns デザインパターンについての本。今まで体系的に本で学んだことがなかった。Wikipediaとかでつまみ食いしていただけ。この本では、よく使われる一部のデザインパターンが紹介されている。 写真や図を使って、すごくわかりやすく説明されていた。初めて学ぶ時でもすらすらと読み進められると思う。同じことを何度も繰り返し説明してくれるので、自分で読み返さなくても記憶への定着が良い。 デザインパターンについて次に読むとしたらGoFの本になるかなぁ。

アメリカ連邦税の所得の閾値一覧(2021年度)

 アメリカ連邦税における所得の閾値一覧 よく日本で言われる103万の壁のように、税率が変わる、もしくは適用される税制が変わる閾値の一覧を作ってみた。これを計画的に利用すれば、支払わなければならない税金の最適化ができるはず。 Federal income tax brackets Single $0 - $9,950 10% $9,951 - $40,525 12% $40,526 - $86,375 22% $86,376 - $164,925 24% $164,926 - $209,425 32% $209,426 - $523,600 35% $523,601 - 37% Married, joint filing $0 - $19,900 10% $19,901 - $81,050 12% $81,051 - $172,750 22% $172,751 - $329,850 24% $329,851 - $418,850 32% $418,851 - $628,300 35% $628,301 - 37% Capital gain tax Single 0%: $0 - $40,000 15%: $40,001 - $441,450 20%: $441,451 - married, joint filing 0%: $0 - $80,000 15$: $80,001 - $496,600 20%: $496,601 - Net Investment Income Tax 投資による所得に対して、以下の閾値を超えた分には3.8%追加で税金がかかる。 Single: $200,000 Married filing jointly: $250,000 Roth IRA MAGIが以下の閾値を超えるとRoth IRAを利用できなくなる。MAGIはAGIに一部...

読書: Sherlock Holmes

 Sherlock Holmes 一年半くらいかけて読んだ。古いからなのか、イギリス英語だからなのか、難解な単語が多く、だいぶ辞書を必要とした。しかも辞書でもよくわからない場面も多かった。例えばPrayという単語。辞書を引いてもよくわからないが、Pleaseの文脈でよく出てくるから、Pleaseなんだろうなぁ、と想像しながら読んだりした。 内容は普通に面白い。個人的には長編よりも短編のほうがよかった。長編はよく登場人物の過去の話に移り、そこでだいぶページが使われていた。推理小説が読みたくて読んでるのに。 BBC版ドラマSherlockの元ネタがいっぱい読めたのもよかった。何気ない一シーンにもちゃんと原作に元ネタがあった。

読書: Learn You a Haskell

Learn You a Haskell  10年前くらいに日本語訳が出て、それからずっと積んでいた本。オンラインで読んだ。 とてもわかりやすいHaskell入門書。すらすらと読める。一度解説した内容を何度も繰り返し解説してくれるので、より記憶に定着する。 Haskellの基礎は理解した気になるが、ここから実用的なプログラミングをできるようになるまでにはまだ時間がかかりそう。次のステップとしては、いくつかサンプルコードを読み漁り、プログラミングコンテストとかで軽く使ってみるとかだろうか。10年前にこの本を読んでおくべきだった。

Raspberry pi 4とUbuntu Server 20.04 64bitでRaspberry pi cameraを使う

過去には少し面倒な手順が必要だったようだが、現在では簡単。ファームウェアの更新も必要ない。 セットアップ手順 通常通りRaspberry piを起動後、/boot/firmware/config.txtを編集。以下の2行を[all]セクションに追加して再起動。 start_x=1 gpu_mem=128 start_xはカメラドライバ入りファームウェアをロードするための設定。正しく設定できれば、dmesgでstart_xファームウェアがロードされたことを確認できる。 [    0.052141] raspberrypi-firmware soc:firmware: Attached to firmware from 2021-01-08 14:32, variant start_x gpu_memはカメラの動作に必要なメモリの設定。デフォルトでは70M程度が確保されるらしいが、それでは不足らしい。上の例では128MBを確保している。 最初はconfig.txt内のコメント通りにusercfg.txtを編集して試したが、なぜかうまくいかなかった。原因は調べていないが、とりあえずconfig.txtの編集で問題なく動いている。 これらのオプションの詳細については、以下の公式ドキュメントを参照。 https://www.raspberrypi.org/documentation/configuration/config-txt/boot.md その他注意点 大きすぎる解像度でのキャプチャをリクエストすると、以下のようなエラーがでてフリーズする。 Message from syslogd@ubuntu at Mar 30 03:18:03 ...  kernel:[ 9504.087329] watchdog: BUG: soft lockup - CPU#2 stuck for 22s! [sshd:2699] 解像度を低くするか、もしかしたらメモリ容量を増やすと改善するかもしれない。詳しくは調べていない。

LinuxでUSBカメラ映像をストリーミングかつ録画する

 USBカメラの映像をネットワーク越しにストリーミング視聴できるようにしつつ、24時間録画する方法についてメモ。GStreamerを使用した。 ハードウェア Raspberry Pi 3 Logitech C920(H264エンコーダ付き) ストリーミング方法 検討したプロトコルが以下の4つ。 HLS DASH RTMP RTSP 前者2つはHTTPベースなので扱いが楽。ただしレイテンシが数十秒レベルとだいぶ長め。 RTMPはFlashでよく使われていたプロトコル。まぁ新しく使う理由はあまりない。GStreamerにデフォルトでプラグインがあるので、別のサーバに映像を送るのに使えるかもしれない。例えば、NGINXのRTMPモジュールで受けて、HLSで再送するなど。レイテンシ低い。 RTSPはよくIPカメラとかで使われているイメージ。レイテンシ低くて良い。ただしGStreamerから使うのはすこし面倒。 今回はHLSを使うことにした。GStreamerにデフォルトでプラグインがあるので楽だったので。 録画先 NASをCIFSマウントしてそこにMP4ファイルを書き込むことにした。SDカードに直接書き込むのは寿命の観点から避ける。 同様に、HLSの書き込み先もSDカードは避け、メモリ上にした。 mount -t tmpfs -o size=100M /mnt/tmp USBカメラの接続 Raspberry pi上にはUbuntu Serverをインストールした。ドライバは標準で含まれているので、カメラを接続するだけで認識された。 以下はカメラの確認のための手順。 dmesgコマンドでカメラが認識されたことの確認 lsusbコマンドで同様の確認 ls /dev/video*でデバイスファイルが存在することの確認 ファイルパーミッションの設定。今回は自ユーザをvideoグループに追加した。audioグループにも入れておくと良い。 v4l2-ctl --allでカメラ情報の確認。APTでv4l2-toolsをインストールすること。 v4l2-ctl --info --list-formatsで対応フォーマットの確認。 なお、C920は2020年頃からH264のサポートを辞めたそうなので注意。もしH264がサポートされていない場合、Raspberry pi上でのエンコー...

プログラミング用のディスプレイを選ぶ

 現在はSurface book2と27インチディスプレイ1枚を使っている。しかし、ラップトップの画面と視線を行き来させるのが面倒なので、外部ディスプレイをもう一枚買おうと検討している。 ディスプレイに求める条件 27インチ以上 108 ppi以上 狭いベゼル サイズに関しては、現在使っているものと同じか、より大きくしたいので27インチ以上が条件。 PPIに関しては、今のディスプレイが27インチWQHDで108PPIなので、それと同等かより良いものにしたい。会社から27インチFHD、81PPIのディスプレイが支給されたので自宅にあるが、あまりにも画質が汚すぎて5分で取り外した。なので108が下限。 2枚のディスプレイを並べたいので狭いベゼルも必須。 候補 4k UHD 27インチ $300から$400くらい。163PPI 4k UHD 32インチ $300から$400くらい。138PPI ウルトラワイド 3840x1600 38インチ $1000くらい。110PPI ウルトラワイド 3440x1440 34インチ $650から$800くらい。110PPI ウルトラワイド 5k2k 34インチ $1200くらい。163PPI ウルトラワイド 5120x1440 49インチ $1200くらい。108PPI 結論 4k UHD 27インチディスプレイを買った。満足している。

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