RSSAmplifier

Blog

Democratizing Data

Democratizing Data

chezo.unoRSS feed ↗480 posts

Latest posts

What I Learned Switching My Blog's Embedding Model for Recommendations, With an LLM as a Research Partner

Intro This site’s related-article recommendations run on a tool I built myself: , a CLI wrapper around , which enriches Hugo front matter with various metadata. itself only computes related articles via TF-IDF keyword similarity, but prelims-cli adds embedding-based recommendation on top. It’s built to run on GitHub Actions on every new post: no GPU, limited memory. I’d been…

How to Prevent gh CLI from Leaving a Plaintext Token on WSL2

On WSL2 without a working keyring, gh auth login falls back to storing the token in plaintext at ~/.config/gh/hosts.yml . Worse, the OAuth token GitHub CLI issues . covers this problem well. This isn’t a theoretical risk. gh auth token shows up repeatedly as a credential-harvesting step in real npm supply chain attacks. Palo Alto Networks’ Unit 42 in the Mini Shai-Hulud campaign, where…

WSL2にghtknを設定してgh CLIがトークンをファイル平文保存するのを防ぐ

gh auth login はWSL2でkeyringが使えない場合、トークンを ~/.config/gh/hosts.yml に平文保存をしてしまう。また、GitHub CLIで生成されるOAuth tokenはトークンは である。この当たりは が詳しい。 これを回避するために、 というCLIを導入した。ghtknはGitHub Appから8時間毎に更新されるUser Access Tokenを発行するCLIである。さらに、最近入った機能でバックエンドを agent にすることで、keyringに依存せず できる。 今回は、作者の を見ながらインストールをしたので、その方法をメモしておく。 はじめに 過去に一度でも gh auth login をWSL2環境でしていたら、 ~/.config/gh/hosts.yml…

ブログの推薦用軽量embedding modelをBekkoに変えた

前回の話はこちらにあるので見てほしい 今、このブログではBekko a25mで関連記事が出るようになっている。そこに至るまでの経緯を書いていこう。 最新版のレポートはこちら レポートを別タブで開く Opus 5が設計する代理指標の罠 正解ラベルのない推薦タスクなため、タグ・カテゴリ一致率という指標をOpus 5が提案した。この代理指標の重大な問題にOpus 5が気づいたため追加調査を行った。 一致率の分母 |P| というのは、推薦された記事に依存して変わるのである。 Bekko a25mは、タグ・カテゴリのついた記事を推薦しやすいという傾向が見られた。なので、再現率が上がり、分母が増えるから一致率が下がるという現象が発生していた。しかも、これをずっとOpus 5はHTMLに補足として書いていたのである!(人もLLMも真面目に読んでいなかった!) Fable…

ブログの推薦用軽量embedding modelをBekkoに変えようとして、変えれなかった

このサイトでは、 している。prelims-cliはfrontmatterに色々と情報を付加できる をCLIで動くようにしたものである。 実装した当初、embedding modelを使った類似記事推薦をやってみたいと思ったが、当時使ったembedding modelではTF-IDFベースの手法に比べてイマイチな結果しか出なかったため諦めていた。 時は流れ、 に「今どきはCPUでもサクサク動く軽量embedding modelがありますよ」と教えられてGitHub Actionsで動く のであった。 ruri-v3とgraniteが軽量だが性能が良いと言うので試してみたら、TF-IDFと比較してもレコメンド結果をざっと目視で見ても悪くない結果だったので採用した。なにより、sudachiの辞書をGHAからダウンロードするよりもembedding modelをダウンロードする方が速いのである。…

slop-nuki という日本語レビューskill

英語でメールを書くときに、重ためな内容 1 を投げるのはAIに生成してもらっている事が多く、そのときに流石にAI臭いとアレかな、と思い というskillを使っている。 で、日本語でメールやらSlackやらを書くときにも同じことができなかなーと思っていたら、鹿野さんが というskillをつくっているのを見かけたのだけど、技術文章用は別に求めていないな、と思ってアレンジしてskillにした。 slop-nukiは、シミ抜きみたいにslopを抜きたい、というダジャレである。 とか、223mleさんの とか似たようなのは色々あるみたいだけど、 claude.ai で使いたいということと、ビジネスシーンで使えるようにするというのでPython依存とかはしないようにしてる。 claude.ai に入れるときは、GitHubのリリースからzipをダウンロードしてくれれば使える。Claude…

スウェーデン・デンマーク寝台列車の旅

6月末から7月の頭にかけて、家族で北欧はスウェーデンとデンマークに旅行に行ってきた。きっかけは、kwappaさんが で「いつでも行けると思ったら、色々な事情で行けなくなる。旅は今が一番ベストタイミング」みたいなことを言っていたのを聞いて、よっしゃ、と一念発起して昨年10月に航空券とホテルを手配した。家族全員で国外旅行するのはいつぞやに出張兼で行ったシンガポール以来である。 航空券を手配したときも、うっすらと「ヨーロッパの情勢はいつどう変わるかわからない」と思っていたが、その後様々なことが起こり、サーチャージは高騰し、欧州のジェット燃料が枯渇仕掛けて旅行保険がそれを保険対象外とするなど、様々な事が起こったが運よく大きな問題は起こらかなった。(行きの便が遅延してトロント乗り継ぎがあわや失敗するかというような小さなトラブルは色々あった)…

TikTok kept letting strangers create accounts with my email, so I filed PIPEDA and CASL complaints

Disclaimer This is a personal account of how I, a non-lawyer Canadian resident, used PIPEDA and CASL to address a privacy issue with TikTok. It is not legal advice. Procedures, deadlines, and applicable laws change. If you are facing a similar situation, please verify everything against current OPC and CRTC guidance, and consider consulting a lawyer for matters with significant legal or financial…

TikTokで勝手にアカウントが作られ続けるので、Claudeでカナダのprivacy法に則って通報をした

Warning この記事は、Claude Opus 4.7とのやり取りを通じて解決した問題の顛末を、Opusに書かせたものです。ある程度のレビューはしていますが、情報の確実性はご自身で再検証することをおすすめします。 tl;dr 自分が使った覚えのない TikTok アカウントが、僕のメアドで2つ作られていた(@chezou2 と @nigtg679) TikTok はメアド認証なしでアカウント登録を許可している。これが構造的な同意の欠落 TikTok サポート経由で1つ目を削除させたが、しばらくして別のアカウントが同じメアドで作成され再発 カナダの規制機関2つに通報した ( ) に 違反として通報 (Office of the Privacy Commissioner of Canada) に 違反として正式 complaint 提出 OPC は2025年9月に既に TikTok 相手に…

AI時代の転職活動記録

今回、転職活動をするにあたって、AIをフル活用して活動をした。前職ではGithub Copilotが個人アカウントだが会社にコントロールされていたので、せっかくだからとClaude Proを契約して望んだ。 2年前くらいの転職活動でhiring managerと話ができないreferalは全部書類で弾かれた反省から、今回はLinkedInで自社の採用担当から連絡が来たものを受けることにした。並行して知り合いにreferalを頼んだ。今回はLayerXをreferalしてくれた友人と同じチームに入ることになり、採用ペースが全く合わなかったため他の選考は辞退した。 転職活動でやったこと 主にやったことは以下のようなことである。 Claudeを使って企業調査をした LLMと内省し、何が得意、何がやりたい、何がやりたくない、何が苦手、などを徹底的に言語化した 毎日Apple…

LayerXで働き始めました

友人である に誘われて、4/1にLayerXのAi Workforce事業部に入社しました。居住地は引き続きバンクーバー(の2つ隣の市です。いわゆる「神奈川」の代表点としての「横浜」みたいな説明)です。 前職でCEOが「AI Native企業になる!」と言い続けていたので、Bet AIする会社に入ってみたらどうなるかな、と思って入りました。 riywoさんとは同じチームですが、僕はStaff Software Engineerとして働いています。が、やることはいっぱいあるので、よしなに問題を解決していってくれ、という係をやっています。TDでの経験も生きるとこがいっぱいあるなーと思って、口を突っ込ませてもらっています。…

Treasure Dataを退職しました

2026/3/31付けで7年半務めたTreasure Dataを退職します。 過去記事 原初のMLチーム(傭兵期) 入社したのはArm買収直後のタイミングでした。最初は3人しかいない当時CTO(元CEO)直下の遊撃部隊としてのMLチームからはじまりました。前職 ではSales Engineer(AWSで言うところのSA)だったので、実はSWEに戻るための転職活動は結構大変でした。(TDから声をかけていただいた さんには感謝) ただ、その中でも面接でプロダクト志向がとても強い との出会いがTDの入社の決め手だったのを今でも覚えています。そして、その直感は正しく、 の開発なんかで一緒に働くのはとても楽しいときでした。彼とは今も友人関係として良くしてもらっています。 この時代は、顧客のMLキャンペーンのお手伝いをさせていただいたり、Custom…

Embedding workflow templates in skills: shifting the LLM's role from "generation" to "rendering"

The dream of LLM-powered ML workflow generation At my company, an ML feature called provides capabilities like RFM analysis, recommendation, and contextual bandits. To run ML predictions at scale, the system calls an ML API that spins up parallel workers on AWS Batch behind the scenes. To make this parallelization work, input tables are aggregated per profile, which is a deliberate trade-off for…

ワークフローテンプレートをskillに埋め込んで、LLMの役割を「生成」から「レンダリング」に変えた話

MLワークフローのLLMによる自動生成の夢 会社の というML機能では、(MLではないが)RFMや推薦、Contextual Banditといった処理を行う機能がある。特にMLの予測処理をスケーラブルに実行するために、ML用APIをcallすると裏側でAWS Batchが起動して並列でworkerを立ち上げるという仕組みを取っている。この並列実行をするためには、入力テーブルをprofile(マーケティングキャンペーンの対象となるエンドユーザー)ごとに集約するという割り切りを入れることで、スケーラビリティを確保している。これらの処理は、digdagのworkflow(.digファイル。実際にはTreasure Workflow と呼ばれる hosted digdagで実行される)と、workflow内に記述されるSQL(Hive または Trino)とで管理されるワークフローからML…

Montréalに10年以上ぶりに行った

3月の上旬にworkationとして友人を訪ねがてらMontréalとOttawaに数日行ってきた。 Vancouver近郊に住んでいるため、東海岸の春はどんなものかと思いながら行ったわけだが、3日いる中であったかくて寒いという東海岸らしい寒暖差を体験した。体感14℃の春の陽気から、体感-10℃のfreezing rainで学校が休みになるという差の激しさは驚きだった。 モントリオールの寒暖差 ( より) 初めて行ったときに比べて変わったのは、自分の年齢とDuolingoで学び続けたカタコトのフランス語力、生きていくには困らない程度の英語力だったわけだが、Vancouverに5年も住んでいると大きな驚きはあまりなくなっている。…

ボランティアデーでWikipediaの太平洋時間(Pacific Time)の改善をした

会社のボランティアデーというのがあるので、何がいいかなと思って色々とClaudeと話したところ、Wikipediaの にBC州のタイムゾーンが「太平洋時間」に変わるという発表を受け編集したのを思い出したので、それ関連の改善をした。 これは、2026/3/2に唐突に発表された 話に基づいて、Wikipediaの太平洋時間という新しい「タイムゾーン」の話を更新したのだが、今日ふらっと見てみるとカナダ時間のページのBC州の項目が山岳部標準時の下の太平洋夏時間という表記になっており、うーんなんじゃそりゃとなったので、 の日本語訳をした。 成果物は、 を見てほしい。(ついでに太平洋時間の記述を、 ) ハマりどころ Wikipediaの存在しないページを翻訳するのは今回初めてだったのだが、色々とハマった。 LLMの翻訳をそのままは当然駄目…

「Agents SDK+αのTipsを一人で書いていくアドカレ Advent Calendar 2025」を追走した

さんが書いてくださった、OpenAIの の追走をした。子供の春休みで有給取っていることもあり、春休みの宿題よろしくやってみた。 レポジトリはこちら: このスレッドで試した様子を書き出している (追走を)完走した感想だが、以前にLangChainとChromaをベースに社内のConfluenceを検索するRAGシステムを社内のハッカソンで作ったとき以来のフレームワークで、Agentのパターンを頭に入れたうえでどういう実装をしているのかを学ぶのにとても良かった。 Claude Opus 4.6に自習計画を立ててもらいながら、重要なところ、スキップするところをリストしてもらったが、先にこの記事を読んでおくとパターンが整理されて良かった。 なお、一番大事なのはネタバレが重要なフィクションを例として使えること。元々の記事では銀魂と終末のワルキューレ、僕の場合は、ヴィンランド・サガでいきました。…

Oh-my-zshを辞めた

OMZは特に何も考えなくても楽に設定できたので使い続けていたが、GH Copilotなどでshell起動が重いと怒られるようになっていたところ、joker1007さんのこんな投稿を見かけた。 #izumork01 でa_matsudaさんがRubyとAIでshellを作る話をしていたので、久しぶりにzshrcの盆栽やるかーと思い立ちついにoh-my-zshを完全に削除した。zshの起動が大分早くなったので結構影響あったなーと。後、補完がちょっと豪華になるcarapaceとか入れてみた。 — joker1007 (@joker1007.net) 2026-02-26T06:05:36.507Z ので、脱OMZをした。 : ターミナルの見た目をカスタマイズ用 : 主にgitの補完 今のところ、WSL2の環境で動かしているけど悪くはない。Starship用にNerd…

Migrated from Pages CMS to Sveltia CMS

I , but after encountering several concerns, I migrated to Sveltia CMS. Motivation As I wrote in , the move was triggered by the following issues with Pages CMS: It handled time zones poorly (essentially forcing everything to +00:00), and even after , there didn’t seem to be much interest in fixing it. It was quite troublesome to achieve the directory structure recommended by Hugoblox, where…

Pages CMSからSveltia CMSに移行した

去年の夏に のだけど、色々と気になる点が出てきたのでSveltia CMSに移行した。 モチベーション にも書いたけど、Pages CMSの以下の問題が起因だった。 タイムゾーンの扱いが雑(とにかく+00:00に落とす)だったのと、 けど修正する気があまりなさそうだったこと Hugobloxが推奨するコンテンツ(index.md)と画像が同じフォルダに置かれる構成を実現するのがかなり面倒くさい。結局手で画像をuploadしていた やったこと 認証のためにCloudflare WorkersにSveltia CMS Authをデプロイした Pages CMSの .pages.yml を static/admin/config.yml にClaudeが移植した static/admin/index.html をドキュメントからコピペした Pages…

Between Principal and Glue Work

Introduction I have always worked with the mindset that being a Staff+ Engineer is essentially doing high-level “ .” Because the tasks are surprisingly diverse, I have written about them , but I have never quite been able to cohesively organize my thoughts. And for a while, I also struggled with how to effectively express the impact I’ve made on my resume. This is because the…

Principal と器用貧乏のあいだ

はじめに Staff+ Engineerは高機能雑用と思いながら仕事をしてきたが、思った以上に多様なこともあり、 では書いてきたけど、なかなかまとまって考えを整理することはできていなかった。 そして、自分の与えたインパクトをレジュメに上手く表現できないことにもしばらく悩んでいた。これは、思ったよりも間に落ちたボールを拾うことが求められており、それをやって価値を出すことが思った以上に重要なんだけど、レジュメではキラキラした成果を求められるからである。 (キラキラした成果= とかね) 自分の立ち位置はずっと、「顧客に価値のある製品を届けるために何でもやる」である。その何でもの幅は人によって違うのだと思う。なので、取っ掛かりとして でおなじみのWill Larsonの と比べることで紐解いていこう。 4つのStaff Archetypes Will Larsonの4つのStaff…

「ちょっとしたことでうまくいく 発達障害の人が上手に働くための本」を読んだ

家族に勧められて冬休みの課題図書よろしくこの本を読んだが、色々と良かった。 この本は、ADD・ADHD・ASD・LDなどの特性を持った当事者が、どのような特徴的な振る舞いをするのか、それらに対してどのようなワークアラウンドがあるのかを書いた本である。診断されたわけではないが、家族にこういった特性があるというメンバーがいることもあり読んだ。シリーズとしていくつか本が出ているが、この本は働く上でのよくある話とそれの対処法を書いたものになる。 本書を読んで一番学びが大きかったのが、「時間感覚が乏しい」「強い興味が出ることしかモチベーションがわかなくてできない」という点である。 前者は、ADHDの傾向として、追い詰められて締め切り直前にわーっとやってしまうというパターンが多い。これは、時間の感覚が薄く、計画を立てるのが非常に苦手、ということから現れる。なので、先延ばしにしてしまいがちである。…

2025年を振り返って

2025年は記憶が薄いので完全に忘れる前に記録しておこうと思う。 プライベート 今年は引っ越しをしたのでめっちゃバタバタした。それに伴いDIYで家の修繕をしまくった。家の3割くらいの壁を塗りなおしたり、家じゅうの天井のライトを交換しまくったり。後残りの修繕個所は、 と呼ばれるセントラルヒーティングの暖房の交換と乾燥機の排気管の交換、洗面所のボウルと天板の交換くらいか。まだまだ道は長い。 夏休みにはオタワにも行った。オタワはケベック州と川向なので、フランスの文化の色が濃い。パンやケーキに対する執念が違うため、どこのお店のケーキも程よい甘さでおいしかった。やはり、激アマケーキはアメリカの文化なんだなあというのを再認識した。 オタワに行ったついでに、オオカミがガラス張りのリビングから見えるParc…

AI時代のPrincipal Engineer

AmazonのPrincipal Applied ScientistのEugene Yanさんの記事に触発されたので書いてみる。 AI時代にPrincipal EngineerがAIとどう向き合い、どう生き残るかを書こうと思う。 なお、上記の記事にもある通り “ 1. Different principals will have different flavors.” なので、Principalと一言で言っても企業・チームによって千差万別であることに注意していただきたい。 1. AIは “frenemy”…

Principal Engineerが読む「スタッフエンジニアの道」

オライリーから出ている「スタッフエンジニアの道」を を通じてご恵贈いただき、第1部と3部を読み終えてしずかなインターネットに書評を書いたのがおよそ一年前、そこからさらに1年かけて第2部を読み終えたので感想である。1年前に読んだ文は最後の方に貼っておく。 私は、Principal Engineerとしてコードを書くハンズオンだけではない数々の仕事をこなしてきている。自分はMLを使った製品開発のTech Leadとして、チームメンバーを育てながらロードマップを切り開き、またリーダーシップからのプロジェクトの投資を継続してもらうようにスポンサーになってもらう活動を続けてきている。…

Tackling Review Fatigue by Document Driven Agentic Coding

This year, the amount of time I spend on reviews has exploded. This applies to both code and documentation. And the fatigue from this has also increased dramatically. Of course, this is because the speed and volume of output have increased with the help of LLMs. However, the quality hasn’t necessarily improved; in fact, I feel my productivity is declined. I’m going to do a brain dump…

最近の人類のレビュー疲れ

今年に入ってやたらレビューの時間が増えた。これはコードもそうだしドキュメントもそうだ。 そして、これによる疲れも急激に増加している。 もちろんこれは、LLMによる支援によってアウトプットの速度と量が増加したからだ。 そして、必ずしも質が向上しているわけではなく、むしろ下がっているように感じる。 当然、自分の生産性も下がっている。 自分の頭をダンプし、どういう課題があるか、そして、どう向き合っているかを書いていこうと思う。 他人を経由したプロンプティング 私は、機械学習のプロジェクトのテックリードとしてしばらく働いている。 その仕事として、 などの技術文章を書くことも多いが、レビューする機会も多い。 機械学習で難しいのが、プロジェクトが変わり解く課題がちょっと変わると、がらりと全然違う知識が必要になり、新規に論文を読む必要が出てくる。…

Projects

Configured Pages CMS

I had been looking for a way to write Hugo articles on mobile devices like my iPad, and that’s when I came across this article by mehori and decided to try Pages CMS. To be honest, it doesn’t properly support Hugo’s folder structure ( /articlename/index.md ), which makes image uploads a bit tricky. On top of that, I couldn’t upload images from my iPhone because of a 413…

Pages CMSの設定をした

以前からiPadなどのモバイル端末でHugoの記事を書く方法を模索していたのだけど、そんななかでmehoriさんのこの記事を知ったのでPages CMSを試してみた。 結論から言うと、Hugoのフォルダ構造 (/articlename/index.md) はまじめにサポートしていないのと、それにより なこと、そもそも、iPhoneから ことなどあるが、まあとりあえずiPadから日本語で文字だけの記事は設定できたのでよし。 途中、めちゃくちゃマイナーなYAML frontmatterのパースエラーが出たけど、ワークアラウンドも見つけることができた。 コードを読めば何とかなるレベルなのだけど、必要最低限のものはあるのでいいかな。 現状、こんな設定です。 併せて、wowchemyからhugo-bloxに移行をしたけど、そっちもまあまあ大変だった。詳しくは PRを見てもらえれば。しかし、Hugo…

久しぶりの夏休み

仕事が珍しく急ぎの仕事がない状態になったので、ふらっと週末にくっつける形で休みを取った。というのも、RTA in Japanをやってるのに全然見れなくて仕事なんてしてる場合じゃない、となったのである。 休みといっても旅行をするわけでもなく、放置していたお下がりのゲーミングPCにWindows 11を入れて子供に渡したり、ついでに というVancouverの会社の電動昇降机がセールしていたので子供に買ったりした。 あとは、妻が壁の色が気に入らないというので、キッチンや風呂の壁にペンキを塗ったりもした。カナダでは人件費が高いことや、そもそも業者が約束の日に来ないなんてこともよくあるので、皆DIYで済ますようになるのである。 ブリュワリーで子供と物理テトリスをしたり、近所の肉屋を開拓してラム肉のシェパーズパイも堪能した。ドーナツ屋さんも甘くなくて最高の店を見つけることができた。…

Machine Learning Project and Scrum

I’ve worked on several machine learning projects, and intuitively, I’ve felt that Scrum doesn’t seem well-suited for machine learning. However, during an internal discussion, a colleague said, “If we use Technical Stories, we should be able to break down tasks to fit within two weeks for any tasks. And if we do that, we should be able to deliver value in two weeks for ML…

機械学習プロジェクトとスクラム

機械学習プロジェクトをいくつかこなしてきたが、直感的にはスクラムが機械学習に向いていなさそうというのを思っていた。が、社内で議論をしたときに「Technical Storyを使えばタスクを2週間に収まるように分割できるはず。そして、それをすれば2週間で価値がでるはず」と言われて、ちゃんと反論ができなかったので世の中ではどういう取り組みがあるのかも含めて、言語化するためにこの記事を書いている。 disclaimer 著者はMLの経験は長いが、別にスクラムに詳しいわけではなく、開発メンバーとしていくつかのプロジェクトに参加したことがある程度である。 調査方法 Gemini 2.5 Pro (experimental)とブレスト Redditを中心に体験談を調査 想定していた課題…

2024年を振り返って

2024年中はバタバタしていて書きそびれたので、2025年に書いています。 仕事 今年はありがたいことに、春にPrincipal Software Engineerにpromotionした。Staffの時にはPrincipal相当の働きをしているという自負はあったのだが、いざpromotionするとふるまい方が今までとはかなり違ったものを求められて、日々戸惑いながらもがいている。 ざっくり言うと、会社でのMLプロダクト開発における技術的リーダーシップを発揮する、いわゆるtech leadとしてふるまっているが、チーム編成が色々とトリッキーだったりすることもあり、技術的な方向性をProductチームやSenior Engineering Director陣とすり合わせたり、チームメンバーのモチベーションをどうしたら上げられるかを考えたり、ということを悩みながら進めてきた。…

「海外生活経験ゼロからカナダでソフトウェアエンジニアになった話〜英語勉強&就活対策〜」を読んだ

@nappan23 さんの「海外生活経験ゼロからカナダでソフトウェアエンジニアになった話〜英語勉強&就活対策〜」を読みました。 この同人誌は、nappan23さんがカナダでソフトウェアエンジニアになるまでに、どういう取り組みをしてきたのか、という話が書かれています。 目次を見るだけでも、思った以上に真面目に数々のオプションを比較して、それらについて考察をされていて、気合が入っています。(技術書典のサイトには目次ないのね) もちろん、(本文中での注意書きがあるように)ビザの情報やジョブマーケットは水物で、最近ではカレッジに対するビザ回りを厳しくしようというカナダ政府の動きもありますし、高金利が続く中北米のTech業界はlayoffが続き、職を得るのが難しい状況になっています。…

Migrated From Netlify to Cloudflare Pages

Netlify is a great service, but it is also known as slowness in Japan. I have been using Netlify for my blog hosting for a long time, but I decided to migrate to Cloudflare Pages to improve the speed of access to my blog from Japan. The migration step from Netlify is pretty straight foward. I just need to follow this official guide: . My blog is built by Hugo and I use Hugoblox, f.k.a., Wowchemy,…

Scrape Notion and convert into PDF

I love , who is a Japanese meal kits provider in Vancouver. Their meal kits are really tasty and authentic Japanese foods. I can’t live without them. When I visited Japan last year, I wasn’t too eager to find nice Japanese restaurants because of them. Recipe on Notion is good, if it’s printable They provide a recipe on Notion. Seeing the recipes on it is great since they can fix…

2023年を振り返って

今年もあと一日になりましたが、 一年を振り返っていきたいと思います。 OSS活動・対外活動 ChromaというVector DBのOSSにコントリビュートしました。ChromaはRAGやLLMの文脈でよく使われるもののようです。 tabula-pyの裏側にjpype経由で使うようにして速くしたのですが、残念なことに Python 3.12 サポートがかなり時間がかかったので今はoptionalにしています。 また、tabula-pyの質問はStackOverflowに流していたのですが、 ということが分かったので、今までの感謝とともにGitHub Discussionsに移行しました。 あとは、NotionをscrapingしてPDFにするやつなんかも作りました。 RubyKaigi…

tabula-py 2.8.0 now uses jpype to launch JVM

Recently, I released tabula-py 2.8.0. It is a major release because it uses to launch JVM. This means that it reduces JVM launch time since jpype reuse JVM via JNI. How fast is it? I measured read_pdf_with_template function execution time, which repeatedly launches Java process in the previous version. The example template contains 4 rules, which means it calls tabula-java 4 times. $ cat…

VanGohan PDF

Notion scraper to generate PDFs of ’s printable recipes.

携帯からSlackを消した

休みの時の仕事の通知をコントロールする術をずっと模索していた。 これは、放っておいても仕事のSlackを見てしまい即レスポンスを返してしまう習性があるからだ。 これをやっていても自分の精神的な疲れは溜まる一方で、別に給料が上がるわけでもないし、そこまで感謝されるわけでもないなということに気づいた。 友人からiOSの集中モードを教えてもらって「これだ!」と思っていたものの、Googleカレンダーは対応していないなどなかなかうまくいかないことも多かった。 結局、こんな感じで対応することにした。 Jiraなどの通知系を全部Slackに集約する。モバイルアプリの通知はオフ 会社のSlackのスペースからログアウトする Gmailの会社アカウントの通知を切る 仕事しないときは睡眠時以外はパーソナルモードにする 会社のカレンダーは、パーソナルモードの時にはフィルターする…

楽天モバイルを利用してiPhoneを海外で機種変するとSMS代がかかる

tl;dr 海外で楽天モバイル回線を使用したままiPhoneを機種変更すると、100円×N回の国際SMS料金が請求されるようになりました。 詳細 iPhoneを機種変更するときに、iMessage/Facetimeのアクティベーションに失敗し続けることがあります。 特に楽天モバイルでは、楽天回線の圏外でiMessageなどのアクティベーションをしようとすると失敗することが観測されてきました。 アクティベーションがうまくいかない時iPhoneの仕様上 +44 の番号へSMSが自動的に送り続けられます。 ところで、海外で楽天モバイルを使う際、iPhoneだとSMSの送信や標準電話アプリでの電話の送受信で料金がかかります。…

25年ぶりにスキーを再開した

バンクーバーは、最寄りのスキー場まで車で30分で行けるので有名です。30分圏内にスキー場が三つ(Grouse, Cypress, Seymour)もあるので気軽に行けます。 有名なWhistlerも1.5時間で行けます。 3月の後半に春休みが2週間あり、仕事もどうせ進まないだろうなと思いながら、子供を午前だけの半日スキー教室に5日間通わせました。 子供が気に入ったらシーズン券を買ってもよいかなと思っていたのですが、折角だし休みを取って待ってる間に自分もスキーを滑ってみたのですが、ハマってしまいました。 自分が最後に滑ったのは25年くらい前の子供の頃なので覚えているか不安だったのですが、マッスルメモリーが覚えているものですね。 ボーゲンを辛うじてできるレベルで止まっていたので、パラレルを目下練習中です。…

また一つ年を取った

2023年も1月があっという間に過ぎてしまいました。 先日、誕生日を迎えて40歳の大台目前になりました。誕生日に行った歯医者にケーキを渡されたり、Appleサポートに2時間奪われたりとなかなかよくわからない忙しい日を過ごしました。 今週めちゃくちゃ忙しかったので、今日になってしまいました。 例のリストはこちらです。 のですが、カナダの永住権を取得しました。 カナダの永住権は5年更新で住み続けられるというもので、市民権とは違い選挙権はありません。が、それ以外は大抵OKというものです。 で、誕生日の前日にPRカード(アメリカでいうグリーンカード)が届いたので、ようやくカナダ国外に出られるようになりました。 5月の松本でのRubyKaigiに久しぶりに参加しようと思いますので、皆さんよろしくお願いします。…

Timeline for Canadian PR

Time line for work permit 2020/03 Started internal process for relocation 2020/11 Got internal approval. Start working with the immigration agent 2021/01/28 Submit documents for work permit 2021/02/09 Received work permit with family 2021/02/22 Received Travel Authorization 2021/04/02 Relocated to Vancouver Time line for PR 2021/06/28 Ask HR to start process for PR 2021/07/14 Submit documents for…

iOSでの休暇中の仕事の通知管理

iOS15から集中モードが加わって、その中でもパーソナル集中モードというのがあったので、年末年始の休暇に試してみた。 簡単に言うと、パーソナル集中モードでは業務用のアプリからの通知をオフにできるというのが一番のメリットだ。 以下の記事に大まかな概要が書いてあってわかりやすい。 Androidではwork profileがあるので、 が、iOSではごちゃまぜの世界観なのがとても厳しいと思っていたところだった。 実際に試してみた結果、いくつかの問題が出てきた。 GmailやSlackなど仕事でもプライベートでも使っているアプリで通知がコントロールしきれない 通知を知らせないアプリに指定しても、対応していないため突き抜けてくる(Confluence、お前のことだぞ)…

2022年を振り返って

に引き続き、2022年の振り返りです。 RTA in Japanに触発されてなぜか を見ながら書いています。 クリスマスに胃腸をやられて一週間弱ずっと寝込んでいました。ようやくPCの前に座れるくらいの元気が戻ってきました。 今年はバンクーバー生活も二年目で色々と落ち着いたかと思いきや変化も大きい年でした。 OSSや対外活動 振り返ってみると、おかげさまで今年はちょこちょこといろいろなところで学会活動や、イベント登壇などをしたりできました。 MLSEのワーキンググループは無事次世代に引き継ぐことができたかなあと思ってほっとしています。 ばんくしさんからお声がけいただいて、MLエンジニアのキャリアについて放談させていただきました。 大変準備してくださっていてとても助かりましたし、自分のキャリアを振り返る良いきっかけになりました。 ありがとうございます。…

Wowchemyをv5.5.0からv5.7.0に上げた

毎年アドベントカレンダーの時期にHugoのテーマであるWowchemy (旧 Academic) のバージョンを上げています。 今年は、唯一参加したアドベントカレンダーもNotionで済ませてしまったので、恩恵にはあずかれませんでしたが、それでもまあ定期アップデートは大事ですね。 Wowchemyは、スタートするときはサクッとstarter kitから作成できるのですが、変更に追従し続けるのが結構厄介で破壊的変更をガンガン入れてきます。が、ドキュメントは最新のバージョンのものしかなく、 Release noteを見てあとはソースコードを見る羽目になります。正直面倒くさい。 というわけで、今回v5.5.0からv5.6.0、v5.7.0に上げたので何をしたかを備忘録的にメモしておきます。 v5.6.0 v5.5.0からは結構大きな変更が入りました config.yaml (or toml) や…

日本のサービス解約RTA~カナダ編~

これは の6日目の記事です。 昨日は さんでした。 さて、 と呼ばれる現象については皆様もご存知かと思います。日本にいるとあのゲームが買えない、このハードが買えない、このサービスが契約できないというアレです。 日本のサービスもご多分に漏れず、そういうケースがままあります。 というわけで、カナダで残念ながら解約した日本のサービスたちとその難易度を紹介したいと思います。 楽天モバイル (おま国なし) Disney+ (日本) Kyash 楽天モバイル (難易度 ★☆☆☆☆ 所要時間10分) 楽天モバイルは素晴らしい携帯キャリアです。海外でも2GB 980円で通信ができるし、日本の電話番号やSMSも使えるので愛用しています。 無料で維持できるときに予備のAndroidの番号を発行していたのですが、流石に月額無料は無理になったので、1回線解約しました。…