若くない何かの悩み

何かをdisっているときは、たいていツンデレですので大目に見てやってください。

VimConf 2023 Tiny に参加してきた

VimConf 2023 Tiny に参加してきました(発表はしていません)。技術的な話ではありませんが参加して思ったことを書き残しておきます。

vimconf.org

企業の金でブランディングしてもらった

まずはこれをご覧ください。

この映像は弊社の動画撮影用のスタジオをお借りして撮影したものです。何か役に立つかと思い持っていっていた本体を目にした撮影チームがその場の思いつきと工夫で撮影したのがこの動画になります。クオリティが高いですね。すごい。

なお本体は esoraworks さんに実体化してもらいました。実体化はいいぞ。みんなも実体化して企業の金でブランディングしよう。

www.esoraworks.com

発表について

Bram Moolenaar the Creator of Vim

Bram 氏について少しだけ知ることができました。mattn さんからみた Bram 氏像も面白かったです。OSS のメンテナの姿勢として参考になるところが多分にありました。

Revolutionizing Vim/Neovim Plugin Development ~ An In-Depth Look into Denops

個人的に印象に残っているの本発表よりも懇親会の LT であった Denops についての歴史についてです。どういうモチベーションで Denops が生まれ育ってきたのかは興味深かったです。

Looking back at vim meetup

エモかった。私も勉強会をたくさん開催してきたので共感できるところが多分にありました。

Developing a Vim plugin with Ruby, or when in Ruby do as the Rubyists do

静的解析器殺しなので苦手に思っていた Ruby インターフェースについて、それを使う価値について理解できた発表でした。

Modern techniques for implements insert mode plugins / Why use IME within text editor?

SKK にはすこし興味があります(まだ試すには至っていない)。静的解析器の実装者として学びになりつつやばいなと思ったのは <cmd> のまともなユースケースの存在です。いつか map 系の解析をちゃんとしたい。。。(気持ちはある)

Boost your vimrc with some template techniques!

最近の Vim script の便利な構文や Vital の便利な使い方についての発表でした。Vital は Vint のスモークテストとしての解析対象としてお世話になっている関係で少し読んだことがあります。

会話はそれだけで価値がある

VimConf 以前に聞いた印象に残っている言葉に「会話はそれだけで価値がある」があります。VimConf では会話をたくさんしました。下記に書いた以外にもたくさんの方とお話をできました。

kyoh86 さん

いつも vim-jp の Slack でお見かけする kyoh86 さん。母校が同じなので母校繋がりのお話をしました。

tadsan さん

Lint Night で発表をお願いしたこともあり、またいまの弟子の師匠の一人でもあるという繋がりのある tadsan。なんと私のアイコンのキャラクターの正式名称をご存知ということでびっくりしました。すごい。

ももんが さん

かなりすごい発表(かなり) の頃からももんがさんのファンです。当日は懇親会で C# 関連のお話をしました。まだ C# を Vim で書くにはつらいところがたくさんあるという話をしました。

kat0h さん

母校繋がりでいろいろお話をしました。界隈は狭いという話もしました。

kuu さん

vim-jp でときどきお話しする kuu さんともお話ししました。リアルでお会いしたのは初めてです。

つぴ さん

Vim Girl の創作者繋がりでお話ししました。私は Vim Advent Calendar 2013 のトップ絵を描いたことがあり、Vim Girl に思い入れがあります。私の知る限りでは いまどら さんによるオリジナルの絵は正面からの絵しかなく背面のデザインがどうなっているかは想像で補完していました。つぴさんも衣装を手作りとのことでしたので背面のデザインどうされたかという話をしました。

KoRoN さん

CM のお話をしました。KoRoN さんとノベルティの写真についてお話ししましたがまったく覚えていませんでした。不覚・・・

終わりに

普段 vim-jp でオフラインでお話ししている方々とお話しできてとても有意義な時間を過ごせました。VimConf の運営スタッフの皆様ありがとうございました。

高熱後の味覚障害時に食べたもの味覚の記録(随時更新)

2023/08/8から08/12にかけて一家全員(イヌ除く)が40度近い発熱をしました。08/13現在、私は味覚を甘味以外(苦味・酸味・旨味・塩味)感じません。嗅覚はほぼ感じません。この状況で飲食をした際に感じたことの記録を残しておきます。

記録

味覚障害 1日目?

カロリーメイトゼリーりんご味の味がりんごのそれにかなり忠実に感じた。ホエータンパクが入っているからヨーグルトのような風味を感じるはずだが感じなかった。完全にりんご味だ!!!と感動したのを覚えている。ただりんご味と感じるには酸味を感じないといけないはずなのでこの頃はまだ酸味を感じていたのかもしれない。

味覚障害 2日目

カロリーメイトゼリーのりんご感が失われた。酸味を感じなくなった。ただ甘いゼリーだったが美味しかった。

レンジだけで麻婆豆腐を作ったら(当時は長引く高熱のせいで破滅願望があった)、辛い熱い以外感じず美味しく感じられなかった。 味覚に障害のなかった妻は美味しい、ちゃんとした麻婆豆腐味だといって食べていた。

味覚障害3日目

カボチャとにんじんのポタージュの作り置きを食べた。塩味を感じなかったので緩いマッシュポテトのように感じられた。

味覚障害4日目

破滅願望が再び高まったので辛ラーメンを食べた。辛味は感じた。塩味をほとんど感じなかったが麻婆豆腐のときほど不味くは感じなかった。もしかすると旨味を感じ始めている…?

味覚障害5日目

コーヒーの苦味を感じない。

味覚障害6日目

カロリーメイトゼリーりんご味のりんご風味がわかるようになった!!!

続く

加筆予定。

FAQ

なんの感染症だったのか?

検査をしていないので正確なところはわかりません。

40度近い高熱が出たことからインフルエンザウイルスか新型コロナウイルスのいずれかに感染したのではないかと推測しています。 当時の在住地域の定点観測の感染者数割合ではインフル感染者1に対して新型コロナ感染者が10のようですから、新型コロナと考えた方が自然かもしれません。

感染の心当たりは?

潜伏期間を3-5日程度と考えると近所の夏祭りに2-3hほど家族で滞在していたときが唯一の心当たりです。 屋外であったこと、熱中症リスクを重くみたことの2点からマスクを所持していたものの着用していませんでした。 また出店の食品を口にしました。

全員に共通して発症日がほぼずれていないこと、症状は鼻ではなく喉から出たことの2点から出店からの食品・食器から感染した疑いもあります。 全員共通して口にしたのはゼリーとかき氷とフランクフルトです。

その後の対応予定は?

夏祭りの運営に感染を報告しようと思っています(多分報告しないと感染者を出さずに終わった!みたいになって来年対策できませんよね…)。 かつ新型コロナ感染症またはインフルエンザである可能性を考慮してそれぞれの外出自粛期間の長い方を採用することにしています。

中古ネットワーク機器で格安インターネット環境を作る

家のネットワーク環境をあれこれ検討していたところ、中古ネットワーク機器のコストパフォーマンスいいよと聞いて中古ネットワーク機器で揃えてみることにしました。

ネットワーク構成図

我が家のネットワーク構成図

インターネット回線

フレッツ光クロスを契約できたのでチャレンジしてみました。

ISP

ぷらら光メイト(光クロス)です。当初は ASAHI ネットの予定だったのですが、レンタルルータのオプションが必須ということでやめました。 ぷららは IPoE 方式が OCN バーチャルコネクトなので色々と問題があるのですが、安さに負けました。

ルーター

NEC UNIVERGE IX2215

情報分電盤が宅内の果てにあるので、ここに無線ルーターを置くと通信の弱い場所ができてしまいます。そこで有線ルーターを置くことにしました。同僚から NEC UNIVERGE IX2215 いいぞ、とうかがったのと、その方も IX2215 へ乗り換えを検討しているとのことだったのでヤフオクで2台セットのものを共同で購入しました。 最大2Gbps のIPv4基本性能 1000BASE-T (訂正: 2023/03/14)とのことで光クロスの性能を使いきれないのですが、中古で送料込み ¥6,000 ほどで手に入る価格が魅力です。大きさは A4 と同じなので A4 の紙で設置イメージをつかめます。

auctions.yahoo.co.jp

UNIVERGE IX2215 : UNIVERGE IXシリーズ | NEC

シリアルコンソールケーブル

設定にはシリアルコンソールケーブルが必要になります。シリアルコンソールケーブルは FTDI のチップのが問題が少なそうなのでチップを基準に選びました。

設定

NEC のサイトに UNIVERGE の設定例が載っているのですが落とし穴がありました。ぷらら光メイト(光クロス)は OCN バーチャルコネクトを利用していて(サポートに問い合わせて確認をとりました)、光クロスには執筆現在(2023/03/13)ひかり電話をつけられないので OCN バーチャルコネクトの動的 IP、ひかり電話なしの設定を参考にするのが正しいように思えますがこれでは接続できません。

UNIVERGE で OCN バーチャルコネクトの接続状況は show map-e status でみられます。ONU と接続後からしばらく経ってもこのコマンドで表示される status が waiting だったため何かおかしいのがわかり、map-e のデバッグログを確認しました。確認のためにログを有効化する必要があります。コンフィグモードに入り、logging を有効化しつつ map-e 関連のログだけログレベルを debug へ変えます:

IX2215# enable-config
IX2215(config)# logging buffered
IX2215(config)# logging subsystem mape debug

これでログが記録されるようになったので show logging でログを確認します:

IX2215(config)# show logging
...

すると IP が取れていないことがわかりました。NEC の設定ガイドにある OCNバーチャルコネクトの動的IP、ひかり電話なしの WAN 側の IP 取得の設定を抜粋します:

ipv6 dhcp client-profile dhcpv6-cl
  information-request
  option-request dns-servers

! ...

interface GigaEthernet0.0
  no ip address
  ipv6 enable
  ipv6 dhcp client dhcpv6-cl
  ipv6 nd proxy GigaEthernet1.0
  no shutdown

Router Advertisement で IPv6 アドレスをもらう設定になっているのですが、どうやらこれだと IP をもらえないようです。サポートに IP もらえないんだけどと連絡しても「ルーターのことはわからん、対応ルーターなら配線するだけで繋がるはず」と言われてしまいます。技術情報をまったく教えてもらえなかったのでダメもとで色々試したところ、DHCPv6-PD だと IP をもらえることがわかりました(追記2023/03/14: 「フレッツ 光クロス」は、ルーターをレンタルしなくてもサービスを利用できますか。 で DHCPv6-PD と明記されていました):

ipv6 dhcp client-profile dhcpv6-cl
  option-request dns-servers
  ia-pd subscriber GigaEthernet1.0 ::/64 eui-64

! ...

interface GigaEthernet0.0
  no ip address
  ipv6 enable
  ipv6 dhcp client dhcpv6-cl
  no shutdown

つまり、どうやらぷらら光メイト(光クロス)は DHCPv6-PD で IP の払い出しをしているようなのです。ここで半日ほど溶かしました。

うまく接続できた設定を貼っておきます。

gist.github.com

宅内配線

CAT6A の配線です。お高かった。。。

スイッチ

引き渡し当初から設置されていたスイッチです。Buffalo LSW6-GT-8NS なのですが、こいつ 1Gbps までしか出せないんですよね。。。せっかく UNIVERGE が 2Gbps 出せるのにもったいない。。。ということでいつかこいつを置き換えます。速度が必要なケーブルだけ IX2215 の GE2 に繋ぐのが ¥0 でできるので有力です。 1000BASE-T (訂正: 2023/03/14)なので IX2215 ではなく IX2310 あたりが安く流れてくるようになったら置き換えるかな〜という感じです。

LSW6-GT-8NS/BK : スイッチングハブ | バッファロー

アクセスポイント

Cisco WAP150

前述の通りルーターに無線機能を持たせない方針なので、アクセスポイントを1Fと2Fの中心に設置することにしました。こちらも中古で手に入るものを探したところ、ヤフオクで電源アダプタつき(重要)の Cisco WAP150 が2台で送料込み ¥8,000 とのことだったのでこれを落札しました。

auctions.yahoo.co.jp

802.11ac wave 1 に対応しているのでそこそこの速度が出ます(wave2 だともっと速度が出るんですけどお高い)。WAP150 は高速ローミングにも対応しているのですが、1F から 2F の移動時の再認証による速度低下は気にならないと思ったので使っていません。

SSID は以下のように 1F と 2F で揃えて設定します。ローミングに対応している端末なら自動で電波の強い方に繋ぎ直してくれるのでこれで十分です:

  • WAP150 1F
    • 2.4GHz: hoge
    • 5.0GHz: fuga
  • WAP150 2F
    • 2.4GHz: hoge
    • 5.0GHz: fuga

実測

この環境でスイッチ下の有線で接続している PC から速度を実測してみました。

930Mbps

おそらく Buffalo のスイッチで律速している気がしますね。時間をとって配線変えてチャレンジしてみたいと思います。(追記2023/03/14: IX2215 で律速のようです)

電気代について(追記: 2023/03/15)

IX2215 と WAP150 x2 の消費電力量はピークで 33W(= IX2215 14W + WAP150 9.5W x 2)、スマート分電盤による実測で 15Wh ほどでした。

テストマン、新築住宅の平面図からおこした3Dモデルを実写と比較する

こんにちは。この記事は下記記事の振り返りです。

blog.kuniwak.com

引き渡しの際に撮影した写真と、平面図から起こした3Dモデルをレンダリングして得たシミュレーション画像を比較することで3Dモデルの精度を確認しました。3Dモデルには当時私が平面図をどう認識していたかがよくあらわれていました。この認識と実際がどう異なっていたかを観察することで、平面図の誤解しやすい場所がわかりました。

なお良かったこと悪かったこと編は別に書く予定です。

TL;DR

図面から起こした 3D モデルは細かな差異はあるもののおおむね正確です。日照や照明のシミュレーションでは十分使える精度をもっていると確認できました。この細かな差異は次のとおりです:

  • 平面図には書かれていない部分(手すり・照明スイッチ・足元照明・コンセントの寸法と位置、床の高さなど)は推測でモデリングしているがその寸法・位置が実際とは異なっていた
  • 平面図・カタログの見落としがちらほらあった(火災報知器など)
  • シミュレーション画像では青空からくる環境光が再現されていなかった

前者2つを防ぐためには、床の高さのわかる図面、スイッチ・各種モニタ・足元照明の詳細な図面を要望するとより正確な 3D モデルを作れるでしょう。またカタログスペックとカタログの写真との比較も有効です。最後はどう修正すれば良いかわからなかったので、対応方法をご存知であればご教授願います。

実写と3Dモデルのシミュレーション画像を比較する

リビング入り口

リビングから廊下の眺め(前:実写、後:3Dモデルのシミュレーション画像)

おおむねよい精度でモデリングできていたようです。ただしよく見ると次の差異があります:

  1. シミュレーション画像では右奥の洗面台入り口がドアの上枠と揃っているが実際は揃っていない(原因:平面図では正確な指示がないため推測でモデリングしたところ実際とは異なる形状になった)
  2. シミュレーション画像に天井に階段下面の出っ張りはないが実際には出っ張りがある(原因:平面図では正確な指示がないため推測でモデリングしたところ実際とは異なる形状になった)
  3. ドアホンモニタの位置が異なる(原因:平面図では正確な位置の指示がないため推測でモデリングしたところ実際の位置からずれた)
  4. 実写にはある火災報知器が3Dモデルにはついていない(原因:図面には記載があったが見落とした)
  5. 奥の小窓の高さがずれている(原因:床の高さの推測値が実際の値よりも大きかった)
  6. 洗面台裏のハンガーポールの奥行きが違う(原因:引き渡し前に職人の方から図面よりもよい配置があると提案されこれを採用したため図面とは異なる施工になった。ありがたし)
  7. 実写は上の方が暗いが3Dモデルはそうなっていない(原因:床材のマテリアルの粗さが実際よりも高かった。言い換えると床からの光の反射が推測よりも指向性を持っていた)

平面図に記載がなく推測で補った部分に差異が出ていることがわかります。

キッチン

キッチン(前:実写、後:3Dモデルのシミュレーション画像)

背面のカウンターの高さを勘違いして5cmほど高くモデリングしていたようです。VR で試した時はキッチンの調理シミュレーションをしなかったため気づきませんでした。また引き出しの取手がつかないと誤解していため3Dモデルには取手がついていません。カタログに掲載されている写真では取手があったので私の見落としが原因です。

ダウンライトの位置が違う気がしますが、3Dモデルのレンダリングに使ったカメラの位置と向きが正確でないことが原因かもしれません。

換気扇は正確な図面をもらっていないので写真からの推測でモデリングしているため差異が出ています。

階段

階段(前:実写、後:3Dモデルのシミュレーション画像)

ここは前回の記事で3Dモデルでの照明シミュレーションにより曲がり角が暗い問題を発見した場所です。実写と見比べたシミュレーション画像の照らされている範囲は忠実に見えます。つまり修正前の図面のシミュレーションで曲がり角が暗かった問題も実際に暗かった可能性が高いです。照明のシミュレーションって大事ですね。

差異もあります。シミュレーション画像は実写よりも足元照明の色温度が高めになっています。照明の色温度は照明器具メーカーのカタログを見ればわかりますから、私の確認が十分ではありませんでした。

2F廊下

2F廊下(前:実写、後:3Dモデルのシミュレーション画像)

2F階段入り口はベビーゲートを設置する予定で図面では幅を確認していました。実際には手すりが干渉してつける予定だったベビーゲートをつけられませんでした。3Dモデルでも手すりの位置は実際より高くかつ奥についており、この事態を想定していなかったことがわかります。何度もベビーゲートつけたいという話はしていたのですが、手すりによりつけられなくなる事態は私、ハウスメーカーのいずれも気づいていませんでした。運よく取り付けられるベビーゲートを見つけられたのでことなきを得ましたが、取り付けられるベビーゲートは一種類しかなくオートクローズ機能のあるものを選べなくなったので事前に気づきたかったです。以下は取り付けられたベビーゲートですがオートクローズ機能はついていません。

item.rakuten.co.jp

実写では青空からの光で室内が青く照らされていますが、シミュレーション画像はほとんど青くありません。背景テクスチャは青空のものを使っていますがうまく再現できないようです。背景テクスチャからの放射のstrengthを調整しましたが、明るくなりはするものの青空の色はうまく出ませんでした。何かうまい方法をご存知の方がいたらぜひご教授願いたいです。

外構

外構は実写を載せたくないため画像は割愛します。

これまでの実写とシミュレーション画像との比較で最も差異が大きかったのが外構です。玄関ドアの材質の光の反射率やブロック塀の高さ、隣家との間のフェンスの高さなど図面には載っていないものが差異を生みました。いずれもハウスメーカーに要望しても返答の望みの薄い数値ですので、自分で測るほかありません。自分で測れない場合は差異が出るリスクを受け入れられるよう考慮しておくとよいでしょう。

脱線:シミュレーション画像と実写画像が重なるようにすると、実際のカメラとレンズの仕様と Blender のカメラ設定がなぜか一致しない

今回使ったカメラは SIGMA fp と 35mm F1.4 DG DN | Art です。

amzn.to amzn.to

Blender の設定

仕様によると SIGMA fp のセンサーの大きさは 36mmx24mm で 35mm F1.4 DG DN | Art の焦点距離は 35mm ですから、Blender のカメラもそのように設定すれば実写画像とシミュレーション画像が揃うはずです。実際にはセンサーサイズを揃えると焦点距離が 55mm ほどでないと画像が重なりませんでした。この差異の原因について心当たりがある方はご教授願います。

まとめ

図面から起こした 3D モデルはおおむね正確です。日照や照明のシミュレーションでは十分使える精度をもっていると確認できました。細かな差異を防ぐためには、床の高さのわかる図面、スイッチ・各種モニタ・足元照明の詳細な図面を要望するとよいでしょう。またカタログスペックとカタログの写真との比較も有効です。

ソフトウェアエンジニアでテストマンな私が家を買う際にやったこと

はじめに

ソフトウェアエンジニアでテストマンを生業とする Kuniwak です。今回は家を買うためにやったことを紹介します。 というのも、家を買うためにやったことを知人に話してみたら面白がられたため、誰かの役に立つかもしれないと思ったからです。

なおこの記事はソフトウェアに関する技術の記事ではありません(随所に検証の基本的な考え方などが散りばめられていますが…)。また、この記事で紹介する意見・手法は多分に cocopon 氏の影響を受けています。cocopon 氏の家購入エントリもこの記事と同時に公開されているはずです。

また、この記事はとても長いので先にポイントを説明しておきます。この記事ではライフプランシミュレーションに始まり次のような3Dモデルを作って日照や照明の検証をしていきます。また、3Dモデルを作るだけでは漏れが出るのでさまざまな検証を組み合わせています:

検証のために作った3Dモデルのレンダリング結果

目次

  • はじめに
  • 目次
  • 家を買うきっかけ(ライフプラン編)
    • ライフプランを考えはじめたきっかけ
    • ライフプランをシミュレーションするサイクルが長すぎる
    • ライフプランシミュレータを自作しよう
    • 自作ライフプランシミュレータのリスク
    • 自作ライフプランシミュレータから見えてきたこと
  • 家購入編
    • 中古・建売・注文どれにするか
      • 立地を比較するために評価方法を考える
        • 立地評価の項目を洗い出す
      • 間取りを比較するために評価方法を考える
        • 今後のシミュレーションのために間取り図を模写する
        • 家具の配置シミュレーションをする
        • 生活の変化のシミュレーションをする
        • 収納のシミュレーションをする
        • 第三者にレビューしてもらう
        • レビューの代わりに家事のシミュレーションをする
    • 物件の比較の結論
    • 注文住宅を購入する
      • 予算を確認する
      • 土地を検証する
      • 間取りと窓を検証する
        • 間取りを自分でも考えてみる
          • 外壁はプロに作ってもらう
          • 305mm グリッドで間取り図を作成する
          • 閑話:間取りの自動生成
        • 要求リストによる検証と収納シミュレーションによる検証をする
        • 壁厚を考慮したより現実の建物に近い図を作成する
        • 家具配置シミュレーションと生活の変化のシミュレーションをする
        • 3D に起こして間取りの見え方を検証する
          • 下準備
            • 高さの目安の準備
            • Blender に jlampel/extra_lights を入れておく
          • 間取りの見え方を確認する
        • 3Dモデルで窓を検証する
          • 隣接する建物を再現する
          • Sun Position プラグインで日照をシミュレーションする
      • 詳細図面を検証する
        • コンセントを検証する
        • 照明を検証する
          • スイッチ位置を評価する
        • 窓の 3D モデルで評価できてないない部分を検証する
        • VRゴーグルで中を歩く
      • 外構を検証する
      • 見つかった問題を振り返る
  • おわりに
  • 後日談
続きを読む