@kyanny's blog

My thoughts, my life. Views/opinions are my own.

5000

はてなダイアリー時代から通算 5000 記事に到達した。この記事がちょうど 5000 個目の記事。

年間 500 記事書いたとしても 10 年かかるわけで、これはちょっとした、いやなかなかのマイルストーンだと思う。プログラムとかで自動投稿した記事も少しはあるが、1% 以下だろう。ほぼすべて自分で書いたわけで、単純な量もさることながら費やした時間と労力ではそんじょそこらのブロガーに負ける気がしない。

はてなダイアリーで書き始めたのは 2005 年 7 月からなので、17 年半かかった。同じペースで書き続けると仮定すると、通算 10000 記事到達は 2040 年 7 月ごろの見込み。さすがにはてなブログというかブログそのものが終わってそう。おれは還暦、まだ生きてはいそう。

なお、その他のスタッツは以下の通り。

  • ブログ投稿日数 2595 日
  • はてなブログをはじめてからの記事数: 3204
  • はてなブログをはじめてからの日数: 1692

ヘビの命

ヘビの命

ヘビの命

  • Satoru Higuchi
  • ゲーム
  • 無料

暇つぶし用のゲームを探して App Store を眺めててたまたま見つけたゲーム。ジャンルは「アドベンチャー」なのか・・?システム的には「逆転裁判」に近い。

ノーマルモード通常エンド一回、ハードモード多分トゥルーエンド一回。で、最低限のプレイ。スコア20000点台で雲の上でいくつか施設を作ったけど、やり込んではいない。バーチャルゲームパッドの操作性は悪い。

カジュアルゲームなので総プレイ時間は数時間と短いものの、ストーリー展開はやや長ったらしくて推理パートもややダレる。が、本題の推理の応酬にちょくちょくはさまってくる細かいボケとツッコミの応酬がいちいち面白くてテキストを読むのが苦にならない。ことごとく「だよねー」と思わせるツッコミがテンポ良く続く。むしろこっちが主役かと思うくらい。

トゥルーエンドでのタイトル伏線回収も含め、やや無理矢理感もあるもののちゃんとすべての疑問に回答しているのは冗長だが丁寧で、自分の性分には合っていた。

Assist Lesson

ミス日本刀と。おしゃべりが盛り上がって Assist Lesson になった。久しぶり。

まず「今日はどう?」ちょっと疲れたけど仕事頑張ったから悪い気分じゃないよ、「週末の予定は?」猫を病院へ連れて行く、爪切り、「私も猫飼ってるの、三ヶ月のシャム猫のオス、爪切りにはバッグ(洗濯ネット)使うといいってネットに書いてあってそれ使ってるわよ」うちの猫は捕まえさせてくれないんだ、目が合うと逃げちゃう「うちの子も全然甘えたじゃなくて攻撃的なの、私たちのこと嫌いなのかしら?」若くて元気が有り余ってるせいだと思うよ、もっと遊びたいんじゃない。

「こちらは十二月の下旬から今日までずーっと雨で、降らない日がないの。週末やることないから土日も朝は仕事してるわ。そっちの天気は?カナザワはイシカワだっけ?」先週かな?結構雪降ったけど、今週は晴れたり曇ったりであんまり雨雪はないなあ、あ今日の午後にちらっと降ってたのを見たけど。「私の生徒さんが、雪で電車が止まって、なんか車輪を温める機能が北国だとあるけどイシカワ?にはないとか、で三時間か四時間待ってもダメで家に帰れなくて、駅の待合室は暖房が効いてたけど、結局六時間くらいたって翌朝帰れたって。そういう経験ある?」あー雪では幸運ながら経験ないけど、思い出したのが十年以上前の大地震の時、渋谷の会社の近くにいて、自宅まで電車なら三十分以下だけど歩いたら三時間以上はかかると思って、タクシー乗ろうと思って列に並んだんだけど、一時間経っても二時間経っても三時間経っても列がちょっとずつしか進まない。タクシーも滅多に来ないし、来ても誰か乗ってる。四時間位経った頃か、突然、これ少しずつ前に進んでるのは先頭の人が乗れてるかじゃらなくて、途中で諦めて列を離れる人がいるからだ!と気づいて、諦めて会社に戻って状況を注視してたら電車が動き出しそうだというニュースを見て、駅に着いたらラッキーなことにちょうど電車が運転再開したところで、乗って帰れた。夜の十一時くらいだった。その後、少し後になったらもう人多すぎで乗れなくなったらしいと聞いて、本当にタイミングが良かった。という思いで話をした。

その後、タクシー話で、フィリピンでは Uber とか Grab が参入してきた時にタクシー業界からすごい抗議があった(デモの仕方もアグレッシブで、道に寝そべってバリケードをはるらしい)けど、最近は地元企業が始めたオートバイタクシーが人気で、車と比べるとちょっと危険だし快適でもないけど便利なので(まあ渋滞に強そうだし)、と言っていた。確かインドネシアの Gojek がそんなじゃなかったっけ?と思って、それにインスパイアされたのかもね、とか言ったけど、調べず記憶頼りなので曖昧で違ってたかもしれない。日本でもタクシー業界の抗議はあるし、法律で守られてるので、Uber は下火でタクシー会社が作ったアプリがよく使われてる、でも Uber Eats の方は完全に普及したけどね、競合サービスもたくさんあるし、と。

とかなんとか話してて時間を使い果たしてレッスン終了。この人はこちらの言い間違いなどを一切訂正しないしチャットボックスにも何も書かないので、本当にただただおしゃべりすると延々話し続けることになる。パキスタン人と真逆の感じ。これはこれで、あミスったな、と思いながら喋っても全然一向に気にせず話が続くので、気楽ではある。その分意識が喋り続ける方に持っていかれてさらに文法が乱れる、という悪循環もあるのだが。

次は改めて Lesson 6 の Try 3 から。明日の予約は TBD. -> ミスターサーヴェロを予約した。


February 02, 2023

Good evening~

How are you tonight?


I decided to take a taxi instead of walking because it would take me about 3 hours to get to my house.
I back to my office. (I return to my workplace.)
The train operation was resumed. 

Perl: 文字列の特定部分以外を他の文字で置き換える

要はこういうことをしたい。

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

ghp_************************************

(これは GitHub の personal access token を例にしているが、このトークンはもう存在しない)

いくつか要求があり、

  • 全部置き換えるとわかりづらいので、一部はそのまま残したい。↑でいうと ghp_ の部分
  • 他の部分を置き換える文字は決め打ちでいい。↑でいうと * でいい
  • ただし、文字数は置き換えの前後で同じ長さを維持したい

残したい文字列のパターンがあらかじめ分かってないとダメなので、汎用的な正規表現は書けなそう?今回は Authentication token format updates are generally available | GitHub Changelog に列挙されてるパターンだけカバーできればよかったので、↓こんな感じで解決した。

echo $pat | perl -pe 'print; s/([^_]*_)(.*)/$1 . "*" x length($2)/e'

きっと sed や awk でできるのだろうし、なんなら bash だけでできるのかもしれないが、GNU と BSD の違いとかで悩みたくなかったので Perl のワンライナーのお世話になった。

最終的にシェル関数を定義しておしまい。

pat-mask() {
  local pat
  if [ -p /dev/stdin ]; then
    pat=$(cat -)
  else
    pat=$1
  fi
  echo $pat | perl -pe 'print; s/([^_]*_)(.*)/$1 . "*" x length($2)/e'
}

当初は↓というのを編み出したが、これに至るまでに Use a variable-width lookbehind if it won’t match more than 255 characters – The Effective Perler というエラーにひっかかって結局そこそこ悩むハメになった((?<=[^_]*_)(.*) みたいな正規表現を書いてて Lookbehind longer than 255 not implemented in regex に抵触した)

echo $pat | perl -pe 'print; s/(?<=_)(.*)/"*" x length($1)/e'

Bizmates Program: Level 4 Rank A Lesson 6: The Boundaries of Relationships

ミスター獣医と。「やあ久しぶり、映像は見えてるかい?」見えてるよー、顔がちょっと暗いけど、照明の関係だと思う。どうしてた?「実は先週インフルエンザにかかっちゃって、やっと回復してきたところ。月曜から喉が痛くなったりして、木曜から熱が出て。薬飲んで良くなった。コロナじゃないよ」お大事に。「そっちはどう?」あー、今週はまあまあの忙しさかな。長く悩まされていた仕事が先週ようやく片付いたので、今週はプレッシャーが少ないよ。「週末は病気だったからずっと寝てたよ」僕も病気ではなかったけどずっと寝てた。まあ先週は疲れていたからな・・そういう何もしない週末の後は少し後悔するけど、でも身体が休息を求めているってことだからね。「日本人一般は風邪とかインフルエンザになってから何日くらいで治るの?」一般、は知らないけど、自分の場合は三日くらいかなあ、でも普段から鼻の調子は悪いから、熱とか喉の痛みが出てから初めて気づくので、もしかしたら鼻水とかの兆候があっても気づいてないだけかも。とか、大した話はしてないのだが、彼最近ちょっと話のテンポが遅い(ラグか?)のとスモールトークを打ち切るのが苦手?なのかだらだら伸びがち。

二十分弱喋ってからレッスンへ。「ようこそ Level 4 へ!どう?」とても面白い。この話題大好き「僕もだよ、Level 4 とか 5 のレッスンをやるのは好きなんだ、ディスカッションが多いからね」Lesson 6 の Try から。「同僚への態度は会社の中と外で変わるか?」変わらないなあ、職場以外であっても、普通に挨拶して終わり、お互いのプライベートタイムなのをわかってるから、邪魔しない。「仕事の人間関係はプライベートの生活にとって重要か?」ストレスを感じない程度には良い関係を維持しておく必要はあるので、全く重要ではないわけじゃないけど、でも「そこそこ」「普通に」関係を維持できていてストレスにならないなら、それ以上の深い関係は求めてないし、なくても構わないね。「じゃあ逆に、プライベートの人間関係は仕事に影響する?」たとえば奥さんとの関係が悪化したらストレスを感じるだろうから、仕事のパフォーマンスは落ちるだろうね。でも、それくらいかなあ。自分は specific-oriented なので、仕事とプライベート、それぞれの人間関係は分けて考えている、別のものだと思っている。「僕も同じく specific-oriented だから、同じだね。仕事の関係で同僚や顧客と仲の良い友達になろうとは思わないな」多分そういうタイプだろうねとは思っていたけど案の定。ここは話が合う。が、ビズメイツトレーナーなんてやってる人は大体そうじゃないのか?でないと在宅で一人きりでやる仕事なんて、耐えられないでしょう。

時間が来たのでここまで、次回は Try 3 から。しかし Try 3 は↑の後半のやり取りで半分回答しているような気もするが・・まあちょっと違うか。明日はミス日本刀を予約した。

  • Sometimes the cough persists even after the fever's gone.
  • persist (v)
  • If I could mechanize any part of my body, I'd choose my nose.
  • LEVEL 4 I RANK A I LESSON 6
  • THE BOUNDARIES OF RELATIONSHIPS
  • TRY
  • I treat my co-workers the same way on and off the clock.
  • on/off the clock (phrase) = in/out of work
  • honorific (n.)