2025/11/24 今はいたしかたない

Webの記事をコピペすらしなくてよくなるので、Atlas のようにブラウザで直接AIを動作させるのは便利だと感じるようになってきた。モデルの種類は置いておいて、結局コンテキストの問題なので、いかに手間をかけずに(少ないユーザ入力)で望んだ出力を得るということが肝になるのだろう。

全般的なことはメモリ(CLAUDE.md など)に記憶させておいて、あとはセッション毎のコンテキストを手間なく与える。ブラウザであれば、コンテキストとしたいページをタブで開いておけば良い。

記事を要約するということをたまにしかしなかったのは、今思えばコピペすら面倒くさいと思ってたからかもしれない。

ブラウザ上で要約するようになった副作用として、「よ」と入力すると、「よろしくお願いいたします。」が第一候補だったが、今は「要約してください。」が第一となってしまった。

メール本文の最後に「よろしくお願いいたします。」じゃなくて「要約してください。」と書きそうになって若干ヒヤッとする。

まだ CLAUDE.md を管理するというほども使ってないが、自分が求める暗黙の出力があるようだ、これをメモリに書き出すには言語化しなければならないということになる。あぁ、なんだか部下がいた時はそんな感じだったな。と懐かしくさえ思う。

自分でコードを書いている時はとりあえず書き始めて、なんか違うなと思ったら書き換えるということをくり返す。自分の中にあるコンテキストから出てきたものなので、思ってもないものが出てくることがないが、上手く相手に伝わっていないと、出てきたアウトプットが「自分が思っていたもの」と齟齬が出てくることになる。

例えば、コード自体の話ではないが Claude Code がコミットコメントの署名に絵文字🤖を使うようになっているようで、自分が絵文字をコミットコメントに書いて欲しくないということは、git を使ってきて思ってもみなかったことだ。そして🤖を使わないように指示することが意外と難しい。なんだか不毛なやりとりでもある。

コンテキストが上手く伝わっていれば思ったアウトプットが出てくる可能性があるということだ。モデルが良ければ少ないコンテキストでも分かってくれるということでもある。

将来的には「暗黙のコンテキスト」いつの間にかメモリに蓄積されていて、どこでも使えるという状況になると思うが、過渡期の今はしかたなく「明示的に」コンテキストを管理していた方が望むアウトプットが得られる、ということのようだ。

今はいたしかたない。

VMware Fusionの仮想マシン上でKVMなどの仮想環境をネストして利用する設定 (Nested Virtualization )

VMware FusionではmacOS上で仮想マシンを動作させることができる。その仮想マシン上でさらにネストしてKVMなどの仮想環境を動かす(Nested Virtualization)には、仮想マシンの設定を変更して「Intel VT-x」という仮想化ハードウェア拡張を有効にする必要がある。

現在利用している仮想マシンでIntel VT-xが有効になっているかどうかはcpuinfovmxが含まれるかどうかで確認できる。

grep vmx /proc/cpuinfo

grepを実行しても何も表示されない場合は、Intel VT-xが有効になっていないということになる。

たとえば、virsh define実行時には次の様なエラーが発生した。

# virsh define ubuntu16.xml
error: Failed to define domain from ubuntu16.xml
error: invalid argument: could not find capabilities for arch=x86_64 domaintype=kvm

VMware Fusionの設定画面でIntel VT-xを有効にするには、仮想マシンをシャットダウンした状態で仮想マシンの「設定 -> プロセッサとメモリ」を開き。

「詳細オプション」にある「この仮想マシンでハイパーバイザー アプリケーションを有効にする」にチェックをつける。

この設定をした後、仮想マシンを起動して先ほどのgrepコマンドを実行すると、Intel VT-xが有効になっていることを確認できる。

grep vmx /proc/cpuinfo
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm epb tpr_shadow vnmi ept vpid fsgsbase smep dtherm ida arat 

VirtualBoxでもKVMの準仮想化機能などを利用する場合にはこの設定が必要となる。

VMware Fusionの設定ファイルであるvmxファイルにおいては、vhv.enableTRUE値を設定する行を追加すればよい。

vhv.enable = "TRUE"

Vagrantでvmware_fusionのproviderを使用している場合は、例えばVagrantfileに次の様に記述すれば、vagrant upでIntel VT-xを有効化した仮想マシンを起動することができるようになる。

Vagrant.configure("2") do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.provider :vmware_fusion do |vmware|
    vmware.vmx["vhv.enable"] = "TRUE"
  end
end

VagrantのアップグレードでVMware providerエラー

最近は主にAnsibleのテスト環境用にVagrantを使用している。Virtual Boxは重い印象があるのでVMにはVMware Fusionを利用している。

playbookの記述が出来上がってくるとそれほど使う機会もないので、Vagrantのアップグレードとか頭になかったので全然してなかった。
バージョンを調べてみたら当然のことながら新しいバージョンがリリースされていたのでアップグレードしてみたところ、次のようなエラーで動かなくなってしまった。

$ vagrant init
An unexpected error occurred while loading the Vagrant VMware
provider. Please contact support with the following
error code: '7'.
Vagrant failed to initialize at a very early stage:

The plugins failed to load properly. The error message given is
shown below.

exit

VMware Fusionをproviderとして使用するプラグインもアップデートが必要なのかと思って、vagrant plugin updateを実行してみたが何も変わらない。

An unexpected error occurred while loading the Vagrant VMware provider · Issue #3299 · mitchellh/vagrant

プラグインのアップデートもないのもおかしいなと思って調べてみたところ、githubのissueが見つかり、そのコメントに「一度バージョンを戻してプラグインをアップデートした後、再度Vagrantをアップグレードすると動くよ」というのが見つかったので、その通りにすると動作するようになった。

今回はバージョン1.7.4から1.8.6にアップグレードしたので、以前のバージョンも配布しているURLから古い方のバージョンである1.7.4のパッケージをダウンロードしてダウングレードを実行。

Vagrant Versions | HashiCorp Releases

vagrant plugin updateを実行してプラグインをアップデートする。今度はちゃんとアップデートができた。

$ vagrant plugin update

Updating installed plugins...
Updated 'vagrant-share' to version '1.1.5'!
Updated 'vagrant-vmware-fusion' to version '4.0.12'!

この状態で再度Vagrantのバージョンを1.8.6をインストールすることで、無事アップグレードが完了した。

$ vagrant -v
Vagrant 1.8.6

$ vagrant init
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

CentOS 7でApache suEXECのログはどこに出力されるか

結論から先に書くと、CentOS 6系ではApacheのsuEXECに関するログは/var/log/httpd/suexec.logに出力されていたが、CentOS 7ではsyslog経由で/var/log/secureへ出力されるように変更されていた。

このログはjournalctlでも確認出来る。journalctlの場合は下記の様なコマンドでtail -fと同様な閲覧方法が可能だ。

# journalctl -f

“CentOS 7でApache suEXECのログはどこに出力されるか” の続きを読む

Sublime Text2 ファイル検索から除外する設定

Sublime Text2を使いはじめてしばらくたつが、ファイル検索の時に余計なファイルが表示されることが多々あるのでファイル検索対象から外す設定をした。

私の場合、Railsのアプリのgemはvendor/cache/以下に保存していることもあり、Rubyのコードがvendor/cache/ruby/に大量に展開されていることがあるので(これはBundlerの設定か?)、⌘Tでファイル検索をしたときに探しづらい。

ついでに.git/objects/のファイルとAsset Pipelineのcasche (tmp/cache/)も検索対象になってしまっていたので追加しておいた。

左上のメニューから
Sublime Text2 -> Preferences -> Settings - User
もしくは⌘,で設定画面を開きfolder_exclude_patternsの設定を追加する。

"folder_exclude_patterns" : ["vendor/cache", "tmp/cache", ".git"]

不要な情報が表示されないということは大切なことだ。

Sublime Text2 ¥(円)マークで\バックスラッシュを入力

Sublime Text2を使い始めてしばらくすると、改行コードを入力したつもりで"hello¥n"と書いていて実際には改行されないということが何度もあった。

実際にはバックスラッシュを使って"hello\n"と書く必要がある。

これまで、iTerm2やiTerm2上のEmacsを使っていて全く気にならなかったのに、どうしてだろうとおもったら、iTerm2では¥キーを押しても\が表示されていたからだった。
“Sublime Text2 ¥(円)マークで\バックスラッシュを入力” の続きを読む

Sublime Text2でイタリック体(斜体)を使わない

エディタでコメントのデフォルトフォントがイタリック体になっていて、見づらいことがよくある。

最近使い始めたSublime Text2でもコメントの表示がイタリック体だったので、イタリック体を使わない設定に変更した。

左上のメニューから
Sublime Text2 -> Preferences -> Settings - User

で設定画面を開き下記設定を追加するだけだ。

"font_options": ["no_italic"]

行末にカンマが必要な場合はカンマを付けておくこと。

Settings - Defaultの方に書いてあるコメントからすると、no_boldno_antialiasという設定もあるようだ。

    // Valid options are "no_bold", "no_italic", "no_antialias", "gray_antialias",
    // "subpixel_antialias", "no_round" (OS X only) and "directwrite" (Windows only)

これでコメントが読みやすくなった。

docomo版iPhoneで今月のデータ転送量を確認する

以前はSIMフリーの香港版iPhone 4SをdocomoのXi契約で使用していましたが、先日docomo版iPhone 5sに契約変更しました。

SIMフリー端末をXi契約した当時は月間で7GBを上限で速度制限される「Xiデータプラン フラット にねん」を使用していました。しかし、それほど外でiPhoneでネット繋げるわけでもなくガンガンテザリングする訳でもないので、7GBから3GBへ上限を変更して「Xiデータプラン ライト にねん」を利用していたのです。

転送量無制限のWiMAXも持っているので、私の用途的には月間3GBもあれば十分なんですが、iPhone 5sの契約にはライトがないので、強制的に上限7GBとなってしまいました。

7GBまで余裕があるなら3G回線(SIMフリーiPhone 4SではXi契約でも3G回線のみ使用可能)からLTEになったことだし、もう少しテザリングしてもいんじゃないかと思い、今月のデータ転送量を調べてみることにしました。
“docomo版iPhoneで今月のデータ転送量を確認する” の続きを読む

Rails4アプリがiframeで表示されない

Rails4でFaceookアプリを作ってまして、facebookに埋め込む形でのアプリの設定をしても、白い画面が表示されるだけで思ったようにWebアプリの画面を表示されなかった。

原因はFacebookのキャンバスページではiframeを使用していて、Rails4側でその表示を拒否しているからだった。

どうやってiframeでの表示を拒否しているかというと、レスポンスのヘッダでX-Frame-Optionsというものを使用することによって実現していることが分かった。
“Rails4アプリがiframeで表示されない” の続きを読む