listened’九大フィルハーモニー・オーケストラ第211回定期演奏会’

大学生が多かった印象です。また、1~3階席まで8割強埋まっていた印象で、とても愛されている楽団で良いなあと思いました。
また今回は3階席で見てみました。これでアクロス福岡シンフォニーホールにおいて全エリアの正面席は座った人間になりました。各階の感想等を書き連ねます。

1階席前列
それぞれの音が混ざり合う前に耳に届くので、楽器の音がそのまま聞こえます。また、基本的に下から見上げる形になり、後方の楽器(弦楽器以外)は視界に入らないと思います。特定楽器・演奏者を目的に行くのであれば適している席。楽団の中に目当ての方がいる人にはおすすめです。

1階席中列
一般的には高額のS席。前列と後述する後方列の中間くらいです。非常に聴きやすく、楽団の全体像も見れる席です。音の混ざり方や反響音の心地よさが格別なので、初めてオーケストラに行く方に特におすすめの席です。

1階席後列
真後ろが壁であったり、頭上に2階席があることにより、やや音の混ざりが強い席です。悪い意味ではなく、とても柔らかい音になって聞こえるので耳が弱い方であったり、のんびり聞いて恍惚感を得たい人には良いかもしれません。

2階席
楽団を上から眺める形になる席です。1階席よりも距離が空くので音の迫力は欠けます。後方の人の表情を見るなど視覚的に楽しみたい方には1階席よりも向いているかもしれません。

3階席
楽団ととても距離が空くので、より音の迫力は欠けます。2階席以降だとC席扱いになるコンサートもあり、手頃な価格(大体S席の1/3程度)になります。オーケストラの場に顔を出すことが目的の場合には良いかもです。

行かないジムにお金を払う理由

本記事は #意識低いトレーニング部 Advent Calendar の16日目の記事です。
https://adventar.org/calendars/9001
※GMOペパボの社内Slackには #意識低いトレーニング部 というチャンネルがあります。

ジムに行かない自分を正当化してみます。ジムに行く意識は低いですが、文の意識は高めでいきます。
詭弁のような気もしますが、いざ尋常に。


私は今年からジムに加入し、筋肉増量・健康増進を目標にしています。しかし、ジムの他にやりたいことが多くてあまり通えていません。それにも関わらず、私がジムにお金を払い続けるのには理由があります。今回はその理由を2点お話ししたいと思います。

ジムへのお布施と積読の共通点

ジムへのお布施は、積読に似ています。読書好きなら誰しもが、読みたい本を手元(本棚)に置く”積読”という行為をしますよね。積読の良い点は、読みたいと思った瞬間にすぐに読める状態であることです。そして、その本が視界に入ることで、読むことを意識し続けることができます。

ジムへのお布施もこれと同じです。ジムに行くことが自分の中に「選択肢」として存在することが重要です。また、ジムに既に入会している状態は、大きなメリットがあります。何もない状態から始める0から1へのハードルをすでに越えているのです。ジムに行くだけで良いという環境が整っています。

サブリミナル請求書

私たちは日々、膨大な量の情報に触れています。この情報の海の中で、自分が関心を持つ分野に意識を向けることは、自分の人生の方向性を形成する上で重要です。私は毎月の請求を見るたびに、ジムへの支払いを実感し、ジムが頭の中から消え去ることはありません。そうしているうちに、半年に一度「ジムに行ってみようかな」と思う時が訪れます。日々の生活の中でも筋トレに関する情報に自然と目が行き、自分の人生が少しずつその方向へと傾いていきます(多分)。私がジムの請求を毎月見るのも、常に健康意識を持ち続けるためです。

まとめ

ジムへのお布施は、日常生活の中で健康的な生活への意識を高め、行動に移すきっかけを作り出します。これは、情報の多い現代社会において、自分の関心事を常に意識し続けるという、より広い意味を持つ行動です。目標がなくても、ジムにお金を払い続けることは、自分自身のための大切な投資なのです。

read’しあわせの哲学’

この本では様々な哲学者の有名な言葉を引用し、それをわかりやすく落とし込んだ本である。いま現状で何か不満などを持っている人には何か刺さるものがあるんじゃないかなぁって本です。

4章までは、しあわせの条件というテーマでどんな幸せの類があるか、どのように行動し考えたら良いかを説明。最後はニーチェを引用し、”喜びを汲み取ろうとする姿勢があれば幸せになる”と締めた。

私たちの欲望と能力の間にこそ、私たちの不幸がある。その能力が欲望と等しい状態にあるものは完全に幸福と言えるだろう。

ルソー エーミール (上)

公園で遊ぶ子供を見守る親のように、安全な基地(セキュアスペース)が大人にも必要。励ましや手助けが必要なときにはいつでも利用できるが、そうでないときは積極的に介入してこない。そんな心理的安全性。

そなたたちはかつてなんらかの喜びに対して「イエス」と言ったことがあるだろうか。もしそう言ったとすれば、そなたたちは一切の苦悩に対しても「イエス」と言ったことになる。一切の所有物は鎖で、糸で、愛でつなぎ合わされているのだから。

ツァラトゥストラはかくかたりき 第四部酔歌

これは僕の「今がハッピーだから過去の選択も苦悩も万事必要なことだったので後悔はない」思考に似ている気がする。

created’自己複製プログラム × 腕立て伏せ回数計測’

本記事は以下 Advent Calendarの12日目の記事です。
🎄GMOペパボエンジニア Advent Calendar 2023
#意識低いトレーニング部 Advent Calendar
※GMOペパボの社内Slackには #意識低いトレーニング部 というチャンネルがあります。


技術寄りの話・筋トレの話を混ぜて何か書きたいなと思い、無理やりテーマを設定しました。

自己複製プログラム × 腕立て伏せ回数計測

経緯
上の画像は今年5月時点と10月時点の体成分分析です。

今年からジムに通い始めて約半年が経過しました。しかし、画像からわかる通り、誤差範囲でしか変化していません。
多い時には週に1回ジムに行くという圧倒的意識(の低さ)なのですが、ここまで変化がないと悲しくなります。
In hindsight (振り返ってみると), 日々のモチベーション・数値目標がない状態だったのがまずかったのかもしれません。#意識低いトレーニング部 Advent Calendarでも数値目標が大切だと言ってました。
しかし、いつも使っている筋トレアプリには、過去最高記録を確認する機能がなく少し不便。そこで、過去の最高記録を追跡できるシステムを作ってみることにしました。

作ったもの


説明
この謎ファイルは、実行するたびに自分自身をコピーして、新しい目標の腕立て伏せ回数が書かれたファイルを生成します。ファイル名には腕立て伏せの回数が記載されており、作成日時を見ることで、いつ記録を更新したかが分かるようになっています。

使用方法
ファイルをダブルクリックすると、次の目標が書かれたファイルが生成されます。
目標をクリアしたらもう一度ボタンを押下しましょう。

実装の詳細
自宅のPC(windows)で簡単に実行できるようにbatファイルで作成しました。
コメントを見ていただければ何をしているかが分かると思います。

@echo off
setlocal EnableDelayedExpansion
:: ファイル名を取得
set "original_file_name=%~n0"
:: ファイル名を「:」で分割
set "prefix="
set "count=0"
for /f "tokens=1* delims=:" %%a in ("!original_file_name!") do (
    set "prefix=%%a"
    set /a "count=%%b"
)
:: 回数を増やす
set /a "new_count=count + 5"
:: 新しいファイル名を生成(元のテキスト部分を保持)
set "new_file_name=!prefix!:%new_count%"
:: ファイルをコピーして新しいファイルを作成
copy "%~f0" "!new_file_name!.bat"
endlocal

まとめ
このファイルを活用して、2024年は60kg&体脂肪率13%を目標に増量していく所存です。
おいしいご飯情報in福岡 をお待ちしております。


おまけ
このプログラムは、自身を出力するプログラム「Quine」と似たコンセプトを持っています。Quineの紹介およびRubyでの実装例もついでに紹介します。

Quineとは、以下の条件を満たすプログラムを指します。
要は、コードと出力が同じになるようにコーディングをするパズルです。

  • 文字列を出力するプログラムである
  • 出力される文字列がそのプログラム自身を表す文字列と同一である

Rubyでの実装例

eval s="puts'eval s='+s.inspect"

解説

  1. s="puts'eval s='+s.inspect"
    変数sに文字列が代入される
  2. eval s
    変数sの中身をRubyのコードとして評価(実行)します
    sに代入された文字列がプログラムとして機能します

read’世界一流エンジニア思考法’

メモを書き起こします

効率よく成果を出すには
・時間・行うタスクを絞ることで最大のパフォーマンスを出すように。
 やらないことを見つけることで、より価値の高い行動に集中することができる。(= lazy)
・1日4時間は自分用の時間として予定をブロックしておく。
 「(会議等で)集中してプログラミングできない」ということを避けるため。
・自分にその分野のメンタルモデルやコンテキストがなければ、すぐに詳しい人に聞いた方が良い場合が多い
・回答者に大きな工数がかかるような質問であれば、自分で調べた方が良いが、そうでない場合、聞いた方が効率が良い。どんな質問であれば早急に回答ができるかを事前に聞いてみるのも手。
・自分が知らない時ほどリプロする(リプロってなに)

記憶術
コーネルメソッドを活用する
・会議に対する記憶媒体を”頭の中だけ”にするには、「後で人に説明する前提で理解する」
 理解するために、ビジュアルのイメージやメンタルモデルを(頭で)作りながら聞く


よいコンディションで働く
・テストステロンが高まると、抑うつ・イライラ・不眠のような更年期特有の症状から解放されやすい。筋トレをする・肉や玉ねぎを食べるといった改善や、テストステロンブースターのようなサプリを摂るのも良い。

listened’福岡大学交響楽団第52回定期演奏会’

今回は普段とは趣向を変えて、2階席の中央に座ってみました。普段よりも壁が近いのが原因か、反響音が少し耳に刺さりました。

個々人の技術では、当然プロと比較はできない感じはあった。しかし、音楽系でない学校の生徒が集まり、学業の合間を縫ってここまでのオーケストラをするのはすごいと思った。学校のお友達らしき若い人も数多くいて、とても温かい演奏会だったのでとても気分が良かったです。

このようなオーケストラ、今まではなんとなく雰囲気を楽しんでいましたが、2024年は編成・各楽器の特徴・歴史について学習をしてみようかなと思っています。より深く楽しめるようになりたいです。

read’リーンスタートアップ’

読んだのは1ヶ月前で、大遅刻の書評。


アイデアを構築して製品に、製品をアーリーアダプターに問い(リサーチ)、計測し、データを得、そこから学び、アイデアに反映させる。構築・計測・学習のフィードバックループ。MVPは最悪動画等でも良い。

計測時には比較となるベースラインが必要。粘着型(マイクロソフトのように切り替えに莫大な労力がかかるモデル)、ウイルス型(Facebook、Paypalなど)、支出型(広告など)といった種類によって、どの数字を計測するのかが変わる。

この手法は、”ある機能・サービスを構築するのに大きなコストがかかる”場合に極めて有効な手法だと思う。生成形AIの台頭で、良いものがパパッと作れるようになると、ベストプラクティスも変わってくるんじゃないかな

read’夏物語/川上未映子’

性交渉が嫌いな独身貧乏小説作家が自分の子供に会いたい(産みたい)と願う話

いくつかテーマがあり、どれも重たいものを扱っている。(反出生主義、負の性欲、非配偶者間人工授精(AID)とか) しかし、主人公を中心に、さまざまな登場人物の意見を聞くことができるのでとても勉強になった。

「それは誰のための賭け?」産まれてくる赤ちゃんが幸せになるか不幸になるかわからないけど、産みたいから・会いたいから子供を産む。この世に生み落とされ1時間痛みを感じ続けて亡くなる場合だってある。そんな”痛みの塊”として産まれた赤ちゃんに対して、「でも産まれてきてくれてありがとう」と母は言う。一体誰のための「ありがとう」なのか。  色々考えさせられた小説だった。

自分は当たり前のように心優しく仲の良い両親がいて、大人になっても仲が良く、時には援助してくれる。そんな両親のもと生きている 恵まれた人間である。登場人物たちのような人生は送っていないからこそ、小説を通してもっと色々な人を知りたいと思った。

listened’精華女子短期大学コミュニティオーケストラ第20回定期演奏会’

交響曲第5番 嬰ハ短調が良かったです。1曲70分という大作を聴くのは初めてでした。特に第4楽章(Adagietto. Sehr langsam. アダージェット 非常に遅く)が良かったです。第4楽章はハープ弦楽器のみで演奏される曲で、繊細で美しい音色がコンサートホールに響いていました。

また、最終楽章である第5楽章の最後はクライマックスに相応しいほど華々しいフィニッシュでした。こういうクライマックスの曲は、それっぽいので好きです。

クラシック音楽も少しずつ理解していきたいな。

created’eval_generate_and_run’

はじめに

最近Rubyを入門しています。
Rubyの特徴として挙げられる”メタプログラミング”を活かしたアプリを作成しました。

Kernel#evalとは

Rubyのevalメソッドは、文字列として与えられたRubyコードを実行するために使用されます。これは、PythonのexecやJavaScriptのevalなど、他の言語における同様の機能に類似しています。

基本的な使い方

code = "1 + 2"
result = eval(code)
puts result # 出力: 3

上記の例では、code変数に格納された文字列がRubyの式として評価され、その結果がresult変数に代入されます。

つくったもの

Github

無題の動画 ‐ Clipchampで作成

解説

GPTへのリクエスト内容

  • 使用する候補のAPI等
    • 使い方(リクエスト・レスポンスパラメータ一覧)
  • 解決してほしい課題(ユーザー入力内容)
  • evalコードに関する指定
    • 出力形式の指定(e.g. “標準出力で会話形式”)

GPTからのレスポンス内容

  • Kernel#evalメソッドに引数として渡せる状態のRubyコード
  • evalの実行に足りない情報(未実装)

その後

GPTからのレスポンスであるRubyコードをeval(response_content["eval_code"])とすれば完成。

今後の展望

アップデートごとにGPTの扱えるトークン数が増えています。候補のAPIを数多く渡すことで、より多様なリクエストに対応できるようになります。
例えばLineAPIを渡してみたり、slackのAPIを渡してみたり。。。