2022年11月29日火曜日

アイコンを更新しました

ちょっとした事情がありまして、各所で使用しているアイコンを更新することになりました。
今まで使っていたアイコンはこちらになります。

はい、魔法陣グルグルのくまたいようですね。
そしてこちらが新しいアイコンになります。

はい、こちらも魔法陣グルグルのくまたいようになります。
ドット絵だったのが、ベクタ形式になりました。

使用したツールはLibreOffice Drawになります。
単純な図形の組み合わせなら、十分使える感じでした。

冒頭でお話した事情については、年末か新年ごろにお話する予定です。

2022年10月26日水曜日

複数の型のIObservableを効率よく提供するには

仕事でWebSocketクライアントの実装を検討していたときのことです。
WebSocketは文字列とバイナリの2種類のデータを受信できるのですが、これをオブザーバーパターンに適用しようとして困ったことになりました。

どちらか片方だけを受信するならこれで良いのですが、両方まとめて受信するクラスを作ると、エラーを完了の通知が2重に通知されて使いにくいものになってしまいます。
しかし文字列とバイナリを同梱するようなクラスを作って通知を1種類にするのも、受信側でわざわざif文を追加させるようなもので非効率ではないでしょうか。
ということでちょっと考えてみました。

2種類のIObserverを合体させたインターフェースを用意し、それをオーバーロードしたSubscribeメソッドで受信させるのです。
これなら片方だけ使う場合でも、両方使う場合でも対応させることができます。
両方使う場合のSubscribeメソッドがIObservableに合致したものではありませんが、IWebSocketListenerと対応する感じでインターフェースを作ればそれっぽくなるのではないでしょうか。

…また自分しか得しない記事を書いてしまいました。
次こそは他の方にも役立つ可能性のある技術記事を書きたいものです。

このご時世の体調不良

昨日のことなのですが、妻が急に高熱を出して寝込むという事件が発生しました。
胸の痛みを伴うことから乳腺炎ではないかということで、専門の機関に診てもらうことにしました。
生後4ヶ月の双子を抱えるわが家ではこれだけで大事件ですが、さらなる問題が発生します。
そうです、高熱ということで、新型コロナウイルスに対する何らかの陰性証明が必要となるのです。

電話の結果、抗原検査が陰性であれば診てもらえることになりました。
しかしわが家はPCR検査も抗原検査もまったくしたことがありません。
大慌てで近所の薬局に抗原検査キットがあることを確認し、その日の午後の仕事は休んで買いに走りました。
今は主要な変異株にすべて対応した抗原検査キットが売っていて、割引があったので5回分ほど購入しました。

検査はなんと10分少しで完了、こんなに早いのですね。
結果は陰性で、妻が診察の間は自分が双子の育児を受け持ちました。
赤ちゃんってこういうときに限っていつもより泣き虫になるんですよね。
母親の不調を何かしら感じ取ったのかもしれません。
診察結果も予想通り乳腺炎で、油断はできませんが対策はハッキリしているので何とかなるはずです。

もしもPCR検査が必須と言われていたら、こうスムーズとはいかなかったでしょう。
改めてこのご時世で体調不良になることの恐ろしさを痛感しました。

2022年9月19日月曜日

双子の育児

ハードな日々

双子が生まれてから3ヶ月が経ちました。
かっこつけた言い方をすると、クォーターバースデーとでもなるんでしょうか。
最初の1ヶ月半は入院、次の1ヶ月は育児休暇、最後の半月は仕事をしながら…
だんだんと育児難度が上がっていっています。
今はブログを書いている余裕があるほど双子は静かに寝ていますが、それもどこまでもつやら。
でもここらで育児について振り返ってみることにしました。

育児休暇取らないと詰む

双子でなくても育児休暇は検討していたと思いますが、双子の場合は必須としか思えません。
退院していきなり母親のワンオペで回そうものなら、あっという間に育児崩壊です。
ひと昔前の専業主婦の方は、いったいどうやって双子の育児を成立させていたのでしょう?

授乳もしくは粉ミルクは3時間に1回、そしてそれが2人分、タイミングが狂えば90分に1回になることもしばしば。
同時進行でおむつの交換もバンバン発生します。
音に反応するようになると、片方の泣き声でもう片方も泣き出すという無限ループコンボも…

…失礼、双子の面倒をみているうちに翌日になってしまいました。

とにかく外出できない

通常赤ちゃんを外出させるとなると、だっこ紐かベビーカーを使って外出させることになるでしょう。
そう、双子だと2人同時に連れて行くのがすごく難しいのです。
現状では父親と母親でだっこ紐をつけて、ようやく外出が可能となっています。
そう、外出するのに両親が両方とも揃っている必要があるのです。

病院に行くのも、散歩に行くのも、外出するには総出と言えます。
育児休暇が終わった現在では、予防接種の度に有給休暇が必須となっています。
買い物に連れ出すのも大変なので、双子が寝静まってからどちらかがさっと素早く買い物を済ませています。

注文中の双子用のベビーカーが届けば、ようやく状況が変わるといえます。
まあだっこ紐と1人用ベビーカーの組み合わせでも同じことができるはずですが、どうも体力の消費が大きいとのことです。
それでもおむつやミルクを考えると、やはり双子の外出は難しいですね。

それでも…

でも双子を授かったことを嘆くことは全然ないんです。
毎日寝不足でしょうがないですけど、それを当たり前だと捉えている自分がいます。
2人とも愛おしくてたまりありません。

この苦労を思い出話として2人に聞かせるのは、いつになるのでしょうね。

2022年6月21日火曜日

双子が産まれるまで

双子が産まれました

2022年6月15日、待望の子供が産まれました。
一卵性の双子の女の子で、今のところ大きな問題もなく、日々すくすくと成長しています。

しかしここまでの道のりは思っていたよりもずっと厳しく、険しいものでした。
この道程を記憶の奥底に忘れ去ってしまうわけにはいかないと感じ、多少落ち着いてきた今のうちにまとめておくことにしました。


双子の発覚

2021年の11月末くらいだったでしょうか。
妻の妊娠が判明し、定期的に通院するようになりました。
最初のうちはまだ双子だと判明しておらず、2人目はどうしようかゆっくり考えようなどと気楽なことを話していました。

それが12月中旬、妻からLINEで突然の双子だと判明したとの報告を受けました。
2人目の子供はどうするなんてことを言っていられなくなりました。
なにせ2人同時に産まれるんですから。
最初の病院では双子のケアを十分に行えないらしく、より大きな病院に切り替えることとなりました。


重いつわり

双子と判明したあたりから、妻につわりの症状が出始めました。
つわりの症状は双子の方が重いと言われていますが、あまりに個人差が激しいのでその信憑性はちょっと微妙です。
ですが妻には当てはまってしまったらしく、かなり重いつわりに苦しむことになりました。

新婚生活が始まって一ヶ月くらいで、家事の分担比率が一気に夫側へ傾きました。
正直それだけなら喜んで家事を負担したのですけど、3月末に執筆の〆切が控えているのが問題でした。
執筆と家事のダブルパンチで、家事の手を抜くわけにもいかず、進まない執筆に追い詰められる日々を過ごすことになりました。


一時のやすらぎ

大変だと言ってもなんとかなるもので、執筆は予定通りに完了し、妻のつわりもだいぶ良くなってきました。
家事分担も同じくらいに戻り、双子の経過も順調で、妊娠中に避けないといけない食べ物が恋しくなってきているくらいしか問題がありませんでした。


羊水の偏り

2022年4月下旬の定期検診で、不穏な兆候が出始めました。
双子の羊水の量が偏ってきたというのです。
これは双胎間輸血症候群(TTTS)の症状で、約10%の確率で発症すると言われています。

最初は経過観察でしたが改善することはなく、ゴールデンウィークとほぼ同時に管理入院することになりました。
入院は急に決まったので大急ぎで準備を行い、双子が産まれてから必要になるものも事前に買い揃えることにしました。


運命の選択

入院の開始にあたり、治療方針について大きな選択を迫られることになりました。
双胎間輸血症候群の治療は大きく分けて2種類あり、片方は増えすぎた方の羊水を抜きつつ、双子の成長をできる限り待つ方法、そしてレーザーで双子間の羊水の流れを断ち切る方法です。

これにはそれぞれメリット・デメリットがあり、羊水を抜く方法はもし片方が亡くなってしまうと高確率でもう片方も亡くなってしまいます。
レーザーを使う方法はその時点で羊水の偏りを止めることができますが、約25%の確率で片方が亡くなってしまいます。

今までの人生で様々な選択をしてきましたが、ここまで重大な選択をしたことはありませんでした。
自分の決断に文字通り命がかかっているのです。

ただ今回は完全平等な二者択一では無かったのが救いでした。
羊水が偏る速度が比較的遅いこと、現在の週数ではレーザーの手術の難易度が高くなることなどの要因があり、羊水を抜く方法の方に分があったのです。
自分は羊水を抜く選択をしました。

それでも決断が正しかったかなんてその時点ではわかりません。
双子に関わるすべてを信じる、それ以外できることはありませんでした。


入院生活

そうして妻の入院が始まり、新婚生活が半年を迎える前に一人暮らしとなってしまいました。
双子の無事を祈りつつ、週末は着替えを病院に持っていく生活が始まりました。
新型コロナウイルスの影響もあり、入院してから妻の顔を直接見ることすら叶いませんでした。

幸い羊水が偏る速度が悪化することはなく、良い意味で入院が長引くことになりました。
しかし妻は相当寂しい思いをしたことでしょう。
これだけ長期の入院生活を過ごした妻には、尊敬の念を抱かずにはいられません。


双子の誕生

これ以上お腹の中にいてもメリットよりデメリットの方が大きいだろうということで、6月15日に帝王切開することになりました。
早産には変わりないので、すぐに新生児特定集中治療室(NICU)で治療を受けることになります。
問題がなければ本来の出産予定日である7月下旬ごろに退院する予定です。

当日は仕事を休んで面会しに行きました。
いても立ってもいられず、手術のだいぶ前から病院近くでうろうろしてしまっていました。
手術の結果は電話で伝えられるのですが、双子が生きて出産されたと聞いた瞬間、一気に心が軽くなったのを覚えています。
その後の検査で大きな問題が無いことを説明され、いよいよ双子と対面する時となりました。

その姿を見た瞬間、全力で涙をこらえたのを覚えています。
確かに小さな生命がそこにあって、自分でも感情の出どころがわからない歓喜の涙が止まることなく押し寄せてきたのです。
わずかに目を開く瞬間があり、手を振ると確かに目で追ったのです。
父親になったことをさらにハッキリと自覚することとなりました。

ふたりとも、これからよろしくね。

2022年4月28日木曜日

飯テロの行方

ブログで作った料理について語るときが何度かありましたが、最近ではまったく記事で取り上げなくなってしまいました。
では料理をしなくなったかというとむしろ逆で、新婚生活で相当な量の自炊をしてきました。

2022年4月18日月曜日

おためし!リアルタイム音声認識

9ヶ月の沈黙

技術書典12は結婚直後のごたごたもあり、本を出さないことは早々に決めていました。
しかし本を出さなかったのは、結婚だけが理由ではありませんでした。

そう!技術書典11で出した「おためし!リアルタイム音声認識」は、商業版として生まれ変わったのです。
表紙のイラストはジェームスさんに描いていただきました。

簡単にどんな本なのか紹介させてください。


4種類の音声認識

同人版ではAmazon Transcribeという音声認識をリアルタイムで試してみようという内容でした。
しかしこれは想定していた内容の一部で、本当は複数の音声認識を試せるようにしたかったのです。

そこで商業版では、本来試したかった音声認識をすべて試せるように加筆を行いました。
以下の音声認識を試せるようになっています。

  • Amazon Transcribe
  • Google ChromeのWeb Speech API
  • Microsoft Azureの音声サービス
  • AmiVoice Cloud Platform

まあGoogle Cloudを試せなかったのは心残りですが、あれはWebブラウザで動かすには制約が大きすぎるのでどうにもならなそうです。


音声認識の四重奏

そしてサンプルでは、これらすべての音声認識を同時に動かせるように実装しました。
実用面の意味はありませんが、音声認識の比較をするにはインパクト大です。

音声認識の比較って、同じ音声ファイルを使った比較はあっても、リアルタイムで比較をした例が地味に無いんですよね。
でもバッチ処理で音声認識させるのとリアルタイムに音声認識させるのでは許容される処理時間が全然違いますし、手軽に比較できるのは価値があるんじゃないでしょうか。


音声認識をもっと身近に

音声認識を手軽に動かせるようになれば、今まで無かった新しいサービスが生み出されるかもしれません。
もし音声認識に興味があれば、本書を買うまではいかずとも、ぜひいずれかの音声認識を試してみてください。

次世代の音声認識サービスを生み出すのは君だ!