ときどきの雑記帖 RE* (新南口)
あ
デザインあ
以前「テキシコー」に言及したことがありますが、「デザインあ」も好きで月-金の5分版も含めて毎回録画して観ています。 色々コーナーがあるのですが、特に好きなのはこの二つ(文章は Wikipedia デザインあ - Wikipedia から)。
もん
#101で初登場。家紋の制作過程を線画で解説しながら、さまざまな家紋を紹介していく。ナレーションは渡辺篤史。 冒頭では紋章上絵師の波戸場承龍が家紋を制作するシーンが導入される。
デザイン問答
#41で初登場。すべてのモノの形や仕組みには理由があることを、「先生」(声 - 平泉成)と「坊や」(声 - 安西英美) の電話相談形式による「問答」により説明するアニメ。
質問の冒頭で「先生!」「なんだい?」「先生!」「なんだい?」と掛け合いを行い、質問に対する解説が終わると 「モノには全て理由がある」という結論で締めくくられる。
先生はデザインに関する質問には正確無比に答えるが、自身のことになると「年齢は27歳(後に『29歳』と言い直している)」 「高級ペルシャ猫を飼ってる」「容姿はジュード・ロウそっくり」など必ず妙な見栄を織り込む。 坊やはデザインに対する関心は高いが、先生に対し無愛想な態度を取る事があり、問答が済むと素っ気なく電話を切ってしまう。
「デザイン問答・偉人編」と題し、デザイナーとして活躍した歴史上の人物を解説する事もある。
前者は単純な図形を組み合わせて(要するにコンパスと定規を使うような感じで)複雑な家紋が描かれていく過程が面白く 感じますし、後者は冒頭の「掛け合い」がなんとなくツボに(笑) もちろんその後の解説も興味深いのですけど。
前者に関してはこんなまとめも。 なぜコンパスと定規だけで精密な作図が可能に? 職人さんに伝わる伝統的な“紋”の作図法を現代の数学でひもとく #デザインあ おとなスペシャル2020 - Togetter
Hugo の組込み shortcode に YouTube 用のもあるから使ってみよう(笑)
うまく貼れたかな?
GNU 拡張
sedで改行を追加できなかったのでcatとechoで対応した話 - Qiita というのを見かけ、それを元ネタにちょっと書こうと思ったのだけど 意外に調べるものが多かったので、次回以降に。
にしても、意外にこの辺に躓く人が多い?
- sedを使って特定の文字列から文字列までを抜き出す
- sedコマンドで文字列を改行に置換する、しかもスマートに置換する。 - Qiita
- sed による置換で改行\nを出力する - Qiita
- Mac(BSD)でcpをGNU的に使う + おまけ
主に macos のせいのような気もするけどそれはまあ置いといて。
調べ物の途中でこんなページを見つけたので紹介 (「共有します」とか書くべき?(笑))
sed - BSD/macOS Sed vs. GNU Sed vs. the POSIX Sed specification | sed Tutorial
GNU 拡張(2)
GNU 拡張ネタをまたもQiitaから。 上記の記事で、awkスクリプトとして
ip a s wlo1 | awk 'match($0,/inet6 (.*)\/[0-9][0-9] scope global/, a){ print a[1]}'
というの書いてるのだけど、matchのその使い方gawkで拡張されたものだから。
match(string, regexp [, array])
Search string for the longest, leftmost substring matched by the regular expression regexp and return the character position (index) at which that substring begins (one, if it starts at the beginning of string). If no match is found, return zero.
(略)
If array is present, it is cleared, and then the zeroth element of array is set to the entire portion of string matched by regexp. If regexp contains parentheses, the integer-indexed elements of array are set to contain the portion of string matching the corresponding parenthesized subexpression. For example:
$ echo foooobazbarrrrr |
> gawk '{ match($0, /(fo+).+(bar*)/, arr)
> print arr[1], arr[2] }'
-| foooo barrrrr
(略)
The array argument to match() is a gawk extension. In compatibility mode (see section Command-Line Options), using a third argument is a fatal error.
うう、markdownの引用の書き方よくわからん… あらかじめ整形されている部分もよろしくやりたいのだけど。
まあそれはさておき、The array argument to match() is a gawk extension
なので、
「awk」コマンドでそれを使うのは(エイリアスなりハードリンクなりで実体がgawkだったとしても)
注意が必要ということですね 😄
ところでアカウント名が同じだし同一人物の投稿なのだろうけど、zenn.devにも同じ内容の記事がありますな。 シェルでマッチした部分を取り出したい
FDCAJH × IBCFEH = FBAECIIJEGIH
前にプログラマの入社テストとして考えたけど、ちょっとアレ過ぎるので止めた問題。
— 三原さん。@ゲーム開発屋さん (@miharasan) January 11, 2021
PCとプログラムを組める環境を与える事が前提だったんですが。
問題:
FDCAJH × IBCFEH
=FBAECIIJEGIH
各アルファベットの数字を答えろ
- F と I は先頭に来るので0ではありえない。
- HはH*Hの積の下位桁がHになるので、0か1か5か6のどれか。
くらいは思いついたけどそこから候補を絞り込むうまい手段が思いつかなかったので、 とりあえず投げやりなプログラムを書いて試したら意外に短い実行時間で結果が表示されてしまったので それ以上何かしようというやる気を失ってしまったw
(0..9).to_a.permutation do |n|
a, b, c, d, e, f, g, h, i, j = n
next if f == 0
next if i == 0
next unless (h*h)%10 == h
#puts "a=#{a}, b=#{b}, c=#{c}, d=#{d}, e=#{e}, f=#{f}, g=#{g}, h=#{h}, i=#{i}, j=#{j}"
m1 = f*10**5 + d*10**4 + c*10**3 + a*10**2 + j*10**1 + h*10**0
m2 = i*10**5 + b*10**4 + c*10**3 + f*10**2 + e*10**1 + h*10**0
r = f*10**11 + b*10**10 + a*10**9 + e*10**8 + c*10**7 + i*10**6 + i*10**5 + j*10**4 + e*10**3 + g*10**2 + i*10**1 + h*10**0
if r == m1*m2
puts "#{m1} * #{m2} = #{m1*m2}"
#break
end
end
なお、最初m1の計算対象にすべき変数(のひとつ)を間違えてしまい、 その結果何も出力されずしばらく悩んでしまったのはここだけのオハナシ。
Hugo メモ
emoji
Hugoに食わせるmarkdownのテキストである文字列の前後をコロンで挟んで 絵文字を指定できるのはわかったが、絵文字になる文字列にどういうのがあるのか わからなかった(smileは知ってた)ので 検索したところチートシートを発見。
🎁 Emoji cheat sheet for GitHub, Basecamp, Slack & more
試しにいくつか使ってみよう 😄
😃 😆 👌 🐸 💐 🍥