SELECT要素に何百項目あろうがキー入力すればそこにたどり着くよ

税金の申告WEBページにて、生まれ年の入力が1890年始まりの選択であることが話題になっているようだ。
問題と思われている項目は2つあるとおもわれる。

① 1890年生まれなんていねーよ
②「1890」始まりであることによって、130以上の項目をユーザの選択肢とさせちゃうこと

上記①はまあ個人的にどうでもいいと思う。MIN値を毎年確認して更新するなんて無駄そのものだ。
上記②については、まあその懸念はわかるのだけど、意外と知られていないのが、PCの場合*1、HTMLで選択肢を定義する「SELECT」要素はキー入力を受け付けてくれるということだ。要は選択肢にフォーカスおいて、1985と入力すれば、1985が選択されるのだ。このことをアピールするだけで、いいんじゃないだろうか。

要はこのような表記にすればよいということ。


年を選択してください。PCの場合、キー入力も可能です。

まあ、こんなのが最も簡単な解決方法だと思うよ。

*1:スマホではできないかも、、、スマホで税金申告するかな?

amazonアソシエイトのAPIテスト

書影表示のテストを実行

70巻以上の漫画

年に2回くらい巻数が多い(超長期連載の)マンガを数えて、まとめ記事にエア引用されるシリーズ。

  • 単独で100巻が18作、シリーズ100巻が14作。
  • ドクターKシリーズ、浦安鉄筋家族シリーズが100巻達成。
  • 作者逝去に伴う超人ロックのおそらくは最終巻が発刊
  • バキ道完結、刃牙らへん開始
  • 静かなるドンのまさかの新作が連載開始。
  • 怨み屋本舗シリーズが85巻発売されていることに気づき、追加した。
  • 黄昏流星群キングダムが70巻到達。
  • 鉄拳チンミシリーズが作者体調不良のため休載中。
  • id:soorceさんに電子書籍のみで70巻超えを教えていただいたので、電子書籍のみ部門として追記した。尚、電子書籍のみ部門については「1話を1巻として100円~200円くらいで販売」形式を除外する。
  • 特命係長只野仁シリーズが、どうやってカウントすればいいかよくわからない発行形態(ファイナルの途中から電子のみ)であるが、とにかく90巻は超えていそうなので、一部電子書籍部門として追加した。尚、一部電子書籍部門についても「1話を1巻として100円~200円くらいで販売」形式を除外する。

尚、シリーズの集計は「外伝」と思われるものを除外します。
○が単独。△が単独でも70越え。☆がシリーズ。

識別子 タイトル 巻数 継続 備考
ゴルゴ13 211
ドカベン 205 ドカベン(48)」、「大甲子園(26)」、「プロ野球編(52)」、「スーパースターズ編(45)」、「ドリームトーナメント編(34)」
こち亀 201
ミナミの帝王 174 ただし、「ヤング編(6)」、「ヤング編 利権空港(3)」を含まない
クッキングパパ 167
刃牙 149 グラップラー刃牙(42)」「バキ(31)」「範馬刃牙(37)」「刃牙道(22)」「バキ道(17)」、「刃牙らへん(0-)」」で外伝を含まない
銀牙 147 完? 「流れ星 銀(18)」、「WEED(60)」、「WEEDオリオン(30)」、「LAST WARS(22)」、「ノア(17)」を含み、「赤目(3)」「少年伝説(3)」を含まない
☆△ キン肉マン 140 キン肉マン(83-)」、「キン肉マン2世(29)」、「キン肉マン2世 究極の超人タッグ編(28)」
はじめの一歩 139
ジョジョ 133 ジョジョの奇妙な冒険(63)」「ストーンオーシャン(17)」「スティール・ボール・ラン (24)」「ジョジョリオン(27)」「ジョジョランズ(2-)」
江戸前の旬 121 ただし「旬と大吾(3)」を含まない
鬼平犯科帳 120
超人ロック 120 巻数は推定
天牌 116 完? ただし天牌外伝(37)を含まない)
コボちゃん 113 コボちゃん(60)」、「新コボちゃん(53-)」
キャプテン翼 113 キャプテン翼(37)」「ワールドユース編(18)」「ROAD TO 2002(15)」「GOLDEN-23(12)」「EN LA LIGA(6)」「ライジングサン(19-)」あと短期連載が3冊。岬太郎を含まない
釣りバカ日誌 112
浮浪雲 112
美味しんぼ 111
弐十手物語 110
静かなるドン 108
島耕作 108 「課長(17)」、「部長(13)」、「取締役(8)」、「常務(6)」、「専務(5)」、「社長(16)」、「ヤング(8)」、「係長(4)」、「会長(13)」、「相談役(6)」、「学生(6)」、「就活(3)」、「社外取締役(3-)」
ONE PIECE 107
あぶさん 107
千里の道も 106 「千里の道も(45)」、「新(16)」、「第三章(39)」、「修羅の道(6)」
パタリロ 104 ただし、右に記載する外伝4シリーズを含まない「西遊記(8+1)」「源氏物語(5)」「家政夫シリーズ(5)」「パパ(1)」
△☆ MAJOR 105 「MAJOR(78)」、「2nd(27-)」
白竜 105 「白竜(21)、「LEGEND(46)」、「原子力マフィア(2)」、「HADOU(36-)」
名探偵コナン 104
○☆ あさりちゃん 101 あさりちゃん(100)」、「5年2組」
浦安鉄筋家族 101 浦安鉄筋家族(31)」、「元祖(28)」、「毎度(24)」、「あっぱれ(18-)」
ドクターK 100 「スーパー(44)」、「Doctor K(10)」、K2(46-)
コータローまかりとおる 94 「コータローまかりとおる(59)」「新コータローまかりとおる 柔道編(27)」「コータローまかりとおる L(8-?)」
いのちの器 92
カイジ 90 「黙示(13)」、「破戒(13)」、「堕天(13)」、「和也(10)」、「ワンポーカー(16)」、「24億(25-)」
ふたりエッチ 89
弱虫ペダル 87
金田一事件簿 87 「少年シリーズ(70)」、「37歳(13)」、「30th(4)」
怨み屋本舗シリーズ 85 怨み屋本舗(20)」、「巣来間風介(6)」、「REBOOT(13)」、「REVENGE(11)」、「EVIL HEART(9)」、「WORST(21)」、「DIABLO(5-)」
風の大地 84
鉄拳チンミ 83 鉄拳チンミ(35)」、「新鉄拳チンミ(20)」、「Legends(28-)」を含み、外伝(4)を含まない
土竜の唄 82
味いちもんめ 82 味いちもんめ(33)」、「新(21)」、「独立編(10)」、「にっぽん食紀行(6)」、「世界の中の和食(2)」、「継ぎ味(10-)」
テニスの王子様 81 「王子様(42)」、「新(40-)」
タフ 81 「高校鉄拳伝タフ(42)」、「TOUGH(39)」を含み、「龍を継ぐ男(28-)」を含まない)
なんと孫六 81
山口六平太 81
ゼロ 78
銀魂 77
釣りキチ三平 77 釣りキチ三平(65)」、「平成版(12)」
DEAR BOYS 76 DEAR BOYS(23)」、「ACT2(30)」、「ACT3(23)」、を含み「OVER TIME(3)」「ACT4(12-)」を含まない
G・DEFEND 75
まるごし刑事 75
BLEACH 74
かっとび一斗 72 「かっとび一斗(46)」、「風飛び一斗(26)」
NARUTO 72
男塾 72 「魁(34)」、「暁(25)」、「極(7)」、「真(6)」
センゴク 72 センゴク(15)」、「天正記(15)」、「一統記(15)」、「権兵衛(27)」
DREAMS 71
神の雫 70 神の雫(44)」、「マリアージュ(26)」
夕焼けの詩 70
キングダム 70
黄昏流星群 70

次回用メモ


電子書籍のみ

識別子 タイトル 巻数 継続 備考
解体屋ゲン 104
なみだ坂診療所 102
ハートのしっぽ 75

一部電子書籍のみ

識別子 タイトル 巻数 継続 備考
特命係長只野仁 94? 「特命係長(9)」、「新(20)」、「ファイナル(52)」、「ルーキー(12)」、「大人味(1?)」


超人ロックこちらid:soorceさんによりカウントされた93巻以降、風の抱擁が(3)+4、ホリーサークルが(1)+2、刻の子供達が+3、ラフラールが+4、ドラゴンズブラッドが+4、鏡の檻が+5、ガイアの牙が+3、カオスブリンガーが+1。または、こちら参照
シティハンターシリーズはシーケンシャルな物語でないので、集計から除外。
金田一シリーズはこちら
https://ja.wikipedia.org/wiki/%E9%87%91%E7%94%B0%E4%B8%80%E5%B0%91%E5%B9%B4%E3%81%AE%E4%BA%8B%E4%BB%B6%E7%B0%BF

つなぎのPCを購入した

現在使用しているPCが
・第6世代Intel core i5 ノートPC
・熱設計を明らかに誤っている第11世代Intel core i5 ノートPC
の2台だ。

Windows12を搭載したPCがおそらく1年後くらいに発売されるので、そのころ買い替えればいいかなと思っていたのだけれど、さすがに両PC共に動作が重すぎるので、1年くらいまともに使用できる代打PCを購入することにした。まあ代打なので、最新PCである必要はないので、普通にWindows11が動作するPCを低価格で探したところ、Amazonで中古PCを販売していることに気づいた。調べてみると安価ではあるものの、論外なPCが多く発売されていた
・第6世代 IntelにWindows11が搭載されている。
 →Intel第6世代はWindows11が動作はするものの、サポート外なので、今後のアップグレードがめんどくさすぎるし、アップグレードできないかもしれない(アップグレードできないということは、セキュリティパッチも適用先なくなる可能性がある)
・メモリが8GB
 →さすがに8GBはきつすぎる
・画素数が1366×768
 →粗すぎる

ということで、探しまくっていたところ、まともなPCを見つけたので、即購入した。
・第8世代intel
・メモリ16GB
・画素数1920×1080
・Office付
・Windows11pro
・SSD256GB
https://amzn.to/3S7ZeT0



このスペックで29800円という安さ。届いたPCもきれいにレストアされており、驚愕のお買い得品であった。中古とはいえ、こんなPCどうやったら利益が出るんだろうか。

中古PC購入したい人のチェックリストにはなるかもしれません。

Bingが検索クエリーをGoogleから奪取すべくいろいろやっているけれど

検索エンジンがGoogle1強となって久しいけれど、なんとか対抗馬になろうと頑張っているのがMSのBingだ。
Windowsの支配力を使って、なんとかBing検索に客を呼び込もうとしている。今の主戦場であるスマホでは何の意味もないけれど、デスクトップ分野の頑張りはなかなか涙ぐましい。

Windowsの標準ブラウザであるEdgeの、デフォルト検索エンジンがBingであること
②EdgeでChromeを検索するとEdgeでいいじゃんとか言い出すこと
③BingでGoogle検索するとBingの検索窓が現れること
④AIとの連携
⑤RewardsというBingでの検索をユーザがマネタイズできる機能を提供
ということをやっている。とはいえ、検索エンジンの強さは「検索力」だ。Googleの検索力は大幅に落ちているものの、それにしたってBingの検索力に比べれば100倍程度マシだ。なんで、検索力を上げる方向にリソース費やさないのかなと思うけれども、まあ検索力を大幅に上げる方法が見つからないか、見つかっても投資が莫大すぎて難しいのだろう。

まあ、これらの施策がうまくいっていればいいけれど、まあ①④以外はうまく行っていないと思われる。

Windowsの標準ブラウザであるEdgeの、デフォルト検索エンジンがBingであること

これについてはかなりうまくいっている。Googleの長年のユーザ訓練の結果として、「検索はブラウザのアドレスバーで行えばよい」と学習したユーザが多い。今のWindows標準搭載ブラウザはEdgeなので、Windowsで検索しようとするとBing検索になるのだ。

②EdgeでChromeを検索するとEdgeでいいじゃんとか言い出すこと
Chomeなんていらないよ?(すっとぼけ)

ChromeをインストールしようとEdgeでChromeを検索すると、「Edgeがおすすめよ?」とかいいだす。いやいやEdgeさん、あなた「Googleアカウント持ってる人」がChrome必須なのわかって言ってるよね?ほぼ同一テクノロジなのにGoogleのパスワードマネージャ使えないブラウザとか要らないんですけど。
とか思うユーザは少なからずいるだろう。

③BingでGoogle検索するとBingの検索窓が現れること
、、、、え?

さすがにこれはユーザの錯誤狙っていて笑えないと思う。いやちょっとひどくない?訴えられたら負けそうな気がする。

④AIとの連携

MSはAI方面については投資がうまくいっており、Googleに負けていない。Bing検索とBing Chatの連携は今後検索の概念を多く変えるかもしれない。

⑤RewardsというBingでの検索をユーザがマネタイズできる機能を提供

最大の問題がこれだ。Bingは顧客の囲いこみのため、RewardsというBing検索に報酬が出るプログラムを提供している。とはいえそんなに高額なわけではなく、一日がんばっても200ポイントくらい、金額にして22円も稼げればいいほうだ。
まあ私も、たまに暇なときにRewards経由で検索し、ポイントを稼いでおり、やっとのことで5400ポイント、金額にして600円稼いだのであった。まさに徒労。その時間働けばもっと稼げていたのは間違いないw

まあ、それはそれとして、600円に交換しようとしたところ、エラーが発生した。

エラーコードくらい出せや

まあ、エラー発生したからカスタマーサポートに聞けと書いてある。ということでカスタマーサポートに聞いてみることにした。フォームに状況を記載すれば、24時間以内にいったん返信が来るようだ。これが10/25のこと。翌日(10/26)きた応答メールを見て驚愕した。「いまどきこんな精度の低い翻訳メール送ってくるか?」というレベルであった。正直なところ意味が分からなくはないが、少なくともMS社のブラウザが自動で翻訳するレベルよりはるかに下レベルの翻訳であった。なんじゃこりゃ。意訳すると
「問題が起こったことは理解した。状況確認したいから詳しい情報送って!」

詳しい情報といっても、あなた方の出したエラーメッセージがプアすぎるから、役に立たないんなんじゃないか?と思ったけれど、こういうのは何らかの情報返信しないと「返信来ないから調査してないよ」となりがちなので、すこし遅くなった(10/29)けれど返信しておいた。

そこから待てど暮らせど返信が無い。ひょっとして、こっちからの返信がロストしてるんじゃね?と思い、再度フォームで投稿してみた(11/8)。やはりフォーム投稿すると応答は来る(11/9)。相変わらずひどい翻訳だ。
意訳すると
「君が記載した前回の問い合わせ番号と同じ内容だから統合するよ」
であった。んでもって11/19現在、なんの返答もない。600円なんてどうでもいいんだ。おれはMSの本気度が知りたいんだ。そしてMSが本気でないことはよくわかった。

結論としては、Bingなんて使うもんじゃない。検索効率も悪いし、Rewardsは死ぬほど適当だ。
時間を無駄にしたい人は使ってもいいんじゃないだろうか。

ただし、Bing Chatはサービスを契約しなくても使えるAI機能なので、そこそこ重宝するだろう。

勝手にハイパーリンクを作成するのはやめた方がいいのではないか

勝手にハイパーリンク

Outlookを使用しているとよく出会う現象に、文章中にURI記載すると勝手にハイパーリンクになってしまうっていうのがある。多分この現象は設定でキャンセルすることはできるのだろうけれど*1、デフォルトでONになっていることをやめてほしいのだ。
なんせURI表記には終端文字が定義されていないので、絶対に意図したリンクにはならないのだ。特に日本語などの全角文字が混じった場合、ひどいことになる。

よくある自動変換

MSさんよ、お節介機能作るなら、もうちょっとちゃんとお節介しろよと思うのだった。おそらく、英語と日本語の最大の違いである、「日本語は、単語と単語をデリミタで分けない*2」ことが、このような変な動作をする原因だろう。

んでもって、このような動作はOutlookにかぎったものではなく、WordやExcelでも同様な動作をする。するのだけれど、なんだかんだOutlookが特にひどいのだ。Outlookは「メール編集完了時には、ただのURI表記なのに、メール送信ボタンを押下すると勝手にURIハイパーリンクになる」という機能を有しており(笑)、当然URI末尾に日本語が混じっていると、誤ったリンク先を生成し、そのままメール送信する。どこの馬鹿がこんな仕様OKするんだと思うのであった。*3

まあそれはそれとして、そもそもURI記載するとリンクになるという機能自体の弊害と思うことがあって、それはリンク表記と実際のリンク先が同一になるという経験をユーザにさせることだ。

アンカータグとは

ハイパーリンクを実現するために、HTMLではアンカータグ(Aタグ)っていうのが定義されている。アンカータグを使用するとほかのURIにリンクすることができる。このとき「ユーザに見せる文字列」と「実際のURI」を指定可能だ。基本的には文中の文字列を別文書へのリンクにするようなことを想定しており、おそらく「用語」と「用語の解説ページ」みたいなのが、一般的な使い方だ。たとえば、ユーザに見せる文字列「ライフライン」と、その解説ページとして「wikipediaライフライン項目のURI」をアンカータグにすると

 <A HREF=https://ja.wikipedia.org/wiki/%E3%83%A9%E3%82%A4%E3%83%95%E3%83%A9%E3%82%A4%E3%83%B3>ライフライン</A>

こんな感じになる。HREF=の後に記載されるのがURIで、</A>の前に記載されるのが、ユーザに見せる文字列だ。

実際にHTML記載すると、↓こんな感じにハイパーリンク表示される。
ライフライン

アンカータグの表示文字列をURIにすると

MS製品の「URIを記載すると勝手にハイパーリンクになる機能」は、日本語が混じるとでたらめな判定をすることもさることながら、URIと表記を同一にすることが「普通のことである」という誤解を与える。表記URIとリンクURIは同じという誤解。つまり、悪意あるハイパーリンク*4に引っかかる人を増やしてしまうのだ。

・ユーザの理解(リンク表記とリンク先は同一である)

 <A HREF=https://google.co.jp>https://google.co.jp</A>

https://google.co.jp


・悪意あるリンク(リンク表記はGoogleだがリンク先はyahoo)

 <A HREF=https://www.yahoo.co.jp/>https://google.co.jp</A>

https://google.co.jp

URIハイパーリンクに自動変換しないほうが良い

URIハイパーリンクに自動変換する環境に慣れると、ハイパーリンクの表記がURIなら、そのURIはリンク先URIであると誤解する人が発生する。それは、「安全なURIを表記している、危険なリンク先」に気づけないことを意味する。URIハイパーリンク自動変換機能とは、アンカータグのそもそもの動作を誤解する人を量産する機能なのだ。

勝手にアンカータグを分析する機能がブラウザやメーラーに欲しい

というかですね、メーラーやブラウザは、アンカータグの表記が「URI」っぽかったら、実際のリンク先URIと比較して、同一ドメインなのか判断し、ドメインが異なったら警告する機能くらいつけてもいいんじゃないだろうか。

とか思ったりした。

まあ、表記のURIっぽさを回避するような表記された場合、どうすりゃいいかという問題があるんだろうけど。

*1:テキストがハイパーリンクに変換されないようにする - Microsoft サポート

*2:英語の場合、単語間には必ず、デリミタ(スペースかカンマかピリオドか半角カッコ)がある。日本語は、単語をデリミタで分けないので、URIの直後に全角文字があっても問題ない。しかしコンピュータは、デリミタが無ければ、どこまでがURIなのか自動判定できない

*3:筆者はMSによく文句言っているけれど、別にMSが嫌いなわけじゃない。むしろ好きな企業である。

*4:googleへのリンクに見せかけてyahooへのリンク

vbscriptの終了について

Windowsは長いこと、まともなシェルを標準搭載していないOSであった。コマンドプロンプトという貧弱なシェル上で、バッチというこれも貧弱なシェルスクリプトを実行するという、なかなかの苦行を必要とするOSであったが、Windows98とかWindows2000の頃に、すこしまともなシェルスクリプト動作環境が誕生する。それがWSHで、WSH上で動作する言語が「jscript」と「vbscript」だった*1

言語仕様の良しあしはともかくとして、vbscriptはバッチなんかよりははるかにマシで、ファイルやDBをまともに扱うことができるありがたいスクリプト言語であった。特別な処理系がインストールされていない環境に、自動実行を入れることができるのだ。もっとも、シェルと統合されていないという大きな欠点や、まともなデバッグ環境を構築できないという欠点や、まともな開発環境が提供されていないという欠点や、まともなドキュメントが提供されていないという欠点はあったけれど*2

とはいっても、Powershellの登場とともに扱いがぞんざいになったことや、基本的にSJISのテキストを扱うように作られていること*3Windowsの標準テキストフォーマットがUTF-8になりつつあること。UTF-8に対応するような機能向上が図られていないこと*4などから、vbscriptが終了に向かっているのは誰の目にも明白な事実であって、いつ発表されるのか待ち状態であった。

vbscriptの代替としては、「Windows標準搭載」という面からPowershellスクリプト一択だと思うけれど、この歳になってからPowershellスクリプトを学ぶのは正直しんどいなと思っていた。しかしAI技術の進化によって、Powershellスクリプトの記載方法はかなり簡単に調べられるようになった。正直かなりクセが強い言語だけれど、移植は難しくなさそうだ。

逆に言えば、AIの進化によるスクリプトの自動生成が無ければ、vbscriptの終了は、生産性をかなり落としていたんじゃないだろうか。

ということでちょっと早いけれど、vbscriptさん今までありがとう。君のおかげで何万時間の工数が浮いたよ*5


というか、レガシーASPとかhtaどうなるのかね?いまさらリライトしたくないんだけれど。

*1:この時まともなシェルが出なかったのがMSのアレなところ

*2:こうやって振り返ると致命的な欠点だらけだな

*3:ADODB.Stream使って読み書きことはできるけれど

*4:というより、そもそも機能向上が長いこと図られていない

*5:保守会社なので自動実行のインパクトは非常に大きい