h-otterの備忘録

インフラを中心にコンピュータ関連をいいかんじにやっていきます

【デスク周り】スマート照明で部屋をピカピカさせて陽キャになる

whywaita Advent Calendar 2022 - Adventar 13日目です。

whywaitaの後輩と言えば、この僕 h-otter でして大学やらサークルやら課外活動やら会社やらが毎回かぶっているので、おっかけをしている説が浮上しています。めちゃくちゃそんけいしてます。ただ、アドベントカレンダーを書くのは今年が初めてです、なんでだろ。

さて、なにを書くか迷ったんですが、一時期whywaitaは会うたびにPhillips Hueはいいぞと言う話をしていた記憶があります。きっとwhywaitaは部屋をゲーミングな感じに光らせて夜な夜なパーリナイを繰り広げているのでしょう。せっかく自分も一人暮らしを始めたので、whywaitaパイセンを見習って部屋をピカピカさせて陽キャの仲間入りしようと思います。

blog.whywrite.it

とまあアドベントカレンダーにつなげるための茶番はさておき、自分はもともと机周りスレみたいなコンテンツが好きなので定期的に見ているのですが、最近YouTubeでヒカキンさんが部屋をピカピカさせていたり、たこまるさんの視聴者さんのデスク周り動画とかをみて、自分の机もかっこよくしたいという自己表現欲求が沸々とわいてました。部屋をかっこよく見せる為に必要なものといえば、やはりライティングなのでその辺の試行錯誤もふくめて変遷をまとめます。

スマート照明で布団から出ずに操作

社会人になったので一人暮らしを始めました。せっかく引っ越すならちょっとおもろいことがしたいので、みんなおすすめしているスマート照明を入れてみるかと思い立ちました。その結果選んだものは以下の三つ。

自分は明るい部屋が好きなので、周りの人がやっているレールとかは使わずに部屋のライトはシーリングライト + Nature Remoにして、廊下や風呂場などをHueにする形にしてます。 とりあえず生活がしたかったので、ゲーミングな感じに光らせるとかは特に考えずに選んだ感じです。

Hueのスイッチは玄関に磁石でくっつけてます。 帰ってきたときや出かけるときに電気をいい感じにつけることができて便利です。

部屋ではGoogle Nest Miniで操作しています。 「すべての電気をつけて」と言うと家の電気が全部ついて、「電気をつけて」というと部屋の電気がつきます。 この辺の説明書に書かなくてもなんとなく覚えていく使用感を設計するのすごいよなあ。

とこんな感じで布団から出ずに電気を消したりつけたりすることができて、当初の目的を果たしました。最高。ただ、だれかHueのスイッチを押したらNature Remoで制御している電気をつける方法とかご存じだったら教えてください。帰ってきたときに玄関のスイッチを押してから、部屋の電気だけGoogle Homeでつける必要があって若干面倒なのが不満です。

引っ越し当初の机周り

引っ越した当初はこんな感じでした。基本的には引っ越し前からなにも買い足さずに運んだだけです。

100W type-c給電ができて神、仕事がはかどる。発売直後くらいに買ったんですが、めっちゃ値上がっててびびる。Ethernet端子とかディスプレイをカスケードできないのが不満です。

いったん机にはこだわらずシンプルなやつを使ってます。

こういう余分なケーブルを隠す場所があると便利です。

大学入学した直後にバイトして買った椅子。おかげで腰が痛くなったことは今のところないです。

ディスプレイアームは有名なエルゴトロンのHPのOEMを使ってます。高い位置にディスプレイがあるのが好きなので、長いポールとそれを補強するための板を買ってます。補強が効果あるのかは知りません......

長時間椅子に座っていると疲れるので、オットマンを探していたときに見つけた天才の逸品。椅子に座りながらあぐらもできるし、ほかのオットマンだとリラックスしたいのに面積が少ないから足の動きを制限されるのが結構ストレスに感じていたけど解決してます。おすすめです、とおもってAmazonをみたらポケットコイルタイプが発売してて草。

住みながら改善

実家暮らしの頃と比べると机周りに関してできることも増えたので、色々改善してきました。

まず、快適にYouTubeをみたいと思ったので、テレビを探し始めました。周りの話を聞いているとどうやらHisenseはREGZAを買収したこともあり、REGZAのような品質でめちゃくちゃコスパがいいらしいと言う情報を手に入れました。ええやん。ウォッチしていたところ、Hisenseのビックカメラモデルが存在していて、その型落ちがビックカメラのグループ会社のコジマで安く売ってたのでそれを買いました。手が滑って55インチになっちゃいましたが、2~3cm程度の余裕を残して設置できたので、ヨシッ。なぜ暗い写真かというと反射で部屋が映ったからです。

次に8年ほど使っていた椅子のシルフィーですが、座面がクッション材なので異臭を放ち始めたのが悩みになりました。一応近所の家具クリーニング店を見つけて10000円くらいできれいにしてもらったりもしたんですけど、逆に背面のメッシュのへたりが目立つようにしまったので買い換えの検討を開始しました。オフィスにおいてあったハーマンミラーのエンボディチェアがこれまで使ってきたチェアのなかで一番だったので、それがほしかったんですが25万以上します。たかいなあとおもっていたんですが、Valorant Champions TourでZETA DIVISIONが結果を残してlogicoolコラボモデルが安くなっていたので、それを買いました。ZETAWIN!!!

正直、logicoolコラボモデルは若干廉価版となっているため、背面の素材が若干やすっぽい気がします。本家はゴムっぽいんですけど、logicool版はプラスチックっぽいので若干背面の構造が崩れかかっている感じが......。ただ、本家と同じく12年保証があるので壊れたら直してもらえますし、座り心地には影響ないです。シルフィーの座面が臭くなったことに学んでタオルを座面に敷いて使ってます。ズレないようにする解決策がないので若干不満ですが、汗とかもよく吸うし洗濯できるのでおすすめです。最高の座り心地を手に入れました。

ここらで、俺もそろそろキーマウでFPSをやってみたいと思い始めました。いったん壊れたマウスを卒業したかったので、最初はこれを買っておけとおすすめされたG PRO X SUPERLIGHTを購入。そのときに仕事で使うものは黒っぽいもの、遊びのものは白っぽいものを選ぼうかなというポリシーを決めました。

そんなこんなで、いったんAPEXでFPSデビューをしたわけですが、皆さんご存じの通りAPEXはパッド環境だし、ティアダウンによってプラチナ・ダイヤ帯が当たり前のようにいるブロンズ・シルバー帯でもまれることになります。射線管理もわからないズブの初心者のh-otterは無事友達から引くことを覚えろカスといわれました。諦めが悪いのでちょっとわかってきたからディスプレイのフレームレートをあげれば同じ土俵にたてるやろ!とディスプレイとGPUを買いました。60hzを卒業して165hzになったわけですが、正直違いはわかりませんでした。泣いた。そのあと野良にあおられてOW2をアンインストールしました。

それはさておき、これによって仕事の時はU4320Qを正面に置きたいし、ゲームの時は正面にゲーミングディスプレイを置きたいという要件が生まれました。ディスプレイアームを使っているのでゲーミングディスプレイを使うときだけ正面に持ってくればいいかなと思ったんですが、ポールを奥に置いていると長さが足りなくてなかなかいい感じに正面におけません。ここらへんでYouTubeで机周りの動画を見始めました。その甲斐あって、手前にポールを置くというイノベーションを発見して感動しました。手前にポールを置くと奥にデスクトップPCを置くことができるので、足下が広くなりますし、PCもほこりをすいにくくなります。世の中には天才がいるもんだなあ。ただ、マイクアームをどこに置くのかという問題が出てきたのが悩みです。

光らせる

さて、ようやく本題の光らせる話です。YouTubeでいろいろかっこいい部屋を見たし、PCが机上に来たのでゲーミングPCのライティングが映えるようになってなんかかっこよくできる気がしてきました。

まず、自作PCは今のPCを組んだときに下の画像のような感じで光らせました。ファンが全部光ると一気に映えます。

ひかる じさくPC

自作PCを光らせるためには、LEDのコントローラを使う必要があります。ARGBとRGBという規格があり、多くの場合はマザーボードにコントローラがのってます。しかし、CorsairやNZXTは独自の規格の端子を使ってたりします、キレそう。あと、ARGBのドライバがWindows 11に対応してないことがあるらしく、今は制御できません、キレ。そもそも、ちょっとGPUを買ったときに光らないファンに変えてしまったので今はいい感じに光らないです。最近のゲーミングGPUには大体LEDがのっていて、それも制御できます。LEDコントローラで制御できるようになっているGPUもありますが、たいていの場合はGPUのメーカーのソフトで制御する必要があります。統一してくれ~~~~。

PCはおいておいてに部屋を光らせる方法を考えていきます。いろいろ情報収集をすると多くの人がNanoleafという製品を使っているのを見ます。ただ、値段を見ると目玉が飛び出ます。みんな金持ちか。

よく考えたら、最初に言ったとおり我が家にはHueがあるのでそれと連携ができるものがいいでしょう。ねみぃと布団に潜って電気を消してといったはいいが、デスクライトだけ光ってたら最悪です。普通の電球をつかったデスクライトを使っているので、電球をHueの色が変わるやつにすればめっちゃゲーミング部屋になるのではと思い立ち安くなったタイミングで購入。

ただ、カラーにしたはいいけどちゃんといい感じの色に設定できるかなとか思っていたら、HueにはHue SyncというアプリケーションによってPCの画面の変化に合わせて色がいい感じに変わってくれる、実にゲーミングらしいソリューションがあることを知りました。やってみた様子が以下。

ええやんええやん。ライトの大体の位置を設定することで画面に大体あった色で光ります。PCもHue Syncで制御できたら神じゃない?っておもったんですが、連携に対応しているのはCorsairとRazerのみらしいです。 CORSAIR iCUEに他社製LEDパーツを繋ぐ変換ケーブルを作る - kurokamina’s blog とかまあいろいろやりようはあるみたいですが、ここは宿題にしておきます。いったんPCは手動で制御するとして、やはりディスプレイの裏が光るともっと映えることが先行研究(YouTubeの動画)によって明らかになっています。ということでこいつを購入。Black Fridayで安くなってたのに買いそびれたなあ...とか思ってたら値段そのままで在庫が復活したのでポチりました。whywaitaアドベントカレンダーに間に合うなんて、さすがコンテンツの神にwhywaitaは愛されてますね。

設置した結果がこれ。

ええやん。これで私も陽キャの仲間入りです。既存の家具の色と合ってないじゃんと思ったそこのあなた、私もそう思います。必要なのは光ではなくセンス。

まとめ

別にアフィリエイトをつけてるわけじゃないのに、そういう感じの記事になってしまいましたし、長くなりすぎて小物はもういいやってなっちゃいました。 インフラエンジニアたるもの、仕事環境という一番大事なインフラの改善には心血を注がないといけません。 参考にしたいので、みなさんの机周り記事をお待ちしております。

独自ドメインのメールアドレスを持つためにGoogle Workspaceを使う

自宅ラックでいろいろやっているけど、やっぱ自宅でやりたくない・できないものもいくつかある。 ひとつめは権威DNSで、これは無料なのもあってCloudflareに任せている。 KubernetesExternal DNS と連携もできるし、最高。 ちなみに、External DNSはブログにする必要もないほどめちゃくちゃ簡単に動く。

で、ふたつめが本題のメールサーバ。 これまで、自分が持っているドメインのメールアドレスを適当にさくらのVPSに立てたSMTPからGmailに転送していたんだけど、可用性に不安があった。 そもそも、セキュリティを担保することが難しいことを自覚していたため、自分の持っているドメインを送信元としてメールを送信できないようにしていた。 単純に不便だし、周りに使っている人も結構いる Google Workspace を使ってめっちゃ便利だったから懇切丁寧に設定方法を説明するブログを書こうと思ったけど、やっぱりめんどくさくなった。 雑にメモをする。

まとめ

結局、エイリアスセカンダリドメインのおかげで月680円ぽっきりで必要な数のメールアドレスを作成することができた。 非常にお得感があってやってよかったと思う。

ちなみに、既存のGmailアカウントはそのまま残していて、Androidアプリなどの連携はそのままGmailアカウントでやっていこうかと思っているけど、この辺の他の人の運用方針なんかも少し気になるので、知見などあれば教えてください。

P.S.

ブログ書くのやっぱりめんどい。 自分が持っているドメインの呼称が独自ドメインとかカスタムドメインとかいろいろありすぎなんだよなあ。

n0stackの紹介

n0stack とは

n0stackとは自作クラウド基盤です。

github.com

これは「ちゃんと動くプライベートクラウド基盤を作る」ことを目指しています。 ちゃんと動くことの具体例としては、

  • APIのレスポンスに待たされない
    • OpenStackはmemcachedを入れないと使い物にならないほど遅く、入れても遅いなぁと思う程度に遅い
  • 基盤自体の構築が簡単
    • OpenStackはPackStackなどのオーケストレータを使わないと構築が難しい
  • ソースコードが読みやすい
    • OpenStackは多くの機能を持っているため便利な反面、ソースコードが多いためビルドが遅くデバッグが大変
    • Kubernetesは抽象化が強く、ある interface{} を何が実装しているのかわからないことが多い
  • 内部APIを作らない
  • VM管理だけではなくアプリケーション開発のプラットフォームにする
    • OpenStackはVMがいい感じにたつ以上の機能をなかなか実現できていない
    • KubernetesはOperatorなどの登場などのにより様々なミドルウェアを利用することができ、便利

という感じです。 特にこれといった新規性があるわけではないですが、これらを実現することは広い知見と深い技術力が必要だと感じていて、結構楽しいです。

これらの目的を満たすために以下のような要素技術を利用しています。

  • Golang
    • シングルバイナリでデプロイが簡単
    • 型付きでコードジャンプが便利
  • gRPC
    • API定義が明確
  • etcd
    • リレーションがないためAPI間が疎結合になる
    • 強い一貫性
    • MQよりも管理やデプロイが簡単
  • リソース志向 + RPC
    • Kubernetesはリソース志向のCRDだが、ステートフルなものを管理するのは難しいため

また、n0stackは様々な構成で動くようなアプリケーションにするつもりはありません。 というのも、OpenStackやKubernetesは確かに多くの機能が実装されているため、様々な環境で動かすことができます。 しかし、多くの機能を実装しているということは多くのバグを抱えやすいということです。 特にクラウド基盤は結合した時にバグるということが多く、結局安定の構成 + アプライアンスのサポートで何とかするみたいなことが多いです。 ならば、初めから多くの機能を一つのアプリケーションで実装することをあきらめ、クラウド基盤を自分で実装できるように支援するようなものを作りこんだほうがいいのではないかと考え始めました。 言い換えれば、ウェブアプリケーションフレームワークならぬクラウド基盤フレームワークを作るということです。 こうすることで、VM管理基盤を自作していた時代のように開発の難しさに頭を悩ませることなく、OpenStackのように長いコンフィグを読み解く必要もなく、ソースコードリーディングは簡単にできるといったメリットが考えられます。

今後の予定

自分の文章が拙いことが最近の悩みなので、その練習がてらやったことをブログに書いていく予定です。

ついでに開発風景をyoutube配信とかもしてみています。 いろんな方とコミュニケーションをとれると面白そうですし、他人の作業風景を見てみたいといわれることが多いのでちょっと流してみてます。 面倒になったら適当にやめると思います。

www.youtube.com

現在 v1alpha by h-otter · Pull Request #232 · n0stack/n0stack · GitHub でブレーキングチェンジ中なので使ってみることはお勧めしませんが、作業が進んでいくのを見守ったりコメントをいただければ嬉しいです。 これからn0stackをよろしくお願いします。

ICTSC7の感想

¾ - 3/5 に第7回トラブルシューティングコンテスト (ICTSC7) が開催されました。 今回自分は @palloc と問題リーダーとして半年間準備を行いました。 参加者の感想がまだ集まり切っていませんが、自己評価としては参加者にも楽しんでもらえる良い大会を運営できたのではないかと思っています。 この記事では大会を時系列で振り返ってみようと思います。

ふりかえり

合宿 (10/29 - 10/30)

キックオフミーティングの前に合宿があったような気がします。 問題の案などを出してもらったり、この大会がどのようなものであるかを共有することのほかに、今回は思い切って遊びました。 これが功を奏したのか、割と雑談が増えたのではないかと… (気のせい?)

約4ヶ月の準備期間

そこからは直接全員集まることはなく、ほとんどリモートで作業を行うことになりますが非常に大変でした。 やはり学生の本業は学業 であるはず なので、トラコンのタスクはどうしても優先度に低いものになります。 やってほしいこととやらなければいけないことを分けて認識し、やらなければいけないことは必ずやってもらうことが重要であったと思います。

Hotstage Phase 1 (2/18 - 2/24)

六本木のCiscoさんのオフィスをお借りして準備をしていました。 その際、付箋で全体のタスクをジャンルごとに分け、Pending(作業予定) / Woring (作業中) / Done (終了) の3つのゾーンに分けたかんばん方式で管理しました。 全体の視認性が上がり、アナログがやはり最強であると証明されてしまった気がします。 個人的にはDoneの付箋がどんどん増えていく達成感と、前回と比べて順調に進みすぎているため何か大きな見落としがあるのではないかという不信感がずっと戦っていました。

f:id:h-otter:20170307201435j:plainf:id:h-otter:20170308211616j:plain

Hotstage Phase 2 (2/24 - 3/3)

現地であるNTT 東日本さんの部屋をお借りして実際の設営などを行いました。 リハーサルを行い、点数の調整などの微調整を行いました。 問題の構築などは早々に終わり、微調整や不具合の修正などに時間をさけたことは快挙でした。

f:id:h-otter:20170307202627j:plain

本番 (¾ - 3/5)

やはり、新しいルールや取り組みによるトラブルが発生しましたが、リハーサルも行ったおかげで最低限に抑えられたかと思います。 実際に開催してみてわかるルールなどの改善点が多く見つかったので次回の参考にしようと思います。 TAZ問題(掃除のおばちゃんによる電源OFF)は反響が大きく(・∀・)ニヤニヤ という感じです。

打ち上げ

みんなテンションが高く、盛り上がる余裕があることは信じられないことでした。 各人それぞれはやはり思うところがあると思いますが、少なくともとても笑って打ち上げができるような大会にできてよかったと思います。

f:id:h-otter:20170308212727j:plain (↑ うるさいくらいにテンションが高い一例)

まとめ

今大会は問題リーダーとして参加者に楽しんでもらうということを目標としました。 そのため前回大会の反省にも上がった点も踏まえて以下のことに挑戦しています。

  • 各問題のシナリオの調整
  • ルールの工夫 (http://icttoracon.net/archives/3701)
    • (ルールを乞ってしまったせいで迷惑をかけた @kyontan をはじめとしたコンテストサイトの開発のみなさま本当にありがとうございました。)
  • リアルタイム採点
  • トラブルの内容とどこまで解決してほしいかを明確にする
  • 問題を解くにあたって、ほかの要素を問題のトラブルだと勘違いしないような構成にする
    • 特に物理機材

どれも難しいことでしたが、運営メンバーと協力することでなんとか形にすることができました。 問題リーダーが2人いる構成でしたが、密に連携をとることで円滑に運営メンバーに仕事をしてもらうことができたと思います。

当然、今大会が成功したことは大会にかかわっているすべての方のおかげです。 特に学生の不手際でいつも迷惑をおかけしてしまう大人の皆さまには頭が上がりません。 関係者の皆様方本当にありがとうございました。

参加者の皆さんも、もし楽しんでいただけたのであればまた参加してください。

クライアント Hyper-V の Txオフロードについて

クライアントHyper-Vを使っている際に、sshコネクションが急に切れたりなどいろいろ不安定なことが多かったりします。 特にWiFiではそれが顕著であると感じています。

今回はWiresharkでパケットキャプチャを行い、Checksum Incorrectが多発していたことを確認しました。 Hyper-VインターフェイスTCP, UDPのTxオフロードを無効化したところChecksum Incorrectが多発しなくなったのでメモです。 もちろんパフォーマンスは下がると思いますが、TCPコネクションが切れるよりはましということで…

サーバーではこの問題は特に起こっていないように感じるので、よくわかりません。 また、これで改善するかしないのかはまだ検証中なので、わからないです。 もしバグであるなら修正してほしいですが、もう少し検証してから細かいことを記事にまとめるつもりです。

Zabbix3.0 へのアップグレード

Zabbix 3.0 LTS がリリースされたのでアップグレードしました。ところどころ詰まったのでメモ。

環境

$ uname -a
Linux zabbix 3.13.0-58-generic #97-Ubuntu SMP Wed Jul 8 02:56:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.4 LTS"

方法

バックアップ

データベースや設定ファイルをバックアップします。自分はHyper-V上に構築しているためチェックポイントとって終了。

リポジトリの更新

Zabbix 3.0のリポジトリをドキュメント通りに更新します。このとき念のため古いリポジトリは削除します。

3 Installation from packages [Zabbix Documentation 3.0]

$ sudo apt-get remove zabbix-release
$ wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1+trusty_all.deb
$ sudo dpkg -i zabbix-release_3.0-1+trusty_all.deb
$ sudo apt-get update

Upgrade

必要なパッケージを適宜インストールします。アップグレードだけであれば以下のコマンドでいいようです。更新中に設定ファイルは古いものを維持するか新しいもので上書きするか聞かれます。

$ sudo apt-get --only-upgrade install zabbix*

設定

基本的に2.2や2.4を新規インストールするときと同様のものを設定します。

タイムゾーン

/etc/apache2/conf-available/zabbix.conf

php_value date.timezone Asia/Tokyo

データベースの設定

[password]に自分が設定したパスワードを入力してください。

/etc/zabbix/zabbix_server.conf

# DBPassword=

DBPassword=[password]

フロントエンドのデータベースの設定は前のものが引き継がれます。もしアップグレードとMySQLのパスワードの変更を同時にやってしまったかわいそうな人(自分)は初期設定画面も表示されず、エラー画面が表示されるだけなので/usr/share/zabbix/conf/zabbix.conf.phpを自分で編集してください。

再起動

$ sudo service zabbix_server restart
$ sudo service apache2 reload

お疲れ様でした。

Ubuntu11.10 on Hyper-V

Exploit Exercises

これをHyper-Vにインストールしようと思ったらなかなかうまくいかなかったのでメモ。

環境

方法

  • ネットワーク アダプタレガシ ネットワーク アダプター
  • SCSI コントローラーを削除

f:id:h-otter:20160120222838p:plain