Archive of posts from 2025-7

« 2025-06 | 2025 | 2025-08 »

[映画] 夏の砂の上

髙石あかりを目当てに見てきた。いつも通りすばらしい演技力。映像に収めてくれてありがたい!!

一方、物語はなあ……全体的にキャラの深堀りをしないまま話を進めるので、すぐ置いてけぼりになる。突然奇行を始める人たちばかり、という印象しかない。いちいち怒鳴る必要ないんだよなあ。もっと丁寧に描いてくれたらよかったのに。

主人公がすべてを失って終わるが、実際はそんなに気にしてなさそう。よくわからない。オダギリジョーじゃなければ、もっと悲壮感があったかもしれない。

[映画] リバー、流れないでよ

「ドロステのはてで僕ら」と同じく、記憶を保持したまま2分間をずっとループするというもの。記憶を持ち越すので、時間がループするたびに(ループしてるのに)イベントが積み重なっていくのが面白い。ちゃんと展開もあって、笑いもあって、恋愛もあって、ループする理由も用意してあって、よくできてる。

私が使っているObsidianのプラグイン

そんなに真面目に使ってないけど、気づいたらいろいろ入れていた。

  • 2hop-links-plus: Scrapboxみたいに関連ページを出してくれる。便利。
  • better-export-pdf: PDFに出力するときにいい感じにしてくれる。
  • calendar: Dailyノートをカレンダーに出してくれる。
  • codeblock-customizer: コードハイライトとかしてくれる。
  • dataview: 表みたいなのが扱える。
  • excalidraw: お絵かきできる。
  • journal-review: 過去のDailyノートを出してくれる。
  • kill-and-yank: emacsみたいにしてくれる。
  • marp: プレゼン作るときのプレビュー(が、若干変な動きをする)。
  • daily-notes-viewer: Dailyノートを連続で表示してくれる。
  • git: gitで管理してくれる。
  • iconize: フォルダとかにアイコンを設定できる。便利。
  • kindle-highlights: kindleのハイライトを同期してくれる。
  • outliner: アウトライナーエディタみたいな挙動にしてくれる。
  • advanced-uri: URLスキームを設定してくれる(他のアプリからデータを渡せる)
  • tagfolder: タグをいい感じにしてくれる。
  • zotero-desktop-connector: Zoteroと連携してくれる。
  • brat: ベータバージョンのプラグインをインストールできる。
  • open-in-new-tab: リンクを新しいタブで開く。
  • outline-converter: 単なる箇条書きをMarkdownの見出しをつけて吐き出してくれる。
  • pinned-notes: 左のリボンのところに好きなページを置ける。便利すぎる。
  • recent-files-obsidian: 最近編集したページ順にできる。
  • simple-citations: Zoteroから引用できるんだっけ。そんなに使わない。
  • advanced-tables: 表のエディタ。そんなに使わない。
  • update-time-on-edit: FrontMatterに更新日を自動でつけてくれる。いちおう入れてる。
tDiaryの過去ログをJekyllに移行したい

プラグインまわりが微妙すぎるけど、とりあえず……。

require 'fileutils'
require 'hiki2md'
require 'yaml'

INPUT_DIR = 'diary_log'
OUTPUT_DIR = '_posts'

def parse_td2_file(path)
  entries = []
  current = nil
  skip_keys = ['Title:', 'Last-Modified:', 'Visible:', 'Format:']

  File.read(path).split("\n").each do |line|
    if line.strip == '.'
      entries << current if current
      current = nil
    elsif line.start_with?('Date:')
      current = { date: line.sub('Date: ', '').strip, lines: [] }
    elsif current
      unless skip_keys.any? { |k| line.start_with?(k) }
        current[:lines] << line
      end
    end
  end

  entries << current if current
  entries
end

def split_by_heading(lines)
  sections = []
  current = nil

  lines.each do |line|
    if line.strip.start_with?('!')
      # ! で始まる見出しを新規セクションとする
      if line.strip =~ /^![^!]/
        sections << current if current
        current = [line]
      else
        current << line if current
      end
    else
      current << line if current
    end
  end

  sections << current if current
  sections
end

def write_markdown_sections(entry)
  date_str = entry[:date]
  y = date_str[0..3]
  m = date_str[4..5]
  d = date_str[6..7]
  ymd = "#{y}-#{m}-#{d}"

  sections = split_by_heading(entry[:lines])

  sections.each_with_index do |section_lines, idx|
    next if section_lines.nil? || section_lines.empty?

    heading_line = section_lines.first
    title_text = heading_line.sub(/^!+/, '').strip

    content = section_lines.join("\n")
    content = Hiki2md.new.convert(content)
    markdown = convert_liquid_tags(content)

    front_matter_hash = {
      'title'      => title_text
    }
    front_matter = YAML.dump(front_matter_hash) + "---\n"

    output_dir = File.join(OUTPUT_DIR, y, m)
    FileUtils.mkdir_p(output_dir)
    filename = File.join(output_dir, "#{ymd}-#{idx + 1}.md")

    File.write(filename, front_matter + "\n" + markdown)
    puts "Wrote #{filename}"
  end
end

def convert_liquid_tags(text)
  # Jekyllでエラーが出ちゃったから、%は小文字に置き換えて
  text.gsub(/\{\{\s*(\w+.*?)\s*\}\}/, "{% \1 %}")
end

Dir.glob("#{INPUT_DIR}/**/*.td2") do |file|
  entries = parse_td2_file(file)
  entries.each { |entry| write_markdown_sections(entry) }
end

プラグインはダミーのJekyllプラグインを作っておく。

# _plugins/tdiary.rb
module Jekyll
  class IsbnTag < Liquid::Tag
    def initialize(tag_name, text, tokens)
      super
      @isbn = text.strip
    end

    def render(context)
      "<p>(ISBN: #{@isbn})</p>"
    end
  end
end

Liquid::Template.register_tag('isbn', Jekyll::IsbnTag)

「タイトルがリンク」みたいなのをどうにかしたい

# _plugins/render_title_generator.rb
class RenderTitleGenerator < Jekyll::Generator
  def generate(site)
    site.posts.docs.each do |post|
      title_line = post.content.lines.first.to_s.strip
      title_line.gsub!(/^#\s*/, "")
      title_line.gsub!(/\[([^\[\]]+?(?:\[[^\]]+\])?[^\]]*?)\]\((https?:\/\/[^\s)]+)\)/, '\1')

      context = Liquid::Context.new({ "page" => post.data }, {}, { site: site })
      rendered = Liquid::Template.parse(title_line).render!(context)
      post.data["title_rendered"] = rendered
    end
  end
end

↑これを入れておけば{{ post.title_rendered }}でタイトルを表示できる。

[映画] フォーチュンクッキー

原題は「Fremont」。母国アフガニスタンの米軍基地で通訳だったドニヤが、カリフォルニア州フリーモントに移住して、高学歴なのにクッキー工場で働く毎日。というところからスタートして、ストレスフルな退屈な日々と、そこから抜け出す新しい船出みたいな感じ。が、前半は退屈すぎて寝た。で、後半はいい感じなのだが、いよいよというところで終わってしまった。こういうのが好きな人は好きなんだろう。

[映画] 『選挙』(2006)

淡々と選挙活動が映されるので終始退屈なんだけど、ブチ切れる謎のおじさん、BBAたちの世間話(悪口)、コンプラ無視のジョーク、奥さんの愚痴などが収録されていて、かなりアツい。

スクラムガイドの「確約」

とりとめもなくメモ的に書く。

スクラムフェス大阪2025でジム・コプリエンに説教された

  • 「スクラムガイド」のcommit/commitmentの日本語訳を「確約」にしているが、これはpromise(約束)の意味なので間違いである
  • スクラムのような不確実な世界では、未来を予測できないのだから、何かを「約束」することはできない
    • (現代物理学では因果関係は不確定みたいなことも言っていたが、よくわからんかった……)
  • 言い換えれば、promiseは結果責任(accountability)であり、commitmentは実行責任(responsibility)である
    • また、commitmentには心から取り組むという意味合いもある(当事者意識)
  • マネージャーが『スクラムチームは結果を「約束」している』と思ったらかなり厄介である
  • 結果責任は「反省」を促すだけだが、実行責任は「検査と適応」につながる(なのでスクラム的である)
    • (結果責任が「反省」だけになるのは、結果にのみフォーカスして過程に目を向けないからか?)

(任意)スクラムガイドの現状確認

  • (1) Successful use of Scrum depends on people becoming more proficient in living five values: Commitment, Focus, Openness, Respect, and Courage
    • スクラムが成功するかどうかは、次の 5 つの価値基準を実践できるかどうかにかかっている。確約(Commitment)、集中(Focus)、公開(Openness)、尊敬(Respect)、勇気(Courage)
  • (2) The Scrum Team commits to achieving its goals and to supporting each other.
    • スクラムチームは、ゴールを達成し、お互いにサポートすることを確約する
  • (3) Developers are the people in the Scrum Team that are committed to creating any aspect of a usable Increment each Sprint.
    • 開発者はスクラムチームの一員である。各スプリントにおいて、利用可能なインクリメントのあらゆる側面を作成することを確約する
  • (4) Each artifact contains a commitment to ensure it provides information that enhances transparency and focus against which progress can be measured:
    • 各作成物には、透明性と集中を高める情報を提供する「確約(コミットメント)」が含まれている。これにより進捗を測定できる。
  • (5) 3つの確約:
    • Commitment: Product Goal / 確約(コミットメント):プロダクトゴール
    • Commitment: Sprint Goal / 確約(コミットメント):スプリントゴール
    • Commitment: Definition of Done / 確約(コミットメント):完成の定義
  • (6) These commitments exist to reinforce empiricism and the Scrum values for the Scrum Team and their stakeholders.
    • これらの確約は、スクラムチームとステークホルダーの経験主義とスクラムの価値基準を強化するために存在する。
  • (7) Although the Sprint Goal is a commitment by the Developers, it provides flexibility in terms of the exact work needed to achieve it.
    • スプリントゴールは開発者が確約するものだが、スプリントゴールを達成するために必要となる作業に対しては柔軟性をもたらす。

こちらからの回答と考察(うまく英語で伝えられなかったので、ここにまとめている)

  • 回答:「確約」がベストの訳語だとは思っていないが、他にないのでこれでいい。どうしても必要なら注釈を入れる。
    • なぜならば、日本語の「確約」は「実行責任」の意味合いを含むから
    • それと同時に、必ずしも「結果責任」の意味合いを伴うものではないから
  • 「確約」の辞書的な意味:
    • 大辞林:必ず実行するとはっきり約束すること。また,その約束。
    • 新明解国語8:将来 必ず実行するという約束(をすること)。
  • 辞書的には、promiseのように結果責任だけではないことがわかる
    • つまり、確約 = commitment + promise になっている
    • ここから promise の成分(結果責任)を完全に抜きたいってこと?
      • 実行責任のみを強調したいのであれば、「努力」や「尽力」でも良さそう(辞書的には「関与」もある)
        • 使用例: (2) 〜ゴールを達成し、お互いにサポートしようと努力/尽力/関与する、(3) 〜作成することに努力/尽力/関与する、(5) 努力目標:プロダクトゴール、(7) スプリントゴールは開発者が努力/尽力/関与するものだが〜
        • 実際の用途を考えると、ゴールに対して「努力目標」が使える「努力」しかないかも(尽力や関与は変形しづらい)
        • しかし、プロダクトゴールやスプリントゴールが「努力目標」になると、なんだか無責任な響きがする
          • 「ぼくたちがんばりまーす」で本当に実行できるのか?という感じ
          • あるいは「スプリントゴールは努力目標なので達成できなくてもいいよ」という感じ
          • 不確実なんだから仕方ないと開き直るのがスクラムか?(まあ、それならそれでもいいけど)
          • これは日本語の「努力」の響きの問題か?「commitment」にはそういう響きはなさそう
          • ゴールは絶対に守らなければならないものではないかもしれないが、絶対に守らなければならないと思わない限りは絶対に守れないよ
    • 日本語の観点からすると、少しでも結果責任(約束)の風味を加えないと、実行の本気度も反映されないのではないか?(←たぶんここが重要)
      • 実行責任のみを表す言葉(努力/尽力/関与)では、本気度が十分に伝わらない可能性がある
        • 本気度のあるCommitmentは「やり抜くことを前提とした約束」を意味している
          • ここでの「約束」は実行責任を意味している。「約束」は必ずしも結果責任を意味しない!
      • 相手を明示しない使い方ならば、結果責任(約束)が含まれていても問題ないのではないか?(自分たちに「約束」すればいい)
  • Commitmentの訳語として「努力/尽力/関与」よりも本気度が高く、「確約」ほど結果責任を持たない言葉が必要
    • ……ないよそんなの!
    • 現状のように「確約(Commitment)」や「確約(コミットメント)」のようなカッコ書きの使い方で問題ないのではないか?
  • そもそも表面的な言葉だけを見るマネージャーや、検査と適応につなげないチームの反応のほうが問題では?
    • 「確約したんだから死んでもやれよ!」って言う人がいるってこと?ヤバイやつじゃん
      • そういう人は「コミットしたんだから死んでもやれよ!」とも言いそう(意味がない)
    • 「スプリントゴールを達成できなかったから反省するけど改善しない!」って言う人がいるってこと?これもヤバいやつじゃん
    • スクラムガイドを一緒に読みましょうよ
[映画] 顔を捨てた男

全体的におもしろかったけど、まあ想定内かなあ。終盤はグダったけど。観客に考えさせるようなラストは嫌い。しかしこれもA24なのかあ。すごいな。

安藤忠雄展 青春 – TADAO ANDO YOUTH

大阪に来たついでに見てきた。模型がたくさんあって楽しかったなあ。

ご本人がいらっしゃったので、サインをいただいた。最高。

[映画] 罪人たち

なにがなんだかよくわからなかったが、くそ面白かったぞ!

[映画] スーパーマン by ジェームズ・ガン

もう世の中にスーパーマンはいるのは当たり前だよね、クラーク・ケントも知ってるよね、という前提で描かれてあって、すごい。子どもがはじめて見ると困惑したりしないんかな。

[映画] F1

かなりしょぼい物語だったけど、映像とブラピは良かったです。

そういえば、映画「F1」のテーマ曲(?)はマーメイドエフェクトのBGMだったなあ(そう表記してあることに気づいてなかった)。

« 2025-06 | 2025 | 2025-08 »