2018年5月21日月曜日

Beelink S1

 週末にキーボードが届いたので「Beelink S1」の初期設定作業。
 Windows10。うーむ、見慣れん。

 次にあまっている128GのSSDにLinux系のCentOSをインストールを試みる。

 「Beelink S1」はOSがLinuxのものがあるので——日本ではWindows10のみの販売——、Linuxは動くだろうと踏んだのだ1
 ところがうまくインストールできない。FreeBSDも同じ。半日かけてあきらめる。「Beelink S1」のLinuxはたしか、Ubuntuだったことを思い出してそちらでインストールを試みてみると、こちらはあっさりとうまくいった。

 でもまぁ、今のところ、「Beelink S1」は使い道がないなぁ。

Footnotes:

1

 BIOSの設定画面の出し方がわからず、右往左往してしまった。結局、Escキーか、Delキーの押しっぱなしだった。

2018年5月19日土曜日

2018年5月18日金曜日

VNC for Raspberry Pi

 以前はRaspberry PiをVNCでiPadProに表示したのだけれど、なぜか、今はうまくいかない。へんだなぁ、と思いつつ、TigerVNCならうまくいくかな、とMacBook Airにinstallした。
 だめ。
 MacBook Airの元々のVNCでもだめなのは知っていたけれど。
 ググってみると、RealVNCでならできるっぽい。

 install。
 けれど、画面が小さすぎて突っ伏してしまった。

 どうやら/boot/config.txtを変更すれば、できるらしい。

 おっ、いいじゃん。
 ますます「Beelink S1」が不要になっていく。

2018年5月16日水曜日

ThinkPad X60引退計画

 そろそろThinkPad X60には引退してもらわねば。
 そう思ったのも触ったらかなり熱くなっていて、やばいんじゃない? と思ったからだ。考えてみたらThinkPadでやっていることなんてRaspberry Piでできるんじゃない? そっちの方が消費電力もすくないんじゃない?
 で、Rasberry Piをひっぱりだしてきた。1
 ところが。
 動かない……。
 TVにつないで調べてみると、どうやらOSのSDカードが壊れているらしい。起動の途中でなんかメッセージがでている。
 それでカッとなって「Beelink S1」を買ってしまった。どうせ、Raspberyy Piじゃ、PostgreSQLは動かないだろう、と思ったこともある。ところがだ。ググってみたところ、動くらしい
 ぎゃー。何をやっておるんですか、わたしは。まずそっちを調べなさいよ。

 あらためてraspbianをとってきて今度は「Patech スポーツカメラ 12MP」で使っていたSDカード(32G)にインストールする。
 動いた。けれど、wifiに接続しない。
 しかもうちにある唯一のキーボード(bluetooth)にも接続しない。
 sshは動くようにしているのだけれど、ネットワークに接続できないので手も足もでない。1年も放っておいたのでハードが壊れてしまったんだろうか。
 TimeCupsleにLANケーブルで直繋ぎしてみる。
 こちらもだめ。しかし、原因はTimeCupsleっぽい。
 そこで蔵っておいた無線LANルーターをひっぱりだしてきて直に接続——できた。MacBook Airからsshで入る。で、すったもんだやった結果、wpa_supplicant.confのパスワードは暗号化しなければ、ならないことが判明。今まで直書きしていたのではまってしまった。
 無事、無線LANに接続できるようになる。

 で、そのあと、EmacsとPostgreSQLを何も考えず、apt-get。
 PostgreSQL、trust認証にしているのに弾かれるという現象に悩まされる。普通にEmacsのsql-postgresからはうまくいくのに。1時間ほど、試行錯誤の末、現象が判明。localhostを指定してやると、パスワードを聞いてくる。
 当然、trust認証のつもりなのでパスワードなど設定してなくてそれで弾かれてしまっていた。
 パスワードを設定して解決。
 ThinkPad X60のPostgreSQLからデータを放りこんで無事、動作する環境を確保した。

Footnotes:

1

調べてみたら1年ぶりだった。購入したのは2017年の4月。

2018年5月15日火曜日

Beelink S1を購入

買ったのはいいけど、うちにはキーボードがないのだった……。

2018年5月14日月曜日

再帰関数

 shellバッファにコマンドを投げてその結果を取得したい。
 単純にshellなら「shell-command」を使えば、いいんだけど、sshでいくつかのサーバを経由したときはshellバッファへ投げるしか、ないよなぁ。問題はshellバッファはコマンドの結果が非同期だということだ。
 コマンドを投げた直後は結果がまだ返ってきてない。
 filter関数を切り替えても非同期の問題は解決しない。終わりがわからないからだ。これはあれか。1秒毎にカーソルの位置をチェックして位置がかわらなくなったら終わりだと判断するか。
 whileかなぁ、なんかLispっぽくねー。
 うだうだ考えて再帰で書けることに気づいた。
 こんな感じ?

(defun wrk(p)
  (sleep-for 1)
  (let ((now (point)))
    (if (equal p now)
 now
      (wrk now))))

 簡単にmax-lisp-eval-depthにひっかかってしまうけど、ちゃんと末尾再帰している。elispでは意味ないけど。で、こうかな。

(let ((p (point)))
  (buffer-substring-no-properties p (wrk p)))

2018年5月12日土曜日

auto-revert-mode

 Emacsを使っていると、いろんなファイルを開きっぱなしにしていることはよくあることで——しかもdaemonモードで立ち上げていたりすると、いつもまでもそのまま。
 気づくと、見ているソースファイルがいつのまにか、更新されていて嵌まるなんてことがある。
 そんなあなたにauto-revert-mode。
 ファイルが更新されたらrevertしてくれる。
 便利、と思ってモードフックに放りこんでいる。

 この間、ふと思いついて試してみたらdired-modeでも使えるのだった。
 logのフォルダとか、これで自動的に更新されるのをチェックできるじゃないか。おおっ、いいじゃないか。
 それなら「global-auto-revert-mode」でもいいかも——。

2018年5月8日火曜日

道具の確認

 オン・ザ・ブロックを喰らったあと、道具がどうなったのか、確認してなかった。ひさしぶりに砂と潮だらけの道具をひっぱりだしてみる。
 デスマストはしてなかったとわかっていたけれど、どうしてあの状況でだいじょうぶだったのか、わからない……。道具をチェックしてみてようやくそれが判明した。
 アウトホールラインが切れていた。

 ああ、このおかげで助かったのか。そうか。
 そういえば、ひどい目にあった直後にはそう思ったっけ。
 セイルのあちらこちらが破れているけれど、梱包テープでリペアできるレベル。ただしバテンはほぼ、全滅だった。バッキバキに折れている。こちらは6.7のセイルのバテンを切り刻んで代用。

 なんとか、セイル(5.3)は使えそうだ。
 一番、ひどい状態だったのはスケグとブームのラバーだった(実はカメラだったような気がする)。

2018年5月6日日曜日

ibuffer

 anythingやhelmになれていると、さすがにデフォルトのlist-buffersはつらい。かといってネットに接続されていない環境なのでanythingとかをインストールすることもできない。
 ストレスだ。
 list-buffersの使い方を知らないだけか、と調べていて気づいた。
 なんだ、この「ibuffer」というのは?
 おっ。
 いいじゃん、これ。llist-buffersの拡張版という感じ。
 バッファリストの絞りこみができる。
 さっそく「C-x C-b」をibufferにマッピングした。

(define-key global-map "\C-x\C-b" 'ibuffer)

2018年1月26日金曜日

タブレットスタンド

 また、iPadProの影響で背筋を痛めそうだったのでタブレットスタンドというやつを買った。

 これで寝転がっていろいろできるぜ、と思っていたのだけれど。
 タップしたり、スワイプしたりするたびに、びよ〜〜んびよ〜〜んとiPadが揺れる。おかげですぐに船酔い状態。気分が悪くなってしまった。
 あかん。

2018年1月24日水曜日

fletとletf

 「Land of Lisp」ではじめてfletというものを知った。
 letの関数版。関数内にローカルの関数をつくれるものらしい。elispにもcl.elにあった。同じようなことはletの変数にlambdaをセットしてfuncallしてやってみたことはあるけれど。
 便利そうだけど、あんまり使わないかも、とか、思っていたら。
 そういやつくった関数に何か皮をかぶせた処理をいれたい、とか、よくあることだった。そういうときは別の関数をつくって皮をかぶせていたけれど、fletに押し込んでやれば、いいのか……。
 なるほど。

 で、fletの*HELP*を読んでいたらletfというものがあることを知る。

(setq wrk '(1 2 3))
(1 2 3)

(cl-letf (((nth 1 wrk) 44))
  (nth 1 wrk))
44

wrk
(1 2 3)

 おっ、すげえ、と思ったけれど。

(cl-letf (((nth 1 wrk) 44))
  wrk)
(1 2 3)

 となってしまった。
 なんとなく、(1 44 3)が返ってくるような気がしていたのだけど。
 もしかしたら(nth 1 wrk)の部分を44に差し替えているだけなのかな? と思ってmacroexpandしてみたら。

(macroexpand '(cl-letf (((nth 1 wrk) 44))
        (nth 1 wrk)))

(let* ((c (nthcdr 1 wrk)) 
       (old (car c)))
  (unwind-protect 
      (progn (setcar c 44)
      (nth 1 wrk))
    (setcar c old)))

(macroexpand '(cl-letf (((nth 1 wrk) 44))
  wrk))
(let* ((c (nthcdr 1 wrk)) (old (car c)))
  (unwind-protect (progn (setcar c 44) 
    wrk) 
    (setcar c old)))

 あれ?
 最初のやつは44が返ってくるのに、なんで二番目のやつは(1 44 3)が返ってこないんだろう……? というか、CommonLispにはデフォルトでletfってないのかな。「undefined function: LETF」になってしまったけど。

メモ:
#:g1: Emacs Lispのcl-fletは使いものにならないなんてことはない

2018年1月22日月曜日

スクリプト放浪

 パソコンを長々と使っていると、いろいろと作業を自動化したいわけで。
 よくちょこちょことスクリプトを書いたりしていた。
 shellスクリプトからsed&awkを経てperlに至り。途中、ruby1をつまみ食いしたりして。DOSバッチはUNIXツールのパチモンをいれていたのでawkやperlスクリプトという感じ。さらにtcl/Tkも使ったことがあった。これは画面がつくれたのがよかった。
 そうこうしているうちに。
 一番使うのはEmacsだったこともあってelispを勉強しはじめ2。それでもperlやtcl/Tk、shellを使っていたのだけど、ある日突然、elispで充分じゃね、と気づいてからはelisp一本やり。3以来、elisp以外はほとんと使っていない。
 CommonLispやschemeをインストールしてみたりしているけれど、なんだかんだとelispで充分で、どうやら個人的なスクリプト環境はナッシュ均衡に逹っしてしまったらしい。

Footnotes:

1

初期のruby

2

付属のelispのinfoを読みふけった。

3

WindowsでもMacでもFreeBSDでも使えることだし。

2018年1月20日土曜日

再帰がすごいのか、listがすごいのか

 文字列と数値が混在していてつねに数値としてあつかいたいのに〜、と苛々することがよくあったので下記のような関数をでっちあげた。数値としてあつかいたいとき、無条件に使うわけである。

(defun y-num(x)
  (cond ((null x) 0)
 ((numberp x) x)
 ((stringp x) (string-to-number x))))

(y-num "123")
123

 ずっとそうやって使っていたんだけど、ふとlistも対応しよう、と思って対応してみたところ。

(defun y-num(x)
  (cond ((null x) 0)
 ((numberp x) x)
 ((stringp x) (string-to-number x))
 ((listp x)(mapcar 'y-num x))))

(y-num '("1" "2" "3"))
(1 2 3)

 あっ、と思った。これだけで入れ子のlistでもOKじゃん。

(y-num '("1" ("1" "2" "3") "2" "3"))
(1 (1 2 3) 2 3)

 再帰ってすげー、と思って。
 いやいや、そうか、と思い直した。
 Lispで再帰がよく使われるのはlistが基本構造なので、むちゃくちゃ相性がいいからなんだ。

2018年1月7日日曜日

遅延プログラミング

 最近、読んだ「Land of Lisp」の中に遅延プログラミングがでてきた。
 ポール・グラハムの「On Lisp」にもあったよなぁ1、とか、考えていてふと気づいた。レキシカルスコープがサポートされたんだからelispでも可能なんじゃね?
 試してみた2

;; -*- lexical-binding: t; -*-

(defmacro lazy(body)
  (let ((forced (gensym))
 (value (gensym)))
    `(let ((,forced nil)
   (,value nil))
      (lambda()
 (unless ,forced
   (setf ,value (progn ,body))
   (setf ,forced t))
 ,value))))

(defun force(lazy-value)
  (funcall lazy-value))

(defmacro lazy-cons(a d)
  `(lazy (cons ,a ,d)))

(defun lazy-car(x)
  (car (force x)))

(defun lazy-cdr(x)
  (cdr (force x)))

(defun lazy-nil()
  (lazy nil))

(defun lazy-null(x)
  (null (force x)))

(defun make-lazy(lst)
  (lazy (when lst
   (cons (car lst)(make-lazy (cdr lst))))))

(defun take(n lst)
  (unless (or (zerop n)(lazy-null lst))
    (cons (lazy-car lst)(take (1- n)(lazy-cdr lst)))))

(defun take-all(lst)
  (unless (lazy-null lst)
    (cons (lazy-car lst)(take-all (lazy-cdr lst)))))

 いちおう動いているみたいだ。
 注意。「lazy」はレキシカルスコープの環境で動かすこと。考えてみれば、当たり前なんだけど、最初、うまく動かなくて考えこんでしまった。lazyの定義はレキシカルスコープでやって、実行をダイナミックスコープ環境でやっていたので。closureになってなかった。
 それにしてもcl.elでlabelsも使えるんだ。知らんかったわ。

;; -*- lexical-binding: t; -*-
(setq wrk (labels ((f (n)
        (lazy-cons n (f (1+ n)))))
     (f 1)))

(take 10 wrk)

Footnotes:

1

確認してみたら3ページほどの記述だった。

2

マクロがそのまま、使えなかったので適当に変更した。

2018年1月6日土曜日

ついにThinkPadのディスプレイが……

 お亡くなりになってしまった。
 外部ディスプレイにつなげれば、まだ使えるけれど。そろそろ後継を考えなくてはなぁ。古くなったiPhoneとか、iPadが使えれば、いいのだけれど。使えないんだよなぁ。ハイスペックなのに。

2017年12月26日火曜日

矩形選択

 昔、遠い昔、富士通のオアシスというワープロを使っていたとき、カット&ペーストは矩形で切り貼りしていてとても便利だった。1
 使いはじめのころにすぐ、Emacsでも矩形選択ができることを知ったのだけれど、この機能はpicture-modeでしか、使えない、とかんちがいしてずっと使っていなかったのだけど、なんと普通にテキスト編集しているときにも使えるとは。
 時々、便利。

Footnotes:

1

と当時は思っていた。

2017年12月25日月曜日

Registers

 使いはじめたころからレジスタのことは知っていたのだけれど、つい最近まで使うこともなかった。キーアサインも知らなかったくらいだ。Emacsにはkill-ringというバッファがあるし、viのように複数ファイルをひらいていたときに連携するため、ということもないよなぁ、とか思っていた。
 ところがレジスタにカーソルの位置や、ウィンドウの状態を保存できると知って俄然、使えるということに気づいた。作業しているうちに、元のウィンドウの状態にもどれなくなってこまるのはよくあること。winner-modeで前の状態にもどっていくことはできるのだけれど、ずっとたどっていくは面倒だ。一発でもどれないものか。
 普段はElScreenで別タブにして作業するので問題ないのだけれど。
 ウィンドウの状態を保存できるのなら一瞬で元の状態にもどれるじゃないか。
 なんともまぁ、知らないことの多いことよ。

2017年12月20日水曜日

WindSurf:2017年まとめ

 2017年ウィンド回数:36回1
 帆走合計距離:493.5km

 今年、満足度が一番だったのはやはり「2017年7月13日(木):富津南:晴れ」かなぁ。あの日は楽しかった。

  Sailing Driving 帆走距離
九十九里浜 0:54 11:56 5.3 2
大洗 0 6:24 0 1
富津北 1:29 5:39 22.2 1
富津南 2:28 5:34 39.2 1
岩井 6:48 1d 16:36 44.9 6
本栖湖FUNビーチ 18:13 4d 8:33 197.3 11
検見川浜 15:43 1d 5:13 155.9 10
菊川河口 1:24 20:44 11.6 2
館山 2:16 11:44 17.1 2
合計 2d 1:15 9d 20:23 493.5km 36

 セイリングにかかった移動時間

  Sailing Driving Sailing率(%)
九十九里浜 0:54 11:56 7
大洗 0 6:24 0
富津北 1:29 5:39 20
富津南 2:28 5:34 30
岩井 6:48 1d 16:36 14
本栖湖FUNビーチ 18:13 4d 8:33 14
検見川浜 15:43 1d 5:13 34
菊川河口 1:24 20:44 6
館山 2:16 11:44 16
合計 2d 1:15 9d 20:23 17

Footnotes:

1

 1日、ゲレンデを移動したときがあるので日数的には35日。
 1年のほぼ10分の1。

2017年12月11日月曜日

2017年12月10日(日):検見川浜:晴れ

* Sail:CORE 5.3(NEIL PRYDE) Board:NG ACP 260 Fin:9.5inch

No 時刻 時間 帆走距離 最高速 平均時速 P%
1R 14:50-15:20 30分 6.0km 34.18km/h 11.91km/h 44.56
2R 15:36-16:15 38分 3.6km 34.31km/h 5.54km/h 13.10

total 68分 9.6km 8.3km/h

やっちまった、オンザブロック……。

2017年12月2日土曜日

Org AgendaモードでOrgバッファをsave

 EmacsのOrgのAgendaモードでよくTODOをDONEに切り替えたりしている。裏にあるバッファの内容も同期して変更してくれるので便利なのだけれど、バッファをいちいち、saveするのが面倒だな、と思っていた。
 普段はauto-save-buffers-enhanced-save-buffersをいれてあるので自動的にsaveしてくれる。けれど、auto-save-buffers-enhanced-save-buffersをいれることができない環境があって、そこは面倒だな、と。
 よくよく見てみたらAgendaでsを押せば、変更されたバッファがすべてsaveされるのだった。

(org-save-all-org-buffers)

にアサインされている。
なんだ、便利じゃないか。
愛用。

2017年11月29日水曜日

2017年11月26日(日):館山:晴れ

* Sail:EZZY SE 4.2 Board:NG ACP 255

* Sail:EZZY SE 4.2 Board:NG ACP 260 Fin:9.25inch

* Sail:EZZY SE 4.2 Board:NG ACP 260 Fin:9.5inch

* Sail:CORE 5.7(NEIL PRYDE) Board:NG ACP 260 Fin:9.5inch

No 時刻 時間 帆走距離 最高速 平均時速 P%
1R 10:41-10:50 8分 1.3km 32.80km/h 9.23km/h 44.26
2R 10:58-11:08 9分 1.1km 31.07km/h 6.57km/h 25.20
3R 11:15-11:25 10分 1.7km 34.51km/h 9.70km/h 34.18
4R 11:41-11:46 5分 0.2km 8.61km/h 2.49km/h 0.00
5R 12:00-12:11 10分 2.0km 30.95km/h 11.89km/h 28.72
6R 12:28-12:37 8分 0.9km 20.30km/h 6.15km/h 5.41
7R 13:57-14:19 22分 1.5km 15.84km/h 4.15km/h 1.79

total 75分 8.7km 7.0km/h

 ボケた。
 フロントウィンドウが汚れているからウォッシャー液で洗おうとしたのだ。ところがいくらレバーを引いても液がでてこない。そればかりか、ワイパーも動かない。あれ、壊れた? このあいだ、車検にだしたばかりなのに。
 そこではっ、と気づいた。レバーを右と左でまちがっている。
 なんてことだ。
 ずっと対向車にパッシングしていたとは。
 ——赤面。

 南西が一日、吹く予報だった。
 混みそうな検見川、岩井をパスして一番、遠方の館山へ。アクアラインを渡るとき、すでに吹いていた。5点台を期待していたけれど、着いてみると、どう見ても4の風。一日、これか。にやにやしながら4.2とボードは浮力のない255をセットした。
 お初のカメラをつける仕掛けも準備する1

 ダウンの引きが甘かったけれど、一本往復。おおっ、ちゃんと乗れた。ここからだぜ、狂乱の一日は。それにしても4.2+255の組み合わせでまともにセイリングできたのは今年初のような気がする。もう年末なのに。
 次の一本で風はすでに落ちぎみで、その次はやっとこさだった。
 四本目では出艇すらできず、岸に流された。
 まだ、正午も回ってなかった。
 浮力のある260をひっぱりだす。フィンは小さめ。走らない。沖で走り出す。ブローきつめ。フィン抜け多数。フィンを大きめに変えたけれど、風はますます足りず、消波ブロックに向かって流されかけて青くなる。
 もう風がない。
 4.2はない。
 うだうだしているうちに風はますます落ち、意を決して5.7を張りなおす。
 海へでると、ウィンドをやっている人間はいなくなっていた。
 そのまま、プレーニングできず、消波ブロックの手前で沈。ウォーターすらできず、延々、流され、ワンブローでウォーターして必死に沈しないようにして岸にもどった。
 今日、まったくだめじゃん。終わった。

Footnotes:

1

結論からいうと、ブームエンドがかなり重くなってあんまりよくなかった。

2017年11月18日土曜日

複数バッファを右回転に移動する

 左右に表示したバッファを入れ替えるコードはGoogleさんに聞いたら見つけたのだけど、三つだと対応してなかったので自分でつくってみた。うん。動いているみたい。

by GNU Emacs 24.5.1

(require 'cl)

(defun y-switch()
  "bufferの位置を回転させる"
  (interactive)
  (y-switch-windows-or-buffers 'y-roll))

(defun y-roll(list)
  "listをロータリーする"
  (append1 (cdr list)(car list)))

(defun y-switch-windows-or-buffers(func)
  "funcの並び替えロジックでwindowとbufferの組み合わせを変更する"
  (let* ((windows (window-list))
  (bufs (loop for x in windows
       collect
       (window-buffer x))))
    (loop for x in (funcall func windows)
   for y in bufs
   do
   (set-window-buffer x y))))

(defun append1 (list obj)
  "appendの拡張版"
  (append list (list obj)))

2017年11月14日火曜日

2017年11月11日(土):館山:晴れ

* Sail:CORE 5.3(NEIL PRYDE) Board:NG ACP 255

* Sail:CORE 5.3(NEIL PRYDE) Board:NG ACP 260 Fin:9.5inch

No 時刻 時間 帆走距離 最高速 平均時速 P%
1R 13:06-13:48 41分 4.3km 38.39km/h 6.13km/h 24.10
2R 14:07-14:25 18分 4.1km 33.73km/h 13.46km/h 46.20

total 60分 8.4km 8.4km/h

 館山へ向かった。
 地図を見ると、館山も西にひらけているから、もしかしたら乗れないゲレンデかもしれない。ただ、岩井より南寄りなので、北に振れるのは遅いはずだ。それにだれか、乗っているかもしれない。
 1時前に到着。
 いた。出ている人がいる。
 ただ、風は弱そうな感じ。4.7の人がちょうど出ていったのだけれど、プレーニングしていない。でも出ている人はどうも4の小さめのセイルっぽい。風が落ちてきているのかもしれない。
 iPhoneのコンパスで調べてみると、風はまぎれもなく西。
 5.3を張り直す。
 板は255。
 アンダーぎみで出たところで風がなくなり沈。そのあと、ウォーターすらままならない状態で岸までという恥辱の旅、ふたたび。
 265を出す。
 なんという浮力のある安心感よ。
 波をこえてブローでプレーニング。やはり風は弱いらしく、プレーニングにはいりづらい。いったん岸へもどってハーネスラインをいじったり、255を回収してきたり。次の一本のアウトで急に風が強くなりだしてオーバーの世界へ。一瞬、ウォーターができなくなるほどだった。
 板が跳ねる跳ねる。
 なんという浮力のある恐怖感よ。
 255にしようか。迷いながらうだうだしていたら風はジャストオーバーからジャストアンダーぐらいに。風向きがまた、かわったらしく、急にアウトにでたときの位置が低くなる。調べてみると、風は北西で——オンきつめ。この時間帯が一番、乗りやすかった。
 それで何往復かしてあがると、運がよかったのか、そのタイミングで風向きがさらにかわり本日二度目の右タックのオン。出艇場所は岩井と同じく右にひらけているので本日、二度目の終了。風もなくなる。
 のんびり道具を片付けていると、やがて風は北になった。

2017年11月13日月曜日

2017年11月11日(土):岩井:晴れ

* Sail:EZZY SE 4.2 Board:NG ACP 255

No 時刻 時間 帆走距離 最高速 平均時速 P%
1R 10:18-10:24 5分 0.8km 29.46km/h 7.80km/h 26.60
2R 10:37-10:48 11分 0.6km 19.35km/h 3.04km/h 1.22

total 17分 1.3km 4.7km/h

 アクアライン経由を試してみることにした。
 Google Mapによると、いつもより50分ほど早く着くらしい。予想すべきだったのだが、強風ため、横風が凄まじく、ひさしぶりに車の運転でビビった。今日は遠州灘方面は一日、西風。南房総は三時くらいまで。遠州灘が確実だけれど、距離を考えると、結局、同じくらいしか、乗れないんじゃないか? だったら南房総でいいじゃないか。
 富津と南房総も同じ話だと気づいたのは富津を通りすぎたあとだった。
 富津は南房総よりも早く北に振れて午後には風がなくなってしまう。しかし、南房総より早くスタートできる。しまったなぁ、頭が悪い、と思いながら岩井着。
 ——吹いていた。
 というか、吹きすぎだった。ギャラリーと化しているセイラー多数。見ると、セイルは3.7とか。出艇している人たちはさすがにうまくエキスパートクラス。がんがんフロントに振っている。
 ど素人同然のおれがお邪魔していいものだろうか(そもそも邪魔できるようなエリアまでいけるか、疑問だけど)。
 それにしても今年二度目の4.2使用がやはり岩井とは。
 4.2を張って1ボードは255。
 カメラはなし。
 現実に目をつぶって出艇。むっちゃオーバー。次々にくる波をこえて沈しそうになるのを風にぶら下がるようにしてなんとか、クリアして、下に下らせて下らせて波から逃げてアウトへ。
 力尽きて沈。インへもどってビーチにあがる。
 一本で腕がパンパンになってしまった。
 休憩ついでにカメラをとりにいく。
 実はカメラ用にアタッチメントを造ってみていた。

 これをマジックテープでブームにつける腹づもりである。
 でもそんなことをやっている余裕はなく、いつものやり方でカメラをつけて海へ出た。波をこえて波をこえて……あれ? 風がない。尻もちをつくように沈。そのまま、波に巻かれて浜辺までの長い恥辱の旅。
 出艇した場所まで道具を運ぶ。どうやら風が落ちはじめているらしかった。265をだすか、迷って選択したのはセイルチェンジ。
 4.2をばらして5.3を張りなおす。
 再出艇しようと、道具を抱えあげたところではたっと立ち止まってしまった。さらに風が落ちている……。ボードを265に変えても乗れなさそうな風だった。唖然としてしばし海岸に立ちすくむ。
 今日は終了なのか?
 完全に風はなくなり、来ていた人たちが2次々に道具を片付け、帰りはじめた。
 それでもあきらめ切れない人々がぼくをふくめてひとにぎり。
 風が吹きはじめた。
 どうやら風向きがかわるときの一呼吸だったらしい。すこしずつ、風はあがる。ところが、風向きが悪い。最初はどオン。さらにまずいことに微妙に右タックに振れる。西のときの岩井はこうなるんだ、と学習できたのはよかったけれど、出艇しようとしている浜は右にひらけていて、ちょうどハマってしまう状況。よろしくない。ひとり左右に何度も往復して乗っていた人がいたけれど、おもしろくない、と思ったのか、あがってしまった。
 風はある。
 向きが悪いだけだ。
 しばらく考えて場所をかえることにした。

Footnotes:

1

使えると思っていたブームのブーム長が実はすこし長かった。

2

朝の六時から乗っていたらしい人がいてビビる。

2017年11月5日日曜日

2017年11月4日(土):菊川河口:晴れ

* Sail:CORE 5.3(NEIL PRYDE) Board:NG ACP 260 Fin:9.5inch

No 時刻 時間 帆走距離 最高速 平均時速 P%
1R 13:06-13:36 29分 1.8km 26.55km/h 3.64km/h 1.96
2R 13:43-13:54 10分 1.9km 32.45km/h 10.86km/h 44.52
3R 14:29-14:45 16分 3.3km 31.95km/h 12.22km/h 46.13
4R 14:55-15:04 9分 1.5km 28.00km/h 9.65km/h 37.50
5R 15:33-15:57 23分 1.4km 23.56km/h 3.61km/h 2.58

total 88分 9.9km 6.7km/h

 土曜日は遠州灘方面が吹きそうだ。
 春先以来だけど、行ってみるか。でも遠いな、とか思いつつ、WINDFINDERを見ていたらなんと、遠州灘の西風が房総半島の南端をかすめているじゃないか。これは館山か岩井で乗れるんじゃないか。

 というわけで館山か、岩井へ行くつもりだった。
 ところが念のために起きてからGPVの予報をチェックしたら夜中のあいだにすっかりかわってしまっていた。西風がとどかない予報。
 ぎゃあ。
 予報がまたかわって房総半島南端で乗れる可能性はあるけれど、確実なのは遠州灘だ。しかたない。遠州灘へ行こう。問題は下道では到着するのが二時をすぎそうなことだ。フル高速ですか……。しくしく。
 正午到着。
 菊川のプールサイド脇の駐車場は満杯だろうなぁ、と思っていたのだけれど、あれ、空いてる? めずらしいなぁ。しかも三連休なのに——海を見に行って理由がわかった。
 駐車場から堤をこえて海へ下りていくのだが、堤から海岸への坂道がなくなっていた。このあいだの台風でえぐられてしまったのだろう(追記:下りれる場所があったらしい)。なんてことだ。しかたなく大東総合運動場の反対側へ移動した。
 今日しかたなくが多い。
 風は吹いているような吹いていないような。
 きている人のセイルを見ると、4.0とか、4.5を張っている。どう見ても大き目から小さ目に変更した様子。でも海では走ってないような。セイルリペアしたセイルを試す気になれず、5.3を張る。
 板は255。
 セイルをパンパンにして海へ。
 あれ?
 風なくなってね?
 見ると、きている人たちはビーチに腰をおろして雑談に興じている。
 浮力のあるボードをとりに駐車場へもどる。
 そのセットで出るも波を越えるたびに空中に飛び出してしまう。途中までゲッティングアウトしたところで前に投げ出されて沈。波にもみくちゃにされてながらビーチへほうほうのていでもどる。あかん。腕がぱんぱんだ。
 二度目でなんとか、アウトにでた。
 アウトのはずなのに間隔の短い波が次々と。
 しかもアウトは吹いていて5.3はゲロオーバーだった。なるほどみんな、4点台なわけだ。そのうえ、ハーネスのベルトを絞め忘れて緩々。沈。ウォーターで二度ほど、飛ばされてインサイドへ逃げ帰る。
 というようなことをもう1R。
 最後は波がぐしゃぐしゃになってきて完全にゲッティングアウトできず。
 風下側で釣りをはじめたこともあってしかたなく、終了した。
 だっておれが釣りあげられてしまうことは絶対、確実だ。

2017年10月28日土曜日

別サーバ間Emacsでもコピー&ペースト

 複数terminalのEmacs間のコピー&ペーストはemacsclientを使って同一プロセスにすることで可能になった
 でもそれはあくまで同一サーバでの話。
 別サーバのEmacsで共有できないものか。もちろんterminalのコピー&ペースト機能を使えば、いいのだけど——だからマウスをつけてないんだって。
 と、ひとり突っ込みをしていてふと思いついた。
 リモートシェルなり、telnetで相手側のシェルを立ち上げておいて。

emacsclient -e '(kill-new "XXXXXX")'

 ってやれば、いいじゃないか。
 それにしてもびっくりしたのだが、kill-ringってほんとうにそういう変数が存在しているんだね。
 知らなかった。

2017年10月18日水曜日

terminalのEmacsで複数タブを使用する

 terminal上でEmacsを画面二分割して使っている。
 それでもさらに画面が欲しくなるときがよく、ある。
 そういうときはterminalのタブ機能を使ってもうひとつ、Emacsを立ち上げていたのだけれど、これがけっこう面倒臭い。ふたつのEmacsは別プロセスなのでkillリング1が共有されていない。なので、terminaiのカット&ペースト機能を使うしかなくて……選択操作はマウスを使わなくっちゃいけない。
 あの、マウスつけてないんですけど。っていつもマウス持ってきていた。
 面倒臭い。
 ——なんとか複数Emacsでkillリングを共有する方法はないものか。
 つらつら考えて、そもそも複数Emacsを立ち上げなければ、いいということに気づいた。
 emacsclientである。
 最初のタブでserver-modeのEmacsを立ち上げておいて必要になったとき、次のタブで「emacsclient -nw」でEmacsを立ち上げる。これは実際にはserver-modeのEmacsなので、ひとつのEmacsで別々の画面を使っていることになる。
 当然、killリングは共有されているので、タブ間のカット&ペーストも自由自在。キー操作はEmacsそのもの(当たり前)。terminalのEmacsにタブ機能がついたみたいだ。ふたつ目のEmacsの起動、むちゃくちゃ早いし2
 ひさびさにEmacsってすげーって思った。

Footnotes:

1

killリングはEmacsのカット&ペースト用のバッファ

2

実際には起動してないので当たり前。

2017年10月10日火曜日

2017年10月9日(月):本栖湖FUNビーチ:晴れのち、曇り

* Sail:CORE 5.7(NEIL PRYDE) Board:NG ACP 260 Fin:9.5inch

No 時刻 時間 帆走距離 最高速 平均時速 P%
1R 14:02-15:35 92分 13.9km 42.68km/h 8.98km/h 13.63
2R 15:55-16:06 10分 0.1km 6.16km/h 0.67km/h 0.00

total 103分 14.0km 8.1km/h

 先日の教訓を生かして本日は一部、高速を使うことにした。
 もっとも以前、使ったときは交差点でおカマを掘られてしまったんだよなぁ。不運に飛びこんでしまった。何はともあれ、高速を下りて二四六。妙に混んでいる。あれ、何でだろう。
 ——あっ。
 今日は三連休最後の日だった。帰りは混むかも。
 頭を抱えつつ、一時すぎに本栖湖着。
 行程は約20分ほどの短縮。でもこの20分が得だったかは微妙。十数艇のウィンドがでているけど、本栖湖はまだ吹いていなかった。吹きはじめたのは到着後、20分がたったころで、それなら高速を使わなくてもよかったんじゃね? と思わなくもない。
 吹きはじめたとはいえ、基本的にブローの範囲は狭く、風は足りず。
 ちょっときつい瞬間はあったけれど。
 まぁ、修理したブームが使えることがわかったので良いか。
 midaさんにぶち抜かれたり、間近でウィンドフォイルの走る姿を見ることができたり。ジャイブがあまりできなかったのは残念。またメタメタになってしまったのですこし練習したかったのだけど。
 ポートも何かおかしくて最後までしっくりこなかった。
 一時間半ほど乗ってひと休みしてもどってみると、風はかなりあやしく、道具を風上に運んでいるうちに終了してしまった。
 道具を片付けて、最後まで粘っていたmidaさんに挨拶して帰路につく。
 さいわい、道志以外は思ったほど、混んでいなかった。

2017年10月9日月曜日

ブームリペア

 ここ十年つねにそうであるように先立つものがない。
 なのにブームのインジョーが壊れてしまった。どうしよう。

 やっぱ新しいのを買うしかないか。でも行きつけのショップがあるわけではないので気持ちはいまいち。ご近所にあるわけでもないし。いっそウィンドそのものをやめてしまうか?
 待てよ。そういえば、昔、折ったブームのインジョーを残していなかったっけ?
 ——なかった。
 ああ、たしか、ほかのブームに使えない構造をしていたので捨ててしまったのだった。あれ? それならもう一本のブームのインジョーが使えるんじゃないか。あまり使うことのない、4.2専用のカーボンブーム。春先にグリップをリペアしたばかりの。

 まず、壊した160cmベースのブームのインジョーを外す。

 次に同じように145cmベースのブームのインジョーを分解。

 シートが噛んでいたり、といくつかの部品は160から流用して160cmベースのブームにインジョーを取り付ける。

 うん。使えそうだ。手持ちの全セイルをこれで張ることになるけど。

2017年10月8日日曜日

2017年10月7日(土):富津北:曇り

* Sail:CORE 5.3(NEIL PRYDE) Board:NG ACP 260 Fin:9.5inch

No 時刻 時間 帆走距離 最高速 平均時速 P%
1R 11:11-12:40 88分 22.2km 35.69km/h 15.04km/h 60.60

total 88分 22.2km 15.0km/h

 早起きしたつもりなのに、富津北への到着予定時刻は10時半すぎだった。
 これは到着したときには時、すでに遅しパターン。
 うわあ、やっちまったか、と頭を抱えつつ、小雨の中、富津北へ向かう。富津岬のレースに何度か、参加したことはあるけど、ほとんど初めてのゲレンデだ。たぶん今、向かっているのは以前、一度だけ某社の面々に誘われて行ったことがあるところだ。
 実は三浦か、富津か、外房か、迷った。
 外房はあまりにも苦い思い出ばかりなので今回はパスして選択肢は三浦か、富津。両方は家からはほとんど、同じ距離。ほとんど行ったことがないので富津にした。
 次からは高速を使うことも検討しなきゃならんな、と考えつつ、富津北に到着した。すこし迷ったけれど。
 あっ、ここは以前、来たところだ、とすぐにわかった。
 でもずいぶんと様変わりしている。海岸はかわらないが——柵ができている——いろんな施設ががっつりできていて駐車場もあった。
 さいわい雨はあがっている上、風は残っているように思える。
 海岸でちょうどいたセイラーに聞くと、4.5だという。
 リペアしたセイルをさっそくか? と思ったけれど、5.3をセッティングした。元々、5.7のつもりの来富津だったので小さいセイルを選ぶことに抵抗があった。それにこのあと、予報によると、風は落ちるはずだ。
 ちょうど干潮の時間帯だったため、やたらと浅い。
 海藻もすごい。ブームエンドにつけたカメラががっつり藻の隠れてしまった1。乗る。オーバーセイルぎみ。一本往復してハーネスの位置を調整。乗る。なんか、セイルが重いな。ジャイブはめためた。超へたくそ。ダウンの引きが足りない。浅瀬でアウトを引き増ししたけど、ダウンは無理。また、岸にもどるのはたいへんなのでそのまま、乗る。
 プレーニングはするのだけど、浅瀬が怖くてたまらない。何度か、ひっかけて沈。上側に波があり、そのあたりでウィンドをしている人、多数。上っていく。おや、白波だ、と思って突っこんだらただの浅瀬で投げ飛ばされた。

 波のあるところで二往復ほど。どオンと浅瀬が恐くで早々に退散する。
 怖々と下らせていると、風が落ちはじめていることに気づく。
 いったん出艇した岸へもどる。
 休憩して20分ほどで海へもどると、風はかなり落ちてしまっていた。
 5.7ならぎりぎり走るかなぁ。
 セイルチェンジしようか、迷いに迷って結局、あがることにした。実は迷わなかったとしても結果は同じだった。セイルをばらしてみると、ブームのインジョーが破損していた。5.7へのセイルチェンジは不可能だった。

Footnotes:

1

カメラからの視点の動画に残っているのだけど、見るとかなり気持ち悪かった。

2017年10月2日月曜日

セイルリペア

 ここ十年つねにそうであるように先立つものがない。
 では岩井で破ってしまったセイルをどうしようか。

 やはりリペアするしか、ないか。でもクリスタルテープだけでだいじょうぶだろうか。いっそ、4.7は欠番にしようか、と思ったのだけれど、ふと接着剤を挟みこんだらいけるんじゃね? と思いついた。
 さっそくやってみる。

 まず片面をクリスタルテープで固定。
 で、裏返して破れたところをボンドで塞ぐ。

 ボンドがだいたい乾いたところで、上からさらにクリスタルテープを貼る、と。

 おっ、これなら以前破ってしまったExpressionも補修できるんじゃないか。

 やっぱ無理か。