デスクで結跏趺坐24日目: 靴を履く、椅子を変える

最近、仕事中も結跏趺坐をするという練習を始めて、24日が経過したので、そろそろブログに書いてみる。

ずっとTwitterに記録していたので、とりあえず貼る。

きっかけは姿勢の悪さ

なぜデスクでも結跏趺坐をしようと思い立ったのかというと、最初のツイートにもあるように、集中し始めると姿勢が崩れるのが常態化して、それをなんとかしたかったから。

いままで、休息法としてのマインドフルネス、瞑想、ヨガはここ数年でどんどん取り入れてきた。それが少しずつ仕事中にも浸透して、姿勢の悪さにちょっとずつ気付けるようになってきた。ただ、根本的にはあまり変わらず、集中し始めると姿勢が悪く、猫背で首と肩が痛くなったり、呼吸が浅くなってしんどくなったりしていた。

どうしたらそれが直るか自分なりに考えて、結局、結跏趺坐しか思いつかなかったので、デスクでもできる限り結跏趺坐を組むことにした。

まず坐布を敷く

椅子でも結跏趺坐を組むにあたって、椅子にも坐布を敷くことにした。自分が選んだのはこれ。

store.shopping.yahoo.co.jp

別にタオルを重ねるでも、段ボールを重ねるでも、座布団を折りたたむでも良いと思うのだけれど(普通の瞑想のときはそうしてた)、椅子の上はスペースが少ないのでこういう製品が便利と思う。

靴を履いて結跏趺坐

この24日間で最も効果があったと思うのが、2つ目のツイートにある「靴を履いたまま結跏趺坐」。

blog.livedoor.jp

これはホントにすごい。靴を履いたまま結跏趺坐をするようになる前と後では、全く座り方が違うのが分かる。とても痛いのだけれど、必要な筋が伸びているというのを強く実感するし、靴が一種の補助輪となって、どの部分に足を置くのが最適かというのが体感でわかるようになるのが素敵。

この方法に出会うまでは、正直伸び悩んでいて、どうすれば結跏趺坐が楽になるのかを調べてこの方法にたどり着いた。ちょっと邪道な気もしなくもないけど、とても理にかなった方法という気がする。

ただ、靴を履いたまま結跏趺坐をするという行為は結構負荷が高いので、ある程度普通の結跏趺坐ができるくらい足が柔らかくなってからやった方がいいと思う。……というか、多分いきなりはできないくらい痛い。

ちなみに自分の場合は室内用の靴を準備していて、もともとスタンディング用に靴を準備していたのでそれが役に立った。

椅子をカウンターチェアに変えた

椅子を変えたのはここ数日のことなのだけれど、自分はもともとコクヨ シロッコという事務椅子と、タンスのゲンのスタンディングデスクを使っていた。

座面が広かったので結跏趺坐は組みやすかったのだけど、やっぱり数時間が限界で足を崩してしまうので、問題はその足を崩した後だった。

一旦結跏趺坐から足を崩すと、なぜか半跏趺坐でもそれ以外のどんな座り方でもいまいちしっくりこなくて、悩んでいた。それまで、自然と背筋が伸びてとても心地よかっただけに、落差が大きく感じた。

ここで自分がヒントにしたのが、学生時代に吹奏楽部だったときに、パイプ椅子の先端に座っていたこと。社会人になってからはあまりその座り方をしなくなってしまったのだけれど、椅子は先端に座るとどんな椅子でも姿勢が良くなっていたことを思い出した。

ということは、座面は最小限で良いし、それならせっかくのスタンディングデスクに合わせて高さが自由にできるものが良いと思って、いくつか試した上で結果的にカウンターチェアにした。

【送料無料】 カウンターチェア AM-03 | カウンターチェア の通販 | マナベネットショップ本店

これはたまたまなのだけれど、坐布を敷いて結跏趺坐を組むのにも支障がないし、坐布を敷いてカウンターチェアに座ると、まるでバランスチェアのような感覚で自然と背筋が伸びて心地よかった。

数日使って心地が良いので、事務椅子の方は御役目御免かなと思う。もともと小柄な方なので、大きな椅子がいろんな意味で合っていなかったのかもしれない。

一番の変化は、呼吸が楽になったこと

結跏趺坐を仕事でもしようと思い立ってから24日、一番の変化はやっぱり姿勢が良くなったこと。途中の筋肉痛は今でも辛いのだけど、それ以上に姿勢が良くなって息苦しさが全くなくなったので、仕事をしていてとても心地が良い。ずーっと結跏趺坐をできれば良いのだけれど、自分はまだ全然その域にはなくて、それでも、いままで自分がどんな姿勢でいて、なにが辛かったのかに気付いて普段の座り方を改善できただけでも、やった意味は大きい。

副次的な影響として、結跏趺坐を組む時間が長くなればなるほど、どんどん結跏趺坐が楽になっていくので、瞑想をするのが心地よくなった。いままで瞑想をするときは、痛みを堪えて結跏趺坐をしたり、半跏趺坐をしていたのだけれど、それがとても楽になったことで、瞑想の時間が楽しくなった。これは始めた当初は予想してなかったのだけど、とても嬉しい副作用だった。

ただ、良かったことばかりとも必ずしもいえなくて、脚や体幹の筋肉が痛くてしんどかったり、膝が痛む日があったり、辛いことも多かった。あと普段の座り方が根本的にしんどいと気づいた瞬間は逆にどうすればいいのかわからなくなって、スランプだったりもしたので、なかなかストレートに他人に勧めたいわけでもない。

でも、タイピング練習の記事でも書いたけど、この瞬間の自分の状態に目を向けて、いろんなことに気付くこと自体に価値があるように思っていて、そういう意味で、自分の座り方や歩き方を見直すというのは楽しいことだと思う。

ちなみに途中でいくつか具体的な商品を挙げたけれど、多分人によっていろんな体型があるはずので、自分に合うものは何かを追い求めるのが大事なんだと思う。(というか、どんな環境でも最高の姿勢でいられれば、そのうち弘法筆を選ばずという状態になれるんだろうなと思うけど、自分はまだまだその域ではない。補助輪使ってるイメージ。)

打鍵すること、無心になること、その楽しさ

今回の記事は少しメタな内容。打鍵について自分の思う精神性と思考整理。

打鍵を楽しくするために始めた新配列

自分がここ数ヶ月使っている配列、新下駄+Programmer's Dvorakを使い始めたきっかけは、自分が毎日打鍵している行為を、自分自身が楽しくないと感じていたことに、コロナ禍に入ってすぐに気づいたことだった。

思い立ってからは行動は早くて、Qwerty以外の配列をひたすら調べて、その時点で最高だと思うものをとにかく調べたり試して、しばらく使って微妙かもと思ったら変えてみたりの繰り返しだった。

その行為自体とても楽しいことで、正直その段階では何を打鍵するとかはあんまり関係なかったのだけれど、それから数ヶ月から一年以上が経って新配列に慣れてからも、特にこれを書きたいというよりも、とても楽しくなった打鍵行為自体を毎日とにかく楽しむようになった。

この間、コロナ禍の1,2年間というのもあり、自分の精神性自体だいぶ変わってきたところがある。

新配列に変えて気づいたこと

そもそもコロナ前もコロナ後も、一応プログラマーという仕事をしているので毎日たくさんの情報、文字に触れる。コロナ禍に入ってそれがさらに多くなり、多少自分自身を見直す機会ができたことで、打鍵方法そのものを見つめ直すようになった。

それでも不思議と最初に見直したのは、英語配列の方ではなく日本語配列。JIS、新JIS、薙刀式、親指シフトなど、数ヶ月かけていろいろ試して落ち着いたのが新下駄配列だった。

新下駄配列と出会って以来、本当に書く行為が楽しくなって、パソコンに向かう時間は格段に増えた。厳密には、以前もパソコンに向かってはいたものの、今ほど文字を書いてはいなかったと思う。今やすべてをNotionなどのデジタルメモに記録するようになり、元々やっていたタスク管理も随分とこまめに付けるようになった。そしてここ数ヶ月はようやく英語配列も見直して、Programmer's Dvorakにも慣れてきた。

こうして、以前とは全然違う次元で打鍵をするようになったのだけれど、実は一番変わったのはその過程で得た精神性ではないかと思う。

何より、新配列で打鍵をしている間は非常に心が落ち着くようになって、その特性を生かしてあえてQwertyを使う場面は分けている。普段はQwertyは全く使わず、自分がどうしてもある一線を越えても熱中したいとか、スピードを出したいというときに限って、Qwertyを使うようになった。

そういう瞬間は、短期的にはとても充実しているのだけれど、非常に疲れるので長期的は続かない。Qwertyで打つのは特別なときだけで、頻度的には一週間に一回あるかないかだと思う。特別に気合を入れるのはそれくらいの頻度で良い。

無心になると気付く変化

一方で、あえて時間をかけてでも新下駄配列やProgrammer's Dvorakを使いたいと思う日もあって、そういう日はたいてい、無心になりたいとき。

新配列の習得中のときに気づいていたのだけれど、無心になると非常に習得が早く、集中力も高い傾向にある。ある意味で、前述のQwertyを使う日と同じかもしれない。

新下駄配列やProgrammer's Dvorakは、習得中は非常に脳のリソースを使うので、余計な雑念があると全然打てないし、打つこと自体に集中しないとなかなか手になじまない。逆に、無心になって自分の打鍵ミスやいろんな感情から自分自身を切り離すと、何も考えずスムーズに打鍵が進むようになる。そしてそういう瞬間はたいてい、打鍵以外のいろんなことに気付くことができるので、キーボードの置き方を見直したり、椅子と画面の角度、設置方法を見直すきっかけになる。

無心というのは不思議なもので、無心なんだけど強く自我があるというか、こういうものを真我というのかもしれないけれど、普段考えている余計な雑念が消えて思考がクリアになる代わりに、それらに埋もれている本当に必要なことに気付くことができる瞬間がある。

感情を押し殺して、石のようになっているようにも感じるし、逆に普段よりも感覚を研ぎ澄ませているので何より人間らしいとも感じるし、そういう二律背反が一つに同居していて、無心というのは本当に不思議な状態だと思う。

無心になるというのは感覚を殺すことではなく、逆に感覚を敏感にすることだともいえるし、そうした感度を高度に制御していて、その塩梅を自由にできる瞬間ともいえるのかもしれない。

書く瞑想、書くマインドフルネス

そうして最近は何よりも文字を書いている瞬間が楽しいなと思えるようになって、何かを書いているときが一番無心になっている。

いままで、同じように無心でいられる瞬間というのは、音楽を聴いていたり、小説を読んでいたり、ある意味で受動的な瞬間の方が多かったようにも思うけれど、こうして書くという行為で無心になれるというのは、一種のマインドフルネスなのだろうと思う。

マインドフルネスって、座って行う瞑想や、ヨガ、歩く瞑想、食べる瞑想と幅広くその実践が存在するけれど、書くという行為にはいろんな意味があって、自分の思っていることを吐き出したり整理して楽になるという性質もあるし、何より書くこと自体の楽しさがある。ペンだったらペンを使って紙の上をサラサラ、カツカツ書いていく感覚の楽しさ、言葉を紡ぎ出す楽しさ。

打鍵も同様で、特に新下駄配列はまるでキーボードがしゃべっているかのように文字と音が連動していくので、自分の代わりにキーボードがしゃべっている感覚にもなるし、自分が頭で思っている内容に合わせてキーボードと文字と音が連動する楽しさがある。そして自分の速度に相当に追従してくる上に、どれだけ長く打鍵しても疲労感が少ないので、とても長時間その楽しさが持続する。書く内容に関わらず、その行為自体が無心で楽しい。これを瞑想といわないなら何を瞑想というのだろう。

直感で思うことを追い求める

最初に打鍵配列を変えようと思ったときにここまで想像していたかというと全くそうではないのだけれど、それでも、自分自身がパソコンに向き合う時間を楽しいものにしたいという動機から始めたのは今も最初も全く変わりない。でも、この結果を思い描いていたわけではなくて、あくまで結果論。自分はここまでくる過程自体が、辛い瞬間があったとしても日々楽しかった。

それは、自分が直感的にこうしたいと強く思ったことを、犠牲を払ってでも実現しようとしたからだとも思うし、そうではなくて単に直感的に楽しい未来を選択しようとしただけなのかもしれない。

けれど、打鍵配列に関わらず、何かを変えようということには必ず代償がつきまとうので、結果ばかりを求めずに過程を楽しむというのが大切。自分が今の配列に落ち着くまでいろんな配列を試して感じた、感覚的、体験的な経験は何にも代えがたいし、仮に今のようにスラスラと新配列で打てる状態にならなかったとしても、それは自分のなかで大きな糧になっていたときっと思う。

……さて、いつになくメタで詩的な内容になってしまったけれど、とにかく何でも先入観なく無心でやることは、何においても楽しいと最近思う。そしていろいろ遠回りして意外な結果になったとしても、その旅程自体あとから振り返ると素晴らしいものになるはずだと、自分自身を信じてトライし続けるのが良いのかなと、打鍵に限らず思う。

新下駄配列練習408日目: 速度は相変わらずBくらい。最近Qwertyが打てない。

f:id:funatsufumiya:20210926163357p:plain

久々にブログにコメントをもらって、新下駄配列のことを考える機会があったので、練習記録を更新してみる。

改めてタイプウェル国語Kをしてみると、速度的には大して変わらずというか、昔のほうが速いくらいかもしれない。それでも日常的に使用していて、メッセージも早く返せてる自信があったので、ちょっと残念。(上のスクショは一番速かった記録で、他はほとんどB。)

久しぶりにタイプウェルをしてわかったことは、多分だけど、普段よく使う言葉はとても速く打てるようになっている一方で、普段全然意識することのない言葉はどうも打鍵が遅いぽい。Dvorak(P)の英語打鍵でもその傾向はあるけど、Qwertyに比べても新下駄の場合は顕著かもしれない。新下駄は組み合わせのパターン数が多いだけに、だんだん普段打つ言葉は慣れて、打たない言葉は打てないみたいな二極化が起こりやすいのかも。

日常的にはもうここ数ヶ月ずっと新下駄+Programmer's Dvorak(日本語入力は新下駄、英語・半角入力はDvorakP)だけを使っていて、普段の打鍵はとても快適。速度記録としては(新下駄配列は)全然遅いかもけど、日常的には打鍵がとても楽しい。

ただ、副作用として、最近ホントにQwertyが打てなくなってしまった。

たまに新しくセットアップするPCとかでQwertyで打つのだけれど、最初の5分くらいはびっくりするほど打てなくて驚く。ただ、5分も打ち続けるとなんとなくは打てるようになる。

Dvorakの記事でも同じことを書いたのだけれど、この打てなさは日本語入力と英語入力でだいぶ違っていて、ローマ字入力としてのQwertyは未だにそこそこ打てるのにも関わらず、英語入力としてのQwertyはホント打てない。考えられる理由としては、DvorakQwertyは結構似ている配置が多くて、それが間違いを誘発して打てなくしているような気がする。自分はDvorakローマ字入力をしたことがないので、それも影響していると思う。新下駄配列の日本語入力とQwertyのそれは全く違うので、この概念的な差がローマ字入力と英語入力におけるQwertyの忘却度や阻害度に影響しているのかもしれない。

さて、新下駄の記事としては若干脱線してしまったけど、1年も同じ配列を打っているとこの時期はマンネリ化するというか、特に変化がないのであまり特筆して書くこともない (笑)。実際タイプウェルで測ると打鍵速度は遅いのだけれど、実用上はそんなに遅い感覚はないというのも不思議で、仮に実際遅かったとしても、打鍵の楽さが全然違うので、今更Qwertyに戻す気は全くない。

前述したようにごくまれにQwertyを渋々打つことがあるのだけど、それが続くことは実はほとんどなくて、続きそうな予感がするとすぐエミュレータをインストールしたり、「かえうち2」を繋いだり、別のPCからリモート制御したりする。それでもやっぱり臨時に一日丸々Qwertyを打つことはあるのだけど、そういう日は不思議とスイッチが切り替わって自然に打てるようになるのでホント不思議。でも、こういう日が減るともっとQwertyが打てなくなっていくのかもしれない。

新下駄+Programmer's DvorakQwertyって、打鍵速度的にはあまり変わらないというか、多分今でもQwertyの方が入力速度は速いのだけど、快適さは全然違う。こればっかりは体感覚なので何とも伝達しにくい部分なのだけれど、たまにQwertyを打ったあとに戻したくならないと思うのはそういうことだろうと思う。数ヶ月前は新下駄+Qwerty(日本語入力は新下駄、英語・半角入力はQwerty)だったので、英語入力をするときに手にストレスを感じていたのだけれど、今はそういうこともなくて快適そのもの。(ちなみに新下駄+Qwertyの頃は、当然かもだけどQwertyだけに切り替えても普通に打てていた。)

入力速度が遅い件については、日本語も英語(主にプログラミング)も入力補完があるので、実用上問題にならないのはそのおかげかもしれない。特に新下駄では未だにすぐ打てない外来語があるのだけど、最初の数文字だけ打ってすぐ補完してしまうので、逆になかなか上達しないのはそのせいかもと思ったり 笑。

(蛇足:それにしても、記事的に、新下駄+DvorakPで打鍵している以上は「新下駄練習」と「Dvorak練習」の内容がだんだんと混ざってしまうので、そろそろ新下駄記事とDvorak記事は共通のタイトルで書くようにしようかな…。ただそうするとあまりにニッチすぎる気もしたり…。)

3日間の宿泊禅体験で変わったこと

f:id:funatsufumiya:20210902073039j:plain

2ヶ月ほど前に、ふと思い立って京都の宝泉寺禅センターの禅体験に参加して、そのことを知人に聴かれるたびに都度話しているのだけど、記録としてはどこにも書いてなかったなと思って、なんとなくブログに書いてみることにした。

宝泉寺禅センターがどんな禅体験を提供しているかは、公式ページや各種メディアやブログに既に多く出ているので、自分はあえて2ヶ月経った今の変化に着目した感想を書いてみようと思う。

一度は禅を本格体験してみたかった

前提として、自分は元々とてもマインドフルネスに傾倒していた。複数の書籍を元に数年かけて少しずつ知識を蓄えていて、特に考案者のジョン・カバット・ジン先生の書籍を読んで、日本人として一度は本格的に禅体験をしたいなと思うようになった。

それからというもの、宿泊こそなかったものの、ちょっとした禅体験に参加したり、普段から瞑想したりして、今回たまたま時期が合ったので宿泊体験をするに至った。マインドフルネスと禅では、だいぶ考え方が違う部分はあるけれど、やはりジョン・カバット・ジン先生が禅の実体験を元に考案したというだけあって、これがルーツなのだというのは改めて肌で感じた。

毎朝お味噌汁を作るようになった

体験から2ヶ月後、一番変わったのは食生活。もともと朝はコンビニのおにぎりを買って済ましてしただけだったのを、毎日ご飯を炊いてお味噌汁を作るようになった。(といっても面倒くさがりだし一人分なので、お鍋では作らず、具を切って入れてレンチン。)

実家は田舎で基本和食だったので、実家を出るまでは朝はお味噌汁だったのだけれど、大学生になってからほとんど作ることはなかったし、たまに作ろうと思っても続かなかった。それが、宝泉寺の朝ごはんがとても美味しかったことが忘れられなくて、最初はレトルトのを買っていただけのものが、今ではちゃんと作るようになって続いているのがすごい。我ながら感動。

あまり「ジャッジしない」ようになった

それ以外に変わったことといえば、いわゆる「ジャッジしない」という部分が以前よりよくコントロールできるようになった気がする。

「ジャッジしない」というのは多分マインドフルネス的な言い方で、自分は禅的には何というのか知らないのだけど、あるものをあるがままに見るということが、できていたようでできていなかったことに気付かされた。やっぱり、頭では理解していても実際には身体レベルに定着していなかったんだなと、数日間集中的に瞑想を繰り返して感じたし、そういうことに気付けたというだけでも、3日間集中的に宿泊体験した意味はあったと思う。

集団行動できる喜び

もう一つ、禅に関係ない部分で言えば、自分も案外、集団行動はできるんだという気づきがあった。

(本筋から少し脱線するけれど、感染症対策について少し補足しておくと、自分が体験に行ったのはオリンピックの開会式のちょっと前くらいだったけれど、受け入れ人数の制限や感染症対策はしっかりされていて、一定の安心感はあった。そもそも自分自身の県境を超えた移動はどうだろうという躊躇は当然あったけれど、どうしてもあのタイミングでしか時間をあけることができなかったし、自分にとって非常に重要度が高いイベントであったので、その分だけ自分の健康管理や移動時の感染症対策は十分配慮したつもり。客観的にどうだったかはわからない。)

集団行動、本当に久しぶりの経験で、学生時代以来じゃないかと思った。正直自分が禅体験をする上で一番心配していた部分だったのが集団行動だったので、それが普通に楽しかったというのは、2ヶ月経った今だけじゃなく、今後の大きな自信になったと思う。

今思えば、そもそも学生時代は吹奏楽部だったので集団行動には慣れていたはずで、それが今になって発揮されたのだと思うけれど、社会人になって集団行動とは程遠い生活を続けていて、リモートワークの増加でそれに拍車がかかったので、もうホントその感覚はとうに忘れていた。それをいまこのコロナ禍で思い出せたというだけでもありがたいし、それが安心して体感できたのは、宝泉寺の熟慮された感染症対策にあったと思う。

自分自身、昔のとあるトラウマで買い物や人混みが苦手な時期が長かったのだけれど、元々数年かけてほぼ克服していたことに加え、今回の宝泉寺の集団行動体験により、2ヶ月経った今は本当に違う次元で不安感がなくなった。

ただ、感染症対策とは違う意味で、移動が本当に苦手な人にはきっとハードルが高すぎる体験種別だと思うので、こうした密度の濃い禅体験がわざわざ京都に出向かなくてもできるようになると良いなと思った。そういう意味で自分は長らく書籍やオンラインの情報源だけでマインドフルネスを学んでいたのだけど、こうしたハードルの高い体験に参加できるようになったことは、自分にとって大きな意味があったように思う。

こうした自分自身を変える機会になる体験型施設というのは、とても効果が大きいと思うのだけど、参加のハードルは高い。体験種別はなんでも良いと思うのだけど、そのハードルを超えるだけでも、中身が何であれ、人間的には一皮剥けるのかもしれない。

時々思い出すクオリア的感覚

……さて、あえて文章にすると以上のような感じ。

とはいえ実際印象に残っているのは、やっぱり美味しかったご飯とか、心地よかったセミの鳴き声とか風の心地よさや、住職さん常住さんたちや参加者の皆さんの人情味。それは多分キャンプとかでも体験できる感想だと思ったので多くは書かなかったけど、でもそういうクオリア的な印象の中に思い出すきっかけがたくさんあって、ふと似たシチュエーションになると丸ごと思い出すという点は、こういう宿泊型体験の良さではないかなと思った。実際一度体験してから禅の本を読むと理解度が随分違う印象だし、百聞は一見に如かずというのは本当だと思う。

ところで今度もしまた、宝泉寺に限らず宿泊型禅体験に再度行くとしたら、今のようなコロナ禍ではないときに行きたいなと思う。

ただ、感染症対策というのはコロナ以前から必要だったのだろうという気はするし、何事も超理想的なシチュエーションはまずありえないのだから、次行く時もきっと何らかの不遇はあるのだろうな。とはいえそうした不遇で過度に不安に思わずに、優先度に応じて適切な対応をしつつ楽しめたら嬉しいなと思う。

Dvorak配列練習239日目: SJ達成

f:id:funatsufumiya:20210827233403p:plain

事実上80日目くらいなんだけど、ようやくA超えた。

タイプウェル英単語では測れないんだけど、Programmer's Dvorakの数字と記号にもようやく慣れてきて、特に難しかった数字もそこそこ打てるようになってきた。

そもそもQwertyのときは、最上段はほとんど手を離して打っていたり見て打っていたことが多くて、今のようにブラインドタッチはできていなかったような気がする。よく使うカッコとかは手が覚えていたりしたけど、だいぶホームポジションを崩していたので、慣れるとホームポジションのまま打てて楽しい。

一方で、Dvorakは普通の英単語はかなり打ちやすいのだけど、一部の単語は慣れないととても打ちづらい傾向にある。例えばlslnは、UNIXコマンドとして頻出なので結構最初は苦労した。でも慣れると薬指を縦にスライドするだけだし、lsに至っては頻出過ぎて指が自然と楽に打てる打ち方を編み出すので、慣れるとそうでもない。pythonpyとかも慣れないと打ちにくいけど、たくさん打っているうちに慣れた。(注: 自分は日本語は新下駄配列なので、英語に限った話。)

でも左手を器用に使うストロークには未だにあんまり慣れてなくて、popularpeopleexportのように、少し打つのに時間がかかる単語は未だにいくつかある。

打ちにくい単語に出くわすたびに、Qwertyに戻そうかなーと思ってしまうのだけど、実は最近Qwertyの英語入力が全然できなくなっちゃって、たまにはQwertyも打たないとヤバいなぁと思う。とはいえ、数分打てば慣れて自然と打てるようになるのでそこまで問題じゃないし、なぜかローマ字入力としてのQwertyは最初から何不自由なく打てる。ホント不思議。

そうやって数分Qwertyを打って、やっぱりDvorakの快適さに気づいて戻す、という感じ。最近はVimDvorakで普通に打ってるので、下手に一瞬だけQwertyに戻ると全然打てない。頭がQwertyに慣れるのに数分かかるので、Qwertyを打つ日(自分のじゃないパソコン使ったり、キーリマップできないPC使ったり)は打つ日と決めれば案外普通に打てるけど、混ぜると混乱する。それでも、Ctrl同時打鍵はQwertyになるようにしていて(Ctrl-QwertyとかCmd-Qwerty)、ショートカットキーは何も混乱なく打てるのでホント不思議。人間の頭ってどうなってるんだろう。

Programmer's Dvorakの記号についてはとても良くできているなぁと思っていて、慣れるとホント元には戻れない。プログラムで頻出する順に打ちやすい場所に配置されているのが打つとよく分かるので、仮に他の配列に変えたとしても記号はこの位置で打ちたいなぁと思うけど、QwertyでいうQ,W,E,Zの位置にも記号があるので、難しいだろうな。

速度については、さっきの打ちにくい単語の件があるのでQwertyに比べてさほど最高速は速くないような気がするし、単語ごとに相当に速度差がある配列なんじゃないかなという気が最近していて、その分だけよく使う単語は快適に打てるんだろうと思う。自分は打鍵速度より快適さを重視してるし、新下駄配列同様にDvorakも快適さの割に高速打鍵できる配列なので、打っていて気持ちいいなぁと感じる限りは使いつづける気がする。

個人的にプログラムを書くのが楽しくなった気が最近してて、今までプログラム書くの辛かったのは思考過程だけじゃなくて打鍵にもあったのかなと思ったりもする。でも速度面はQwertyで今まで問題はなかったし、今でもQwertyの方が速度的には速く打てるので、改めて速度と快適さはそんなに比例しないような気がする。とはいえ、あんまりにも打鍵が遅いと場面によってはイライラすると思うので、バランスは大事なのかなと。

少なくとも、このブログ然り、長時間打っていてとても楽しいので、そういう意味で、たまにQwertyが打てなくて数分困るくらいのデメリットならアリかな。とはいえ1ヶ月から2ヶ月くらいは全然打てなくて苦しい期間があったので、新下駄配列も同様に、手放しに他人に勧められるものではない気がする。(その苦しい期間もいざとなったらQwertyで打てばいいのだけど、あんまりQwertyに戻してるとホント上達しない。それが239日目の所以であり……。)

ポメラハック: DM200で新下駄配列+DvorakPを打てるようにした

f:id:funatsufumiya:20210810221217j:plain

タイトルの通りなのだけど、今回は実際使っている動画を撮ってみた。自分のタイピングの拙さとかもそのまんま収録されてるけど、百聞は一見に如かずだと思う。

youtu.be

何をやったのかというと、まず前回ポメラハックを開始して、とりあえず普通に使えるLinux (Debian) として使えるようにして満足した。ここまでは、ネット上の記事とかにいろいろ情報が書かれているので割愛。(このQiita記事とかはとても参考になった。)

自分が今回やったことは、自作のキーエミュレーターLinux (Debian)上で動かして、新下駄配列+DvorakPが打てるようにした。

github.com

やっていることはoyainputokeyfumと同じで、/dev/input/event0 などのキー入力を読み取り、かつバイパス(grab)して、 /dev/uinput を使ってキーを変更。実際使うときはoyainput同様に、nohupなど別プロセスとして起動して使う。

自分の作ったエミュレーターで特筆すべき点は、

  • Rubyで書かれている(コードは1ファイルのみ)
  • やまぶきR用のキー設定ファイルが、ある程度そのまま使える
  • Grabの定数をコード中で指定

だと思う。上の2つは開発の簡単さと修正のしやすさのため。ただ、やまぶきRの親指シフト入力と挙動は違っていて、自分自身が親指シフト系を使っていないのでシフトキーの挙動は現時点では適当。一方で、新下駄配列を快適に入力するために、文字キー同士の同時打鍵タイミングには凝った。まだ妙な挙動はあるものの、プロトタイプとしては満足。タイミングはソース中で指定できるけど、後々パラメータとして外部に出せたらと思ったりする。(やまぶきR用設定ファイルのパーサーも適当に取り急ぎ作ったものなので、後々ちゃんと書き直したい。書き直すときはそもそもRubyじゃなくてRustとかにしたいけど、まずその前に日本語切り替えをMozc連動に改良したい。)

最後の一つ、Grabの定数指定については、ポメラDM200での使用に特化した内容。前述のoyainputは素直に動いたのにokeyfumが動かなかった点に事の発端がある。ポメラDM200は32ビットのARMマシンであるせいか、OCamlRuby中のGrabの定数がint32の範囲を超えてエラーしてしまい正しく動かなかった。直接C言語から呼ぶと全く問題ないので、イマイチ腑に落ちなかったものの、Rubyの場合は直接指定すると動いたので、そうした。

ちなみに、Debian人柱版 その2 を使ったのだけれど、作者の追記にあるように、今回のようなキーエミュレーターを使えるようにするためには、/dev/uinput を有効にするカーネル更新をする必要がある点に注意。カーネル更新といってもとても簡単で、方法は前述のQiita記事中にある。

さらにDM200に限った注意としては、/dev/input/event にいくつか制約があるので、デバイス名の列挙など使えない機能がある点に注意。自分のキーエミュレータで使っているrevdevライブラリでも、その理由で一箇所コメントアウトしないと動かなかったので、DM200で使える版としてフォークしてある。( gem install revdev の代わりにこのgitを使えばOK。あとでREADMEにも書こうかな。 )

github.com

―― さて、今回は思いつき優先で、とりあえず勢いでキーエミュレータまで書いてしまったのだけど、キーエミュレータを作るのってとても楽しいなと実感した。今まで既存のキーエミュレータを使っていて、微妙に痒いところに手が届かない感があったりしたけど、自分で作るとフルに自由にできて楽しい。特にLinuxの場合はMacWindowsに比べてそんなに自作は難しくないし、今回のようにRubyとかから気軽に呼べるライブラリがMacWindowsでもあると、もっと自由にキーエミュレータとかキー割り当て変更が高度にできて楽しいだろうなと思った。

あと何より、DM200が素晴らしい。単純にLinuxマシンとして見ても優秀だし、元のソフトやハード構成が素敵なので、シンプルに、書くことへの愛を感じる。ハックしなくても親指シフトが使えるワープロとして貴重だし、ぜひ今後も販売し続けて欲しい。しいていえば、今回ハックした版にはMozc(オープンソースGoogle日本語入力)が入っているので推測変換が効くけど、元々のATOKは推測変換が効かなくて辛いので、ぜひ次期版は推測変換できるようになったらいいなぁ。

Clojureをネイティブにサクサク使えるbabashkaとlumoが便利

時々あるのだけど、自分のなかで関数型言語熱が再燃中。昔ScalaOCamlでプログラムしていた時期を思い出して、ふとClojureを書きたくなった。ただ、あまりJVMは使いたくない。JVMを使わないでClojureを使う方法はないかと模索していたら、便利なツールを2つ発見。

github.com

github.com

この2つは、それぞれClojure、ClojureScriptをJVMなしでも開発できるようにしたツールで、babashkaはGraalVM、lumoはGoogle Closure Compilerの恩恵によってネイティブ化を実現しているらしい。

両者ともにJVMいらずでClojureが使えるのでとても便利で、例えばbabashkaはその名の通りbashのようにスクリプトを書く際に使える。JVMの全てのライブラリが使えるわけではないものの、コアな機能はそのままクロスプラットフォームに使えるというところが、GraalVMのすごさを感じる。起動時間も早いのも好感が持てる。lumoも同様で、こちらはClojureScript開発にそのまま使える。

両者とも、Win/Mac/Linux用のバイナリが配布されているので、一般的なPCではそのまますぐ使える。ただ、どちらもARM版については提供されておらず、特にARM32ではビルドするのが困難な様子。Issueを見るにできる可能性はあるものの、まだAndroidRaspberry Piですぐ使うことはできなさそう。

ところで、ここからは蛇足だけれど、最近はClojure-likeな言語も増えてきているようで、英語だけど便利なまとめ記事もあったりする。

github.com

github.com

個人的にはCarpが早く正式版になってくれないかなと期待していて、GCなしでするLispとしてとても興味深い。簡単にC/C++連携できるし、Clojure風の記法で、個人的にはとても読みやすい。

github.com

SwiftやNimのようにARCといった負荷の少ないGCで動かせる言語も出てきているけれど、Rustが登場して以来、GCなしでメモリを自己管理しつつ安全に開発できる言語が、今後選択肢が増えていくのかなとちょっと期待。Scalaに対してのKotlinのように、Rustの簡単版な言語があればいいのになぁと思ったり。