文具会社に勤める森田圭介（唐沢寿明）は同棲している水野うらん（浦江アキコ）との生活に行き詰まりを感じ、また自らの仕事にも疑問を感じて、自分の夢である映画の製作会社への転職を決意する。そんな折、通勤途中の駅で見かけた一人の女性・竹永幸子（清水美砂）に想いを寄せるようになる。幸子も同棲している滝本周二（福山雅治）の仕事がうまくいかず、荒れた生活を送る周二との間で、自分の心を傷つけていた。そんな二人は自然に惹かれあい結婚するが、圭介を諦めきれないうらんと、やはり幸子を忘れられない周二との4人の男女の心の葛藤が展開される。
『愛という名のもとに』で一躍脚光を浴びた唐沢寿明を主人公に、4人の男女の恋愛模様を描いた。このドラマから清水美砂（後に清水美沙）、福山雅治が人気をあげ活躍の場を広げた。また稲垣潤一の主題歌も大ヒットした。また、1993年10月1日の21:00 - 22:54には、スペシャル版として、『ホームワークスペシャル』が放送されている、スペシャル版のみなぜかコメディタッチで描かれていた。唐沢と福山は福山主演のドラマ「ガリレオ」（フジテレビ系、月曜21:00-21:54）で再び共演した。
山本のことを、「初代ミスター競輪」という人は少なくない。一時は通算勝率が5割を超えたことがあり、ヤマセイから買えば当たるというファンの厚い信頼を得ていたからだ。山本の通算成績は1290戦609勝、2着266回。通算勝率47.2%、同連対率は67.8%にも上るが、この成績のほとんどがトップクラス同士における戦いでのもの。さしずめ「2代目ミスター競輪」といってもいい中野浩一の同勝率53.9%、同連対率71.8%に次ぐものであり、山本、中野と同じく、ほとんど新人時代からトップクラスに君臨し、なおかつその地位を維持したまま引退した吉岡稔真の同勝率45.8%、同連対率56.5%を上回るものである。引退後は事業家に転身し、競輪に携わることは雑誌の特集記事程度の他なかったが、1995年に日本名輪会が創設されるとそのメンバーとなり、各種イベントにおいて姿を見せるようになった。2011年からは岸和田競輪場において山本の功績を讃えるため現役当時のあだ名を冠杯とした『ヤマセイ杯』が開催されている。
山本は前述したヤマセイ日記では当初、デビュー10年目にあたる28歳頃が引退の年齢になるのではないかと綴っていた。つまり当初から選手としての在籍期間は10年間と決めていたふしがある。しかし実際にはそうならず、31歳の年齢である1961年に引退した。同年12月25日、登録消除。これは28歳に到達したとき、山本自身がまだまだ現役として精神的、肉体的にも頑張れることから、「だったらまだあと3年ぐらいは頑張ってみようではないか。」とくだんの日記に記したことが起因している。そして日記に記した3年後となる1961年11月の大阪住之江競輪場の開催をもって現役を引退することになった。もっとも当時、力が衰えたどころか、まだまだトップクラスで戦える力を十分持っていた。後年、フランシナ・ブランカース＝クン夫人のヘルシンキ五輪での惨敗を見て、無敵の勝者もいつかは衰える日が来る、そうなる前にやめたい、という日記の一節をスピードチャンネルで自ら読み、早い引退に至った心境の一端を語った。
ブロックは、他の言語で言えば無名関数やクロージャーに該当する機能である。ただし Smalltalk のブロックは関数ではなくオブジェクトである事に加え、無名関数というより制御構文としての性格が強くなっている。並列実行の基本単位にもなる。ブロックは、引き数の数毎に複数定義された「value」を含むメッセージを送る事で、ブロック内に記述されたメッセージ式を実行し結果を返す。[                 　0               ] value.             "-> 0"[ :value1         | value1          ] value: 1.          "-> 1"[ :value1 :value2 | value1 + value2 ] value: 1 value: 1. "-> 2"ブロック内の:value1 :value2は引き数であり、「|」以降は「value」を含むメッセージが送られた際実行するメッセージ式である。「value」を複数ならべたセレクターは4個程度まで( #value:value:value:value: )しか定義されておらず。5個以上引き数を取る場合は、配列を引き数とする#valueWithArguments:を使う必要がある。メソッドが値を返す際は、復帰文の記述が必要となるがブロックの場合は値を返すのに復帰文は必要ない。最後に実行されたメッセージ送信の結果あるいは、最後に書かれた値が戻り値となる。ブロックは制御の基本となるオブジェクトであるため、「value」を含むメソッド以外にも膨大なメソッドを持っている。ただし、後述する他の制御構文はブロックに対し#valueセレクターまたは、#value:セレクターを使ったメッセージしか送らない。ブロックにはvalueと合わせてよく使われるセレクターとして「cull」がある。cullの振る舞いは、ほぼvalueと同じであるが、ブロックがメッセージに含まれる引き数を無視できるという違いがある。[ :value1 | value1 ] cull: 1 cull: 2. "-> 1"cullはブロックによる分岐制御が主目的であるが、分岐の基準になったオブジェクトを参照する場合もあるようなセレクターで使われる。典型的な例は、オブジェクトがnilで無いときだけブロックを実行する#ifNotNil:である。| block value1 value2 |block := [ :value | value ].value1 := 1.value2 := 2.value1 ifNotNil: [ 9 ]. "-> 9"value1 ifNotNil: block. "-> 1"value2 ifNotNil: block. "-> 2"