自家製ROFL

基盤:YahooでSatoxITSの動画を検索して転げましたw

開発:まあ、確かに全部のブログ記事のサイドバーに出ますからね。

基盤:一方その頃Googleでは。

基盤:そしてBingにおいては。

社長:しかしYahooとGoogleはすごいURLですね。トラッキング情報なんでしょうか?

開発:いやな感じですよね。

社長:Googleは文書なら類似のページとかいってまとめちゃうのにね。

基盤:さらに先日見かけた、ROFLの親戚っぽいこの笑いっぷり。

基盤:コンテンツの作りがまた完全に吹っ切れてる感じがします。

社長:まあ awesome って言葉の選択自体が吹っ切れてるように思います。

開発:コンテンツとも関係なく、本能的に反応するものがありますね。この瞳の配置。

社長:このスポンサーシップってなんですかね?

基盤:なにやら検索結果のページ内の広告スペースっぽいです。

開発:この笑い顔を見たらちょっと真剣にお付き合いするのを躊躇しませんかねえ。

社長:ROFLと言えばSkypeだと思っていたのですが、一般用語なんでしょうか?

https://az705183.vo.msecnd.net/onlinesupportmedia/onlinesupport/media/skype/fa300xx/rofl_40x40.gif

基盤:Wikitionaryを見るところ、一般的なスラングのようです。TIAとかIMPOみたいなやつでしょうか。

社長:当社も独自のスマイルマークを作りたいですね。動画で3Dのが良いなあ。パックマンみたいに横顔になったり。Xeysみたいに瞳が何かを追跡するやつとか。

開発:まあJavaScriptのcanvasで書くんでしょうね。

基盤:可愛らしいのが良いですね。

社長:マンガ顔とか、一般に顔のパーツは下のほうについてると幼く可愛く見えますね。

開発:顔の輪郭が真円というのはどうなんでしょうね?

社長:三角や四角い顔があっても良いでしょうね。輪郭が無いとか、パーツがはみ出しちゃってるのもありかも。パックマンみたいに割れてるのとか。

開発:子供の頃にスマイルマークのバッジとかが流行ったんですが、どうもあれはマンガの国日本人の思うカワイイとずれてるんですよね。

基盤:鼻を省略するのはマンガでは普通ですよね。眉をどうするか。前髪は。ってとこですね。

開発:オプションであらゆる顔を合成できるものが良いですよね。

基盤:2つの目と一つの口が三角形状に配置されてるというのだけが制約ですかね。

開発:三つ目とか、一つ目も有りかもです。目に見えるならですが。

基盤:王蟲のあれは目でしたっけ?

社長:Skype ROFL みたいにするには、球面に書いて回転させたり多少膨張させたりも必要だと思います。

基盤:faviconにして動かせると良いのですが。

社長:検索エンジンに収集してもらえるように、画像データになってる版も必要ですね。data URLを書き換え続けるでも良いかもですが。

基盤:画像に日付時刻かシリアルIDを入れると、ロボットが拾ってった時間が判別できてよさそうです。

開発:ともかく、作ってみましょう。まずおさらいですが、MDNのcanvasの入門編より。

<canvas id="canvasSmile1" draggable="true"></canvas>
<style>#canvasSmile1{zoom:100%;resize:both !important;}</style>
<script>
function drawSmile1() {
  var canvas = document.getElementById('canvasSmile1');
  if (canvas.getContext) {
     var ctx = canvas.getContext('2d');

    ctx.beginPath();
    ctx.arc(75, 75, 50, 0, Math.PI * 2, true); // Outer circle
    ctx.moveTo(110, 75);
    ctx.arc(75, 75, 35, 0, Math.PI, false);  // Mouth (clockwise)
    ctx.moveTo(65, 65);
    ctx.arc(60, 65, 5, 0, Math.PI * 2, true);  // Left eye
    ctx.moveTo(95, 65);
    ctx.arc(90, 65, 5, 0, Math.PI * 2, true);  // Right eye
    ctx.stroke();
  }
}
drawSmile1();
</script>

基盤:この入門編、吹き出し speech baloon の書き方もあって面白いですね。

社長:でも、可愛いスピーチ・バルーンなら、楕円にちょっと出っ張りがあるやつですよね。

基盤:パックマンの例まであるのが笑えます。

開発:MDNには珍しく、example に力が入ってますよね。それはともかく、これ、まず顔は黄色でfillしないとさまにならないですよね。色だけ変えてみましょう・・・

ver.2

社長、基盤:おおーっ。

基盤:同一人物とは思えないですね。

開発:女は化粧で化けると言いますね。

社長:君よ永遠の嘘をついてくれ♪コロナのマウスで隠してすっぴんはやめてくれー♪

基盤:これは、ほぼひよこですね。

社長:しかしこの原始的な書き方、学生時代に XYプロッタで絵を書いたのを思い出します。OHPシートにw

基盤:部品を用意しておたふくみたいにドラッグ&ドロップできると良いですね。拡大縮小回転とか。

社長:回転はできますかね?

開発:イメージにしてCSSでrotate出来るのと簡単ですね… でも、canvas自体を回すのが良いかもです。あれ?位置が変。。。そうか、canvas のデフォルトのサイズの問題みたいですね。

ver.3

開発:まあそれはともかく、連続的にまわしてみましょう。

ver.4 Stop


基盤:これはアナログ時計にして秒針にすると良いかもですね。

社長:一箇所で回るっていうのも悪くないですね。

開発:ではcanvasのサイズを指定して作成・・・

ver.5 Stop

社長、基盤:おおーっ。

基盤:これなら邪魔にならないですね。

社長:CPUはどの位食いますかね。

開発:30ミリ秒間隔の描画ですが、ver.3, 4 それぞれ単体で10%、同時に動かすと16%というところです。

基盤:けっこうキャンバスって重いんですかね。

開発:イメージ化して回してみましょう・・・

ver.6 Stop Stop

開発:おーっと、imageのほうが重いですね。canvas が 8%、image が 10%というところです。

開発:ROFLをもうひとつ足してみましょう。

Skype's ROFL

基盤:動きが定期的でないのか、CPU消費が不安定ですね。

開発:どっちにしても2%程度くらいでしょうか?軽いですね。

社長:元データが40x40と小さいのも関係あるでしょうね。

基盤:GIF か PNG のアニメにしたいですね。

開発:でも、canvas のまま回すっていうのも、それ自体が面白いところはあると思います。時事刻々の状況も反映できますしね。

基盤:あとこれ、Edgeだと20%食いますが、Safariだと10%しか食わないみたいに見えます。

* * *

社長:いっそ、うちのROFLはひよこベースにしようかな。

基盤:でも、ひよこなら口は半円じゃなくてひし形ですよね。

開発:ひよこにふさわしい配色もきちんと調べたいですね。

-- 2020-1030 SatoxITS

電気決済システム

社長:ただいま。

基盤:女医さんとの対決はどうでしたかw

社長:まあそれはさておき。待合で思いついたんですが「電気決済システム」ってどうだろうって。

基盤:冬場にびりびりってくるやつですか。

経理:でんこ専用Payとかですか。

社長:いや、エネルギーで支払うっていうシステムです。なんと言っても実体的で客観的で本質的な価値ですからね。電子的情報とは信頼感が違います。コンピュータも消エネ能力で評価される時代ですよ。電気エネルギーなら密度も高いし瞬時に受け渡しできる。

基盤:エネループを硬貨として使うって感じですかね。

開発:瞬時にコンパクトに貯めるのが難しいですよね。

IPアドレス消失インシデント

開発:あれ、dg9 にログインできなくなってますね。Webもつながらない…

基盤:あれ… あー。。今朝ライトセールをリストラした時に間違って、dg9の静的IPアドレスを削除してしまったようです。削除したインスタンスaw1用のアドレスを削除したつもりだったのですが…

社長:インスタンスとアドレスが別々に管理されているので起こる間違いですね。UI的にも、元の情報を暗くしてポップアップしてくるのも間違いを誘発します。

開発:「この」ってどれよって思いますよね?この、この、この、て、うるせーっていうか。そもそも、インターネットプロトコルを削除するってどういう意味だって。

社長:普通のセンスなら、元の情報のところをハイライトして吹き出しに出すとかにしますよね。そもそもプロセスって普通なら、処理とか手続きとか訳しますよね。

開発:日本語対応コストをかけてないんでしょうね。インスタンスの作成の時には「処理中」とか訳してますしね。

社長:ここは言語によらず、全般に、そもそもの表現がおかしいと思います。

基盤:単一画面でインスタンスのリストとアドレスのリストが見えれてくれれば良いのにとも思います。

開発:そもそも、削除して1日くらい保留しておいてくれても良いのにと思います。ヒューマンエラー生成器としては、この手のサービスでundo機能が無いのが恐ろしいです。

社長:まあ、激安サービスにそういう事を期待してもですけど。インスタンスに割り当てて無いアドレスは課金されるっていうのも早く削除しなきゃってプレッシャーですよね。

基盤:急ぎ、新しいアドレスを取得します。

社長:これまでと同じように 13. で始まるのが良いですね。

基盤:アドレス作成、作成、作成、作成、なかなか良いのがでてこないですね。削除、削除、削除、作成、作成、作成、・・・ 東京リージョンは主に 54. なんですよね。

開発:なんでこう、がちゃがちゃと画面遷移したがるんですかね。一画面内でフォームみたいにやればよいのに。

社長:これについてはわざと使いにくくしているんだと思いますが。でも一般に、単純に一画面内の情報を削れば良いUIだと思ってる風潮がありますよね。Googleとかも。かといってスマホでできるほどでシンプルもなく中途半端。

開発:その点、昔ながら式のxsoとか、ベロベロに横長の巨大画面を作るのAzureは、ある意味わかりやすいですね。

基盤:30回くらい試作したのですが、なかなか良いのがでてこないです。3番目に最初にでてきた 13. のこれがまだ良いかなと。

社長:13. ではじまって .31 で終わるっていうのがなかなか良いと思います。それにしましょう。

基盤:では、nso と xso のDNSレコードを更新します。・・・。これ、nsoにログインするのが難関で・・・。IDがいくつかありますが・・・これですかね・・・。

社長:当社は今後当面、可能性としては未来永劫、重要ログイン用のアカウントはmacOS、Safariのみで管理したいと思います。この際、調べたパスワードはSafariに集積していきましょう。

基盤:・・・。設定終了しました。伝播に数時間はかかってしまいますね。

社長:まあ、動態保存用ですし特に問題ないかなと。ひと気のない博物館の休館日みたいな。

開発:サーバを新しく立てたりアドレスを変えたりした時に速攻でやってくるロボットって面白いですよね。

基盤:というか、公開しているアドレスが切れてた時にもせっせとアクセスして来ているスキャナ系のロボットが居ますね。internet-census.orgとかはまともなとこみたいですが…

開発:PHPのURLに必死でPOSTしてきてるやつも幾つか居ますねwうちのサーバにはそんなもの無いっての。

基盤:DNSサーバでアドレスを変更した後にイノイチに来たのがgooglebotの/robots.txtでした。さすがですね。

開発:なんでhttpのdg9には頻繁に来るのに、httpsのxsoにはあんまり来てくれないんですかねえ…

基盤:うちからも新しいアドレスに飛ぶようになりました。アクセス数も回復傾向です。

社長:ちょっと面白いインシデントでしたね。

-- 2020-1029 SatoxITS

いつかはセンチュリー

社長:ただいま。

基盤:今日も秋晴れですね。

社長:今日はアンテナとか空中配線が面白かったので撮ってきました。

開発:これは携帯の基地局ですよね?

基盤:画像検索してみましょう。Bing...

基盤:Google...

開発:検索画像をアンテナ部分だけに絞ってみては。

基盤:Google。

基盤:Bing。

社長、開発:おおっ。

基盤:この記事のはちょっと短いですが似てます。2010年の記事で、PHSの基地局でXGPというアンテナのようです。「約300kbps」

開発:なんにしても、どこかの基地局みたいですね。

社長:Googleは検索する画像を表示しないんですかね。かたやBingはサンプル画像の表示領域がでかすぎじゃないでしょうか?リサイズ… できないんですね。

基盤:このペインは選択した画像の拡大表示も兼ねてるようです。

* * *

社長:それでそば屋でGoogleのニュースを見てたんですが、文春の、兵庫県知事のセンチュリーの記事にハマりました。技術的に知事の認識のズレを指摘している所はわかり易くてまあまあでしたが並の中。で、ここです。

ふらつきや振動、騒音がシャットアウトされた車内で、オットマンに足を乗せ、やわらかなシートに包まれながら、マッサージ機能で身体をほぐしていく。限られた人間にしか許されない、贅沢な時間である。

社長:車の中でって限定がなければごく普通に許されてる。別に贅沢でもないよなーって。移動時間にそういう事をする必要があるってのが逆に、可哀想な感じがするんです。

開発:飛行機のファーストクラスなんかもそういうイメージですよね。

基盤:社長なんて時間の使い方が贅沢三昧ですよね。

社長:自由という贅沢はプライスレスです。お金払っても良いくらいです。

経理:でも一日1万円が限度ですね。

社長:で、結びがこれ。

井戸知事のセンチュリー採用に表れるメンタリティは、私たちに発想の転換を促し、成功者への階段を示してくれているのではないだろうか。

社長:これは皮肉なんだと思うんですが、発想の転換は必要だと思います。行政には人材が重要だと思うんです。何かあこがれるというか夢のある職業、地位っていうのもあって欲しい。センチュリーに乗るのを夢だと思うような人材じゃなくて、それが当たり前っていう地位。トップがスターだというだけで何か活性化しますよね。

開発:asoも10万円の件で叩かれてますね。

基盤:しみったれた太郎とか存在する意味が無いですね。

社長:まあ、あの職に居ての発言としてどうかという点でしょうけどね。

基盤:社長が乗ってみたいクルマとは。

社長:ガソリン振りまいて走るクルマに乗ってるだけで後世からはとんでもない贅沢って思われると思いますよ。あとはエアコンがさっと効いて、リヤワイパーのあるクルマですかね。

-- 2020-1029 SatoxITS

ライトセールリストラ

基盤:jp1のファイルの整理のついでに、ライトセールのインスタンスのリストらを行いたいと思います。まず、現状はこのようです。

基盤:ネームサーバのns0fは7月のはじめに、DeleGate動態保存サーバのaw1は7月の末にdg9へ、それぞれバトンタッチしました。

基盤:それでも未だに、どちらのHTTPサーバにも日に100件前後のアクセスがあるのが興味深いところです。

開発:DNSレコードがロボットの脳裏に焼き付いちゃってるんですかね。

基盤:初代ネームサーバだったns0のDNSサーバfにも、未だに一日に30件前後の検索が来ています。

基盤:会計はひたすら明朗。

基盤:$5 x 8 / 30 ≒ $1.3/day で固定しています。

基盤:5リージョン別にみるとこう。

基盤:サービス別にみるとこうなります。

開発:$5は税別だったんですね。そりゃそうか。

基盤:ということで、負荷によらず課金は全く一定。aw1 と ns0f を切ることで、ストレートに月当たり $5 x 2 ぶんの削減になります。

社長:現在どういう負荷状況ですか?

基盤:最も活動している ns1 で4%以下です。連続的に持続できるのが10%までですが、まだ半分余裕があります。

基盤:DeleGateの動態保存サイトは 1% 未満です。これは、$3.5インスタンスでも良いかもしれません。

基盤:一番活動のないムンバイ支局はほぼ0%です。

経理:これこそ $3.5 機で良いのでは。

開発:時々実験用に負荷を掛けることがあって、その時に使い物にならないと困ります。

基盤:ただ、インドではなくて、ソウルとかシンガポールあたりのほうが面白いかもしれません。

社長:WebSurkitとかでサーバ側にも負荷の掛かるサービスを始めたいですね。

基盤:ということで、aw1 と ns0f の消灯を行いたいと思います。

開発:最初のライトセール機だっただけに、寂しい気はしますね。

経理:とっとと捨てましょう。

基盤:では、インスタンスを削除。

基盤:静的IPの削除も忘れずに…と。終了しました。

経理:1日100円でクラウドサーバの夢が実現しましたね。しかも6台並列。

開発:なんとなくダンボール箱だけだと殺風景ですね。

社長:何か面白い詰合せのインスタンスを作るのも良いかもですね。

基盤:Ubuntu 20.04 がサポートされてますね。

基盤:あるいはやはりWordPress専用機とか。

開発:xso の WordPress をこっちに移転するとか。

基盤:xso はストレージ 250GB 使えますからねえ。現在既に、98GB使ってますし。 ライトセールでは160GBでも$40しちゃうんですよ。

社長:動画とか貼り付けまくってますしね。やはり、its-more.jp はもう xso に縛り付けですかね。

経理:それですと長期まとめ払いにするのが良いかと。

社長:いや、以前やろうと思ったのですが、解約しようとしているExchange Onlineオプションとのまとめ払いになってしまうんです。で、Exchange Online オプションを解約しようとしたのですが、やり方がわからず… 放置してしまいました。どうもリセラーが途中にはいると面倒臭いことになりますね。

開発:なぜに Exchangeでしたっけ?

社長:結局 Gmail になったわけですけどね。Gmail のブラウザだと電子署名機能がなんかダメなので Outlookでやろうか、ならExchangeだなという事だったように思います。結局 Gmail に独自ドメインを作って、そこのメールアドレスで電子証明書を取って、macOS の Mail で Gmailを読んで署名する今の方法になったわけです。なので、Exchange はインフラが Gmail に決まった時点ですぐに解約すべきでした。

経理:何ヶ月も無駄にエアExchange代、月500円が流出してたんですね…

基盤:そういえばGSuitesがなんとやらに改名して、課金体系が変わりましたよね。確か、ドメイン名とメール使うだけなら安く済むようになったような。毎月1360 x 2 はちょっと重いかなと思います。

社長:それも要検討ですね。

経理:あ、これですね。

開発:一つを現在のStandard からStarterに変更すると 680円/月浮くわけですね。

基盤:同じ2720円払うなら、Standard x 2じゃなくて、2040円で5TBの Business Plus + 680円の Starter にするのがお得ですよね。

社長:といいますか、今の契約では 1TB だったように思うのですが。

基盤:このあたりの経緯は6/1のブログにかかれてますね。

-- 2020-1029 SatoxITS

Exchange Online解約

社長:xso にメールで問い合わせたら、Exchange Online の解約はメールで申し込んむんだそうです。

基盤:ブラウザから出来ない理由が全くわからないですね。

社長:ふつう、このアクションの所に解約ボタンが表示されると思いますよね。

開発:実はこのハイフンの部分はクリッカブルだったりして。

社長:早速メールしたら速攻で解約できました。04:06に解約方法を問い合わせメールしたら、09:06に回答メール。まあ朝イチですね。解約の受付けは営業時間内、10:00からです。10:08に削除申請メールを送って、14:03に削除完了メール。この件は人間が作業していることを考えると、まずまずのレスポンスと思います。

基盤:無人で出来ない理由が全くわからないですね。そもそも、なぜExchangeの解約方法を文書として公開していないのか。

開発:雇用対策では。

基盤:経営姿勢とか。

社長:というわけで、純レンタルサーバのぶんを12ヶ月まとめ払いします。

経理:一月1078円。これまで毎月、サーバーぶん1430円、Exchange 473円、合わせて1903円請求されてましたから、825円/月の削減です。これまで6ヶ月分払ってしまったので、4950円損失したとも言えます。

社長:これで思い出したのですが、以前まとめ払いにしようとした時にはあのクソビルダーがサーバとセットになっちゃってて、あれは解約時期に縛りがあって、解約できなかったんですね。

基盤:このレンタルサーバ単体は、特にまとめ払いにすれば、コスパが良いと思います。とりあえずドメインとったら、ウェブサーバ立てて、メールもやり取りできる。SSHでログインしてプログラム開発もできる。ストレージ250GB付き。サーバ定期バックアップ付き。月1000円。良心的と言って良いくらいです。

開発:長期運用するサーバは最初にまとめ払いにしてしまう。各種オプションは月払いで何時でも切れるようにするのが正解ってことですね。

社長:まあ、セットにしてあっても、メール経由でならサーバだけまとめ払いにできたのかも知れません。

基盤:ブラウザから出来ない理由が全くわからないですね。技術的な理由が。

開発:できなくしてある理由なら理解できなくもないですけどね。

カウンターゴミ掃除

基盤:jp1のゴミカウンター込みのバックアップが終わってます。所要11時間超。以下、現状です。

基盤:削除します…

基盤:削除完了しました。所要4分弱。

開発:意外とあっというまでしたね。

社長:うんうん、これでしばらく大丈夫。

全く新しいカウンターの設計

基盤:いずれ異常カウンタファイル生成の原因の調査と対策をお願いしたいです。

基盤:そもそも1回だけのヒットでも1ファイル256バイトだけどファイルシステム上は4KB。中間ノードのディレクトリに各256B。これもなんとかしたいですね。

社長:やはり、ハッシュテーブルというか、dbm にするんでしょうかね・・・ 

開発:各URLのカウンター256バイトがびっちりつまったブロックと、URLへをそこへのインデックスに変換するテーブルですね。カウンターブロックのほうは、200万URLで 2M x 0.25KB ですから0.5KMBつまり500MBの単一ファイルに収まることになります。

開発:マッピングテーブルのほうは、URLをcrc32してハッシュのインデックスにしてやるのが良いかもしれません。1000万エントリとして、10Mエントリ、各エントリはCRC32+インデックス+アルファで8バイトとすると、80MBのファイルに収まることになります。これはランダムアクセス性が高いので、RAMが1GBのライトセール機には小さいことが重要です。

基盤:同時に複製を作らないとバックアップが不整合になるでしょうね。1ファイル壊れたら全部アウトです。

開発:まあそのへんが嫌だったのがこういう実装にした理由の一つだったと思います。排他制御も結構イヤだし。dbm/ndbmの互換性がっていうのもイヤでした。dbmにすると中身を観察するのが面倒でしたし。

社長:カウンターブロックのほうにURLを入れて、マッピングテーブルが壊れた時に再構築できると良いですね。

開発:可変長は難しいですね。URLのCRC32にならまだなんとか。

社長:CRC32からURLへの逆変換は?

開発:1URLの平均を64Bとすると、カウンターブロックの1/4ですね。200万URLなら128MB。ただ、マッピングテーブルのファイルが8Bでは足りなくなるので、これを16Bにすると、1000万エントリで160MBとなります。

社長:つまり200万URLを想定しても、ハッシュのマッピングファイルが 160MB、カウンターブロックファイルが500MB、URL逆引き用が160MB、合わせて1GBには収まるということですね。

開発:今度作るならGoで作ると思いますが、dbm的な既存のライブラリを使うとしても、そのくらいが目安かと思います。

社長:カウントアップはスプールして順次加算でも良いかもですね。

開発:まあ、最高で毎秒10回程度、100ms間隔程度のアクセスを想定すれば、この排他制御がネックになることは無いと思いますが。ロックがフリーズしたら嫌だなってくらいです。

基盤:分散したライトセール機の間のカウンターの共有もしたいですね。

開発:これは各サイトごとのカウンターを作って、他のサイトのカウターと合算すれば良いと思います。1GB程度ならまあ、時々全体転送しても良いですし 、100KB x 1万のブロックぐらいに分割して、変化のあったブロックだけ転送するとかでも良いかなと思います。完全に同時に共有は難しいですが。

社長:現在くらいのアクセス頻度なら、1リクエストごとにカウンターアップデートメッセージをブロードキャストするのでも十分でしょうね。HTTPでもWebSocketででも。後で精算することを考えたらUDPでも良いかも知れません。

基盤:1GBくらいのファイルで、常に複数リアルタイムミラーするような汎用のものがあると良いように思います。

開発:ここのところウェブ系の作業だけしてましたが、そっち方向のプログラムが書きたくなってきました。

Azureは今

基盤:そういえば、Azureはどうしましょう。

経理:ディスクの保管のためだけに毎月600円かかっているようですが…

基盤:久々にコスト分析・・・お、過去12回ぶんの請求書表示機能というのが付きましたね。

開発:なんでしたっけこれ。

基盤:・・・30GiBのPremium SSDですね。

経理:30ギガの保管に毎月600円・・・

基盤:一応、仮想マシンのスイッチを入れればすぐに使えるようにワンセット保管してあったんですね・・・

基盤:で、これはOS用の最小ディスクなんです。

開発:HDDにクローンして差し替えたりできないですかね。

基盤:まあ、新しいVMを作って転送すれば良いと思いますが。

社長:HDDだといくら位になりますかね。

基盤:プライシング・・・32GiBだと、Premium SSD が 537円、Standard SSD が268円、Standard HDDが172円ですね。

経理:HDDにしましょう。

基盤:性能的には・・・Standard の SSD と HDD は同等ですね。500 IOPS (!)、60MB/秒。

開発:500 IOPS !片道1msの世界ですね。

基盤:でも、RAMのバッファによく使うのが入ってればまあ問題ないかなと。

社長:じゃあそれで作ってみましょう。

基盤:作るのは割と簡単なんですよね… HDDで。あー、RAMが最小の0.5GBじゃきつかったですね。1GBで。おーっと、VMを選び直したらしれっとSSDに戻ってます。HDDで。作成。・・・できました。これで月当たり、VMがノンストップ稼働でも1100円、HDDは固定で172円のはずです。

基盤:SSHでログイン・・・まあ、普通に動きますね。ちょっとディスクを調査。

基盤:もういっぱつ。

開発:まあ、キャッシュに入ってれば無問題という事ですね。Goをインストールしましょう。sudo apt install golang ... あれ?あそうか、apt update。普通にさくさく動いてる感じですね。apt upgrade。

社長:ところでAzureのVMって、自動的にスリープするってできるんですかね?

開発:どうなんでしょうね。apt install golang ... 終了。全くストレスないです。hello.go ...

基盤:極めてまともですね。

開発:ライトセールで比較。

基盤:同等ですね。

開発:まあAzureとは関係ないですが、GShell をテスト。

基盤:無問題。

社長:うーむ… CPUをヘビーに回し続けるようなサービスをする場合、ライトセールはきついですが、Azureならライトセール2機ぶんでイケるということですね。まあEC2と比較する必要はあると思いますが。

基盤:ただAzureの場合、通信の課金がよくわかりません。CPUをバリバリ回して、入出力は少ないみたいなサービスなら良いかなと思います。

開発:ブラウザのビルドとか、社内のVMで何時間も回すと結構電気代食いますよね。まあ最低でも4コア、RAM 8GBはないときついですが。

社長:Azureに1台飼っておくのも良いかもですね。

開発:カウンター+統計サーバにするとか。

基盤:思い出のaz2はどうしましょう。

社長:即、破棄しましょう。

-- 2020-1029 SatoxITS

WebSurkitプロモーションビデオ

社長:昨日18時間寝たせいかなかなか眠くなりません。

基盤:そろそろお昼の時間ですね。

社長:それで、何ヶ月かぶりにブラウザでGmailを開いたのですが、アイコンがかっこよくなっててびっくりしました。

基盤:ちょっとポップにオーバーシュートしてしまったようなw

社長:Firefoxの色使いは想定していないんじゃないでしょうかね。

開発:Firefoxはfaviconの更新に積極的ですよね。

社長:そこから手繰って、5月にYouTubeに投稿した動画の閲覧状況とかも見ました。

社長:それでふと、WebSurkitのプロモーションビデオを考えたのです。舞台はサーキット。デスクトップ上に全ブラウザを並べて、その間をぶち抜きでサーキットを敷設する。その上をキャラクターが疾走するわけです。

開発:技術的要素は揃ってると思います。問題は出走者ですね。

社長:まずはGopher君でしょうね。あとROFL風のスマイリー。それとやはりJavaScriptっぽい何か。

基盤:全ブラウザのアイコンを走らせるというのはどうでしょうか?MacとWindowsとLinuxも走らせちゃう。ピット作業なんかもさせちゃう。

社長:それも良いですね。

開発:それぞれを実際に各OSのマシンで走らせて、性能を反映させると良さそうですね。ベンチマークの見える化。

基盤:ライトセールの世界各地を巡回して走らせるのも良いかもです。

* * *

社長:ただいまぁ…

経理:お酒臭いですね。

社長:今日は謎の定食屋で初めて3000円を達成しました。内容的にはやはり常識の半額です。

開発:あそこの勘定は500円で量子化されてますねw

社長:今日はなんだか面白い雲が出てました。

* * *

基盤:緊急事態。ライトセール東京jp1のディスクが満杯寸前になってます。

基盤:ログによると毎日ファイルが3万弱増加し続けていますので、あと3日しかもちません。

開発:いったい何が増えてるんでしょう?

社長:カウンターのファイルですかね。

基盤:findして見た所、アクセスカウンターですね。

開発:エラーアクセスではなくてですか?

基盤:正常アクセスのカウンターのディレクトリです。ただ、見た目に何かが再帰していますね、この部分…

社長:これ… なんでしょうかね…

基盤:カウンターファイル全体の70%近くをこれが占めています。該当するアクセスログも動作ログも残ってますので、この異常なカウンターファイルは削除で良いかと思います。そうすれば、inode 使用量は一挙に半減します。ブロックも2GB程度空くと思われます。

基盤:というかinodeとディレクトリブロックの局所性が無いので、RAMが1GBしかなりライトセール機でfindすると悲惨なことになります。1秒に20ファイルとか。

開発:なんですかね。ログを拝見… あれ?カウンターのURLに該当するHTTPリクエストは記録されて無いですね。

基盤:そもそもこんなへんてこなURLでアクセスが多数あったら、アクセスログは時々見ているので気付いたはずです。

社長:てことはCGIのですかね。

開発:いつからですかね。

基盤:一番古いのカウンターファイルが7/19の朝5時です。… 7/19, 7/21 が最終更新のCGIが3つばかりありますね。そのヘンテコなURLカウンターの名前絡みです。

社長:ブログによると、7/18にpinger5/0.1公開7/19に人間探知機を設置とあります。このときに作ったCGIですね。そもそもCGI自身でカウントアップするもんでしたっけね。

開発:・・・shtmlかも知れないですね。SSI。

社長:あ、なるほど・・・

基盤:この件につきましては次のポストにて引き続き。

-- 2020-1028 SatoxITS

祝70000カウント・カウンタ監視ロボ

カウンター監視器
Until:
Remain:
Current: 00000
Time: 00:00
Interval:


基盤:70000まであと100を切りました。4〜5時間で到達と思われます。

開発:Goclipseで結構疲れたのでそろそろ眠くなって来ました。

社長:到達時には眠っちゃってる可能性が高いですね。

基盤:例の、カウンターを見張るロボットを作ると良いのでは。

開発:1時間くらいでできるか、やってみますか…

社長:その前にコーヒーブレークしましょう。

* * *

* * *

開発:さて、何をやるかというと、まず10秒間隔くらいでリロードする。リロードするたびにカウンターの値を表示しているエレメントのidからinnerHTMLを読み出して、その数値が指定した値ならループを止める。これだけです。

* * *

開発:とりあえず監視器作成・設置しました。69970で停止する実験。

開発:目標値に近くなったらインターバルを短くするとかもしたかったのですが、それはまた次回ということで。

社長:結構ですね。これでもう寝落ちしても大丈夫ですw

基盤:サーバのアクセスログがにぎやかなこと。

社長:この期に及んで間違ってスクリプトを壊さないようにしないとですね。

開発:監視器はposition:fixedで画面上の位置を固定すると良いかもですね。

基盤:あと、−1番と+1番も撮れると良いかと。

社長:StatCounter の10000カウント祭りの時にはそうしましょう。

* * *

基盤:おっと、Googlebotからアクセスが記録されました。… あと17。

開発:バグで止まらなかったら悲しいですねw

社長:まあ練習ですよ。

基盤:StatCounterの場合にはカウンターがイメージしか無いみたいですので、マッチングが難しいかもですね。

開発:まあ、フォントとサイズが固定されてますから、同じフォントがあればイメージの完全マッチでイケるんじゃないでしょうかね。canvasで生成して。

社長:OCRをやるというのも面白いでしょうね。数字だけですし。

基盤:GoにOCRのパッケージがありますね。おっと、JavaScript にもOCRあります。TesseractOCR engine というもののよう。2006年にV1.00が出てます。ああ、オリジナルはHPで作られて、2006年からGoogleがサポートしてるってWikiにあります。

基盤:あ、残り6になってます。

基盤:前回まではこのあたりから手動リロードしてるところでした。自動化は本当にありがたいです。

開発:ちゃんと止まってくれるといいなw

社長:とまったという印を付けとけばよかったですね。

* * *

基盤:しかしログを見ていて思うに、このブログってまじでGooglebotくらしか来ないんですかねw

開発:たいていのロボットは繰り返しは来ないみたいですしね。

基盤:あと1。

基盤:70000到達。無事全員停止しました。

開発:めでたし。

社長:寝ましょう。

-- 2020-1028 SatoxITS

Goclipse発見

基盤:もうあと1時間で日付がかわりますが…

社長:今日はまだ元気一杯です。

開発:なにせ12時前に寝て起きたらお昼で、お昼に食って飲んで帰って来て寝て起きたら暗かったですから、18時間寝てます。

社長:そういえば今日ゥァでショックを受けたのですが、我社指定のコーヒー、Blendy Special Blend がリストラされてしまってました。

社長:こないだ品切れでしかたなくUCCのを買ってきたのですが。

開発:淹れてみましたが、これはわれわれが求めているものと何かが違いますね。舌触り的なところ?何かのどに引っかかるような。パックの大きさと紙の硬さがうちのコーヒーカップに微妙にフィットしないし。

社長:なんとなく繊細さに欠ける感じがします。

基盤:ブレンディは違う棚に移ったのかも知れませんね。

開発:ドリップパックの棚に豆を並べるって何考えてんでしょうね?

社長:Blendy が手軽で安くて十分に美味しかったから、今更豆からどうこうっていう気にもならないんですよね。

経理:AGFがアマゾンで直販してますが、18袋版は現在在庫切れで「この商品の再入荷予定は立っておりません」だそうです。8袋x12で2162円というのと100袋1981円というのはあります。なお、モカ版は8x12のが3069円です。

社長:切れそうだと思ったら買ってくる習慣が結構気に入ってたんですが… 価格もリーズナブルだし、アマゾンで買いますか。

社長:では。ぽちっと。10/29着です。

開発:ブレンディが机の隅に一袋落ちてたので淹れました。

社長:あー、これこれ。これです。

開発:特別美味しいってもんでも無いんですけどね。馴染みます。

パースペクト・ビルダー

社長:あ、それでパースペクト・ビルダーについてです。

開発:サイトビルダー的なものですか?

社長:サイトの中身とかでは無くて、表示の枠組みだけを作るものです。サイトというより、個々のHTMLのページのドンガラですね。ウィンドウとかメニューとかフレームとかエレメントの配置だけを編集する。もちろん、それがサイト全体に共通に適用されても良いし、入れ子状に適用されても良い。

開発:いわゆるテーマのようなものですね。

社長:以前、Eclipse系のIDEをいくつか使いましたが、あれには典型として、編集モードとデバッグモードでのウィンドウ構成を変えるという機能があって、それぞれのウィンドウ構成のことをパースペクティブって呼んでいます。で、モードを変えると自動的にパースペクティブが切り替わる。構成する部品は基本的にタイル状に並べられていて、ドラッグ&ドロップでくっついたり離れたりします。あれをウェブサイトというかHTMLページでもできると良いなと思うんです。70000カウント記念に作れると良いなと思ったのですが間に合わないですね…。

基盤:ブラウザですと、開発者ツールと言うか、インスペクタの表示がそれっぽいですね。

社長:私は開発者ツールというのはとても面白いと思うのですが、とても複雑です。もっとライトウェイトで、一般閲覧者が使えるようなものがあると良いなと。

開発:ある意味、ブラウザビルダーみたいなものかも知れませんね。

社長:提供側のツールと利用者側のツールは共通でシームレスなのが良いと思うんです。どっち寄りにシフトするかは自由に選べる。

EclipseでGo

基盤:今 Golnag Eclipse で検索したら、Go 用の Eclipse 環境がありますね。GoClipse

社長、開発:ええーっ!

開発:なんで今まで気が付かなかったんでしょう。

社長:Go関連のページで見かけた事が無いですね。

基盤:Github に行ってみたら、2016年5月が最終更新になってます。ああでも、issues は 2018年8月までありますね。

基盤:Goclipseで検索… うーん、盛り上がってないですね。

開発:まあ、GoはIDEなしで使えるように出来てますしね。私も特に必要と思ったことがありません。

社長:GShellは全部単一ファイルにまとめちゃってるって事もありますね。

開発:そもそも vi 以外で編集したいと思いませんし。ターミナルウィンドウを2つ並べて一方で viを開いて、一方をシェルにしとけば十分みたいな。

社長:Goclipseはデバッグ環境としてぱっとしないという評価がサれてるみたいですが、それはたしかに必要性が低い感じがしますね。でも、ブラウジングのツールとしては役に立つかも?

基盤:ちょっとインストールしてみましょう。

基盤:なんか面倒くさそうな事が描いてあるんですが、Help > マーケットプレイスからインストールをクリックすればいいみたいです。

基盤:GoClipse をインストール。で、再起動…

基盤:うちの Java のバージョンが 0 だそうです。

社長:っていつのバージョンでしょうかね?

開発:使ってなかったんですかね。試しにインストールしてみましょう。

基盤:なんかライセンスが大幅に変更されたとか。

開発:うちはパーソナルじゃないけど今はデベロップメントというか刹那的お試しだし…

基盤:インストール。Eclipseを再起動…

基盤:なんか、想定している在り処が違うみたいです。

基盤:ああ、でもそのメッセージは無視しろと作者さんが書いてますね。

基盤:じゃま、このまま続行。hello.go を Run!

基盤:普通にmacOSでのデフォルトなんですけどね…

基盤:追加。

基盤:再度Run。あれ?環境変数じゃないのかな。では引数に。

開発:そういえば、Preference に書けって言ってますね。

基盤:Preference...

基盤:error log ってなんですかね。なんでハイパーリンクになってないのかな。

基盤:あれ?再インストールか再起動かしたら進展がありました。GOROOTて書いてないけど、この Installation というフィールドの事だと思われます。

基盤:でもってRun...

開発:手作業で勝手に.goって作ったのが問題とか?

基盤:Goclipseでプロジェクト作成…

全員:おーっ。

基盤:なんか色々できてますね。たぶん src の下にコードを書くんでしょう… で Run…

開発:なんか guru というものが無いと。

基盤:これですかね?自動でgo get してくれる模様。

基盤:再度 Run ... なんかプロジェクトが指定してないと言ってきます。configに追加...

基盤:RunしてくれないのでBuild Project...

開発:一段下げろって言ってますね。

基盤:フォルダを作って再度 .go を作成… ビルド。あら、通りましたね。何も言ってこない。では Run...

全員:おおーーっっ!

基盤:確認のために、少し変更して直接 Run!

全員:おおーっ。

開発:これ、GShellを貼り付けたらどうなりますかね?

基盤:コピペしてRun... 立ち上がりますが… なにやら暴走している模様。

開発:ほほー。入力が tty でないのに stty させているからですね。では選手交代。

開発:とりあえず stty をコメントアウト… Run ... おっと、¥r で改行してしまうモードですね… でも一応動きます。

社長、基盤:おおーっ。

開発:これ、使えるかもです。文字列のサーチとか簡単だし。

開発:当然、参照から定義にジャンプするのも簡単なはず。あ、それが godef なんですね。インストールっと。

開発:ああ、CGoは追えないみたいですね。

基盤:印刷機能はどうなんでしょう?

開発:印刷…

開発:調整すれば良さそうです。FirefoxのSourceのプリントより。

基盤:HTML / CSS / JavaScriptの部分にも色付けしたいですよね。

開発:この際、少なくとも開発時には、全部を一体にするのをやめるという選択肢も有りえます。

基盤:コペルニクス的転回ですね。

社長:なんで流行ってないんでしょうね?

開発:単にプログラムの開発にIDEを使う文化が無いからっていう可能性はありますよね。10年前の私達みたいに。ただうざいっていうイメージもあり。プログラム書くのにGUI?みたいな。当時はEclipseとかクソ重いって感じでしたし。

社長:それにしても盛り下がりすぎでしょう。何か裏にあるのでは・・・Oracle の Java の事情と関係があるとか?

開発:パッケージの仕様を調べるのにいちいちブラウザで検索するのではなくて、直接Goclipseから飛べると良さそうです。

基盤:JavaScript部との連携をうまく管理できると良いですね。

社長:よいものを発掘したように思います。このタイトルは「パースペクティブ・ビルダー」でしたけど、変更します。

基盤:これって、サンプルプロジェクト入のワークスペースごと配布したらいいんじゃないですかね?ダウンロードしてクリック一発でお試し出来るような。ってあるんでしょうか。

開発:とっつき易さって重要ですよね。

-- 2020-1027 SatoxITS

StatCounter経過観察

基盤:このサイトのカウンターがあと300で70000になります。明日午前中かと。

社長:このカウンター、結局意味不明だったといいますか。

開発:おおむね、ロボットカウンターですよね。

基盤:除外規則を書くのが若干面倒ですし、運用の途中で変更するのもなんだしと。結局、カウンター設置後水平飛行期間が約5ヶ月150日 x 一日約500 =75000くらいの単純掛け算かと思います。

社長:ロボット除外版のカウンターをもうひとつ入れると良いのかもですね。

基盤:その点、StatCounterはデフォルトでロボットを除外してくれるので楽ちんです。

開発:まあ、流星と惑星くらい規模と機能が違いすぎて、比較するようなもんでは無いですよね。

基盤:StatCounterのほうは個別のアクセスの記録が面白いですね。ディスプレイの解像度とか。そしてなんと言ってもこのビジターマップ。なお、Chinaは除外してます。

基盤:これが何か実用の役に立つかって言うと?ですが、面白いです。

社長:やはりよく知っているリアルな、世界の二次元イメージに結びついてるから面白いんでしょうね。

開発:アフリカの海上か海中かからアクセスあったようですが、島?

基盤:Anonymousをそこに表示するようです。

社長:これはちょっとうちで自作は難しいですよね。

開発:まあクライアントのIPアドレスからドメイン名を逆引きしてwhoisを引けばとれる情報ではありますけど。何がネックかって、whoisを引くのがとっても重い。連続アクセスは拒絶されるし。DeleGateのダウロード状況を真面目に解析してた当時は苦労しましたっけ。

社長:そのへんの状況も、最近はどうなってるかですけどね。

基盤:Chinaからのアクセスの中には、嘘か真か Huawei の Android でアクセスして来てたりするのがあって、味わい深いです。

社長:それはそうと、うちはメインブラウザまでApple製に落ち着きそうで怖いです。

開発:Safariってデフォルトの設定があっさりしすぎていて、プアなの?て勘違いしちゃいますよね。

社長:SafariのUI上の問題点はツールバーだと思うんです。まあ他のブラウザにも言えることですが一行に詰め込む式の。ツールにしたって優先順位というのがあるし、グループもあります。常時べったり開帳している必要は無い。MS Officeのリボンみたいに折りたたみ式になってると良いと思うんですが。

基盤:少なくとも Address and Search の窓を単独の行というかバーとして配置するモードは欲しいですよね。幅を指定できるでも良いですが。

開発:最初ほとんど使ってなかった事もあって履歴も面白いですね。4/22にこのこがやって来た後、1ヶ月でこれしか使ってません。

基盤:速攻でChromeをインストールしてますねw

社長:あの頃はブラウザと言えばChromeだと思ってましたから。

基盤:サンプルが少なすぎてなんともですが、現時点でChrome系が最大シェアであることは動かないでしょうね。

開発:この IE ってまじですかね?

基盤:まあ、VistaとかXPていうツワモノも居ます。User-Agent ジョークかも知れませんが。

開発:もう世の中は macOS の時代になってたんですねw

社長:この OS X っておそらく大半がうちからのアクセスですよね。

基盤:レポート機能から自身(You)をフィルターする方法がわからないんです。まあ、CSVにExportして自分で加工すればわかりますが…

開発:表示言語に日本語が無いというのが驚きです。

基盤:mobile が行動なのが面白いですね。日本語なら移動か携帯かってとこでしょうか。

社長:ハングルも無いですね。韓国では勝てる見込みのないライバルがいるのかなという感じはします。

開発:てことは、日本に StatCounter が進出する気をなくさせる同業者が居るってことでしょうかね?

社長:寡聞にして知らず。

基盤:というか、StatCounter は結構ヤバい JavaScript + Cookie かも知れないので、堅いサイトだと入れたがらないかも知れませんね。

-- 2020-1027 SatoxITS

Goでスクリーンショット

社長:いろんなホストのデスクトップをまとめて一覧したいです。

基盤:定期的に撮り続けて保存・検索したいということでもありました。

社長:取ったのをつなげて動画にもしたいです。

開発:スクリーンショットを撮るライブラリかコマンドが欲しいですね。

基盤:Goにありそうですね・・・ありました。kbinan/screenshot。GoDocにも載ってますね。

開発:性能が気になりますね。0.1秒くらいで撮れると良いのですが・・・ 10fps あればパラパラ漫画にもなりますよね。

基盤:go get github.com/kbinani/screenshot。main.go をコピペして、go build main.go。time main。・・・うーん、macOS で 2560x1440 で0.7秒ってとこですね。

基盤:Windowsではデスクトップに何もないせいか、0.35秒。

基盤:Linux・・・え?0.05秒?

開発:でも7KBしか無いですね。

基盤:何が入っているのやら・・・

社長、開発:おおーっ。

基盤:何か足りないかバージョンの不整合でしょうかね。

開発:まあとりあえず 0.7 秒は許容範囲ですね。スクリーンショットって遅いのが普通だし。インタラクション無しで済むと思えば。

基盤:あれ?Finderが居なくなっちゃいました…

開発:そういえば、その後の電力消費はどうなってますかね。

基盤:エナジードリンク…

開発:すっかり平和になりましたね。

基盤:それはそうと、これを探していて面白いサイトというかアイコンに出会いました。

社長、開発:おおーっ!

開発:目線が完全にイッてますね。一目惚れしました。

社長:つうか、オーサム… 治虫。

基盤:おー寒…

社長:ROFL系は最高ですね。これ、JavaScript で書けますかね?

開発:MDN の Canvas の使い方例がまさにスマイルマークの描画になってます。超簡単。

開発:コピペして描いてみましょう…

社長:ぜひ、ITS more 製のメタROFLを作りましょう。そろそろボウリングに出かける準備をしなくちゃ…

-- 2020-1026 SatoxITS