内窓再び

つくった。

ただ、前のときとは違って内窓作成キットを買っている。

前のときは、個別に材料をかき集めて作ったが… 正直、今回専用のキットを買ってわかったのは…
最終的な見た目が全然違う。ということ。ただ、実用性はあんまり変わらない。
キットを使ったほうが滑りはいいかなと思うものの、DIY感あふれる見た目でも、普通に開閉できるので実用上は大して変わらないかなと言ったところ。

ただ、説明書がついていてサイズの測り方、計算方法まで書いてあるのはよかった。
DIYするとき寸法にはだいぶ悩まされたので、それがないのはとてもいい感じだった。

じゃあ、次作るときはどうする?と聞かれたら…
多分、キットを買うと思う。見た目がほn

最終更新 2024/03/10 16:49:00 JST

知人とご飯食べた。

焼肉美味しかった。

多分、人生ではじめて叙々苑でまともにご飯食べた気がする…

年に一回(今回は二年ぶり)しか合わない知人と会った。
正直、なぜ未だにまおーを誘ってくれているのか実はわかっていないんだけれども
(そんなにいい話してるわけでもないようなそうでもないような…)
1年分のアップデートを溜めて濃縮して話すみたいなことをしている。

なので、多分ここ3~4年くらいのスナップショットを見ているのだけれども、こう…成長著しくてすごいなぁと思っている。昔はただの狂人だったのに、社会性が備わって無敵みたいな。
(あと、服がすごい良い感じになってた… 龍が如くの店長やってる頃の真島さんみたいな)

とはいえ、芯はすごい強くて、いい意味で仕事にプライドがあるみたいな。

楽しかった。 また来年気が向いたら声かけてくださいな

…ただ、毎年その格好だよねって言われたのでちょっと痩せないと入らない服を着れるように頑張る。。。

最終更新 2024/03/10 16:58:00 JST

旅行してきた件

大変よかった。

色々とあっておつかれモードだったので、ちょっと旅行してきた。
奮発して少しいい旅館に泊まったけれどもこれが本当に大当たり。

ああ。お金を出すとサービスがこうなるのね・・・っていうのを感じられた。
何より、部屋に温泉が来ていて入ろうと思ったら1分で入れるのは本当に快適だった。

PC持って行って引きこもって仕事したいくらい。

着物着て散策した

これも本当に良かった。着物の産地かなにからしくて、ほどほどなお値段の(iPhone一台分くらい)のを着て歩いた。 初めてちゃんと着付けしてもらって外を歩いたけども、すごくよかった。

何がいいって、帯をめちゃくちゃ締めてる感じなのに着てしまうと意外とつらくなかった。
お手洗いに行っても崩れないし、しかも着心地もよかった・・・

正直、セットでほしいなぁと思った。
(会社に着物で出社する人がいて、全然問題扱いされてないので)

なんかこう、着始めはパリっとしてシワとかなくてすごいいい感じ、夕方まで着続けて、ちょっとシワというか、パリッと感が抜けてもいい感じ・・・ なにより、太ってても目立たない感じが本当によかったなぁ…

他のところでも着物着てみたくなった。

最終更新 2024/03/10 16:45:00 JST

買い物が失敗しまくってる件

近頃、買い物が失敗しまくっている

失敗1 靴の修理

気に入っていた靴を1年くらい壊れたままにしていたが、思い立って修理に出した。
ざっくり2万円ちょい。具体的にはブーツのファスナーが壊れていたのを交換してもらった。

片足は交換、もう片足は調整で済むとのことでそれでお願いしたものの…
出来上がって履いてみたら、まず思ったのが履き心地が悪い。ファスナーが足にあたって違和感。なんでこれを気に入っていたのか自分でもわからない。

そして、店をでて3歩で調整だけ依頼した方がベリっと開いてしまった。すぐに戻って見てもらったものの、調整して様子見て。とのこと。 別のブーツも修理に出したので(こっちは軽症)しかたなく、一旦そのまま帰ることに。 別日にもう一度見てもらったものの…(店員さんが別の人)これは多分ファスナー交換しないと無理。癖がついちゃってる。とのこと。

そういえば、壊れた直後、その時世話になっていた修理屋さんに言われていた気がする。
多分ファスナー両方だめ。って。

ただ、履き心地に違和感があるのに、また15kとかだして修理する気にはなれず…
4年くらい履いていたけどあっさり廃棄を決意。

修理代に使った2万円ちょいが、完全に無駄に。

失敗2 スマホ。

Xperia 5 を使っているが、Android 13の端末が欲しくなったので乗り換えを検討。
なんとなく、普通の端末を使ってもつまんないし、Xperia 5の縦長形状が持ちにくくて嫌だしで少し変わった端末…と探したところ、Motorola Edge 20 を買うことにした。
※ サイズは妥協してもいいけれども 170g 弱 という条件

メルカリでお安く出ていてやったーとおもって買ったものの届いてびっくり。
重い。よく見ると、 Motorola Edge 20 **Fusion **だった。
ほぼ同時発売の廉価版で、重い、カメラ少ない、CPUがMediaTekといいことがない。

再出品しないとだが面倒で… 困った。

失敗3 IKEA LED電球*4

ファンがついた照明を使ってみたくて、本体は注文した。が、電球がついてこない。
そして、うちにはPhilips hueブリッジがあるので、コレに対応した電球がほしい。

IKEAの電球がHueと互換性があることを知っていたので、買ってきた…が。

なんか昼白色が黄色い。標準のコントローラーでも黄色い感じがするので多分仕様。
もうちょっと青白い感じがほしいのに… しかも、4つも買ってきてしまった。

アプリから見ると、4000Kらしいのだが… 正直微妙。 2980x4 = 12000くらいの失敗。
何より、AmazonでPhilips hue LEDバルブが2個4980円なんだからこっちを買えばよかった。

Philips hue Goを使っているが発色がいいので、LEDバルブももう少しいい感じだろう。

または、アプリを使うと、Yeelightとかも使えるようなのでそっちでも良かった。
少なくともHueブリッジがあるなら、IKEAのを選ぶ意味は全くなかった。(値段も大して変わらない)

まとめ

なんか、ちょっとケチろうとか、思いつきとかで買ったのが全部失敗している気がする。
就職して給料もらえるようになって気が大きくなっているのかもしれない。とてもよくない。

最終更新 2024/02/18 16:52:00 JST

ABC341 振り返り

感想

とりあえず、茶色は維持できたので良かった。とはいえ、今回の問題はなかなか厳しくてうわぁ…という感じ。

A 341

やるだけ。 10 * N + ‘1’ を print しただけ

B 換金みたいなの

例文がミスリーディングを誘ってくるという問題。なぜか2123と処理しているが、123と順に後ろに寄せていけばいいだけ。問題文の意味が理解できなくて、15分くらい悩んだ。

C 初期位置を求めろ的なの

500x500 マスのマップの中で初期位置になりうる場所の数を求めろという問題。
移動の指示は500個まで。なので 500x500x500 = 125000000 の計算量の可能性。

とはいえ、マップ端は必ず海という制約があるのと途中でありえないことがわかって中断できるので割りと間に合うと踏んで素直にシミュレーションした。

CPythonだとTLEだったがPyPyに切り替えたら余裕だった。

解きかたは、マップの全マス(ただし海マスは除く)からスタートして愚直にやっただけ。
10^9 前後の計算量なので不安だったが大丈夫だった。 あと、この問題は制限時間が3秒だった。

D 数学問題

残り30分くらいでここまで来たが全くわからず…
法則性があるのかなにかだろうとは思ったものの、解説を読んでもなおわかっていない。

E 良い文字列

残り10分くらいで見て、あれ?これは解けるのでは?と思って解いてみた。
間に合わなかったけど。 割と愚直に書いてみたところ… TLEした。

解説をみたら、

  • 0,1 を反転しても良い文字列かどうかは反転しない
  • 境界部分だけ再判定すればいい
  • 良くない文字列があるところにマークをつけておいて、それが含まれるかどうかで判定可能

愚直はさすがにダメだった。とはいえ、なるほどダメなところにマークというアイデアはなかった。素直じゃダメなら逆(今回だと良くない文字列)から見るというのは覚えておく

最終更新 2024/02/18 16:35:00 JST

ABC338 振り返り

ABC338の振り返り

成績はいつも通りだったものの、茶色になったので良かった。
問題を解くのが早い方ではないので、そろそろD問題を解けるようにならないとなぁという感じ。

ようするに、DPと向き合わないと…

A問題 Capitarized?

Pythonで解いた。そのままの命令ありそうだけどと思ったら解説に書いてあった。
正規表現で解いたものの、 matchfullmatch の違いを考えてなくて、WAをやってしまった。
この問題の場合、文字列全体と正規表現がマッチしていなければならなかったので、 fullmatch しなければいけなかった。 ちょっと実装上の考慮漏れ。

B問題 Frequency

Pythonで解いた。
連想配列に アルファベット → カウント をもたせた。で、valuesの中からmaxを取得して、keysをソートして(タイブレーク対策)maxの登場回数のものを探した。

すごい力技感がある。(実際メモリ使用量 76800KBなので結構でかい)

C問題 Leftover Recipes

Javaで解いた。

さすがにC問題ともなると実装が複雑になるだろうということでJavaに切り替え。仕事でこういう言語を触らなくなっちゃったので(触らないといけないはずなんだけど…)

この問題は本当に悩んだ。 当初、レシピが3個以上もありうると勝手に思い込んでいてドハマリしていた。動的計画法問題がCで出る?そんな馬鹿な!? とか思っていた。

レシピが2つしかないのだから、ワーストケース(10万人分作れる)でも普通に計算可能なのでぐるぐる計算すればよい。わけわからなくてヤケクソで書いたロジックだがACしたので良かった。

結局のところ、Aのレシピがいくつ作れるか、1個ずつ作ってみてとりあえず保存。残った材料でBを作って保存。あとは、Aの量を一個ずつ減らしながら、Bがいくつ作れるようになるかをループして、最大値を答えればオッケー!

提出した回答では、Aを一個ずつ作っているが、普通に割り算すれば一発だった。にしても、ループをかなり回しているのに思った以上の速度で実行できていたので、やっぱりJavaって早いなぁという感じ。

感想

いろんな人の成績を見ていると、15分でC問題を解けるとパフォーマンスが1000を超える。なので、アルゴリズム力は今のままでも判断と実装が早くなると水色まで行けるということに…

とはいえ、今だとC問題の回答で時間ギリギリなのでもう少し慣れていかないと…という感じがする。

最終更新 2024/01/28 15:41:00 JST

やっと靴を修理に出した

気にいって履いてた靴のジッパーが壊れて履けなくなってはや…1年?
ずっと放置していたけれども、思い立って修理に出した。

何回か修理にだしていた靴修理屋さんが閉店してしまって、ほんとに困ってたんだけども…
思い切ってなんかこじんまりとした修理屋さんに行ってみたら、なんとかなりそうな感じ。

かかともすり減ってるし、ソールもかなりすり減ってるので交換したほうが…ということだったのでそこの交換も依頼。あと、なんか靴自体が白ぼけていたので磨きも頼んだ。

合計21600円なり。
もう、靴の購入価格の倍くらい修理に費やしてる気がする。

そして、これが治ってきたらもう一足のブーツも修理に出さないと…(まぁこれはベロが外れちゃったので縫ってほしい。というだけなので安いはず)

最終更新 2024/01/28 15:50:00 JST

ABC329 振り返り

総評

ABCD完。なんとかギリギリレーティングが上がるくらいのパフォーマンスを出したという感じ。
今回の問題はなんか不思議な感じだった。D問題も350点とちょっと低め。灰色でもD行けるというチャンス回。

お仕事でJavaライクな言語を使うのだけれども、いまいち書けなくなってるのでJavaで書くというトライを継続している。

A問題

もうなんかJavaで書くと面倒なので、あっけなくPythonに転んだ。
ワンライナーで書けてしまう感じ。

B問題

ここからJavaで書いた。 エッジでもないケースを見逃して、思いっきりWAを連打した。

C問題

同じ文字が続いているならそれをSetに入れていって、Setの個数を表示すれば終わり。と思って実装したら、見事にメモリが溢れた。2秒かからずに1GBを食い尽くしてるのでJavaすごいなという感じ。よく考えると、そもそも同じ文字が何文字まで続いているかだけを数えれば良いということに気がついたので実装しなおしてACした。

D問題

なんかC問題より簡単なような…? とりあえず全員の票数は覚えておくけれども、トップになれる人はさっきまでトップだった人、もしくは今、票が入った人のいずれかでしかないのでそこだけ比較すればおっけー。あっけなく解けてしまった。

この時点で残り7分だったのでEとかは見るまでもなく投了。
パフォーマンスは茶色。レーティング+11 316 → 327 に上がった。
そろそろ400点の問題を3割くらいの確率で解けるようになって、茶色を目指したい。

最終更新 2023/11/19 15:59:00 JST

ABC327振り返り

ABC 327

今回は、AC完 という微妙な成績だった。今回から仕事の都合でJavaで書くことにした。
Pythonはとても良いのだが、業務でApex(Javaの亜種)を書こうとしたら全然コードが出てこないのでちょっとこれはまずいなと思い始めた。

A問題

まず、Javaのボイラープレートを用意していないのでそこから。
とはいえ、標準入力はScannerクラスで楽に読めるのでちょっと無駄な行があるかな。くらいの感覚。 public class Main にしないとMain.javaというファイル名で保存されるのでアウトになるのがポイント。

問題自体はいつものA問題。

B問題

これが本当に解けなかった。Math.pow すれば良いんでしょと思っていたが…
なんとなく、引数がdoubleな時点でヤバそうだないう感覚はあったのだが、そのまま書いていった結果、4WA していてドハマリ。時間を浪費した挙げ句にPythonで書き直したものの、結局powを使ってしまったので同じ結果に… Math.powだろうとpowだろうと計算誤差があったのが原因。
pythonでループしたコードを書いたら見事にTLEを食らって本当に???だった

コンテスト終了後に、素直に整数で計算するようにしたらあっという間にACだった。

C問題

ナンプレっぽいなにか。配列をガチャガチャやる感じ。この時点で残り20分となっており、Javaだと間に合わないなと思ってPythonに切り替えた。結果は1分残してAC。
こればかりはJavaだと間に合わなかったな…という感触がある。

最終更新 2023/11/05 16:24:00 JST

テレビを入れ替えた

とうとつ

知人宅がテレビを入れ替えて、古いテレビを持って行ってくれということなので持っていくことにした。箱は、知人が購入した新しいテレビの箱を使って、古いのを梱包した。

運び方が問題だが、とりあえず3案考えていた。

  1. レンタカー借りる
  2. タクシー
  3. 電車

レンタカーは確実だけれども近所によさげなのがない。カーシェアはあるが車が小さくて厳しそう。というか割と競争率が高くまいどまいど借りられている。

電車は… やらなくてよかった。50インチのテレビを電車で運ぶのは悪夢だった。

結果、タクシーを使ったが、ギリギリだった。
kmタクシーは電話をかけるとアルファードのようなミニバンを呼べる(らしい)が、電話を書けてみてもオペレーターに繋がらないので諦めた。 S.RIDEアプリからJPN TAXIを指定してお願いした。

結果は… ギリギリ。 幅135cm、高さ83cmの箱だったが、後部座席のスペースギリギリだった。
普通にドアはしまっていたのでまぁ… 大丈夫だと思うがそこが心配になるレベルだった。
当然後ろには乗れないので助手席行きである。

そして、1Fから5Fまでハンドキャリーしたがこれが一番つらかった。
…なんにしてもテレビが大きくなって大変満足。 寝室にもテレビがやってきたが、何に使うんだろう。という感じ。

最終更新 2023/11/05 16:43:00 JST

財団のビルドが壊れていたので直した

いつもの

原因1 なんかDockerのコンテキストの扱いが変わった?

いつの間にやら、 docker buildx build -f aarch64/Dockerfile とやったとき、カレントディレクトリ以下がcontextになっていたが、Dockerfileが存在するディレクトリ以下がcontextになるように仕様が変わった? ログを見るとそのような動きになっていたので、それに対応した。

原因2 Psychのインストールができずにビルド失敗

Railsのバージョンが上がったからか、 _Psych _を入れようとして bundle install が失敗していた。解決法は libyaml-dev をインストールすること(debian / Ubuntu の場合)なのでDockerfileに追加した。

その他修正

独自バージョン番号を入れる

いままでは、 version.rb を文字列置換して無理やり、ビルド日とgitのコミットIDを入れていたが、いつの間にか、 MASTODON_VERSION_METADATA という変数が定義されていれば自動的に表示されるようになった。かと言っても、それを実行時に入れていたら意味がないので、コンテナイメージのビルド時に含めるようにした。(また文字列置換である)

かわりに、version.rb を触るのはやめた。

shallow clone するようにした

なぜか git clone を普通にやっていたので depth=1 を追加した。
なぜ今までやってなかった…

最終更新 2023/11/05 16:32:00 JST

ABC324ふりかえり

A問題

解くだけ。にしてもちょっとAにしてはむずかし・・・そうでもないか

B問題

難しかった。2と3で割れるだけ割りまくって、最後に1になっていればOKとした。
処理速度遅いだろうなぁと思ったけどよく考えたら速度が求められる問題ではなかった。

C問題

これ、文字列の距離が1のやつ的なアルゴリズムがあればあっという間に解けそうな気がした。
ようするに did you mean ? のアレみたいな実装になるんじゃないかなと。
だがしかし、そのアルゴリズムを知らないので、まず文字数が = か 増えているか減っているかで場合分けして、先頭からそれぞれ1文字ずつ比較していった。一回だけ不一致でも許す。みたいな感じ。

D問題

問題文が理解できなかった… 解説を読んだら、結局平方数 0^2 1^2 … を作り込んでおいてそれと一致するかどうかで判断すればよかったらしい。なるほど!それなら簡単

とりあえずレーティングは 352 に上がった。ABC完でも茶色までは行けそう。
そして、今日のD問題は…解けたよね感がある。

最終更新 2023/10/15 14:46:00 JST

Fortigate 50EにOpenWRTを入れて遊ぶ

最初に

前に、OSPNでおすすめされてから、実際に買うまでこんなに時間が空いてしまった。
本当に大破さんには足を向けて寝られない。ありがとうございます。

インストールのしかた

大破さんのブログ参照。で終わってしまうので割愛。

やらかしたこと

最初のTFTPでOpenWRTのイメージをロードするところで、W/B/R のどれかを聞かれるシーンがある。ここで間違えてWを押してしまった。すると、プライマリの起動パーティションにOpenWRTの最小のものが書き込まれてしまい、たしかにOpenWRTは起動できるものの、sysupgradeでイメージを書き込んでも反映されずにドハマリした。

なお、ここで落ち着いて、kn2 パーティションの中身を kernel パーティションに書いてやりなおせば良い(このやり方も大破さんのブログに書いてある)

そして、テンパってTFTPのメニューのformat なんたらを実行したせいで、一台おしゃかにしてしまった。(後に復活させているが)

二台目を購入

ACアダプタはあるので、ACアダプタなしの安いものを購入。
手順通りにOpenWRTを起動して、とりあえずmtdの中身をバックアップした。
で、このバックアップを前述の壊した個体に書き戻して…1台目も復活。

で、何に使うの?

…ただのスイッチングHUBとして使っている。7ポートある、VLANが使えるマネージドなHUBだと考えると安い。そしてUSBメモリを指して記憶領域を広げれば、2GBもRAMがあるので、dockerでなにか遊べるだろうという魂胆である。

2台もあるのでどうしたものか… 本体よりACアダプタのほうが高いし。

スマホ買い替えた

新しいスマホが届いた

機種はXperia 5。初見、めっちゃ細長い。
サイズ感はなんというか、テレビのリモコンな感じ。

今まで使っていたXperia XZ1と比べると、ものすごい細長い。
そして、電源ボタンに内蔵された指紋認証がなくなってるというか、電源ボタンと指紋認証に分かれている。なんてこった。使いにくい。

そして初期設定。AndroidはiPhoneと比べて移行が大変…と思っていたが、いつの間にやらAndroidスマホ同士でデータがコピーできるようになっていた。iPhoneほど完璧ではないが、実用上十分なコピーができていた。

にしても、またしてもキャリア版Xperiaの悪癖というか、毎度そうというか… 初期設定のときにSIMをさしていないと通信事業者設定が再起動するたびに実行されてしかも、失敗するという罠にハマった。
これを解決する手段は… 工場出荷時に初期化して、初期セットアップのときにSIMを刺すしかない。
旧機種からのコピーがいい感じに動くので耐えられたけど、後でやり直そうとしたら偉いことになるので、Android機は本当に再起動テストしたほうがいい。

ちなみに、この個体はアップデートが全然されてなくて初期状態はAndroid 9だった。 そこから16回くらいのアップデートを経て、やっと最新に… もちろんサポートは切れているのでちょっと古い状態だけども。

速度的な話。 Snapdragon 835から855への乗り換えだけれども、まぁ早い早い。メモリが6GBになったのもデカいのかもしれないけど、なんか早いな。という感触。

にしても、またしてもサポートが切れていてうーん。という感じ。
SlackがAndroid9を切ると言っているので10になればいいかと思って買ったけれども、なんともはや。

カメラはすごい。光学ぽい2倍ズームがあり、広角レンズまでついてる。なんなんだこれは… な感じ。

とりあえず、重さもあまり変わらないし満足している。
ただ、Xperia 5IVほしいな感はある。(Vは重くなったのでいらない)

最近のお仕事

最近のお仕事周りの話

9月からチームリーダー的なポジションになった。
序盤は立ち上がり期なので現状を把握しましょう。という感じで静観していたものの、あまり状況がよくないなぁ…ということだけはわかった。

中旬から色々と打ち手(これ、一部界隈ですごい使われているんだけど流行り?)をやっていって、効果はまだ実感できていないものの、改善の兆しは見えてきたかもしれないなぁ…
という状況。

個人的には、技術というかコードを書くところから離れてしまっていて寂しさを感じる反面、なんかこういう仕事も悪くないかもしれない。という感じがしている。自分の作業をこなすというよりチームの作業がうまく行くようにお膳立てをするみたいな感じ。

ここ10年くらいで一番仕事を楽しんでいるかもしれない。
なんかこう、仕事をゲームみたいに捉えるというか、ネトゲやってるような気分。ヘソを曲げたりしないように気を使いながら自分のやりたいゴールを提示しつつ、多少の回り道をしながら、望むような形を作っていくみたいな… コードで何かを作るのではなくて、ふわっとした人間系のなにかでチームを作っていくみたいな…

コードと同じでチームにも仕様書がいると思うので(ようするにどういう将来を求めているのか)そういう文章をたらふく書いてみたり、チケットのステータスならこういう状況で、その時点の担当は誰で、こういう状況になったらステータスを変えてね。みたいなことを書いたり…

今はまだ、こうしたい! どうしたら良いですかね?って相談をして、やり方を考えてもらったりアイデアをもらっているけれども、このあたりも少しは自分で考えられるようになりたいなーとか思ってる。

しかし、優柔不断が売りなのに決定をゴリゴリしないといけないのは楽しいけど疲れるなぁ…
という思いもちょっとある。何より今は割と激務。いろんな負債が溜まっていて本当に首が回らないような状態。幸い、怒られが発生しているとかではないものの、

最終更新 2023/10/01 16:08:00 JST