スキップしてメイン コンテンツに移動

投稿

2022の投稿を表示しています

ラーメン赤猫のラーメンを再現した

ラーメン赤猫のラーメンを再現した 2022年も本日で終わり。皆様いかがお過ごしでしょうか。 以前から作ろうと思っていたラーメン赤猫のラーメンを再現しました。 ラーメン赤猫とは ラーメン赤猫は、少年ジャンプ+で連載されている漫画です。 その中に登場するラーメンについて分かっている情報は下記の通り。 ラーメン赤猫しょうゆ 鶏ガラベース 煮干し 昆布 しいたけ キンツァイ 鴨肉のチャーシュー 手作りメンマ 煮玉子 虎打麺 あっさり 鰹節トッピング 醤油ダレ少なめ こってり 自家製チーユを追加 鶏皮、鶏そぼろも追加 特製 虎打麺 この辺が情報として記載されています。 この中でキンツァイ(中国セロリ)と、鴨肉のチャーシューは再現が難しいと思ったので、代替品や既製品に頼ることにしました。 虎打麺 最も再現不可能なのは、虎打麺である事に、異論はないでしょう。 しかし、今回はその虎打麺を再現しました。 今回は、ラーメン赤猫の再現ラーメンにチャレンジします。一番の難所は虎打ち麺。自分をクリシュナちゃんだと思い込んだ異常独身男性に成り切ることで、虎打ち麺を再現 pic.twitter.com/PWRTVSZpTv — ArcCosine💉💉💉💉 (@ArcCosine) December 30, 2022 自分を虎だと思い込む事で、虎打麺が出来上がりました。 冗談はさておき、今回の麺は、小麦粉300g、水110g、塩3g、重曹3gの加水率38%くらいのやや固めの麺にしてみました。 これぐらいの加水率だとやっぱりパスタマシンとかが無いとダメですね。 手打ちするなら、加水率をもっと上げる必要があります(まとまらない)。 加水率を下げる事で、ラーメンっぽさがさらに上がりました。 ラーメン赤猫は醤油ラーメンなので、多分これくらいの加水率が良いだろうなという予想でしたが、それが大正解。 めちゃくちゃスープを吸ってくれました。 麺作り楽しい。 スープ 今回のスープはかなり簡単に作りました。鶏もも挽き肉に、昆布と椎茸と煮干しを合わせてちょっと沸かせただけです。 スープの骨格としては、鶏肉スープという感じでしょうか。 本当は鶏ガラ出汁が良いと思うのですが、鶏肉スープも十二分に美味しかったです。 漫画を見る限り

2022振り返り

少し早いけれど、2022振り返り 早いもので、2022年もあと10日程で終わる。今年もいつも通り時間が過ぎるのが早かった。 やや早いが、2022年を個人的に振り返ってみたいと思う とあるプロジェクトに参画 オープンには出来ない情報なので、オープンにはしないが、この春頃からとあるプロジェクトに参画している。 個人的にずっとやりたかったことであり、それは今も楽しくやっている状況である。 どこかで公開されるかもしれないし、公開されないかもしれない(後者の確率が高くなりつつある)が、それでも最後までやれる事をやって行きたいと思っている。 popInからの卒業 実は、数ヶ月前にpopInを卒業していた。退職エントリとか特に書く必要は無いと感じていたので、書いていない。 popInのプロダクトのほとんどにフロントエンジニアとして関わりを持たせて頂いたのは、ありがたい限り。 自分の技術力に関する自信を深める事が出来た期間であった。 ありがとう、popIn。 パズドラブログの終了 8年5ヶ月程書いていたパズドラブログを終了させた。 もうパズドラネタで、書けることは無いからというのが主な理由。 今後再開することも無いだろう。 女の子への告白と振られ。 先日、勇気を出して気になっていた女性にお付き合いの打診をしたのだが、見事玉砕。 多分、今年一番の悲しみはこの出来事だと思っている。 女の子へ告白成功率はこれで1勝2敗。うーん、どんどんダメになってるなぁ。 とりあえず、来年も独身おじさんを続けることになりそうだ。 結婚したい……。 開発環境のSwitch 開発周りでの一番の変更は開発環境をSwitchした事かもしれない。 長年親しんできたVimの変わりにNeoVimをメインエディタとして採用。 Windows Terminalではなく、Weztermの採用。 WSL2にUbuntu乗っけて、そこで開発するスタイルに変えている。 地味に、今までやってみたかった、Dockerベースの開発や、フレームワークとしてNext.js+Tailwind.cssを採用するなど、今まで出来なかった事に手を出している状況。 特に、Next.jsをベースにしたTypeScriptをコアに置いた開発体験は未だに慣れていない(笑)。 型を意識せずにコードを書いていた事で、色々と血反吐を吐いてる事が多いの

至高のナポリタン

至高のナポリタン バズレシピ Advent Calendar 2022 - Adventar11日目です。 11日目の今日は 至高のナポリタン バズレシピは、基本的にお手軽に作れるというのがコンセプトですが、この至高のナポリタンは結構手が混んでいます。 材料も多いし。 実際に作ったナポリタンはこちら。 材料が多いものの、調味料はケチャップのみなので、案外簡単に作れます。 動画ではソーセージを採用していましたが、僕の家には自家製パンチェッタが常備されているので、このナポリタンには自家製パンチェッタを使っています。 豚バラ肉を塊で買ってきて、塩胡椒して冷蔵庫に置いておくだけなので、作るのは結構簡単です。日にち置く人が多いと思いますが、僕の場合、塩漬けしてから大体1週間くらいから食べ始めています。 それでも十分美味しいです。 このナポリタンの良いところは、やっぱりマッシュルームの旨味ですね。グアニル酸が多く含まれているマッシュルームと、パンチェッタに含まれているイノシン酸、それにトマトケチャップのグルタミン酸が相乗効果を発揮して、シンプルな味付けながら深い旨味を演出してくれます。 黒胡椒、粉チーズ、タバスコで味変するのも美味しいです。 喫茶店のナポリタンと言っていますが、これはかなり切れ味鋭い味付けになっています。 油でべっちゃべちゃの甘酸っぱいナポリタンというよりは、キチンと旨味をまとめて乗っけたナポリタンなので、割りと本格的。 油べっちゃべちゃのナポリタンも、旨味をぎゅっとまとめたナポリタンも、どちらも美味しいので、自分の好みで味付けを変えることをオススメします。 という事で、なんとか3日間走り切ることが出来ました。 後日カレンダー見て、まだ空きがあるようでしたら、追加参加するかも?

至高のペペロンチーノ

至高のペペロンチーノ バズレシピ Advent Calendar 2022 - Adventar10日目です。 10日目の今日は、 至高のペペロンチーノ 。 ペペロンチーノレシピとして、邪道だと言われていますが、作ってみると思いの外オーソドックスです。 にんにくと唐辛子の香りを油に移し、その後「水」を入れて「コンソメ」を入れて沸かしたスープでパスタを煮るという手法を使っています。 いわゆる、ワンパンパスタの一番シンプルな構成ですね。 パスタを茹でる時間の調整を覚えるまで時間がかかりましたが、最近は感覚で大分分かるようになりました。 動画では、小さいフライパンを使って下さいとあるのですが、自分の家にある小さいフライパンはオムレツ専用なので、大きなフライパン(26cm)でいつも作っています。 我が家の場合、袋表記の時間+3分くらいで、ちょうどよいソース濃度になります。 今回は7分のパスタだったので、弱火で10分間ほどフライパンで加熱しました。 最初の8分は放置して、最後の2分くらいでぐるぐるかき混ぜていれば、フライパンに焦げ付く事なく簡単に美味しいパスタを作れます。 この辺は色々試行錯誤が必要ですが、3回くらい作ればなんとなく感覚つかめると思います。

悪魔の壺ニラ

悪魔の壺ニラ バズレシピ Advent Calendar 2022 - Adventar9日目です。 今日から3日間、実際に作ったバズレシピをアップしていきます。 まず初日はこれ、 悪魔の壺ニラ 。 ご飯のお供に、ラーメンの上に乗っけて、お酒のアテとして。 色々な活用方法があります。 お酒を飲みに来た友人に出した所、みんなめちゃくちゃ喜んで食べていました。 作ったバズレシピの中でも他人の評価が一番高かったのが、このレシピです。 作り方を聞かれたので、レシピのURLも教えました。 ニラを切って、ZIPロック的な袋に入れて、調味料入れてモミモミして、一晩置くだけなので、超簡単です。 ちなみに、お味噌は丸の内タニタ食堂の減塩みそを使っています。好きなんですよね、この味。 唐辛子は、業務スーパーで手に入れたキムチ用唐辛子を使っています。 多分、この2つを採用すればほぼ同じ味になると思います。 調味料は結構目分量で入れているので、塩は無くても良いかもです。

Refactor Togetter auto expand.

Togetter auto expandを最近の書き方で。 らいもんさんが、 Togetter auto expand というぐりもんを書いていたので、リファクタした。 ぐりもん書いたの久々。 ただ、コード量としては増えているから、IntersectionObserverを使うよりかは、元ネタの通り、setInterval使ったほうがスマートかな。 ミニマムなIntersectionObserverのサンプルコードになるので、何かの参考になれば良い。 // ==UserScript== // @name Togetter auto expand // @description Togetterページの「この続きを読む」自動でクリック // @namespace http://sangoukan.xrea.jp/ // @match https://togetter.com/li/* // @grant none // @downloadURL https://github.com/raimon49/userscripts/raw/master/togetter_auto_expand.user.js // @updateURL https://github.com/raimon49/userscripts/raw/master/togetter_auto_expand.user.js // @noframes // @author raimon // @version 1.0.1 // ==/UserScript== (() => { function callback(entries){ entries.forEach(entry=>{ if(entry.isIntersecting){ let elem = entry.target; if( elem && typeof elem.onclick==="function"){

2022年秋アニメが豊作すぎる

2022年秋アニメが豊作すぎる 2022年も終わりを迎えつつありますが、皆様いかがお過ごしでしょうか。 僕は読書の秋とアニメの秋と開発の秋を堪能しています。 忙しいです。 ということで、今期のアニメはめちゃくちゃ豊作。続編で面白いのもあるし、新作も面白いのがたくさん。 自分個人としても続きが気になるアニメが一杯出ていて、正直追いかけるのが大変なくらいです(でも楽しい)。 そんな秋アニメについての感想をつらつら書きます。 ブログの秋って奴ですね(なんだそれ)。 ぼっち・ざ・ろっく! スタッフに原作愛が溢れかえった人おるやろってくらいむちゃくちゃ作り込みが凄いアニメ。 四コマ漫画をストーリー仕立てにするのにはかなりの改変が必要なのだが、それを見事にやってのけてる。 きらら系は強い。 なんていうか、けいおん!の再来を彷彿させる感じがするが、けいおん!とは全く別物で、ハイスペックスーパー美少女が変顔と承認欲求を爆発させてる状況が面白くならない訳がない。 何よりも、第五話の「ギターと孤独と蒼い惑星」のシーンで「あ、これ面白い」って感じさせるアニメだった。 ぼっちちゃんの承認欲求が、自分から、結束バンドへ向かったシーンが、おじさんたちは好きすぎるんですよ。 曲の演奏でそれを伝える演出が素晴らしすぎて、何度も見返してる。みんな見かえせ。 機動戦士ガンダム 水星の魔女 プロローグから、大分ぶっ飛んだ事をやりつつ、第一話~三話まで怒涛の展開を示して、Twitterでのバズを生み出してる作品。リコリコと似たような雰囲気を感じる。 インパクトのあるキャラクターと、インパクトのあるセリフで視聴者を惹きつけつつ、模擬戦という人死にが出にくい構造にして、間口を広げたのが戦略的だと感じた。 まあ、その後あっさりメインキャラクターを殺していて、ああ、やっぱりガンダムやんけと思った。 OPの祝福に描かれているエアリアル君のクソ重感情、地味にプロローグと本編に生じてる時間のズレ、セリフの端々に含まれる不穏さなど、考察厨の事もしっかりケアした作品作りは流石の一言。 強いキャラクターと強いセリフと、意味深な伏線はみんな大好物なんだって事がはっきり分かる。 個人的には、エアリアル君の動きが女の子的な動きをしていて、作画スタッフすげーなーと思っています(小並感) チェンソーマン 色々と酷評を受け

ジョン・ミルトンの失楽園を読んだ

ジョン・ミルトンの失楽園を読んだ 秋の夜長という事で、ジョン・ミルトンの失楽園を読んだ。 名作中の名作とも言われているし、欧米というよりキリスト教圏の人たちに取っては、古典中の古典だと思うので、一度は目を通すべきだと常々思っていたが、それがようやくかなった形になる。 ちなみに、これは図書館で借りて読んだ。流石に、自分の図書の1冊として加えるには重鎮すぎる(笑)。 失楽園の概要 失楽園のWikipedia を見れば、おおよそのあらすじを見ることが出来るし、ここを読むだけで十分である。 日本人的な知識ベースだと、このあらすじがとても上手くまとまっているし、これだけで十二分に理解出来る。 この叙事詩は、いわゆる創世記の記述を大幅に加筆表現した物であり、原著では3ページくらいの内容を200ページぐらいまで膨らませた話になっている。 だからといって、中身が薄くなっているという事はなく、ジョン・ミルトンの思想をふんだんに盛り込んだ作品となっており、非常に読み応えがあった。 伏魔殿 パンデモニウム という言葉がここに出てきているのも、感慨深いものを感じた。 僕の場合は、 銀魂のパンデモニウムさん が出てくるが、まあ、それはそれw。 こういう所で、原点を知ることが出来るのが、古典文学を読む時の醍醐味だと個人的には思っている。 ミルトンは何を伝えたかったのか 大筋は、創世記に記されている事柄がベースなので、3行程度でまとめられる内容ではあるが、ミルトンが伝えたかったのは最後の12章の所だと個人的に感じた。 解説の部分を読む限り、ミルトンとしては新世界への切々たる思いを綴ったんだと個人的には理解している。 確かに、この救いがなく、変わりゆく世界に、ミルトンは絶望したが、それでもなお「救い」を求めてこれを書いたんだと考えると、ミルトンの切実な叫びを現代でも受け取れるそんな錯覚すら感じた。 失楽園の最後は、明るい未来を描いて終わっている。 ミルトンの希望を描く事で、この壮大な叙事詩は結ばれており、読んだ後の爽やかさは、彼の願いの清涼さなのかもしれない。 一方、その途中には、人間が持つ醜悪な部分が各所に散りばめられている。人間の綺麗な部分では決してなく、むしろその弱さや醜さを描く事で、今の欠けた部分を抱える人間を表現していたと言えよう。 「人間」と「救い」それが、失

人生初のトラックボールM1

初めてのトラックボール ここ最近、色々と必要と欲望が綯い交ぜになった感傷に流されて、色々と買っている。 その内の1つでトラックボールを購入した。 当初の予定 当初の予定では、 ロジクールのM575 を購入する予定だったが、ひろゆきがロジクールの特集ページに出ていたので、購入意欲を削がれた。 そのまま、Amazonを流し見していたら、見たこともないメーカーのマウスが目に留まった。 それが、今回購入した JUNNUP というメーカー。 いわゆる無名のメーカーだが、商品詳細を見て、これだと感じた。 M1 今回購入したのは、M1という名前のトラックボール。 3台のデバイス切り替えが可能 USB-Cで充電可能←これがでかい エルゴノミックデザイン といった条件が重なり、購入する事にした。 何よりも、値段が安い。3,000円ちょっとで買えるのだから、お買い得だ。 使ってみた感想 実際に使ってみた感想は下記の通り。 トラックボールの使い心地は悪くない。 操作性には慣れが必要(まだ慣れていない) マウスホイールの性能はイマイチ(今まで使ってた、ロジクールのM590との明確な差) ボタンの反応は悪くないが、ゲーム等には向いてない と言った感じ。 安価な製品相応の性能という感じ。 ボタンのクリック感と、マウスホイールの性能に関しては推して知るべしというレベルで、性能は高くない。 ただ、この値段で安価に買えるトラックボールはほとんど存在していないので、トラックボール入門には最適である。 親指型を購入した理由 深謀遠慮の多くの理由があるのだが、ここで明かすことは出来ない。 敢えて言うならば、来年に向けた伏線とでも言っておくか。 親指型のトラックボールの操作を身体に染み込ませて行きたい。 いずれ、マウス並に使いこなせる日が来るであろう。 直近の散財 Kindle Fire HD キーボード トラックボール プリンター 炊飯器 と言ったラインナップを新たに購入した。 この内、キーボードとトラックボールは趣味目的で購入したのだが、それ以外は必要が生じて買ったという感じ。 特に炊飯器は割りと死活問題なので、早く新しいのが届いて欲しい。 問題は、増えてしまった物品を処分する必要があり、いい加減積んであるゴミを捨てねば……。 ちょうど年末も近

tailwind.cssでハマった罠

tailwind.cssの罠 先日、tailwind.cssで謎(?)のバグに遭遇し、2週間くらい解決してなかったのが、つい先程解決したので、記述する。 症状 javascriptで、"py-32"クラスを追加したもの、"py-32"が効かない。 原因 HTMLに"py-32"が書かれていなかったので、 対象となるクラスがバンドルされなかった 。 対処 ダミーで適当なHTMLに適用させたいクラスを記述する。その後、必要があればjavascriptで削除する。 感想 この罠のやばい所は、 開発環境では再現しない という事。 ビルド後に発生するバグってホント、デバッグしにくいですよね。 本番環境でバンドルされているCSSを分析してようやく原因に気がついた。 冷静に考えてみると、このバンドルする際の設定は全部お任せにしているとこういう罠にハマるんだなぁと。 自前でバンドル設定を書くのが死ぬほど面倒なので、エコシステムに依存した環境構築をしたのは良いとして、こんな面倒くさいことにハマるのはなんかやだなぁ。 エコシステムは楽な分、別の場所でハマる事があるので、あんま好きじゃない。

奨励会は残酷だ

奨励会の残酷さ 先日、 第71回奨励会三段リーグが終わった 。 結果は、藤本渚三段と齊藤裕也三段がそれぞれが昇段する事になった。 お二方とも、おめでとうございます。 実は、今期の奨励会三段リーグでは古田龍生三段がぶっちぎりで勝ち進んでいた。 参考: 【奨励会三段リーグ】古田龍生三段が12勝4敗に 昇段が濃厚に 。 当時の空気感としては、古田三段で今期は決まり。2番手は誰かといった点が注目されていた。 しかし、最終日に事件は起きる。まさかの古田三段二連敗。 結果として、2番手、3番手についていた藤本三段と齋藤三段が抜き去ってゴールという形になった。 奨励会は本当に残酷な所だ。 どれだけ先行していたとしても、最後にコケてしまったらそれで終わりなのだから。 古田三段と齋藤三段は、年齢が近しいが、経歴が全然違う。 古田三段は第60回から三段リーグに挑戦していて、今回で11期目。5年近く三段リーグにとどまっている算段になる。年齢も25と、26歳の年齢制限が着実に近づいている。 一方、齋藤三段は、今期初挑戦ながら一期抜けという結果を出した。24歳まで二段で奮闘していたという事を考えると、彼自身もまた年齢制限が迫っていた事がうかがえる。 奨励会三段リーグは、当然ながらそこに長くとどまらずにさっさと上がることができたら一番良いのだが、そこにいる人たちが、全員死にものぐるいで上がろうとしている人たちだからこそ、簡単に上がることができない。 そんな厳しいリーグを勝ち抜くのは並大抵の事ではできない。 例えば、齊藤優希三段は第12期加古川青流戦の決勝まで進んでいるほどの実力者だが、今期の三段リーグは13位。 三段リーグ突破には、何かしらの突き抜け力が求められている。 C級2組の突き抜けに近いものを感じるが、それくらいの実力が無いとプロになる事ができない物なのかもしれない。 ここ数年の三段リーグは、古田三段や斎藤三段の世代の棋士がぼちぼちと上がっていて、その辺の厚い層が薄くなってきている時代だった。 そして、藤井聡太五冠の活躍もあいまって、最近は十代の勢いある棋士たちが三段リーグに顔を連ねるようになった。 より、具体的に年代を絞るならば、1990年代後半世代が淘汰されて、2000年代前半生まれが台頭するようになったのだ。 文字通り世代交代が始まっているさなかと言える。 その中

API化したGASの高速化まとめ

API化したGASの高速化まとめ ひょんな事から、GAS経由でスプレッドシートの中身をAPI化する案件を頂き、ざっと構築したのは良いがあまりにも処理が遅すぎたので、高速化のためにやったあれやこれをまとめる。 全データ取得 まず、一番の高速化と言えば、データ取得。 for文で回してセルのデータを取るのではなく、 Sheets.Spreadsheets.Values.batchGet(sheetId, request).valueRanges みたいな感じで、ぐわっとデータを取るのが早い。 これは以前にやった事がある事だったので、基本中の基本なのだが、これだけだと高速化しなかった。 キャッシュ化 今回の案件は、複数のスプレッドシートからデータを取得して表示するという物であった。 故に、初回の実行時はどうしても何度かリクエストを飛ばす必要があった。 で、これが同じネットワーク(?)内だとある程度キャッシュが効くのだが、別のネットワークになると途端に起動が重くなるという クソ仕様 現象が生じた。 これを解決するために、色々調べた結果、 CacheService を使うと良い事が分かった。 const cache = CacheService.getUserCache(); みたいにして、後は let data = cache.get("keyName"); if( !data ){ //dataを色々処理 cache.put("keyName",JSON.stringify(data)); } と書いて対応する形にした。 今回は、APIを起動実行するユーザが一人しかいない前提なので、getUserCacheを採用したが、getDocumentCacheや、getScriptCacheとかでも全然構わない。 localStorageの採用 さらなる高速化として、localStorageを採用することにした。 これで、爆速化した。 一応、データ更新は3時間に1回という形にして、 let data = localStorage.getItem("keyName"); let dataObject; // キャッシュ時間は3時間くらい if( !data || data.expire

メイン端末をXiaomiのMi 11 Lite 5Gにした

メイン端末を iPhone から Android にした このブログを見返してみると、 2013 年末から iPhone をメイン端末として使っていた らしい。 この記録からするに、10 年近く iPhone をメイン端末として使っていた算段になる。 メイン端末を Android にするに当たって、幾つかの理由があったので、それを書き出していこうと思う。 Apple にイノベーションが無くなった Apple は iPhone を発表してから常に新しい機能を iOS や iPhone に詰め込んできた。 それに当初から惹かれていたというのは正直な話である。 様々なイノベーションがあったが、ここ数年、iOS から何か新しいものが出てきたというニュースはほとんど聞かなくなった。 まあ、iOS 側だけでなく、Android 側からも新しいのは出ていないけれども……。 いずれにせよ、自分はイノベーションというのを思いの外重要視していた。 故に、イノベーションが無くなった Apple に魅力を感じなくなってしまった。 マシンスペックが完全に Android の方が良くなった 以前は、iPhone > Android という関係だったが、今は iPhone < Android という状態になっている。 ハイエンドだけでなく、ミドルハイに関しても、そうなったのがここ最近の事。 今後は、ミドルレンジや、エントリーに関しても Android スマホの方が高スペックになっていくのは既定路線と言えよう。 今回自分が購入したのは、Xiaomi の Mi 11 Lite 5G 。 my new gear... pic.twitter.com/68eVSGAvpR — ArcCosine💉💉💉 (@ArcCosine) July 10, 2022 昨年発売されたミドルハイモデルで、これが非常にコストパフォーマンスが良い端末だった。 Snapdragon の 780G 搭載で、今メインで使っている iPhone SE2 とも遜色ないというより、むしろほとんどの部分に関しては上回る性能を出してくれている。 今後、Snapdragon の世代が上がっていくに連れ、A プロセッサ以上の性能を体感出来るようになるに違いない。 また、 バッテリーの持ち に関しても、かなり差

『天冥の標』シリーズを読み終えたので、その感想

『天冥の標』シリーズを読み終えた 昨年の夏頃からまったりと追いかけて読んでいた天冥の標シリーズを読み終えました。 そう言えば、ふらにゃんオススメの天冥の標の第1巻読み終えました。メニーメニーシープ、面白かったです。続きも楽しく読む予定です。 — ArcCosine💉💉💉 (@ArcCosine) 2021年7月31日 らいもんさんが 時期を同じくして読み終えていた のは、シンギュラリティポイントの一つなのかもしれません、知らんけど。 閑話休題。 天冥の標シリーズの歴史的には、 2→3→4→5→6→7→1→8→9→10 (Part 1とPart 8の順番は微妙だが……)、みたいな感じなので、順番に読みたい人はPart 2から読み進めるのが良いかもしれない。 ただ、やはり作者の狙い的にはPart 1から順々に読み進めて貰ったほうが、衝撃が大きいと思う。 なので、色々と我慢して読み進めることをおすすめする。 Part10まであるが、Part 8まで読み進めないと、1巻で起きた出来事の全容を把握するのは難しい。 そこに至るまで膨大なテキストを消化しなければいけないので、本が好きな人向けの本という感じがする。 個人的には、Part 2は、現代のパンデミックも含めて凄い身近な内容に思えてとても興味深く読めたし、ある意味、天冥の標シリーズの根幹を為すストーリーなので、Part 1よりも先にPart 2を読むというのはありだと思っている。 バリバリのSF好きはPart 1を読んで様々な疑問を抱えながらPart 2以降へ読み進めていくと面白いと思う。 前半Partは、Part毎にテーマが絞られているので、案外すっきり読み進めることが出来る。 逆に、その辺がごちゃ混ぜになったPart 1は全容を理解していない状態で読むとかなり厳しい内容になってるなーというのが正直な意見。 SFでやりたい事全部詰め込みました!みたいな内容なので、SFに慣れていない人にはあまりオススメ出来ないのが非常にもったいない気がする。 三体はその辺、上手いこと短くまとめたなという印象があります。 用語説明あたりから含めて、SFってやっぱり特殊な分野だと改めて感じました。 小川氏が伝えたかった事は、Part 9 ヒトであるヒトとないヒトに詰め込まれていたなと感じました。 「ヒトと

ddu-source-rgを導入した

ddu-source-rg を導入する Slack の vim-jp に、grep 何を使っていますか~と問いかけたら、ddu-source-rg 使ってるよ~という情報をいただき、早速導入した。 まずは、 本家 に書いてあるような設定を施す。 ripgrep のインストール まずは、 ripgrep をインストールする。 すでに導入済みの人はこのステップを飛ばして良い。 自分は Windows 環境なので、 Scoop で導入した。 Scoop を導入していない人は、Scoop を先に導入する事。 PowerShell で下記コマンドを叩き込めば、勝手にインストールされる。 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # Optional: Needed to run a remote script the first time irm get.scoop.sh | iex Scoop の導入が完了してるならば、ripgrep をインストールする。 scoop install ripgrep ddu-source-rg の導入 ddu-source-rg は、Plug やら dein やらでインストールする。 自分は、dein.toml で管理しているので、dein.toml に [[plugins]] repo='shun/ddu-source-rg' を追記しただけ。 後は、dein#install()を実行。 ddu-source-rg の設定 本家にはシンプルに call ddu#custom#patch_global({ \ 'sourceParams' : { \ 'rg' : { \ 'args': ['--column', '--no-heading', '--color', 'never'], \ }, \ }, \ }) と書いてあるので、ddu#custom#patch_global に同じ設定をすれば良い。 ごちゃごちゃしてるけれど、自分のはこんな感

KittyにUDEV ゴシックを導入

Kitty で UDEV ゴシックを有効にする 最近、Mac OSの方では、 Kitty を愛用している。 理由としては、GPUベースで動いているからヌルヌルだという記事をどこかで読んで飛びついた次第。 VimとGitがあれば、後は大抵何でもできるのだが、最近導入した Fern でフォルダアイコンとかをいい感じに表示したい欲が生まれた。 ターミナルのフォント変更についてネットで調べても、日本語記事はあまりなかった。 公式のドキュメントを読んだら kitty +list-fonts を実行して、その一覧にあるフォントを指定しろと書いてあったので、Windowsでも導入している UDEVゴシックフォント のNerd版を入れた。 UDEVゴシックフォントインストール後、kitty +list-fontsを実行し、そこに記されているフォント名を控え、kitty.confに追記した。 font_family UDEV Gothic NF Regular bold_font UDEV Gothic NF Bold italic_font UDEV Gothic NF Italic bold_italic_font UDEV Gothic NF Bold Italic font_size 18.0 font_sizeは自分の環境でのサイズなので、各自好きなサイズへどうぞ。 UDEVゴシックフォントをダウンロードする時は、UDEVGothic_NF_vX.X.X.zipと書いてある方をダウンロードする事。 NerdFont無いと、漢字が表記されて魔界になるので、注意。

Heroku を手動 deploy する

Heroku を手動 deploy する 先日、Heroku が やらかした 事件 があった。 このニュースを聞いて、すぐに github から heroku を切り離した。 その後、パスワードリセットが掛かる等、色々あったが、その辺は割愛。 実は、 つんでれ bot は heroku で稼働しているので、こいつの更新が出来ない状況になってしまった。 地味にちょくちょく更新していたので、どうにか deploy しなきゃなーと思ってたが、ようやく deploy 方法を見つけたので、ここに記録する。 heroku-cli を入れる まず、heroku-cli を導入する。 今は、npm 一発で入れられるので、 npm install -g heroku 自動アップデートされないから、他の方法をやれと書いてあったけれど、deploy する度に更新かければいいやという事で、折り合いをつける事にする。 次に、heroku にログインする heroku login をした後、Enter を叩くとブラウザが立ち上がるので、そこで認証する。 2段階認証もブラウザで出来る。 コマンドライン上でも出来るので、そこはお好みで。 その後、対象のレポジトリに移動し、remote に heroku を追加する。 cd ~/hoge/fuga/ heroku git:remote -a [アプリ名] 自分のアプリの名前は、heroku の dashboard から確認出来る。 最後に、push する git push heroku master 自分のレポジトリでは master でやってるが、main で運用している人はそこを main にすれば良い。 heroku の方でもなんか設定が必要かもしれないけれど、それは 公式ドキュメント を読んで。 編集後記 これで無事に tundere_bot を更新する事が出来た。 地味に、Twitter API ver2 もリリースされたので、近々そのバージョンで組んでみるつもりである。 あと、色々とアレなので、heroku を使うのをどこかでやめた方が良いかもしれない。 現状は代替が無いので、しばらくは heroku を使う予定だが、node が使えてお金が掛からないサービスあったらどなたか教えてください。

puppeteer で、ほどほどの速度で自動スクロールさせるコード

puppeteer で、ほどほどの速度で自動スクロールさせるコード puppeteer で、ほどほどの速度で目的の要素の位置に自動スクロールさせるコードを書いた。 await page.evaluate(async () => { const targetClass = ".target_class"; const hh = document.querySelector(targetClass).offsetHeight; await new Promise((resolve, reject) => { const moved = 100; let _top = 0; let timer = setInterval(() => { window.scrollBy(0, moved); _top += moved; if (_top > hh) { clearInterval(timer); resolve(); } }, 100); }); }); targetClass に、適当なセレクタを指定の事。 最初は、 await page.evaluate(async () => { const targetClass = ".target_class"; const hh = document.querySelector(targetClass).offsetHeight; window.scrollTo(0, hh); }); というシンプルなコードを書いていたのだが、これだと Intersection Observer 的な奴の処理が上手く走らなかったので、少し面倒くさいコードを書くに至った。 これならば、ちょっとずつスクロールしてくれるので、Intersection Observer に何か仕込んでいるサイトでもちゃんと動いてくれる。

electronのリリース用ファイルサイズを半分以下にした

electronのリリース用ファイルサイズを半分以下にした 本日、 きつねゆっくりリネーマーVer 0.0.2 をリリースした。 基本機能は変わっていないが、リリース用のファイルサイズを半分にした。 変更箇所 変更箇所は、package.jsonのbuild。 変更前 "files": [ "dist/**/*" ] 変更後 "files": [ "!.git", "!.dist", "dist/background.js", "dist/index.html", "dist/preload.js", "dist/assets/**/*", "node_modules", "package.json" ], 変更したのはここだけ。 以前のバージョンは、dist以下全部をビルドするようになっていたが、今回は、ビルド用のファイルを個別に指定するようにした。 node_modulesやpackage.jsonやら、色々書いているが、多分要らない。 今後、実験してこの辺はアップデートしていく予定。 推測 以前のビルド設定だと、dist以下を全部包含して作っていたため、同じファイルを2回パッキングしていた可能性がある。 ひどい。 まあ、何も知らないで作るとこうなるという話なので、もし似たような件で悩んでいる人がいたら参考にしていただければと思う。

ワクチン接種3回目

ワクチン接種三回目 三回目のワクチン接種を木曜日に行ってきた。 そして、昨日は完全に死に体で過ごしていた。 こんな時間になってようやく復活という形。 一回目と二回目はファイザーだったが、三回目はモデルナを接種。 当日は、寝る時に謎の悪寒に襲われて、これやべーわとなったが、案の定翌日は完全死亡。 高熱(測れなかったが、恐らく38度近く)と全身の倦怠感で色々ときつかった。 お医者さんには、少しでも痛みがあったら痛み止めガンガン飲めと言われてたので、痛み止め(自分はイブA錠が相性良いので、イブA錠を飲んだ)をガンガン飲んで、横になっていた。食事もろくに作れない状態だったので、事前に簡単に食べられる物やウィダインゼリー的な物を用意して、耐え忍んだ。 誤算だったのは、ポカリスエットを3L用意していたのだが、それが全く足りなかったという点だ。結局、合計で4.5L消費した。 もし、四回目があるなら、ポカリは3本用意しないと駄目だな……。 痛み止めの効果は抜群で、飲んだ後は大分楽になり、ちょっと買い物に行くくらいの元気は出た。 1回目と2回目は特に副反応が出なかったが、3回目はワクチンの本気を感じた。 しかしながら、諸説あるように副反応出たほうが強い抗体が出来るとかなんとかという話なので、これで大分強化されたと思い込むことにしている。 思ったよりも、キツい副反応が出たが、鎮痛解熱剤があれば人類は戦えるので、みんな鎮痛解熱剤をしっかり用意して戦おう。 バファリン、ロキソニン、イブのどれかで戦える。 ちなみに、ロキソニンのパチもん(?)も用意して飲んだが、それよりもイブの方が効いたのは多分体質的な物と思われる。僕はイブの方が相性良かった。

きつねゆっくりリネーマーというツールを作った

きつねゆっくりリネーマーを作った きつねゆっくりリネーマーという名前のツールを作りました。 こちらからアクセスしてください 技術関連に関するあれやこれ 今回は、自分の主戦場でもあるJavaScriptをベースにツールを作ろうという事で、色々模索した結果 vite+TypeScript+electron という技術選定になった……が、実際にはTypeScriptはほぼ使っておらず、JavaScriptメインでの実装になってしまった。 これに関しては、今後のアップデートなどで更新出来たら良いなぁぐらいに思っている。 electronでfsなどを使うためには、色々工夫が必要で、preload.jsにcontextBridgeやらipcRendererを経由して、background.jsでデータをやりとりするみたいな感じになった。 レンダラーの所では、window.API名みたいな感じでアクセスするのだが、これの部分にはちょっと工夫が必要で、 App.tsx を見てもらえば分かるのだが、 declare global { interface Window { api?: any } } の設定と、関数内で、 if( window.api ) というチェック処理が必要になる。これをやらないとコンパイルが上手く通らない上、画面が真っ白になって動かないというバグがあった。 これは、デバッグモードでは見つけることが出来ないバグだったので、色々と辛かった。 まあ、いずれにせよ、このツールを作る事で、electronアプリの作り方を一通り体験出来たのは良かった。 nodejs周辺のライブラリを使うのにはかなり工夫が必要なのだが、一旦覚えてしまえばそこまで複雑な処理ではないので、勉強できて良かった(小並感)。 その他今後やっていきたい事 今回、ビルドしてみて改めて思ったのは、electronアプリのサイズがでかすぎるという事。 Hello,worldレベルのアプリに125Mは流石にでかすぎる。 サイズ的には30Mとか40Mくらいに抑えられるものだと思っているので、今後何かしら良い方法を知ることが出来たら、それで実装してみたいと思う。

ddu.vim introduction

ddu.vim へ移行する 昨日、重い腰を上げて、 denite.vim から、 ddu.vim への移行を行った。 基本的なセッティッグは、ddu.vim の README.md を読めばある程度出来る。 とは言え、ddu.vim の理念を理解していないとそもそも使えないプラグインなので、理念を含めて説明していきたいと思う。 ddu.vim とは ddu.vim は、 Shougo さんによって開発されている、Vim プラグインである。 Unite.vim や denite.vim の流れを組むプラグインであり、物凄く雑に説明すると、Vim で操作できる全てをコントロールしようというプラグインである。 雑すぎねーか。 Unite.vim からこのコンセプトは変わっていないが、Unite.vim は速度が遅いという欠点を抱えていた。 そこで、速度改善のために、pure Vim Script から脱却し、Python3 を採用したのが、denite.vim。 しかし、denite.vim は Python 回りのでトラブルが多かった。 そういう地獄のような状況で、 denops.vim というプラグインが登場する事で環境が一気に変わった。 denops.vim は、 Deno を Vim で使えるようにするプラグインで、これがべらぼうに Vim と相性が良かった。 早いし、色々なことが出来るなど、非常に柔軟な対応を出来るようになった。 Python ちゃんは要らなかったんや……。 簡単にまとめると、 ddu.vim は全てを繋ぐ 環境依存性を著しく下げる denpos.vim の登場により、環境構築が容易に Deno を採用することで高速性と柔軟性を担保 と言った、まさしく次世代のプラグインと呼ぶことが出来る。 ddu.vim の概念 ddu.vim には、 UI sources filters kinds という概念があり、これらも合わせてインストールが必要である。 それぞれ好きな物をインストールすれば良いと書いてしまえばそれで終わりなのだが、初めて導入する人にとっては何を言っているのか意味が分からないと思う。 UI は、文字通り、ユーザーインターフェースである。 とりあえず、ファジーファイン

Netlifyでnode-gypのビルドが失敗したので、その対応

netlify で node-gyp のビルドが失敗した時 node-gyp という、nodejs回りを触っていたらなんか勝手にインストールされる奴がいるんだけれど、毎度毎度ビルド回りで、困らせてくる。 今回は、netlifyでビルドしようとした時にこいつのビルドが出来なくて、困ったので、その備忘録。 自分がビルドしようとしたnode-gypのバージョンは、8.4.1(2022年3月現在)。 こいつのビルドには、どうやらPython3.6以上が必要。 しかし、netlifyのデフォルトでは Python3.5.2が使われていたのでコケてしまった。 なんだこいつ。 https://docs.netlify.com/configure-builds/environment-variables/ と、 https://github.com/netlify/build-image/blob/xenial/included_software.md を見て、どうやらPYTHON_VERSIONに3.7を指定出来るようなので、Deploys > Deploy settings > Environmentを選び、PYTHON_VERSIONを追加した。 ついでに、NODE_VERSIONも今使っている16.14にアップデートしておいた。 これでビルドが上手く通った。 node-gypって何に使ってるん? node-gypって何に使ってるんでしょうね。 なんか色々入れていると気がついたら毎回入ってくる感じで、マジで捨てたい。 こいつのビルドエラーは頻繁に起こっている印象があり、開発体験を著しく悪くしているのでなるべくサクサクと倒せるようになりたい。

辻真先のたかが殺人じゃないかは、ミステリ小説における最高構成

たかが殺人じゃないかの構成は最高だった たかが殺人じゃないかを読了した。 実は、辻真先氏の作品を読むのがこれが初。 ミステリーランキング3冠を達成した作品であり、面白いというのは前評判から知っていたが、想像を超える良さだった。 構成が素晴らしい まずは、なんと言っても、この作品は構成が素晴らしすぎる。 ミステリファンであればあるほど、この構成に感動しない人はいないと思う。 一番最後まで読み進めて、改めて最初に戻りたくなる作品は、中々お目に掛かることが出来ないのだが、「たかが殺人じゃないか」はその稀有な作品の一つ。 多くの人が最後まで読んで、また最初に戻ったに違いない。 作品構成が往年の作家らしく非常に凝っていて、素晴らしかった。 セリフが素晴らしい タイトルにもなっている、「たかが殺人じゃないか」は劇中のとある人物が放つ言葉なのだが、これが今の情勢と合わせて、自分には響いた。 戦争が与える影響によって、どれだけ人間が醜く歪むのかというのを端的に表したセリフであり、且つその人物のようにはなって欲しくないという作家のメッセージ性が強く表れた言葉であり、今だからこそ、改めてこのセリフの重みを感じる。 ロシアのウクライナ侵攻が無かったとしても、このセリフは非常に重みがある言葉であり、歴史の生き証人からの大切なメッセージである。 この言葉を吐く人間を今後も生み出しては行けないし、当然ながら自分もそうなってはならないと考えさせられるものだった。 とは言え、いわゆる説教臭さは皆無であり、むしろライトな印象でこのセリフが使われている所に、プロの技術の高さがにじみ出ていると感じた。 雰囲気が素晴らしい 昭和24年という、時代としては完全に失われた世界の描写が数々描かれており、それが良かった。 これは京極堂シリーズ読者からすると、ある意味「既視感」のある世界であり、別の作家を通して描かれた昭和24年というのも斬新であった。 京極夏彦以外のフィルターを通しての昭和24年は別の生々しさがあり、読んでいてとても良かった。 ミステリとして ミステリとして読んだ場合、実は非常に明快且つシンプルすぎるため、「誰が犯人なのか」というのはかなり簡単に分かってしまう。 可能性を1個1個潰せば誰でも簡単に結論にたどり着けるからだ。 「なぜ殺したのか」の部分は、かなりの部分隠されてい

カササギ殺人事件は作中作だけで良かった

カササギ殺人事件を読んだ 先日、カササギ殺人事件を読んだ。 前評判の高さもあり、面白さは抜群だった……が、正直めちゃくちゃ惜しい内容だった。 カササギ殺人事件の作中作の方の「カササギ殺人事件」(以後、カッコつきは作中作)は、とにかく面白かった。 古き良き推理小説を久々に体験できてとても楽しかった。 「カササギ殺人事件」に記述されている古いイギリスは、見たことが無いけれど良く知っている風景だった。 この世界に存在しない村の陰気な雰囲気は、今となっては中々醸し出すことが出来ない物で、本当に良かった。 上巻は本当に面白かった。世界にぐいぐい引き込まれたし、例え使い古された導入だとしても文章としての質感が高ければ時代を越えて楽しめるという事を改めて感じる事が出来た。 そう、上巻までだったら、間違いなく傑作と言えた。 下巻に関しては、蛇足感があまりにも強かった。 下巻に書きたかったメイントリック部分が出てきて、果たしてそれが分かりますかというのが本書のテーマである事は分かるのだが、それは本当に蛇足な上、全然面白くなかった。 アイディアそのものは素晴らしいが、その素晴らしさよりも「カササギ殺人事件」の出来が良すぎた。 そして、「カササギ殺人事件」は上品な作品だったにも関わらず、カササギ殺人事件の方はあまりにも下品だった。 現代編は、現実に近いからこそ余計に品の無さが目立ったしまった。 作品のネタバラシをしている所も品が無かったし、ましてや探偵の名前のネタバラシが……。 これに関しては、多くの人が嫌な気持ちになったはず。 もう少し、まともな名前にして欲しかった、というのが本音。 この作品をオススメ出来るかどうかという点ではかなり悩ましいと思っている。 好きな人は好きだが、下巻の出来が上巻に比べて酷すぎて、カットしたいくらい。 上巻と解決編だけを繋いだバージョンだけを読みたかった。 続編が出ているようなので、それもまた今度読んでみようとは思っているが、続編の内容次第ではまた評価が変わるかもしれない。 マジで、 現代編はいらなかった 。 「カササギ殺人事件」だけで、本書は良かった。 現場からは以上です。