Morning Spinach, July

2023-07-13

  • はー PC 故障などでやる気を失い気が散ったりなんだりしているうちに一カ月以上浪費してしまった。がっかり。なお HP のサポートは weekly でつついているが進捗ゼロ。クソである。
  • 気を取り直してクラウドの VM を借ります。Spot VM にすると 8 core でも $50/m. 実際に活動するときだけ使うスタイルならもっと安く上がることでしょう。 $10/m 以下で済ませたいものである。が、コアは 8 より増やしたい気もする・・・。
  • WSL に gcloud コマンドをインストールするところからスタートです…
  • Linux の利用を VM に閉じ込めたいなら WSL なんて使いたくない気もするが、さすがにネイティブな Terminal App でアクセスできないと色々かったるいのだよな。
  • わー VM はネットワークが速いなー (自宅ケーブル比).
  • そしてビルドは速くないなー・・・。フルビルドで 6 分。はー Macbook Pro 欲しい。そしてインクリメンタルビルドすら 1 分かかる。なぜならリンクが遅いからである!
  • せめて LLD にしようとフラグを色々試していたが、いまいちいいフラグを figure out できず。Sigh. まあいいです。
  • なにしようとおもってたんだっけ?というとこれか。
    Feature Request: Support qualified name in TypeName · duckdb/duckdb · Discussion #7643
  • 先月の記録をみても細かいところがまったく思い出せない・・・これが一カ月さぼった対価である・・・すべて故障した PC が悪い・・・。そして地味ながらセンシティブで頭を使う文法いじりだったので再現できる気がしない・・・。
  • 今日はここまで。Sigh. gcloud compute instances stop するのをわすれずに。

2023-07-17

  • 05:08. 早速間が空いてしまったが、やってくべし。
  • VM を起動しなおすとすべてのコンテクストが失われるのが難だなあ。WSL だとどのくらい遅かったか試してみるか。
  • フルビルド 6 分。インクリメンタル 1 分。GCE の VM とかわんねーーー。
  • というわけで VM はお払い箱だなこれは・・・。8 VCPU なのに五年前のラップトップと変わらないとは情けない。
  • とかやってるうちにもう時間がないが、せめてテストくらいは書いておこうではないか。
  • とおもったら前回の PR で書いたテストに TODO としてコメントアウトしてあったわ。偉いな自分。
  • Typename を参照しているのは・・・
    ALTER TABLE ADD COLUMN
    CREATE TYPE
    DROP TYPE
    STRUCT(….)
    UNION(…)
    MAP(…)
    TYPECAST, CAST, TRY_CAST, TREAT (これぜんぶ挙動違うの?)
  • 先月の遺言によれば def_arg から func_type を落とせばいいらしい。
  • この作業自体は簡単だが、commit log に書くいいわけが必要である。def_arg は UNIQUE, PRIMARY KEY, CREATE TABLE WITH などでつくかわれているが、こいつらが func_name を参照する余地はない。といえばよい(のだった気がする)。
  • といった事実をここに記録しつつ、テストを全部ながしつつ、もう今日は時間切れなのでひげ剃って朝の労働のはじまりです。明日は四時に起きたい。

2023-07-18

  • PC について悩んでいたら時間が溶けてしまった。はーあ。

2023-07-19

2023-07-20

2023-07-27

  • このところやる気の類が失われており、気が付くと一週間経っていた・・・。

失われるもの

Twitter の崩壊に伴い行先を探す話をよく目にする。後継は何だろうか、あるいは複数のサイトを巡回しなければいけないのか・・・。

こうした議論は、Twitter 的なものが何らかの形で復元されることを前提にしている。けれどその体験はもう帰ってこないことだってありうる。個人的にはもう帰ってこないだろうと思う。

かつて、ソーシャルメディアの隆盛と Google Reader の終了に伴いブログは失われた。ブログというものは現存するし、今まさに自分はブログを書いているわけだけれど、ゼロ年代のブログ体験と現在のブログ体験は地続きでない、現在(去年くらいまで)の Twitter 体験とゼロ年代の Twitter 体験だって別じゃないかというかもしれないけれどそこには連続性がある。ブログ体験の断絶とは比べられない。

ブログ以前だって、たとえばニュースグループというものがあって、そこには独自の文化があったが、今日では完全に失われている。

ブログが失われたのは、自分にとっては悲しい出来事だった。自分は Twitter があまり好きではないし熱心なユーザでもないので個人的には失われても大して困らないが、Twitter を根城にしていた多くの人は困っているだろう。気の毒ではある。


Twitter と並んで失われる気配のあるものとして、Reddit と Stack Overflow がある。これらは Twitter と比べ相対的には目立っていないが、コンテンツへのアクセス権をめぐるプラットフォームの経営陣とコミュニティのいざこざがキナ臭い。Reddit からは既に一部のコミュニティが Lemmy などへ逃げ出した。Stack Overflow は ChatGPT にトラフィックを奪われた。どちらも赤字経営と報道されている。

これらも、一度失われたらおそらくもう戻っては来ない。低賃金のテキスト生成労働が LLM を支える時代、無償提供前提の UGC に居場所はない。代わりはない。

そういえば昔々 20 世紀には Stack Overflow のかわりに TLDP という HOWTO 集約プロジェクトがあって、これは Stack Overflow の登場を待つまでもなくブログの隆盛に伴い姿を消したのだった。


自分の好きだったもの、頼りにしていたものが壊れて失われたとき、人はどうするのか。

焼け跡を片付けて、壊れた欠片を拾い集めて、そこで暮らし続けることもできる。誰も読まないブログを書いている自分は焼け跡で暮らしている自覚がある。旧 Twitter や、その類似サービスを使い続ける人も多いことだろう。かつての魔法のような日々は帰ってこないけれど、何もないよりはいい。

新しい、勢いのある界隈に河岸を変える人もいるだろう。かつてのブロガーの多くは Twitter に河岸を移し生きながらえた。Twitter の influencer がより新しいメディア、たとえば TikTok を始める様子を想像するのは少し難しいが、とはいえ Substack などの newsletter に主軸を移した人は多い。

Reddit や SO のようなニッチで個人が目立ちにくい世界に住んでいた職人の新しい活躍先は自分にはわからない。そんなものはないのかもしれないし、そのうち新しい何かが現れるのかもしれない。

廃墟を捨て河岸を変えられる人の方がインターネットでは長く活躍できるのだろう。でも自分はどちらかというと焼け跡で欠片を拾う側の人間なので、そうした人々にも幸あれと祈ろう。

PC

年末に買った HP のワークステーションが死んでしまい、サポートに問い合わせるも二か月近くたってなお直る目途が立たず、はあ・・・となる。DuckDB のビルドとか 5 年前のラップトップ (CPU) の WSL だと遅いのだよ・・・。

ゴミのようなサポート相手に疲弊するのは嫌なので鉄板の Macbook Pro でも買おうかとサイトを見ると、高い!16 inch, 32GB RAM, 512GB SSD で $2900 くらい。spec up でぼったくりすぎだろう・・・。

The Verge に紹介のあった Frame.Work 16 inch はどうなのかな・・・と見積もると、8 core 16 thread の Ryzen に同じくらいの RAM/SSD を載せて $1800 くらい。OS 代を省けるせいもあり、だいぶ安い。これでいいかな・・・とおもったが、出荷が来年 Q1 とある。そんな待ちたくないわ・・・。なおサポートとかは、今のところそんなに悪くないようである (Redddit しらべ)。

Linux が動きがちな XPS 15 はどうかというと Intel-based で似たようなスペックにすると $21000, XPS17 だと $2500. それなりに高い。そして万一 Linux が動かなかったらイヤだな・・・という懸念もある。故障した場合はどうかと不安もあるけれど、10 年くらい Dell ユーザをやっていて壊れたことがないので、HP に対して抱いているような嫌悪感はない。一方でどうせバッテリー全然持たないしすぐ熱で遅くなるんでしょ・・・みたいな疑念はある。

Dell には XPS のエンタープライズ版 Precision というラインがあり Linux を公式にサポートしている。自分が使っているやつ。これは XPS より一回り値段が高く MBP と同価格帯になる、のは仕方ないとして、なぜか数年前から 4k モニターのモデルが消滅してしまった。なんでやねん。

一部 Thinkpad も Linux サポートをしているが、XPS 以上に高いので見ていない。そんなら Macbook/XPS でいいです。


Laptop はそのうち Macbook Air でも買うことにして、いっそ Mini PC とかを買って Linux 入れればいいんじゃない?と調べてみる。この UM773 なんて謎のセールにより $500 で Ryzen7, 32GB RAM, 512GB SSD ですよ。Macbook Pro の 1/5 ですよ。表面的にはまったく意味の無い比較だが、個人的には壊れた HP の代わりが欲しいわけで、これでよくね?この値段ならサポートがゴミでも諦めが付くよね?つかない?なお競合の Beelink も似たような値段だった

なお HP のワークステーションは $1500 くらいでした。NVIDIA の GPU が入っている事実を含めてもなお高い。エンタープライズサポートに金を払ったつもりだったが、エンタープライズサポートはゴミだった。憎し。


ラップトップと別に Linux のデスクトップを持つのには二つ利点がある。一つ目は値段が安く性能が良いこと。二つ目は Linux インストールでトラブルになりにくいこと。一方で欠点も多い。一つはファンなどの音がうるさい傾向があることで、物置でもない限りつけっぱなしにはしにくい。もう一つは管理のめんどくささで、ラップトップの他に何かとアップデートしたりなどがかったるい。あと電力。電気代がそれなりにかかる。

自分はこのほかにでかいモニタとキーボードをつなげられる点も気に入っていたが、諸事情により課外活動時間のでかいモニタへのアクセスが失われてしまったので、これはどうでもよくなった。


金があり時間と根性のない中年的にはバンと Macbook Pro を買って終了にするのが正しいのだろうけれど、いうほど金はないので $3k はたじろぐ値段である。$500 の mini pc は魅力的だが、また setup するのかったりーという気持ち。およびそろそろ laptop を買い替えたいという願いを遠ざけてしまうゆえ、これはこれで腰が引ける。Frame.work はスペックと値段は望ましいが、来年まで来ないんじゃ仕方ない。


HP workstation がそのうち直ると信じ、とりあえず手元に軽くて快適なラップトップすなわち Macbook Air を買うという手もある。Air べつに高性能じゃいけど、五年前の laptop は速いでしょ。たぶん。しかし HP に何かを期待するというアイデアは気が載らない。さっさとゴミ箱にブチ込んで気を済ませたい (比喩です。ちゃんと e-waste にだします。)


比較検討

  1. Macbook Pro 16
    $3k.
    Pros: すぐに手に入る。まあまあ速い(12 core 8 big 4 little)。バッテリーはよくもつ。一台で完結させられる。
    Cons: 高い($3k), MacOS への適応が必要, Linux は VM になり速くない
  2. XPS 15 / 17
    Pros: まあまあ速い(Intel 14 core, 6 big 8 little 20 threads), MBP よりは安い ($2.1K, $.2.5K) 一台で完結させられる。
    Cons: Linux の動作保証がない
  3. Framework 16
    Pros: 速い(AMD 8 core 16 threads)。MBP よりは安い ($1.8k), 一台で完結させられる。
    Cons: 来年まで届かない
  4. Macbook Air 15
    Pros: MBP よりは安い ($1.5k), HP workstation が復活すれば恩恵を受けやすい
    Cons: 遅い (8 core, 4 big 4 little)
  5. Minisforum Mini PC
    Pros: 速い(AMD 8 core 16 threads)、安い ($500)
    Cons: Linux の動作保証がない, Laptop は まま, HP workstation が治った暁には無駄になる, サポートは期待できない
  6. Minisforum Mini PC Barebone (HP workstation からRAMとHHDを移植)
    Pros: 速い(AMD 8 core 16 threads), 安い ($360)
    Cons: HP workstation 復帰の見込みがなくなる, 部品の組み合わせトラブルの可能性, Linux の動作保証がない, Pre-built との差額が小さい, サポートは期待できない

$1500 を無駄にした事実が腹立たしすぎて更なる出費をする気が起きないな・・・ GPU 欲しいなどと思わず適当な mini pc でも買っておけば仮に故障したところでこんなダメージを受けずに済んだのにという後悔がある。Let go and move on すべきとはおもうけれど、この反省をいかしトラブルの少ない Macbook でも買うかと思うと殊更に高価でめげる。そしてこの手のことを考える時間と心労が鬱陶しい。

まあ HP サポートでの escalation が終了し決着がついたら考えます。

Morning Spinach, June

2023-06-01

  • 04:44.
  • さて def_arg から func_type を落としたら conflict が消えました。しかし現状の qualified name はさすがにしょぼいのでもうちょっとなんとかなってほしい。
  • というのを考えている間に unittest 走らすべし。-> func_type がないせいでコケるテストはありませんでした。ほらね。
  • よし “CREATE TYPE myschema.b AS myschema.a” が accept されるようになったぞ!!しかし現在は schema をガン無視してるので semantics を実装しなければいけません。
  • とおもいきや AST は既に qualified name に対応しているな。なぜなら関数は既に qualified name に対応しているからである。
  • というわけで AST に値は詰めてみたが、これ対応してんのかね。というわけで、そろそろテストを書かねばいけません。
  • テストすべき場所は… CREATE TYPE, CREATE TABLE, ALTER TYPE ADD COLUMN くらいかな?
  • はい動きませんねー。
  • 時間切れ。明日は名前のルックアップまわりを直すべし。あと quoted names もテストすべし。
  • ところでこのバグとは関係ないが “CREATE TABLE tbl (e ENUM(‘a’,’b’));” みたいのも動くべきなので、このバグがおわったらこの inline enum 対応もやりたい所存。

2023-06-02

  • 04:20
  • 名前解決実装してくぞ。コミット分けたほうが良いな・・・。そんな基本的な操作も忘れている HG 暮らしのわたくしは Bard に教えてもらいます(この手の簡単は質問は問題なく答えてくる。)
  • 既存の実装が嘘くさくて心配・・・
  • てか既存の実装ダメだわ。これ直さないと続き出来んわ。PR 一撃で直してしまいたい誘惑に駆られるが、シニアプログラマなのでちゃんと別PRにします・・・
  • が、時間切れ。
  • TODO: ToString() 実装する

2023-06-03

  • 04:30.
  • vscode.dev で terminal つかうの tunnneling の設定しなくていいのは便利だけどさすがにしょぼすぎるな・・・。いいかげん tailscale いれるか・・・そのうち・・・。
  • うごいた。テストケースを書きましょう。が、まずは適当に ToString() 実装しとこう。
  • ToString() を書いていて気付いたが、 “fanky quated schema name” もサポートしたんだったなそういえば・・・。
  • CREATE TYPE “funky quated schema”.z AS INTEGER; うごくねー。ウケル。
  • さて CREATE TYPE は動いたのであとはなんだっけ・・・CREATE TABLE と ALTER TABLE ADD COLUMN か。
  • テストケース通るには通るが、この変更の副作用としてエラーメッセージが随分わかりにくくなってしまったな・・・。
  • 微調整。さて PR を出したいが、時間切れです。
  • ていうか他の型参照なんかあるはずだよな。それらもテストすべき(というかたぶん動かないので直すべき)ではないか。具体的にはキャスト。動かないかな?動くことは動く気もするね。いずれにせよテストが必要である。
  • あといま型名が alias をトラックしているが、こいつらは qualify しなくていいのか?これ何に使ってるんだろうねそもそも・・・。
  • Alias まわり、けっこうおぞましいコードが色々あるので直すべき点がありそうである。また次回。
  • さて子の日本語補習校、今日はなぜかオンライン授業で家にいますがそれはさておき tailscale setup です。というかアホみたいに簡単でえらいね・・・。
  • SSH の設定とかも Bard に聞けば一瞬です。SOを整形して表示する仕事は GPT4 みたいなつよつよモデルいらないね。むしろ SO が自分で LLM を用意し SO に統合するのが一番平和なんじゃないか。
  • ところで tailscale いれたらなもう vscode.dev の tunneling いらなくね? ふつうに Remote development すればいいのでは?なんとなくブラウザの中で動かしておく方があとくされなくて平和な気もするが。
  • といいつついちおう試してみる。デバッガもちゃんと動く。いちおう Microsoft に敬意を表してネイティブ版を使ってやるか。欠点があるとすれば、たまに Linux のデスクトップに物理アクセスできるときに環境が乖離してしまうことだが・・・。まあ、いいです。早朝の寝室を追放された身に大画面は無駄なのです。
  • GPU の電気代がムダだしデスクトップ環境も落としてコンソールにしておくかなあ。
  • などといじっていたら firmware update をしろというのでしたところ・・・起動しなくなってしまった!!!おーーーい!!!
  • サポートに電話して「電源抜いてスイッチ一分おしてー」「蓋開けて黄色い CMOS リセットボタン押してー」などとやりとりをしたが解決せず。
  • はー・・・。しかしすくなくとも保証期間内なのでパーツの交換とかはできるらしい。ただし在庫があるとは限らないらしい。はー。人間と電話がつながって(最終的には)人間が部品を持ってくてくれるらしい点は、エンタープライズ製品買っといてよかった、というかんじではあるが・・・。これ minisforum とかだったら基本的には試合終了だったわけだからねえ。
  • それにしても git push しておくんだったなー・・・。はーがっかり・・・
  • はー・・・余暇活動が・・・。明日からどうするべ。論文でも読むか・・・。かなしー。

気晴らしに読みたい論文バックログについて考える

LangChain Concept より:

2023-06-10

  • がっかりしたまま何もせず一週間が過ぎてしまいました sigh. 妻子外出中(日本語補習校)。そして家事が全部かたづいた 14 時半。
  • HP に電話したが部品がないとかで直る気配なし。Tailscale が使えるとわかったことだし、しばらく GCE の VM でも借りてやってみようかなという気分になってきた。が、今準備を始めて妻子帰宅などで VM shutdown を忘れると高くついてしまうので、明日朝にでもやってみましょう。