2022年振り返り
今更ではあるが、忘れてしまうのはもったいないので、昨年2022年にあったことを大雑把に振り返る。
不合格を二つもらい、後期の後から一週間強の北海道漂流旅行から帰省後、偶然見つけた当大学の募集に目をつけて翌日願書作成、その次の日出願。三日後合格。
ほぼ授業がオンラインだったのでつまらなくて低迷していたのがほとんど。いかにも大学生みたいなサークルに入って大会に出たり夏に旅行に行くなど、字面的には十分楽しそうなことをしたが、本心からは楽しめてはいなかった。
オンラインゆえ繋がりが希薄だとはいえTwitterにのめり込みすぎだったのでやめる。やめられてからはスクリーンタイムも減り、とてもよい。
移籍の試験などもなんとかなって、来年度からが楽しみ~。以上。
特に行ったとこ
唐突のおススメYouTube紹介
YouTubeは現代、映像メディアとして最早テレビ以上の覇権を握っていると言っても過言ではない。「昨日の逃走中見た?」ではなく「昨日投稿された○○の動画みた?」である。
今や星の数ほどのチャンネルが存在する。YouTuberとしてそれを生業にする者も現れた。ジャンルも実にさまざまになった。世間が想像するようなオモシロあるいは過激な動画を投稿する“いわゆるYouTuber”もいれば、ひたすらにニッチな動画を黙々と投稿し続けるような興味深い投稿者も存在する。
今回は私の独断と偏見*1によっておススメYouTubeチャンネルを紹介していきたいと思う。適当に番号を振っているが、知名度もジャンルもバラバラで整理していない点、ご了承いただきたい。
- 1. Gen
- 2. 一人前食堂
- 3. おうち麺TV
- 4. Dogen
- 5. フィルムエストTV
- 6. カメラ部TV
- 7. ゆるふわ生物学チャンネル
- 8. 3Blue1Brown
- 9. WIRED.jp
- 10. VOGUE JAPAN
- 11. ゆる言語学ラジオ
- 12. ホモサピ
- 13. TED-Ed
- 14. Kurzgesagt
- 15. イチケン
1. Gen
マクドナルド、ケンタッキー、コカ・コーラなど、市販の味を家庭で再現する「完全再現への道」シリーズが代表的。毎回膨大な時間と手間をかけて再現に注力している。その執念には脱帽である。実際どの料理もおいしそう。映像も料理もとても上品なのに、どの動画もコミカルな要素を欠かしたことがなく、はちゃめちゃに面白い。
2. 一人前食堂
単純に好き。
個人的にはサブチャンネルの「おひとりさん歩」シリーズがめちゃめちゃ好き。昔サブチャンネルかなにかでラジオもやってたけど、残念ながら今は消えてしまっている。
3. おうち麺TV
毎週金曜日夕方6時にラーメンを作る動画を投稿し続けている。いつかこれを参考に自作ラーメン作ってみたいと個人的に思っている。
4. Dogen
日本語がものすごく上手なアメリカの方。そして面白い。「日本人が英語学習のTipsを紹介する動画はよく見るけど、外国人が日本語を学習するときにつまずくポイントを知ったら、立場をスイッチして客観視できてちょっと面白いんじゃないの」って気持ちで一時期よく見てた。
5. フィルムエストTV
ものすごく本物っぽいVHS時代の昔風の映像。
6. カメラ部TV
元開発者の方がカメラの仕組みを解説するチャンネル。技術的な話が聞けて面白い。
7. ゆるふわ生物学チャンネル
生物学のガチプロの方々のお話が聞けるチャンネル。YouTubeチャンネルなのに参考文献までしっかり貼っててとても好き。
8. 3Blue1Brown
面白くてリスニングがてら見てた。(理解しているとは言ってない)
9. WIRED.jp
トピックが豊富だし、コンテンツとしてしっかり作り込まれてるので気軽に見て楽しめる。
10. VOGUE JAPAN
これもそう。
11. ゆる言語学ラジオ
おもしろい。
12. ホモサピ
生き物食べる人。かなり知識があって面白い。
13. TED-Ed
面白い。
14. Kurzgesagt
実は一番好きかもしれない。ここの出してる本*2を買ったりした。(しかし読破できてはいない)
ここの日本語字幕は有志の方が付けているらしく、いつか自分も参加してみたいな~と思っている。
15. イチケン
電気回路系のあれこれについて知れて面白いので最近見てる。
好みのアーティストを発掘した時の興奮
というタイトルを付けた時点で興奮の程度は6割方伝わると思う。そしてこのタイトル直後の書き出しに、小説風の情景描写、いかにして好みの曲と出会ったか、その過程をハードボイルドよろしく語っていく、冷めやらぬ興奮の程度を肉薄する文章で伝える。というのも一興だろうが、こういう文章は初めの掴みで読者をこちら側に持ってこさせないと冷めた目で見られることになる。とまあこういった客観視を付け加えてみたところでこの文章が浮足立って見えてしまうのは避けられないのだが――
さて、音楽を聴く形態というのは、私が生きてきた短い期間でもかなり様変わりしたように思える。とはいえ、具体的にいついつ何が普及して、というのを調べるのは面倒だから、走馬灯並みに雑な記憶で済ましてしまうのだけれども、まず家にはカセットテープがあった。これは、少なくとも親の世代にはカセットテープが現役であったということを示唆する。
階段下の物置の中の透明なプラスチックの箱の中には大量のカセットテープがしまってあった。市販されているものもあったが、もっぱらはラジオなどを録音したもののようだった。ラベル付けされているもの、されていないもの、どちらも埃をかぶっていたが、再生することはできた。思い出せば、私が幼稚園のときに誕生日インタビューのようなものをされた記録もカセットテープが媒体だった。なるほど、記憶だけだが、これはかなり客観的な状況説明になる。
記憶は次に母の運転する車の中に移る。この空間で覚えたいくつかの曲は今でも耳に残っている。そしてもどかしいのが、メロディは鮮明に思い出せるのに曲名やアーティスト名がさっぱり思い出せない、という状況が発生したときだ。しかも、この現象が発生するのは特定の曲なのである。そのたび私はメロディだけを手掛かりにどうにかして曲名を知ることはできないかと四苦八苦する。このやりとりを何度もやったおかげで当該の曲のタイトルはもうしっかり覚えてしまった。せっかくだからリンクを貼っておこう:
サビの"Can you feel my heart beat when I'm close to you"という部分のメロディが本当に忘れられなかった。そして忘れたと思った頃にゾンビのように蘇るのだ。メロディだけ。
調べてみると、リリースは1999年らしい。もう20年以上も前だった。
他に覚えているのは、aikoの「ボーイフレンド」だ。母が熱心に歌っていたのを覚えている。これも調べてみると初出は2000年だそうだ。大体ここら辺の年代の曲ばかりなのだろうか。
加えて、これは耳の記憶ではなく画像の記憶なのだが、裸の赤ちゃんがプールの中で釣り竿についたドル紙幣に手を伸ばすジャケットだけはなぜか鮮明に覚えている。どうせこんなのGoogle検索で一発だろ、と思い「赤ちゃん 釣り竿 お金 ジャケット」などと今調べてみたが、出 て こ な い。これは困った。今度は鮮明なメロディではなく、鮮明なジャケ写だ。がしかし、ここまで書いて「ジャケ写 赤ちゃん」のワードでしっかりたどり着くことができた:
確かに、音楽を聴く手段はCDが主流だった。CDを購入してそのまま聴いたり、あるいはTSUTAYAでレンタルしたCDをパソコンで取り込む。この当時は家にあったのは確かeMacで、iTunesを使っていたはずだ。そうしてiTunesに読み込んだデータから、新たに自分用にCDを焼いて車やラジカセで聴いたり、あるいはiTunesから直接iPodsなどに取り込んで聴く。音楽を聴くときのプロセスはずっとこうだった。
今はやっぱりストリーミングサービスが主要なんだろうか。CDの売り上げは下がっていそうである。少しWikipeiaで調べてみた。丸投げになるけど下手に引用しても微妙だから丸投げする。知りたい人は読んでください:
さて、やっと本題の話になる。少々脇道が過ぎてしまったが、やっと話したい事に入れる。まあ、表題の通りだ。よくある感情。例えば、似たような感情はしばしばネガティブな形でも耳にする:マイナーだったアーティストが人気になりだしたら少し寂しくなる、だとか。
でも実際は、目をつけていたアーティストが人気になると後方彼氏面(こうほうかれしづら)のドヤ顔で自慢したくなるものである。俗にいう「古参アピ」かもしれない。弾き語り時代の藤井風なんてその代表格みたいなものだろう。古参アピばかりするのは見苦しいかもしれないけれど、こう、見届けたような感覚を抱いてしまうと、そうしてしまう人間の気持ちもよく理解できる。
ああ、なんで音楽を聴く媒体の話をし始めたか思い出した。自分好みの曲とどうやって曲と巡り合ったのかというのは、それはまさに曲をどうやって聴くかということ“そのもの”が答えだったからだ。
先ほどもWikipediaで引用した通り、昨今、音楽を聴くといえば媒体はストリーミングサービスが主である。それはSpotifyであったり、Apple Musicであったり、Amazon Musicであったりする。私の調べによると、この三つが最も人気なのではないかなと思う。実際、私もこの三つを色々吟味して、今はAmazon Musicを使っている。無料である程度使えるSpotifyや、Appleデバイスとの親和性が高いApple Musicなど、音楽サブスクを選ぶにもいろいろな要素がある。その重要な要素の一つとして――私が思うに――「サジェストの精度」というものがある。
定額制音楽配信サービスのほとんどは値段も似たり寄ったりで、聴ける曲もサービス間でほとんど差がなくなっている。少なくとも、テレビや巷で流れるような曲ならば例外なく配信されていると言っていいだろう。だが、当然ながら、一個人が配信されているすべての曲を聴くということは事実上不可能である。
世界で最も人気な音楽サブスク*1を豪語するSpotifyは現在8000万曲以上を配信*2しており、ビルボードホット100のデータによると、人気楽曲の平均的な長さは3分30秒だ*3という。これらのデータからSpotifyの楽曲をすべて聴くのにかかる時間を概算するとおよそ500年にもなる。

そこで「サジェストの精度」が重要になってくる。生きている間にすべての曲を聴くことが不可能なら、ユーザーにとって望ましいのは「好みの曲をできるだけ多く聴く」ということになる。しかし、楽曲が好みかどうかを全く聴かずに判断することはできないし、前述の通り選択肢は膨大に存在する。したがって、ユーザーに必要なのは「曲の好みをちょっと教えるだけでいい感じの曲をどんどん勧めてくれる音楽オタク」といえる。Spotifyのそいつはほんとに優秀で、それが無料版Spotifyの欠点である強制シャッフル再生のフラストレーションをかなり減らしている、と私は感じている。
本題?本題はどこへ行ってしまったんだろう。そしてそれを熱く語ろうと思っていた私のモチベーションは?この原稿を下書きに三日以上温めていた時点でもうダメなのはわかっていたのだが、まったく竜頭蛇尾になってしまって申し訳ないけれど、最後にそのサジェストで発掘した私好みの曲たちを紹介していこうかなと思う。
*1:“the world’s most popular audio streaming subscription service”
*3:What's the Average Length of a Song? (2023) - Musician Wave
PythonでAtCoderを再開してみたら定数倍高速化に苦戦した話
実は2~3年前、競プロを1年弱くらいやっていたのだけど、緑に入ったくらいで一度やめてしまっていた。ところが、最近始めたバイトは競プロっぽい問題の作問*1をする仕事なので、久しぶりにAtCoderをやってみようと思って再開した。以前はC++で書いていたけど、せっかくだからPythonで書いてみようと思って、最近はもっぱらリハビリとしてABCのD問題以下を適当に解いてます。
今日解いていた問題はこちら: atcoder.jp
AtCoder Problems のリコメンドで出てきたので解くことにした。これ、かなり便利なのでいつも使ってます。
問題の解説は省略。まあいい感じにDPと累積和を組み合わせる。DPを書いたのが久しぶりだったので実装にかなり時間がかかってしまった。
そこでできたコードがこちら:
n = int(input()) a = list(map(int, input().split())) b = list(map(int, input().split())) dp = [[0] * 3001 for i in range(n)] dp[0][a[0]] = 1 for j in range(3000): dp[0][j + 1] += dp[0][j] for i in range(n - 1): for j in range(a[i], b[i] + 1): dp[i + 1][j] = dp[i][j] for j in range(3000): dp[i + 1][j + 1] += dp[i + 1][j] print(sum(dp[n - 1][j] for j in range(a[n - 1], b[n - 1] + 1)) % 998244353)
結果はTLE。う~んと思って、C++で書き直してみる。ここで、C++のintは多長倍整数型でないので累積和の処理の中でmodを取らないといけないことを思い出す。
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int a[n], b[n]; for (int i = 0; i < n; i++) cin >> a[i]; for (int i = 0; i < n; i++) cin >> b[i]; int dp[n][3001]; for (int i = 0; i < n; i++) for (int j = 0; j < 3001; j++) if (i == 0 && a[0] <= j && j <= b[0]) { dp[i][j] = 1; } else { dp[i][j] = 0; } for (int i = 0; i < n - 1; i++) { for (int j = a[i]; j <= b[i]; j++) dp[i + 1][j] = dp[i][j]; for (int j = 0; j < 3000; j++) dp[i + 1][j + 1] = (dp[i + 1][j + 1] + dp[i + 1][j]) % 998244353; } int sum = 0; for (int j = a[n - 1]; j <= b[n - 1]; j++) sum = (sum + dp[n - 1][j]) % 998244353; cout << sum << endl; }
今度は通った。あ~多長倍整数型は桁が大きくなったら遅くなるんだな~と思って途中でmodを取るやつをPythonで書いて提出。でもTLE。えーお手上げだ~と思って「競プロ Python TLE」で検索。
この記事によると何やらPyPy3で提出したら通るらしい。やってみた。通った。なんじゃこりゃ。
Pythonは書くコード量が少なくなるのはいいけど、こういう定数倍高速化の手間が必要ならC++のほうが考えることが少なくてラクかもしれないなと思ったり。これからもちょくちょく競プロの記事を書こうと思う。次は久々にRatedコンテストに出ようかと思ってます
新しいラップトップを買った
4年くらい前に買った MacBook Air をずっと使っていたけど、そろそろ買い替えたくなってきた。
理由はいろいろある:
- ストレージが少なく、常に容量がいっぱい
- Chromeのタブを開きすぎてメモリが常に足りない
- バッテリーが劣化して、動作時間が短くなっている
まあそろそろ買い替えてもいいころだと思う。あと単純にWindows機を使ってみたかったのでWindowsのマシンが欲しい。
今まで使っていた MacBook Air について
技術仕様は以下の通り:
| 項目 | MacBook Air (Retina, 13-inch, 2018) *1 |
|---|---|
| CPU | Intel Core i5-8210Y (非公式情報) *2 |
| メモリ | 8GB |
| ストレージ | 128GB |
| ディスプレイ | 13.3インチ, 2560 x 1600 |
| バッテリー | 50.3Wh |
買った当初はバッテリーよく持つな~とか、Retinaディスプレイめっちゃきれいだとか、そういう印象だった。
Macは確かにWindows機より筐体とか“モノ自体”が美しかったりする。
そのおかげか、性能的な意味では使い勝手が悪くなった今でも、不思議と使いづらいと感じることはあまりない。
ゲームや動画編集には厳しいのだけど、ブラウジングには十分な性能があり、ディスプレイがきれいで、スピーカーの音質が良く、トラックパッドの使い心地が素晴らしくよいので、無限にネットサーフィンできて全然使える。
購入: LG gram 14 2022
今回購入したラップトップがこちら:
技術仕様を表にまとめると以下の通り:
| 項目 | LG gram 14Z90Q-K.AAB6U1 *3 |
|---|---|
| CPU | Intel Core i5-1240P |
| メモリ | 16GB |
| ストレージ | 512GB |
| ディスプレイ | 14インチ, 1980 x 1200 |
| バッテリー | 72Wh |
比較すると、CPUが8世代のものから12世代ものに変わったり、メモリが2倍の16GBになったりと、性能はかなり良くなった。CPUのベンチマーク比較を貼っておく

ストレージも512GBありしばらくは足りそう。しかもこのモデルにはSSDスロットが1つ余ってるので、後々困ったら増設すればいい。 ディスプレイの解像度は下がったものの、DCI-P3に対応しており、“カタログ上では”MacBookAir(2018)より豊かな色表現ができるということになっている。実際はそうではないのだが、でも普通にきれいだ。
実際使ってみた感想も、分野ごとにいくつかの記事に分割して書いていこうと思う。(気が向いたら)
*1:出典:MacBook Air (Retina, 13-inch, 2018) - Technical Specifications
*2:CPUの詳細な情報は公表されていない
*3:出典:LG gram 14” Lightweight Laptop, Intel® 12th Gen Core® i5 Evo™ Platform, Windows 11 Home, 16GB RAM, 512GB SSD, Black (14Z90Q-K.AAB6U1) | LG USA
*4:出典:Intel Core i5-8210Y @ 1.60GHz vs Intel Core i5-1240P [cpubenchmark.net] by PassMark Software
