xshoji's blog

Tech, ideas, and personal notes

xshojiの気になるトピックまとめ

Backend Engineer Tokyo, Japan Tech & Insights

iOS Safari でブックマークレットからいきなりペースト許可 UI を出す方法

はじめに

iOS Safari で動かすブックマークレットから、クリップボードに入っている JSON を読み取りたかった。

最初に書いた処理は単純で、ブックマークレットを実行したら入力用モーダルを作り、 navigator.clipboard.readText() を呼ぶというものだった。

ところが、新しいタブで最初に実行したときだけ、 iOS のペースト許可 UI が出ない。 iOS のペースト許可 UI というのは以下のようなやつのこと。

読み取りも失敗する。 同じページでもう一度ブックマークレットを実行すると、今度は動くことがある。

いくつかの方法を試した結果、次の順番にすると新しいタブの初回でも動作した。

続きを読む

Amp Freeの無料クレジット残量をメニューバーに表示するようにしてみた

はじめに

前回の記事 で紹介した自作のプラグインを使ってたところ、以下の不満が出てきた。

  • AIの思考や行動が長くなると、ターン終了までコストがわからない
  • 一瞬コストが表示されるのを見逃すと結局今いくら残ってるかわからない
  • ampを起動しないとコストが表示されない

そこで、ampのプラグインという領域を飛び出し、macのメニューバーに常駐する形でコストを表示させる仕組みを作ってみたので紹介する。

続きを読む

Ampの広告付き無料プランのクレジット表示プラグインを作った(結構ハマった)

はじめに

最近、AmpのCEOがこんなツイートしてた

「Amp free のクレジットを使い切った時に有料のクレジット利用に切り替えるか?を通知して欲しい」という要望に対しての返信。公式には提供しないけど似たようなモニタ機能は簡単に作れるよ、ということでCEOが言う通り Amp 自身にそのプラグインを作ってもらった。できたのは Amp Free の残クレジットを会話のたびに通知する以下のようなPlugin。

この記事では、このプラグインを実装する過程で若干ハマったポイントがあったんでそこを紹介します。

続きを読む

AmpCodeの広告付き無料プランの1日のクレジットでできること:largeモード編

はじめに

最近、 AmpCode に隠しモードが追加された(らしい)

Large Mode - Amp
https://ampcode.com/news/large-mode

その名も large モード。このモードは、主に大きいコンテキストを対象にしたコーディングで使うことを想定してるみたい。また、まだ検証段階らしく、積極的に使って欲しい意図はない、と書かれてある。

続きを読む

Astro: iOS SafariのCTAバー問題で半日溶かした話

CTAバー。画面の下にぴったり張り付く「電話で相談」「Web相談」みたいなやつ。



これを実装していて、普通は position: fixed + bottom: 0 たったこれだけで終わるんですが、 iOS Safari で見たら、ボタンの下部分の領域の背景が透けて見えててしまっていた(↑の図の状態)。 参考にしてた別のサイトはきれいに表示されてるので絶対できるはずなのに、うちだけ透ける。なんで。

…で、ここからコストかけて Opus 4.6 に修正させまくったが、全然治らないやり取りが続くことになった。

続きを読む

Brunoで環境変数を一時的に上書きする方法

以前 Postman を使っていたが、環境変数を一時的に違う値に上書きする機能が地味に便利だった。

Guide on How to Persist Postman Variables | Postman Blog
https://blog.postman.com/how-to-persist-postman-variables/

この機能を使うことで、今だけ

  • 操作対象のアカウントIDを違うIDに切り替える
  • リクエスト先のバージョンを変更する

といったことが可能で、かつ環境変数の元の値は変更しないので作業が終わったら全て元に戻す、ということが可能だった。

現在は Bruno をメインで使っているが(以前紹介した こちらの記事 が原因で乗り換えました)、環境変数を設定する画面上では Postman にあるような「Initial Value」と「Current Value」という項目はなかったため、普段書き換える時は環境変数を書き換えたり、頻繁にやるなら環境ごとコピーしたり面倒だった。

続きを読む

AmpCodeの広告付き無料プランの1日のクレジットでできること:smartモードとrushモードの比較

はじめに

ampcodeには、3つのモードがある。

agent-modes - Owner’s Manual - Amp
https://ampcode.com/manual#agent-modes

今回はsmartモードとrushモードで「1日($10)でどこまで作れるのか」っていうのが気になって検証してしまった。深夜2時に。

続きを読む

AmpCodeの広告付き無料プランを試そうと思ったら1ヶ月近く待たされた話

2025年末くらいにXのポストで AmpCode というサービスを知った。 このサービスは、比較的珍しい「広告付き無料プラン(Amp Free と呼ばれてます)」があるAIコーディングエージェントで、無料でも最新のAIモデルを使える。

  • 最新のAIモデルを使える(2026年1月時点だと Claude Opus 4.5)
  • 毎日 $10 分のクレジットを付与される
  • データは学習されない
  • 広告が開発に関する広告なので地味に良い感じ(らしい)

私は普段そんなにがっつりAIを使うことはなく、寝る前の1-2時間でちょっと思いついたことを試す、くらいの用途でAIを使っていたので、これだと最新のモデルも使えるしめっちゃええやん!ということで早速登録してみました。

ただし、登録したものの、すぐ使えずに結局一ヶ月近く待つことになったので、その話をまとめます。

続きを読む

BetterTouchTool: キーシーケンスによるスニペット入力機能が突然動作しなくなりOSアップデートで解決した..と思ったらただの勘違いだった話(解決編)

はじめに

BetterTouchTool: キーシーケンスによるスニペット入力機能が突然動作しなくなったが、OSアップデートで解決した話 | xshoji’s blog
https://blog.xshoji.com/posts/20260117_btt-key-sequence-snippet-issue/

こちらで意気揚々と書いたブログの内容に関して、

  • ググっても解決できなかった!
  • OSアップデートが原因だった!!
  • AIに相談して解決の糸口が掴めた!!!

と散々書いてたんですが、数日後に、macOS 26 でもガッツリ再発して頭を抱える事態が発生しました…

続きを読む

Zed: キーボードのみで矩形選択できるようにする設定

普段、 VSCode でテキスト編集しているんですが、本当に若干ですが “もっさり” するんですよね。 私は普段 memo.txt と言うファイルにあらゆるメモを保存しているんですが、ちょっとしたメモを保存するのに VSCode を起動しようとすると、ほんの一瞬待たされるのでそこがストレスになっています。

そこで、最近 Zed エディタを試しているんですが、 Zed は非常に軽量で起動も一瞬ですしサクサク動きます。 今回は、そんな Zed エディタでキーボードのみで矩形選択(カラム選択)できるようにする設定方法を紹介します。

続きを読む